
From nobody Tue Sep  3 17:34:20 2019
Return-Path: <noreply@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id C3EF812004C; Tue,  3 Sep 2019 17:34:19 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Adam Roach via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>,  netmod-chairs@ietf.org, lberger@labn.net, netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Adam Roach <adam@nostrum.com>
Message-ID: <156755725979.20611.1246275298689979326.idtracker@ietfa.amsl.com>
Date: Tue, 03 Sep 2019 17:34:19 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/GsgZzFcf2BuIJuUR5DaAJ7S0jaI>
Subject: [netmod] Adam Roach's No Objection on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 00:34:20 -0000

Adam Roach has entered the following ballot position for
draft-ietf-netmod-artwork-folding-09: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Thanks for taking on this work to fill a hole in the tools that
we have for production of RFCs. I have one fairly major comment
and several editorial suggestions.

---------------------------------------------------------------------------

Abstract:

>  This document defines two strategies for handling long lines in
>  width-bounded text content.  One strategy is based on the historic
>  use of a single backslash ('\') character to indicate where line-

Nit: "historical"

---------------------------------------------------------------------------

§1:

>  According to the RFC Editor,
>  there is currently no convention in place for how to handle long
>  lines in such inclusions, other than advising authors to clearly
>  indicate what manipulation has occurred.

This won't age well. Perhaps "Historically, there has been no
RFC-Editor-recommended convention in place for how to handle..."

>  This document defines two strategies for handling long lines in
>  width-bounded text content.  One strategy is based on the historic
>  use of a single backslash ('\') character to indicate where line-

Nit: "historical"

---------------------------------------------------------------------------

§7.1.1:

>   NOTE: '\' line wrapping per BCP XXX (RFC XXXX)

Using this string as the start of the specially-wrapped section
seems somewhat problematic, as it forecloses on the possibility
of also *citing* this BCP at that point in the document. For example,
if I were to use this format, I would definitely want to use a string
more of the format:

    NOTE: '\' line wrapping per BCP XXX ([RFC XXXX])

(taking note of the added brackets).

If this has already been debated in the working group and the current text
is the result of carefully considering this issue and deciding that the
use of the specified string has benefits that outweigh the drawback of
not being able to cite the document per ordinary convention, then don't afford
my suggestion any undue weight. I'm not trying to change a consensus decision.

But if this is a simple oversight, I think it does need to be given
significant thought. For example, I personally am rather likely to elect to do
things "the old way" in my own documents rather than using this format because
of the awkwardness of properly citing a normative reference.

This same comment applies to §8.1.1, of course.

---------------------------------------------------------------------------

> Appendix A.  POSIX Shell Script: rfcfold

Please add [POSIX.1-2017] as a reference.



From nobody Wed Sep  4 02:12:13 2019
Return-Path: <auerswal@unix-ag.uni-kl.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A1F401200DB; Wed,  4 Sep 2019 02:12:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level: 
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 6qRfHy-oDZMY; Wed,  4 Sep 2019 02:12:10 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3DE1F1200C1; Wed,  4 Sep 2019 02:12:09 -0700 (PDT)
Received: from sushi.unix-ag.uni-kl.de (sushi.unix-ag.uni-kl.de [IPv6:2001:638:208:ef34:0:ff:fe00:65]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x849C7VH129370 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);  Wed, 4 Sep 2019 11:12:07 +0200
Received: from sushi.unix-ag.uni-kl.de (ip6-localhost [IPv6:::1]) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id x849C6OX024658 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 4 Sep 2019 11:12:07 +0200
Received: (from auerswal@localhost) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Submit) id x849C5HI024653; Wed, 4 Sep 2019 11:12:05 +0200
Date: Wed, 4 Sep 2019 11:12:05 +0200
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
To: Adam Roach <adam@nostrum.com>
Cc: The IESG <iesg@ietf.org>, netmod-chairs@ietf.org, draft-ietf-netmod-artwork-folding@ietf.org, netmod@ietf.org
Message-ID: <20190904091205.GA18225@unix-ag.uni-kl.de>
References: <156755725979.20611.1246275298689979326.idtracker@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <156755725979.20611.1246275298689979326.idtracker@ietfa.amsl.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/j5xWwuiWUEyhY50oNfFULzfw-NI>
Subject: Re: [netmod] Adam Roach's No Objection on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 09:12:13 -0000

Hi Adam,

please see below (inline).

On Tue, Sep 03, 2019 at 05:34:19PM -0700, Adam Roach via Datatracker wrote:
> Adam Roach has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: No Objection
> [...]
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> [...]
> ---------------------------------------------------------------------------
> 
> > Appendix A.  POSIX Shell Script: rfcfold
> 
> Please add [POSIX.1-2017] as a reference.

The script is not strictly POSIX compatible, as it uses, e.g., the Bash
contruct "[[ ... ]]". Thus I would suggest to change the appendix name
instead: s/POSIX Shell/Bash/

Please note that I did not audit the script for additional non-POSIX
shell constructs.

The script uses non-POSIX tools as well, and sometimes uses tools that
are part of POSIX in a non-portable way, i.e., relying on (common,
but non-standard) extensions to POSIX.

Thanks,
Erik


From nobody Wed Sep  4 10:56:57 2019
Return-Path: <noreply@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 70CCC120B5E; Wed,  4 Sep 2019 10:56:49 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: Roman Danyliw via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>,  netmod-chairs@ietf.org, lberger@labn.net, netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Roman Danyliw <rdd@cert.org>
Message-ID: <156761980945.22719.16082541805323491673.idtracker@ietfa.amsl.com>
Date: Wed, 04 Sep 2019 10:56:49 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Bs_IjDFf5KYC4ph_Od5lgoeOW5A>
Subject: [netmod] Roman Danyliw's No Objection on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 17:56:56 -0000

Roman Danyliw has entered the following ballot position for
draft-ietf-netmod-artwork-folding-09: No Objection

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

(1) Section 1.  To make this document more enduring, I’d recommend qualifying
the capabilities of xml2rfc  (i.e., no line wrapping is done) to a version
number.

(2) Section 2. Is it worth saying that in addition to the primary target being
<sourcecode> and <artwork> (xml2rfc tags), it is also anything authors
currently put between “<CODE BEGINS> … <CODE ENDS>” (sometimes even when not
using xml tooling for rendering the draft)?

(3) Editorial nits:
-- Section 2.  Editorial. s/This work may be also be used/This work may also be
used/.

-- Section 4.2. Editorial.  s/already YANG [RFC7950] modules are extracted/YANG
[RFC7950] modules are already extracted/.



From nobody Wed Sep  4 11:55:19 2019
Return-Path: <0100016cfda15fcf-3dfee6d4-dbfd-4ef4-8fcf-425cf412f924-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1078120BD6; Wed,  4 Sep 2019 11:55:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 mj62da4tmCwn; Wed,  4 Sep 2019 11:55:09 -0700 (PDT)
Received: from a8-31.smtp-out.amazonses.com (a8-31.smtp-out.amazonses.com [54.240.8.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D50A4120BB4; Wed,  4 Sep 2019 11:55:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567623307; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=ijvJ7Exk0TLh2N0gjsjEJqrt4wAnK+df45dnucoK7ZE=; b=Bf1+O20PM5SLvrcGzDuqinKvZIgItt4VteWINVTqKYq+O1Y48S39VWxP+jAQZfQz +3Tw6e1thswGK21EQ2SHr1oEJ33PPl2zySCqa98+YjTVvzFIOhC1rnkSXVF7nxUtOsx vbmOxyqHfeLZ0/kdQi6d2cCwK8NUg4P9IkNskrbw=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016cfda15fcf-3dfee6d4-dbfd-4ef4-8fcf-425cf412f924-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_D6881309-A6D9-48A4-B94C-633C237E5A56"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 4 Sep 2019 18:55:07 +0000
In-Reply-To: <156761980945.22719.16082541805323491673.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
To: Roman Danyliw <rdd@cert.org>
References: <156761980945.22719.16082541805323491673.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.04-54.240.8.31
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/cTEQdECndMe2Vq522f4hUIlE9kw>
Subject: Re: [netmod] Roman Danyliw's No Objection on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 18:55:12 -0000

--Apple-Mail=_D6881309-A6D9-48A4-B94C-633C237E5A56
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Roman,

Thanks for your review.  I'll prepare an update accounting for your (and =
Adam's) comments shortly.=20

First, I have a couple questions:


> (1) Section 1.  To make this document more enduring, Ib
> the capabilities of xml2rfc  (i.e., no line wrapping is done) to a =
version
> number.

Do you mean, e.g., s/ The `xml2rfc` utility / The `xml2rfc` utility, at =
least up until the time of this document's publication, / ???

[BTW, I just noticed that `xml2rfc` needs a reference...I'll point it to =
https://pypi.org/project/xml2rfc <https://pypi.org/project/xml2rfc>]


> (2) Section 2. Is it worth saying that in addition to the primary =
target being
> <sourcecode> and <artwork> (xml2rfc tags), it is also anything authors
> currently put between b
> using xml tooling for rendering the draft)?

I think that the word "primarily" already provides the flexibility to =
use it in other contexts.  That said, I don't know what other `xml2rfc` =
context exists currently, or do you a future version of the `xml2rfc` =
specification or, perhaps, a `foo2rfc` specification?  In either case, =
could you provide a snippet of what you'd like to see?



Thanks again,
Kent



--Apple-Mail=_D6881309-A6D9-48A4-B94C-633C237E5A56
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Roman,<div class=3D""><br class=3D""></div><div class=3D"">Thanks for =
your review. &nbsp;I'll prepare an update accounting for your (and =
Adam's) comments shortly.&nbsp;</div><div class=3D""><br =
class=3D""></div><div class=3D"">First, I have a couple =
questions:</div><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D""><div><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D"">(1) Section 1. &nbsp;To make =
this document more enduring, Ib<br class=3D"">the capabilities of =
xml2rfc &nbsp;(i.e., no line wrapping is done) to a version<br =
class=3D"">number.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Do you mean, e.g., s/&nbsp;<span style=3D"color: =
rgb(0, 0, 0); font-size: 13.3333px; orphans: 2; widows: 2;" class=3D"">The=
 `xml2rfc` utility / The `xml2rfc` utility, at least up until the time =
of this document's publication, / ???</span></div><div class=3D""><br =
class=3D""></div><div class=3D"">[BTW, I just noticed that `xml2rfc` =
needs a reference...I'll point it to&nbsp;<a =
href=3D"https://pypi.org/project/xml2rfc" =
class=3D"">https://pypi.org/project/xml2rfc</a>]</div><div class=3D""><br =
class=3D""></div><div><br class=3D""></div><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D"">(2) Section 2. Is it worth =
saying that in addition to the primary target being<br =
class=3D"">&lt;sourcecode&gt; and &lt;artwork&gt; (xml2rfc tags), it is =
also anything authors<br class=3D"">currently put between b<br =
class=3D"">using xml tooling for rendering the draft)?<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>I =
think that the word "primarily" already provides the flexibility to use =
it in other contexts. &nbsp;That said, I don't know what other `xml2rfc` =
context exists currently, or do you a future version of the `xml2rfc` =
specification or, perhaps, a `foo2rfc` specification? &nbsp;In either =
case, could you provide a snippet of what you'd like to =
see?</div><div><br class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div>Thanks again,</div><div>Kent</div><div><br =
class=3D""></div><br class=3D""></div></body></html>=

--Apple-Mail=_D6881309-A6D9-48A4-B94C-633C237E5A56--


From nobody Wed Sep  4 11:56:26 2019
Return-Path: <noreply@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 607B7120BB4; Wed,  4 Sep 2019 11:56:17 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Alissa Cooper via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>,  netmod-chairs@ietf.org, lberger@labn.net, netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Alissa Cooper <alissa@cooperw.in>
Message-ID: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com>
Date: Wed, 04 Sep 2019 11:56:17 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/91Inu_cKuvIc4rTXEWF0jQxeUk4>
Subject: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 18:56:18 -0000

Alissa Cooper has entered the following ballot position for
draft-ietf-netmod-artwork-folding-09: Abstain

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

RFC 7994 is not a product of IETF consensus, so it seems inappropriate to
publish a consensus BCP predicated on requirements defined in RFC 7994 which
themselves do not have IETF consensus. This would be the only document related
to the RFC format in the last 10 years that I'm aware of that would be
published on the IETF stream.

There has been discussion about how embedding YANG models in RFCs seems like a
poor fit for a number of reasons. By standardizing line-folding mechanisms and
claiming them as a best practice, this document reinforces the root of that
problem rather than trying to fix it.



From nobody Wed Sep  4 11:58:02 2019
Return-Path: <alissa@cooperw.in>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D66AA120BB4; Wed,  4 Sep 2019 11:57:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.7
X-Spam-Level: 
X-Spam-Status: No, score=-2.7 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_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=cooperw.in header.b=cY86ayUa; dkim=pass (2048-bit key) header.d=messagingengine.com header.b=Z5wODyp1
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 4fPko4yn7EXz; Wed,  4 Sep 2019 11:57:51 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B6770120BD4; Wed,  4 Sep 2019 11:57:51 -0700 (PDT)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 0363022063; Wed,  4 Sep 2019 14:57:51 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163]) by compute7.internal (MEProxy); Wed, 04 Sep 2019 14:57:51 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cooperw.in; h= content-type:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; s=fm1; bh=n VhU7uCJBpM9ZsNVUWtgXM3R/pcxCkL4ZzfGPIP0jsU=; b=cY86ayUa+TMdFItnz 6el+GTRIUtodi4DKjoA5uEc3eRSivlWJwZOFiPeruepTa1cs3SJfGqmddL2HCc8/ dLDgaWPCag8cIs7GV/6BTPp4x+I1zS5x+qkBDKp6yrkuWx/82BXgu1GoRjG9jjmy g+ABqhko85LVdk2DFMb4MtLChij8hDTDulyPEMuu8MjdT08i12FZM/UOpydO3V2C u3Cudwd7Po8e3f5ckG4ky3OntKH9eG4gmPyJFf8auH928hlGtVZ5UHBlN3RPDFLC QRBoZcFLhjxyA+7CBQI/TihzAqCxwtt9fYAQbLmRCW83beN1csDjCzyuFl2B6Hef eqF4Q==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=nVhU7uCJBpM9ZsNVUWtgXM3R/pcxCkL4ZzfGPIP0j sU=; b=Z5wODyp1zSHJPGz0D+hICkeLRd+TXKQ3GCv7ml4qbbVc7bLUJNVGvK0L1 iEvb9LUEuYyor0iKLHc4UbrcGM9GKGCwotZoltQjReffyIz6cs9rNIPhLS/sxE85 o2IyG7pjMtKe9i4+1fREK2aVEhJIW2UQd8jbbdGWVy5w7la6/tWHGDcD4TYV60PE hmyREgblP5SqFbO+mSZjEr6jqoHlDBpSpOD45PRVvPmZOf3SMmC1wXqa3RUTAFsz F+lZ9H5nw4wGYioQGpBKasGe++NhRR4SHZXfyixzKYAFlcalyRklBt1O19MLwKLy /0K8BKC3USQciG68TdWC6mkcU9R9Q==
X-ME-Sender: <xms:LglwXfAqGno4j8TvsAGaAn8XAIXRx_zKCud5I77UaL4qUhCr-fbtAg>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduvddrudejhedguddvlecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurheptggguffhjgffgffkfhfvofesth hqmhdthhdtvdenucfhrhhomheptehlihhsshgrucevohhophgvrhcuoegrlhhishhsrges tghoohhpvghrfidrihhnqeenucffohhmrghinhepihgvthhfrdhorhhgnecukfhppeduje efrdefkedruddujedrjeegnecurfgrrhgrmhepmhgrihhlfhhrohhmpegrlhhishhsrges tghoohhpvghrfidrihhnnecuvehluhhsthgvrhfuihiivgeptd
X-ME-Proxy: <xmx:LglwXWS3bZsR7OMeHZ8-T_MEbO3Lp83CMvKOIbTYsXADBHu2L9pp0g> <xmx:LglwXWsM2xceqlehdkF1o_PgGmhCtayBohpTS6r0QiLe9CQNGBLIIA> <xmx:LglwXS3iGEDdFj50WTt_9GvAm98aE41kPOkAtdtWggoVyamG38fIKw> <xmx:LglwXUkURabb2FAWqGQocf2_W_3nWkrFdoKS_ArY9bNgSz5cWwWGGQ>
Received: from rtp-alcoop-nitro2.cisco.com (unknown [173.38.117.74]) by mail.messagingengine.com (Postfix) with ESMTPA id 25CDFD60057; Wed,  4 Sep 2019 14:57:50 -0400 (EDT)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Alissa Cooper <alissa@cooperw.in>
In-Reply-To: <156567125017.20459.17306464775264462092@ietfa.amsl.com>
Date: Wed, 4 Sep 2019 14:57:49 -0400
Cc: gen-art@ietf.org, ietf@ietf.org, netmod@ietf.org, draft-ietf-netmod-artwork-folding.all@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <7F44AAAE-44D2-4D1E-9762-172A2FC79778@cooperw.in>
References: <156567125017.20459.17306464775264462092@ietfa.amsl.com>
To: Roni Even <ron.even.tlv@gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/VKSp2PL1LlUe3FuIaE3iabrmAiw>
Subject: Re: [netmod] [Gen-art] Genart last call review of draft-ietf-netmod-artwork-folding-08
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 18:57:55 -0000

Roni, thanks for your review. I entered an Abstain ballot.

Alissa


> On Aug 13, 2019, at 12:40 AM, Roni Even via Datatracker =
<noreply@ietf.org> wrote:
>=20
> Reviewer: Roni Even
> Review result: Ready
>=20
> I am the assigned Gen-ART reviewer for this draft. The General Area
> Review Team (Gen-ART) reviews all IETF documents being processed
> by the IESG for the IETF Chair.  Please treat these comments just
> like any other last call comments.
>=20
> For more information, please see the FAQ at
>=20
> <https://trac.ietf.org/trac/gen/wiki/GenArtfaq>.
>=20
> Document: draft-ietf-netmod-artwork-folding-??
> Reviewer: Roni Even
> Review Date: 2019-08-12
> IETF LC End Date: 2019-08-13
> IESG Telechat date: Not scheduled for a telechat
>=20
> Summary:
> The document is ready for publication as a BCP
> Major issues:
>=20
> Minor issues:
>=20
> Nits/editorial comments:
>=20
>=20
> _______________________________________________
> Gen-art mailing list
> Gen-art@ietf.org
> https://www.ietf.org/mailman/listinfo/gen-art


From nobody Wed Sep  4 23:07:48 2019
Return-Path: <noreply@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id B09B4120A9B; Wed,  4 Sep 2019 23:07:46 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Benjamin Kaduk via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>,  netmod-chairs@ietf.org, lberger@labn.net, netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Benjamin Kaduk <kaduk@mit.edu>
Message-ID: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com>
Date: Wed, 04 Sep 2019 23:07:46 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/m7salwQonJAwDYlNXfHOVTlTni8>
Subject: [netmod] Benjamin Kaduk's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 06:07:47 -0000

Benjamin Kaduk has entered the following ballot position for
draft-ietf-netmod-artwork-folding-09: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

I think the procedures described herein are incomplete without a footer
to terminate the un-folding process.  Otherwise, it seems that the
described algorithms would leave the two-line header for the second and
subsequent instances of folded text in a single document.  (If we tried
to just blindly remove all instances of the header without seeking
boundaries, then we would misreconstruct content when different folding
algorithms are used in the same document with the single-backslash
algorithm occurring first.)

I don't think it's proper to refer to a script that requires bash
specifically as a "POSIX shell script".  I did not attmept to check
whether any bash-specific features are used or this requirements stems
solely from the shebang line, though.

I think the shell script does need to use double-quotes around some
variable expansions, especially "$infile" and "$outfile", to work
properly for filenames containing spaces.  We do quote "$infile" when
we're checking that it exists, just not (most of the time) when we
actually use it!

In addition to the above, I also share Alissa's (and Mirja's) concerns,
but feel that Discuss is more appropriate than Abstain, so we can discuss
what the best way to get this content published is.  For it's fine
content, and we should see it published; it's just not immediately clear
to me what the right way to do so is.


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

Section 4.1

   Automated folding of long lines is needed in order to support draft
   compilations that entail a) validation of source input files (e.g.,
   XML, JSON, ABNF, ASN.1) and/or b) dynamic generation of output, using
   a tool that doesn't observe line lengths, that is stitched into the
   final document to be submitted.

I don't think the intended meaning of "source input files" will be clear
to all readers just from this text.  Some discussion of how RFCs can
consider source code, data structures, generated output, etc., that have
standalone representations and natural formats, and the need to display
their contents in the RFC format that has different requirements might
be helpful context for this paragraph and the next.

Section 7.1.2

For some reason my mental model of "RFC style" does not use the word
"really" in this way, and prefers alternatives like "very" or
"exceptionally".  (Also in Section 8.1.2.)

Section 7.2.1

   1.  Determine where the fold will occur.  This location MUST be
       before or at the desired maximum column, and MUST NOT be chosen
       such that the character immediately after the fold is a space ('
       ') character.  For forced foldings, the location is between the

This is a rather awkward natural line break.  I suggest an RFC Editor
note to make sure that the punctuation around the space character all
appears on the same line.

   3.  On the following line, insert any number of space (' ')
       characters.

I'm not sure I'd characterize the procedure as "complete" when it leaves
the value of the output subject to implementation choice such as this.
(Note that the next paragraph talks about the resulting "arbitrary
number of space" characters, and would presumably also need to be
adjusted if this text was adjusted.)
We also don't seem to bound this number of spaces to be fewer than the
target line length, which only matters in some weirdly pedantic sense.

Section 7.2.2

   Scan the beginning of the text content for the header described in
   Section 7.1.1.  If the header is not present, starting on the first
   line of the text content, exit (this text contents does not need to
   be unfolded).

I'm not sure I understand what "starting on the first line of the text
content" is intended to mean.  (Also in 8.2.2.)

Section 8.2.1

   If this text content needs to and can be folded, insert the header
   described in Section 8.1.1, ensuring that any additional printable
   characters surrounding the header do not result in a line exceeding
   the desired maximum.

We discussed above some cases when text could not be folded using the
algorithm from Section 7.2.1; in what case could text not be folded with
this algorithm?  Just the case when the implementation doesn't support
forced folding?

Section 10

We should warn against implementations scanning past the end of a buffer
(containing the entire contents of a file) when checking what's in the
beginning of the next line -- if a file ends with a backslash and "end
of line" but no further content, we could perform an out of bounds
access if the code assumes it is safe to check for the next line's
initial content.

Section 12.2

I think that RFC 7991 could be normative, since we say "per RFC 7991" to
describe some requirements on behavior.  Likewise for RFC 7994, whose
character encoding requirements we incorporate by reference.

Appendix A

I could perhaps argue that we should include a reference to POSIX for
"POSIX shell script" but find it somewhat hard to believe that this
would be a problem in practice.  It's also moot since we require bash
specifically, so we'd need to reference bash instead of POSIX.

   copy/paste the script for local use.  As should be evident by the
   lack of the mandatory header described in Section 7.1.1, these
   backslashes do not designate a folded line, such as described in
   Section 7.

It perhaps should be, but I think currently is not -- we only talk about
using the two-line header to detect instances of folding, without
mention of a requirement to be contained within <CODE BEGINS>/<CODE
ENDS> or similar.

It seems that my perception of "common shell style" diverges from that
presented in this document, which is not necessarily problematic.
(Things like what diagnostics go to stdout vs. stderr, use or ">
/dev/null" vs ">> /dev/null", etc.)

     printf "Usage: rfcfold [-s <strategy>] [-c <col>] [-r] -i <infile>"
     printf " -o <outfile>\n"

This summary usage line doesn't mention -d, -q, or -h.  (Maybe it
doesn't have to, of course.)

     # ensure input file doesn't contain a TAB
     grep $'\t' $infile >> /dev/null 2>&1

(`grep -q` is a thing, here and elsewhere.)

     # unfold wip file
     "$SED" '{H;$!d};x;s/^\n//;s/\\\n *//g' $temp_dir/wip > $outfile

[I don't remember why the s/^\n// is needed; similarly for the
unfold_it_2() case.]

     if [[ $strategy -eq 2 ]]; then
       min_supported=`expr ${#hdr_txt_2} + 8`
     else
       min_supported=`expr ${#hdr_txt_1} + 8`
     fi

On the face of it this seems like it will produce "folded" output that
exceeds the line length, when we give min_supported of 54, use
autodetection of strategy, and have input that is incompatible with
fold_it_1().

     process_input $@

Need double-quotes around "$@" to properly handle arguments with
embedded spaces.



From nobody Wed Sep  4 23:42:12 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 71C1D12006E for <netmod@ietfa.amsl.com>; Wed,  4 Sep 2019 23:42:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level: 
X-Spam-Status: No, score=-6.997 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 cHIbiuhYLRql for <netmod@ietfa.amsl.com>; Wed,  4 Sep 2019 23:42:08 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 22E4612003E for <netmod@ietf.org>; Wed,  4 Sep 2019 23:42:08 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:a744:2697:a0ec:a420]) by mail.nic.cz (Postfix) with ESMTPSA id 371ED140D18; Thu,  5 Sep 2019 08:42:06 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1567665726; bh=CdVRIt9ob2xHk9b3xjT2ZiHN52Fk6PUU7GUuHwt/PNk=; h=From:To:Date; b=IV4oP8aisOgGevmLfXJ+oiBWQcJ3MbNzn2DYYedN1KM0D8WFANqyMVbS3ZvuZBTIe uG2GNnLaqGE3JX+TwENyPbThlq80ALN7dQPgkIees3Bmx035ALxFnBXRkyUQR8MKbn VVl4gL8QEcfbQ5GfMcNjM/SBPKQdsIhwo60kpxnw=
Message-ID: <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: NETMOD WG <netmod@ietf.org>
Date: Thu, 05 Sep 2019 08:42:06 +0200
In-Reply-To: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.32.4 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/TIQlNPCUaKjatLC0JSlHa_u0YKc>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 06:42:10 -0000

On Wed, 2019-09-04 at 11:56 -0700, Alissa Cooper via Datatracker wrote:
> Alissa Cooper has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Abstain
> 
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
> 
> 
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
> 
> 
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
> 
> 
> 
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> 
> RFC 7994 is not a product of IETF consensus, so it seems inappropriate to
> publish a consensus BCP predicated on requirements defined in RFC 7994 which
> themselves do not have IETF consensus. This would be the only document related
> to the RFC format in the last 10 years that I'm aware of that would be
> published on the IETF stream.
> 
> There has been discussion about how embedding YANG models in RFCs seems like a
> poor fit for a number of reasons. By standardizing line-folding mechanisms and
> claiming them as a best practice, this document reinforces the root of that
> problem rather than trying to fix it.

Well said, I agree with Alissa's conclusion.

Lada

> 
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep  5 02:13:54 2019
Return-Path: <auerswal@unix-ag.uni-kl.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E5D2F120B83; Thu,  5 Sep 2019 02:13:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.198
X-Spam-Level: 
X-Spam-Status: No, score=-4.198 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 v_bu91JIZfIe; Thu,  5 Sep 2019 02:13:45 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E54D412002F; Thu,  5 Sep 2019 02:13:43 -0700 (PDT)
Received: from sushi.unix-ag.uni-kl.de (sushi.unix-ag.uni-kl.de [IPv6:2001:638:208:ef34:0:ff:fe00:65]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x859Dft0070431 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);  Thu, 5 Sep 2019 11:13:41 +0200
Received: from sushi.unix-ag.uni-kl.de (ip6-localhost [IPv6:::1]) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id x859DfoM007441 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 5 Sep 2019 11:13:41 +0200
Received: (from auerswal@localhost) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Submit) id x859Devq007440; Thu, 5 Sep 2019 11:13:40 +0200
Date: Thu, 5 Sep 2019 11:13:40 +0200
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
To: Benjamin Kaduk <kaduk@mit.edu>
Cc: The IESG <iesg@ietf.org>, netmod-chairs@ietf.org, draft-ietf-netmod-artwork-folding@ietf.org, netmod@ietf.org
Message-ID: <20190905091340.GC429@unix-ag.uni-kl.de>
References: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/JHzl2IagvhP_aGWBZTMe-yoLBmI>
Subject: Re: [netmod] Benjamin Kaduk's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 09:13:47 -0000

Hi Benjamin,

On Wed, Sep 04, 2019 at 11:07:46PM -0700, Benjamin Kaduk via Datatracker wrote:
> Benjamin Kaduk has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Discuss
> [...]
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
> [...]
>      "$SED" '{H;$!d};x;s/^\n//;s/\\\n *//g' $temp_dir/wip > $outfile
> 
> [I don't remember why the s/^\n// is needed; similarly for the
> unfold_it_2() case.]

This is an artifact of how sed's H command works: it adds a newline to
the hold space, then appends the pattern space (which does not contain
a newline) to the hold space. Thus an extra newline is added before the
first line of the input data. This extra newline needs to be removed.

> [...]

Thanks,
Erik


From nobody Thu Sep  5 07:41:15 2019
Return-Path: <noreply@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id BDABE120864; Thu,  5 Sep 2019 07:41:06 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: Suresh Krishnan via Datatracker <noreply@ietf.org>
To: "The IESG" <iesg@ietf.org>
Cc: draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>,  netmod-chairs@ietf.org, lberger@labn.net, netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: Suresh Krishnan <suresh@kaloom.com>
Message-ID: <156769446677.22608.7381486936621146842.idtracker@ietfa.amsl.com>
Date: Thu, 05 Sep 2019 07:41:06 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/WZ651jVxDiEAXIQFB_pJKMkWjjg>
Subject: [netmod] Suresh Krishnan's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 14:41:07 -0000

Suresh Krishnan has entered the following ballot position for
draft-ietf-netmod-artwork-folding-09: Discuss

When responding, please keep the subject line intact and reply to all
email addresses included in the To and CC lines. (Feel free to cut this
introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

After some thought I think there are two things about this document that make
me uncomfortable enough to ballot Discuss.

a) Due to its home in the netmod WG it is highly likely that people outside the
yang community have not paid enough attention to this work. Since this is
applicable to code fragments of all kinds, I think the home chosen for this RFC
might have inadvertently limited input from the broader community.

b) Given a) I think it is better that this document go forward as an
Informational document rather than a BCP so that use of this technique becomes
optional, without the force of a BCP behind it.


----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

I do agree with my Abstaining colleagues that this should probably not be on
the IETF stream but I think the work is useful enough to go forward.



From nobody Thu Sep  5 08:08:58 2019
Return-Path: <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 113B5120170 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 08:08:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 rzGodFM9tP6T for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 08:08:54 -0700 (PDT)
Received: from a8-32.smtp-out.amazonses.com (a8-32.smtp-out.amazonses.com [54.240.8.32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D58851200FB for <netmod@ietf.org>; Thu,  5 Sep 2019 08:08:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567696132; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=bhC3m3x72UhdMcFLGICxya/6m2h7XzitZnlhWWTHSIE=; b=WJA4/s3LsD2L3Zr1kNtwjAt8SVrHqyfwLpkrXZ303IU+tu7cJPX/H+ScokB5fvOs Lmaa/bskMNatlV/h8X8MNVeXpVoSn8+3ysTIy/EGpfXwu1XdWeu19n6wsHQqRnAJPPf 4b368zPGRjDvWuEpzF8stZBtUweyARXnhlsZHm9g=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_12AF3CCB-A9CE-4C7E-A73F-668CFB5FAC13"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 15:08:52 +0000
In-Reply-To: <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz>
Cc: "netmod@ietf.org" <netmod@ietf.org>
To: Ladislav Lhotka <lhotka@nic.cz>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com> <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.32
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/8DbwywSCqWrPum2NR1a2jUcFH_Y>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 15:08:56 -0000

--Apple-Mail=_12AF3CCB-A9CE-4C7E-A73F-668CFB5FAC13
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii



>> There has been discussion about how embedding YANG models in RFCs =
seems like a
>> poor fit for a number of reasons. By standardizing line-folding =
mechanisms and
>> claiming them as a best practice, this document reinforces the root =
of that
>> problem rather than trying to fix it.
>=20
> Well said, I agree with Alissa's conclusion.


Assuming 'a', yes, 'b' follows 'a'.  That said, the concern is nebulous
and how to address it more so.  Proposals?

Assuming the concern is process-overhead for minor spins, perhaps we
could leverage the module-versioning work as follows:

  * Initial and NBC modules go thru standard RFC publishing process =
(i.e.,
    there is still a need to publish YANG modules in RFCs).

  * BC modules can skip standard publishing process but, to be an "IETF"
    product (not some random fork), they would need to be released via =
an
    IETF-owned mechanism (e.g., an Git repo) with restricted =
write-access.

Thoughts?

Kent


--Apple-Mail=_12AF3CCB-A9CE-4C7E-A73F-668CFB5FAC13
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><blockquote type=3D"cite" style=3D"font-family: =
Menlo-Regular; font-size: 13px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; orphans: auto; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; widows: auto; word-spacing: 0px; -webkit-text-size-adjust: auto; =
-webkit-text-stroke-width: 0px; text-decoration: none;" class=3D"">There =
has been discussion about how embedding YANG models in RFCs seems like =
a<br class=3D"">poor fit for a number of reasons. By standardizing =
line-folding mechanisms and<br class=3D"">claiming them as a best =
practice, this document reinforces the root of that<br class=3D"">problem =
rather than trying to fix it.<br class=3D""></blockquote><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Menlo-Regular; =
font-size: 13px; font-style: normal; font-variant-caps: normal; =
font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); font-family: =
Menlo-Regular; font-size: 13px; font-style: normal; font-variant-caps: =
normal; font-weight: normal; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; float: none; display: inline !important;" class=3D"">Well said, I =
agree with Alissa's conclusion.</span><br style=3D"caret-color: rgb(0, =
0, 0); font-family: Menlo-Regular; font-size: 13px; font-style: normal; =
font-variant-caps: normal; font-weight: normal; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;" class=3D""></div></blockquote></div><div =
class=3D""><br class=3D""></div><div class=3D"">Assuming 'a', yes, 'b' =
follows 'a'. &nbsp;That said, the concern is nebulous</div><div =
class=3D"">and how to address it more so. &nbsp;Proposals?</div><div =
class=3D""><br class=3D""></div><div class=3D"">Assuming the concern is =
process-overhead for minor spins, perhaps we</div><div class=3D"">could =
leverage the module-versioning work as follows:</div><div class=3D""><br =
class=3D""></div><div class=3D"">&nbsp; * Initial and NBC modules go =
thru standard RFC publishing process (i.e.,</div><div class=3D"">&nbsp; =
&nbsp; there is still a need to publish YANG modules in RFCs).</div><div =
class=3D""><br class=3D""></div><div class=3D"">&nbsp; * BC modules can =
skip standard publishing process but, to be an "IETF"</div><div =
class=3D"">&nbsp; &nbsp; product (not some random fork), they would need =
to be released via an</div><div class=3D"">&nbsp; &nbsp; IETF-owned =
mechanism (e.g., an Git repo) with restricted write-access.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Thoughts?</div><div =
class=3D""><br class=3D""></div><div class=3D"">Kent</div><div =
class=3D""><br class=3D""></div></body></html>=

--Apple-Mail=_12AF3CCB-A9CE-4C7E-A73F-668CFB5FAC13--


From nobody Thu Sep  5 08:18:15 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 796A71207FC for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 08:17:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 RhIoxX7ZX8sn for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 08:17:55 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 8145012089A for <netmod@ietf.org>; Thu,  5 Sep 2019 08:17:55 -0700 (PDT)
Received: from localhost (unknown [173.38.220.50]) by mail.tail-f.com (Postfix) with ESMTPSA id A06031AE02AB; Thu,  5 Sep 2019 17:17:53 +0200 (CEST)
Date: Thu, 05 Sep 2019 17:17:30 +0200 (CEST)
Message-Id: <20190905.171730.1203130976409295649.mbj@tail-f.com>
To: kent+ietf@watsen.net
Cc: lhotka@nic.cz, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com> <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz> <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/NFPnTIz5QT5N4UdXyhM2N9-NmmE>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 15:18:03 -0000

Kent Watsen <kent+ietf@watsen.net> wrote:
> 
> 
> >> There has been discussion about how embedding YANG models in RFCs seems like a
> >> poor fit for a number of reasons. By standardizing line-folding mechanisms and
> >> claiming them as a best practice, this document reinforces the root of that
> >> problem rather than trying to fix it.
> > 
> > Well said, I agree with Alissa's conclusion.

But the algorithm in the document isn't supposed to be used for YANG
modules.  It is supposed to be used primarily for XML and JSON
snippets (etc).

> Assuming 'a', yes, 'b' follows 'a'.  That said, the concern is nebulous
> and how to address it more so.  Proposals?
> 
> Assuming the concern is process-overhead for minor spins

I think we need to understand what the "number of reasons" Alissa
refers to really are, before we try to come up with solutions.


/martin


> , perhaps we
> could leverage the module-versioning work as follows:
> 
>   * Initial and NBC modules go thru standard RFC publishing process (i.e.,
>     there is still a need to publish YANG modules in RFCs).
> 
>   * BC modules can skip standard publishing process but, to be an "IETF"
>     product (not some random fork), they would need to be released via an
>     IETF-owned mechanism (e.g., an Git repo) with restricted write-access.
> 
> Thoughts?
> 
> Kent
> 


From nobody Thu Sep  5 09:03:41 2019
Return-Path: <ietf.dmytro@shytyi.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D249120980 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 09:03:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=shytyi.net
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 FYTnk1D6DxS7 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 09:03:27 -0700 (PDT)
Received: from sender-of-o52.zoho.eu (sender-of-o52.zoho.eu [31.186.226.248]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C93E31209B2 for <netmod@ietf.org>; Thu,  5 Sep 2019 09:03:26 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1567699382; cv=none; d=zohomail.eu; s=zohoarc;  b=DgQrj+S5hOQWOHqNPs2Po/LTaY+YOzRSiQkY2JV1g0ZT9UUPYozD/auO0l2XnLyGnHumylEMhZYj4rNV4v7RLAQQ8ESdIwiTRh6btiRdJHiymRgZ9zrXVJV4QU5wnFbzxh3o4oNDdXtMeeXVK2w9j7Zp/d6nAoyP5GGfmYMXSUM=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1567699382; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=vaMCrhdanKf4Dcu4tj1XhfK2ef0ia6vLc1xvquy4Ew4=;  b=lDzuXYXmRkLfbaSSEa2BmMwYglVt7Sy/k3Pe6pQc1DwocO/s6xdTFJfpOczdUtdswhpSMoTfro9/cw1Wgq6SuDyMpCsl/+QboX/JGTgQ8j1PXtksEIIIXZZDthM54itFv6YdEiu9iTrr4OkW23sEuQmsHHVYobpEx/ztGOy28Z8=
ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass  header.i=shytyi.net; spf=pass  smtp.mailfrom=ietf.dmytro@shytyi.net; dmarc=pass header.from=<ietf.dmytro@shytyi.net> header.from=<ietf.dmytro@shytyi.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1567699382;  s=hs; d=shytyi.net; i=ietf.dmytro@shytyi.net; h=Date:From:To:Cc:Message-Id:In-Reply-To:References:Subject:MIME-Version:Content-Type; l=26467; bh=vaMCrhdanKf4Dcu4tj1XhfK2ef0ia6vLc1xvquy4Ew4=; b=Ii8xI0oyDgxunFiN5P5wVQqTXqNApgBEJAyhhr+iGgJEVQoIkQe0ssJVfqPvx1UU 97MrzP0GrQk+Yd7t8lBT1rZMkSG+6AuzECo6r3drhaKeqpye5YuP95mvHb6dnIbZyxm 4yyAwq3J9YwT6YzfVZtVLZc91Ui4wXvVCvQ44ts4=
Received: from sender.zoho.eu (172.26.23.78 [172.26.23.78]) by mx.zoho.eu with SMTPS id 1567699379842393.89866914161814; Thu, 5 Sep 2019 18:02:59 +0200 (CEST)
Received: from mail.zoho.eu by mx.zoho.eu with SMTP id 1567699379769514.1942318673334; Thu, 5 Sep 2019 18:02:59 +0200 (CEST)
Date: Thu, 05 Sep 2019 18:02:59 +0200
From: Dmytro Shytyi <ietf.dmytro@shytyi.net>
To: "Robert Varga" <nite@hq.sk>, "billwu" <bill.wu@huawei.com>
Cc: "netmod" <netmod@ietf.org>
Message-Id: <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net>
In-Reply-To: <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net>
References: <155377227553.1573.8548464832229347361.idtracker@ietfa.amsl.com> <16caabd07ae.de4789c8151923.6368018099125205208@shytyi.net> <16cba30dec2.b91b31ed256364.8160264793634017255@shytyi.net> <16cd3d19305.11aec1852361697.7576623717058940792@shytyi.net> <5219ac80-b607-b4b4-8c77-72950d4c5137@hq.sk> <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_14789_1012258766.1567699379765"
X-Priority: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-ZohoMailClient: External
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/IKpfZ95sHb82Q-dalYCu6zTMepc>
Subject: Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group document.
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 16:03:40 -0000

------=_Part_14789_1012258766.1567699379765
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Dear All,



Please find the updated version of the VYSM Internet Draft(v0.2).

The new version of draft introduces an extension of the yang model defined =
in previous version. From now the VYSM supports (0day configuration)/(boots=
trap) of the VNFs hosted in the uCPE.

With 0day configuration in the uCPE we can setup minimal required configura=
tion of vRouter (such as ip address, hostname,etc..), SD-WAN (address of th=
e SD-WAN manager, dhcp activation, etc..), etc..





Details:

A new version of I-D, draft-shytyi-netmod-vysm-02.txt=C2=A0

has been successfully submitted by Dmytro Shytyi and posted to the=C2=A0

IETF repository.=C2=A0



Name:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0draft-shytyi-netmod-vy=
sm=C2=A0

Revision:=C2=A0=C2=A0=C2=A0=C2=A002=C2=A0

Title:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Virtualization YANG S=
ervise Model (VYSM)=C2=A0

Document date:=C2=A0=C2=A0=C2=A0=C2=A02019-09-04=C2=A0

Group:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0Individual Submission=
=C2=A0

Pages:=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A010=C2=A0

URL: https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt=
=C2=A0

Status: https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/=C2=A0

Htmlized: https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02=C2=A0

Htmlized: https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm=C2=
=A0

Diff: https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02=C2=A0



Abstract:=C2=A0

This document provides a specification of the Virtual Network=C2=A0

Functions YANG Service Model (VYSM). The VNF YANG Service Model=C2=A0

serves as a base framework for managing an universal Customer-=C2=A0

Premises Equipment (uCPE) NFV subsystem from the Orchestrator.=C2=A0

=C2=A0

>>

>># # # : Dmytro Shytyi [mailto:mailto:ietf.dmytro@shytyi.net]

>># # # # : 2019# 8# 28#=C2=A0 21:46

>># # # : Robert Varga <mailto:nite@hq.sk>; Qin Wu <mailto:bill.wu@huawei.c=
om>

>># # : netmod <mailto:netmod@ietf.org>

>># # : Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working=
 Group document.

>>

>>Hello,

>>

>>Please find comments inline.

>>>On 27/08/2019 18:03, Dmytro Shytyi wrote:

>>>> Dear All,

>>>>=C2=A0

>>>> I am one of the authors of ID VYSM and I would like to draw your

>>>> attention to the evolution of the

>>>> draft=C2=A0https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vy=
sm-01.txt.

>>>> Recently we produced (but did not submitted yet) a new version of ID

>>>> (02) and I beleive it fits the netmod working group.

>>>>=C2=A0

>>>> We would be gratefull if you could suggest if the new version(02) of t=
he

>>>> document=C2=A0 could become an official work item of the WG?

>>>> =C2=A0 =C2=A0 =C2=A0 If yes, could you please indicate which modificat=
ions must be done

>>>> in the document before submition.

>>>=C2=A0

>>>Hmm, looking over the model, it would seem there is quite a bit of

>>>overlap with RFC8345 -- to the point I believe the model could be

>>>formulated in terms of RFC8345 specialization:

>>First of all I would like to thank you for this comment.=C2=A0

>>-Dmytro

>>>virtualization -> networks/network

>>>=C2=A0

>>>device/links/interfaces/switches/vms are probably a mix of

>>>node/termmination-point/link extensions with conjunction with

>>>supporting-{topology,node,link}.

>>I can imagine mapping:

>>virtualization (ID) -> networks/network (RFC 8345)

>>links (ID)- >link;(RFC 8345)

>>ports (ID)-> termination points;(RFC 8345)

>>But still.. it seems here we have to create extension of the model propos=
ed in RFC 8345.

>>Precisely for node (RFC 8345) we may add types (switches, vms) and futer =
add leafs /listsfor type if required (ex: #RAM,#vCPUs and other leafs for V=
Ms)

>>-Dmytro

>>>How would the draft relate to RFC8345? Should it perhaps call out it is

>>>a different take on the similar problem, specialized to a particular

>>>use-case?

>>One can suggest that=C2=A0 in the RFC8345 Figure 1, the block "service To=
pology model" can include the proposed in the draft network service descrip=
tor with appropriate modification of mapping according to the RFC8345.

>>

>>Meanwhile I find that the proposed solution(ID) try to solve the problem =
descibed below:

>>

>>The uCPE management mechanism may involve not only YANG modules but=C2=A0=
 also the speficif logic written in programming languages. The proposed org=
anisation of yang model is an attempt to find the best fit=C2=A0 for combin=
ation (YANG modules + specific logic written in python for example )=C2=A0 =
to manage different existing NFVIs in the uCPE (by the orchestrator).

>>

>>In the case of uCPE, the mapping (w/wo additinal logic) of "variables " b=
etween service yang modules (in the orchestrator) and NETCONF payload(that =
is sent to the uCPE) will be more complex (requires additional transformati=
ons in the logic) with generic approach, then the solution presented in the=
 ID, that is tailored to the uCPE.=C2=A0

>>

>>Therefore I find the proposed solution as a stadalone generic approach to=
 manage multiple vendor uCPE that appears to be a particular case tailored =
for uCPE NFVIs that may be not nesseraly follows RFC8345. I would be please=
d if you could comment this.

>>

>>-Dmytro

>>>Regards,

>>>Robert (with RFC8345 co-author hat on)

>>>+1, in addition, I am wondering whether this is something related to ove=
rlay topology model, if yes, how it is different from DC Fabric topology mo=
del defined in RFC8542?=C2=A0

>>>-Qin=C2=A0

>>Thank you for your comment. The RFC8542 condisers PODs in the DC network.=
 uCPE is located on the customer site. if we consider that uCPE is A POD (w=
ith links and nodes like VMs and swithces) then in the RFC8542 describes di=
fferent PODs in the network that are interconnected with links. The yang mo=
del proposed in the ID ifocuses only on the uCPE interiour network service,=
 not the interconnection between the uCPEs. Aslo, I explained the differenc=
e about extension neded for type of nodes,vms leafs and furter complexity i=
n the mapping logic in the reponce to Robert.

>>-Dmytro

>>

>>[Qin]:So you focus on interconnection between local vPE and remote vPE?

>[Dmytro]:

>Thank you for this question. It seems that the next version of draft shoul=
d include the explanation of the uCPE interiour network service.

>Example: We can have multiple VMs instantiated in the uCPE (vFW,vRouter/vC=
PE,SD-WAN). With support of links and swithes=C2=A0 VMs may create a servic=
e chains.

>Example of service chains:

>1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN

>2)WAN--SDWAN--vFirewall--LAN

>>It is not clear whether we should distinguish VM from switch. In my under=
standing, Upon VNF is instantiated, there is no difference between virtual =
and physical worlds.

>[Dmytro]:

>The VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN that i=
s not a default part of virtual network resources of the uCPE (chapter 3 in=
 the ID).

>The switch (ex. Open vSwith) in the uCPE is a default part of uCPE network=
 virtual resources (chapter 3 in the ID).

>Thus we need to distingish swithes and VNFs to not to mix uCPE network vir=
tual resources and VNFs.

>Another reason why the destingishing is required: because VM and SW have d=
ifferent device-attributes. SW does not require VNFD attributtes.

>If we do not distinguish nodes, and only extend the grouping "device attri=
butes" for required attributes the switch will have the properties that are=
=C2=A0 unused leafs which represent the VM-device-attributes.

>>VNF lifecycle management is separated from topology construction, wrong?

>[Dmytro]:

>a) In case of the NFVIs uCPE the same High Level interface allows to confi=
gure both topology construction and VM lifecycle management in the same tra=
nsaction.

>b) We can not activate Network Service Descriptor without consituent VM no=
de information. At the moment of NSD activation we already have to set the =
VM node information such as VM capabilities that can be created (previosly)=
/(at the moment of configuration of NSD) but have to be a part of the netwo=
rk service descriptor at the moment of activation.

>[Dmytro]

>The Internet Draft also defines the term uCPE that is not defined at IETF =
yet.

>_______________________________________________

>netmod mailing list

>mailto:netmod@ietf.org

>https://www.ietf.org/mailman/listinfo/netmod



______________
Dmytro SHYTYI
------=_Part_14789_1012258766.1567699379765
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>=
<meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"></h=
ead><body ><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif=
; font-size: 10pt;"><div><div>Dear All,<br></div><div><br></div><div>Please=
 find the updated version of the VYSM Internet Draft(v0.2).<br></div><div>T=
he new version of draft introduces an extension of the yang model defined i=
n previous version. From now the VYSM supports (0day configuration)/(bootst=
rap) of the VNFs hosted in the uCPE.<br></div><div>With 0day configuration =
in the uCPE we can setup minimal required configuration of vRouter (such as=
 ip address, hostname,etc..), SD-WAN (address of the SD-WAN manager, dhcp a=
ctivation, etc..), etc..<br></div><div><br></div><div><br></div><div>Detail=
s:<br></div><div><span class=3D"highlight" style=3D"background-color:rgb(25=
5, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span cla=
ss=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-s=
ize:14px">A new version of I-D, draft-shytyi-netmod-vysm-02.txt<span>&nbsp;=
</span></span></span></span></span><br></div><div><span class=3D"highlight"=
 style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" style=
=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><sp=
an class=3D"size" style=3D"font-size:14px">has been successfully submitted =
by Dmytro Shytyi and posted to the<span>&nbsp;</span></span></span></span><=
/span><br></div><div><span class=3D"highlight" style=3D"background-color:rg=
b(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span=
 class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"fo=
nt-size:14px">IETF repository.<span>&nbsp;</span></span></span></span></spa=
n><br></div><div><br></div><div><span class=3D"highlight" style=3D"backgrou=
nd-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0=
, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" =
style=3D"font-size:14px">Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;draft-shytyi-netmod-vysm<span>&nbsp;</span></span></span></span></span><=
br></div><div><span class=3D"highlight" style=3D"background-color:rgb(255, =
255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=
=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"font-siz=
e:14px">Revision:&nbsp;&nbsp;&nbsp;&nbsp;02<span>&nbsp;</span></span></span=
></span></span><br></div><div><span class=3D"highlight" style=3D"background=
-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, =
0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" st=
yle=3D"font-size:14px">Title:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;Virtualization YANG Servise Model (VYSM)<span>&nbsp;</span></span></span>=
</span></span><br></div><div><span class=3D"highlight" style=3D"background-=
color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0=
)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size" sty=
le=3D"font-size:14px">Document date:&nbsp;&nbsp;&nbsp;&nbsp;2019-09-04<span=
>&nbsp;</span></span></span></span></span><br></div><div><span class=3D"hig=
hlight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour=
" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:La=
to"><span class=3D"size" style=3D"font-size:14px">Group:&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Individual Submission<span>&nbsp;</span></span=
></span></span></span><br></div><div><span class=3D"highlight" style=3D"bac=
kground-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb=
(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"s=
ize" style=3D"font-size:14px">Pages:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;10<span>&nbsp;</span></span></span></span></span><br></div><div><s=
pan class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span=
 class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=
=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">URL: <a=
 target=3D"_blank" href=3D"https://www.ietf.org/internet-drafts/draft-shyty=
i-netmod-vysm-02.txt">https://www.ietf.org/internet-drafts/draft-shytyi-net=
mod-vysm-02.txt</a><span>&nbsp;</span></span></span></span></span><br></div=
><div><span class=3D"highlight" style=3D"background-color:rgb(255, 255, 255=
)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font"=
 style=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">S=
tatus: <a target=3D"_blank" href=3D"https://datatracker.ietf.org/doc/draft-=
shytyi-netmod-vysm/">https://datatracker.ietf.org/doc/draft-shytyi-netmod-v=
ysm/</a><span>&nbsp;</span></span></span></span></span><br></div><div><span=
 class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span cl=
ass=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"f=
ont-family:Lato"><span class=3D"size" style=3D"font-size:14px">Htmlized: <a=
 target=3D"_blank" href=3D"https://tools.ietf.org/html/draft-shytyi-netmod-=
vysm-02">https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02</a><span>&=
nbsp;</span></span></span></span></span><br></div><div><span class=3D"highl=
ight" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato=
"><span class=3D"size" style=3D"font-size:14px">Htmlized: <a target=3D"_bla=
nk" href=3D"https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm"=
>https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm</a><span>&n=
bsp;</span></span></span></span></span><br></div><div><span class=3D"highli=
ght" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" s=
tyle=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lato"=
><span class=3D"size" style=3D"font-size:14px">Diff: <a target=3D"_blank" h=
ref=3D"https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02">htt=
ps://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02</a><span>&nbsp=
;</span></span></span></span></span><br></div><div><br></div><div><span cla=
ss=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=
=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font=
-family:Lato"><span class=3D"size" style=3D"font-size:14px">Abstract:<span>=
&nbsp;</span></span></span></span></span><br></div><div><span class=3D"high=
light" style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour"=
 style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font-family:Lat=
o"><span class=3D"size" style=3D"font-size:14px">This document provides a s=
pecification of the Virtual Network<span>&nbsp;</span></span></span></span>=
</span><br></div><div><span class=3D"highlight" style=3D"background-color:r=
gb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)"><spa=
n class=3D"font" style=3D"font-family:Lato"><span class=3D"size" style=3D"f=
ont-size:14px">Functions YANG Service Model (VYSM). The VNF YANG Service Mo=
del<span>&nbsp;</span></span></span></span></span><br></div><div><span clas=
s=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span class=
=3D"colour" style=3D"color:rgb(0, 0, 0)"><span class=3D"font" style=3D"font=
-family:Lato"><span class=3D"size" style=3D"font-size:14px">serves as a bas=
e framework for managing an universal Customer-<span>&nbsp;</span></span></=
span></span></span><br></div><div><span class=3D"highlight" style=3D"backgr=
ound-color:rgb(255, 255, 255)"><span class=3D"colour" style=3D"color:rgb(0,=
 0, 0)"><span class=3D"font" style=3D"font-family:Lato"><span class=3D"size=
" style=3D"font-size:14px">Premises Equipment (uCPE) NFV subsystem from the=
 Orchestrator.<span>&nbsp;</span></span></span></span></span><br></div><div=
>&nbsp;<br></div><div>&gt;&gt;<br></div><div>&gt;&gt;# # # : Dmytro Shytyi =
[mailto:<a target=3D"_blank" href=3D"mailto:ietf.dmytro@shytyi.net">ietf.dm=
ytro@shytyi.net</a>]<br></div><div>&gt;&gt;# # # # : 2019# 8# 28#&nbsp; 21:=
46<br></div><div>&gt;&gt;# # # : Robert Varga &lt;<a target=3D"_blank" href=
=3D"mailto:nite@hq.sk">nite@hq.sk</a>&gt;; Qin Wu &lt;<a target=3D"_blank" =
href=3D"mailto:bill.wu@huawei.com">bill.wu@huawei.com</a>&gt;<br></div><div=
>&gt;&gt;# # : netmod &lt;<a target=3D"_blank" href=3D"mailto:netmod@ietf.o=
rg">netmod@ietf.org</a>&gt;<br></div><div>&gt;&gt;# # : Re: [netmod] New Ve=
rsion draft-shytyi-netmod-vysm-02.txt as Working Group document.<br></div><=
div>&gt;&gt;<br></div><div>&gt;&gt;Hello,<br></div><div>&gt;&gt;<br></div><=
div>&gt;&gt;Please find comments inline.<br></div><div>&gt;&gt;&gt;On 27/08=
/2019 18:03, Dmytro Shytyi wrote:<br></div><div>&gt;&gt;&gt;&gt; Dear All,<=
br></div><div>&gt;&gt;&gt;&gt;&nbsp;<br></div><div>&gt;&gt;&gt;&gt; I am on=
e of the authors of ID VYSM and I would like to draw your<br></div><div>&gt=
;&gt;&gt;&gt; attention to the evolution of the<br></div><div>&gt;&gt;&gt;&=
gt; draft&nbsp;<a target=3D"_blank" href=3D"https://www.ietf.org/internet-d=
rafts/draft-shytyi-netmod-vysm-01.txt">https://www.ietf.org/internet-drafts=
/draft-shytyi-netmod-vysm-01.txt</a>.<br></div><div>&gt;&gt;&gt;&gt; Recent=
ly we produced (but did not submitted yet) a new version of ID<br></div><di=
v>&gt;&gt;&gt;&gt; (02) and I beleive it fits the netmod working group.<br>=
</div><div>&gt;&gt;&gt;&gt;&nbsp;<br></div><div>&gt;&gt;&gt;&gt; We would b=
e gratefull if you could suggest if the new version(02) of the<br></div><di=
v>&gt;&gt;&gt;&gt; document&nbsp; could become an official work item of the=
 WG?<br></div><div>&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; If yes, could you =
please indicate which modifications must be done<br></div><div>&gt;&gt;&gt;=
&gt; in the document before submition.<br></div><div>&gt;&gt;&gt;&nbsp;<br>=
</div><div>&gt;&gt;&gt;Hmm, looking over the model, it would seem there is =
quite a bit of<br></div><div>&gt;&gt;&gt;overlap with RFC8345 -- to the poi=
nt I believe the model could be<br></div><div>&gt;&gt;&gt;formulated in ter=
ms of RFC8345 specialization:<br></div><div>&gt;&gt;First of all I would li=
ke to thank you for this comment.&nbsp;<br></div><div>&gt;&gt;-Dmytro<br></=
div><div>&gt;&gt;&gt;virtualization -&gt; networks/network<br></div><div>&g=
t;&gt;&gt;&nbsp;<br></div><div>&gt;&gt;&gt;device/links/interfaces/switches=
/vms are probably a mix of<br></div><div>&gt;&gt;&gt;node/termmination-poin=
t/link extensions with conjunction with<br></div><div>&gt;&gt;&gt;supportin=
g-{topology,node,link}.<br></div><div>&gt;&gt;I can imagine mapping:<br></d=
iv><div>&gt;&gt;virtualization (ID) -&gt; networks/network (RFC 8345)<br></=
div><div>&gt;&gt;links (ID)- &gt;link;(RFC 8345)<br></div><div>&gt;&gt;port=
s (ID)-&gt; termination points;(RFC 8345)<br></div><div>&gt;&gt;But still..=
 it seems here we have to create extension of the model proposed in RFC 834=
5.<br></div><div>&gt;&gt;Precisely for node (RFC 8345) we may add types (sw=
itches, vms) and futer add leafs /listsfor type if required (ex: #RAM,#vCPU=
s and other leafs for VMs)<br></div><div>&gt;&gt;-Dmytro<br></div><div>&gt;=
&gt;&gt;How would the draft relate to RFC8345? Should it perhaps call out i=
t is<br></div><div>&gt;&gt;&gt;a different take on the similar problem, spe=
cialized to a particular<br></div><div>&gt;&gt;&gt;use-case?<br></div><div>=
&gt;&gt;One can suggest that&nbsp; in the RFC8345 Figure 1, the block "serv=
ice Topology model" can include the proposed in the draft network service d=
escriptor with appropriate modification of mapping according to the RFC8345=
.<br></div><div>&gt;&gt;<br></div><div>&gt;&gt;Meanwhile I find that the pr=
oposed solution(ID) try to solve the problem descibed below:<br></div><div>=
&gt;&gt;<br></div><div>&gt;&gt;The uCPE management mechanism may involve no=
t only YANG modules but&nbsp; also the speficif logic written in programmin=
g languages. The proposed organisation of yang model is an attempt to find =
the best fit&nbsp; for combination (YANG modules + specific logic written i=
n python for example )&nbsp; to manage different existing NFVIs in the uCPE=
 (by the orchestrator).<br></div><div>&gt;&gt;<br></div><div>&gt;&gt;In the=
 case of uCPE, the mapping (w/wo additinal logic) of "variables " between s=
ervice yang modules (in the orchestrator) and NETCONF payload(that is sent =
to the uCPE) will be more complex (requires additional transformations in t=
he logic) with generic approach, then the solution presented in the ID, tha=
t is tailored to the uCPE.&nbsp;<br></div><div>&gt;&gt;<br></div><div>&gt;&=
gt;Therefore I find the proposed solution as a stadalone generic approach t=
o manage multiple vendor uCPE that appears to be a particular case tailored=
 for uCPE NFVIs that may be not nesseraly follows RFC8345. I would be pleas=
ed if you could comment this.<br></div><div>&gt;&gt;<br></div><div>&gt;&gt;=
-Dmytro<br></div><div>&gt;&gt;&gt;Regards,<br></div><div>&gt;&gt;&gt;Robert=
 (with RFC8345 co-author hat on)<br></div><div>&gt;&gt;&gt;+1, in addition,=
 I am wondering whether this is something related to overlay topology model=
, if yes, how it is different from DC Fabric topology model defined in RFC8=
542?&nbsp;<br></div><div>&gt;&gt;&gt;-Qin&nbsp;<br></div><div>&gt;&gt;Thank=
 you for your comment. The RFC8542 condisers PODs in the DC network. uCPE i=
s located on the customer site. if we consider that uCPE is A POD (with lin=
ks and nodes like VMs and swithces) then in the RFC8542 describes different=
 PODs in the network that are interconnected with links. The yang model pro=
posed in the ID ifocuses only on the uCPE interiour network service, not th=
e interconnection between the uCPEs. Aslo, I explained the difference about=
 extension neded for type of nodes,vms leafs and furter complexity in the m=
apping logic in the reponce to Robert.<br></div><div>&gt;&gt;-Dmytro<br></d=
iv><div>&gt;&gt;<br></div><div>&gt;&gt;[Qin]:So you focus on interconnectio=
n between local vPE and remote vPE?<br></div><div>&gt;[Dmytro]:<br></div><d=
iv>&gt;Thank you for this question. It seems that the next version of draft=
 should include the explanation of the uCPE interiour network service.<br><=
/div><div>&gt;Example: We can have multiple VMs instantiated in the uCPE (v=
FW,vRouter/vCPE,SD-WAN). With support of links and swithes&nbsp; VMs may cr=
eate a service chains.<br></div><div>&gt;Example of service chains:<br></di=
v><div>&gt;1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN<br></div>=
<div>&gt;2)WAN--SDWAN--vFirewall--LAN<br></div><div>&gt;&gt;It is not clear=
 whether we should distinguish VM from switch. In my understanding, Upon VN=
F is instantiated, there is no difference between virtual and physical worl=
ds.<br></div><div>&gt;[Dmytro]:<br></div><div>&gt;The VM/VNF in the uCPE co=
uld be a vROuter or Vfirewall or an SD-WAN that is not a default part of vi=
rtual network resources of the uCPE (chapter 3 in the ID).<br></div><div>&g=
t;The switch (ex. Open vSwith) in the uCPE is a default part of uCPE networ=
k virtual resources (chapter 3 in the ID).<br></div><div>&gt;Thus we need t=
o distingish swithes and VNFs to not to mix uCPE network virtual resources =
and VNFs.<br></div><div>&gt;Another reason why the destingishing is require=
d: because VM and SW have different device-attributes. SW does not require =
VNFD attributtes.<br></div><div>&gt;If we do not distinguish nodes, and onl=
y extend the grouping "device attributes" for required attributes the switc=
h will have the properties that are&nbsp; unused leafs which represent the =
VM-device-attributes.<br></div><div>&gt;&gt;VNF lifecycle management is sep=
arated from topology construction, wrong?<br></div><div>&gt;[Dmytro]:<br></=
div><div>&gt;a) In case of the NFVIs uCPE the same High Level interface all=
ows to configure both topology construction and VM lifecycle management in =
the same transaction.<br></div><div>&gt;b) We can not activate Network Serv=
ice Descriptor without consituent VM node information. At the moment of NSD=
 activation we already have to set the VM node information such as VM capab=
ilities that can be created (previosly)/(at the moment of configuration of =
NSD) but have to be a part of the network service descriptor at the moment =
of activation.<br></div><div>&gt;[Dmytro]<br></div><div>&gt;The Internet Dr=
aft also defines the term uCPE that is not defined at IETF yet.<br></div><d=
iv>&gt;_______________________________________________<br></div><div>&gt;ne=
tmod mailing list<br></div><div>&gt;<a target=3D"_blank" href=3D"mailto:net=
mod@ietf.org">netmod@ietf.org</a><br></div><div>&gt;<a target=3D"_blank" hr=
ef=3D"https://www.ietf.org/mailman/listinfo/netmod">https://www.ietf.org/ma=
ilman/listinfo/netmod</a><br></div></div><br><div id=3D"Zm-_Id_-Sgn"><div>_=
_____________<br><b>Dmytro SHYTYI</b><br></div></div><br><div class=3D"zmai=
l_extra" style=3D""><br></div><div><br></div></div><br></body></html>
------=_Part_14789_1012258766.1567699379765--




From nobody Thu Sep  5 09:32:30 2019
Return-Path: <auerswal@unix-ag.uni-kl.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D46D120BEB for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 09:32:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.197
X-Spam-Level: 
X-Spam-Status: No, score=-4.197 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 Jl3NM--w8-g1 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 09:32:20 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EB5241209B7 for <netmod@ietf.org>; Thu,  5 Sep 2019 09:32:19 -0700 (PDT)
Received: from sushi.unix-ag.uni-kl.de (sushi.unix-ag.uni-kl.de [IPv6:2001:638:208:ef34:0:ff:fe00:65]) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x85GWHQ9142208 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);  Thu, 5 Sep 2019 18:32:17 +0200
Received: from sushi.unix-ag.uni-kl.de (ip6-localhost [IPv6:::1]) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Debian-4+deb7u1) with ESMTP id x85GWHQr006477 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Thu, 5 Sep 2019 18:32:17 +0200
Received: (from auerswal@localhost) by sushi.unix-ag.uni-kl.de (8.14.4/8.14.4/Submit) id x85GWGte006476; Thu, 5 Sep 2019 18:32:16 +0200
Date: Thu, 5 Sep 2019 18:32:16 +0200
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: kent+ietf@watsen.net, netmod@ietf.org
Message-ID: <20190905163216.GA3497@unix-ag.uni-kl.de>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com> <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz> <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com> <20190905.171730.1203130976409295649.mbj@tail-f.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20190905.171730.1203130976409295649.mbj@tail-f.com>
User-Agent: Mutt/1.5.21 (2010-09-15)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/H6yKKyH_Rsea8qzVGU5RtmZuFtA>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 16:32:30 -0000

Hi Martin,

On Thu, Sep 05, 2019 at 05:17:30PM +0200, Martin Bjorklund wrote:
> Kent Watsen <kent+ietf@watsen.net> wrote:
> > 
> > >> There has been discussion about how embedding YANG models in RFCs seems like a
> > >> poor fit for a number of reasons. By standardizing line-folding mechanisms and
> > >> claiming them as a best practice, this document reinforces the root of that
> > >> problem rather than trying to fix it.
> > > 
> > > Well said, I agree with Alissa's conclusion.
> 
> But the algorithm in the document isn't supposed to be used for YANG
> modules.  It is supposed to be used primarily for XML and JSON
> snippets (etc).

Technically, XML and JSON are whitespace-agnostic and often can be
"folded" manually without any folding indicators.  That seems to be
true for YANG as well.  Even Python code usually can be kept under any
reasonable line length.

Very long names or values could require algorithmic folding, i.e.,
a generic line-folding mechanism.

I personally would try to keep the line length of any code inside an
RFC short enough to not need additional algorithmic folding.  But if
this does not work, e.g., because some name or value is just too long,
having a recommended algorithm seems to be better than every author
making up another ad-hoc folding scheme.

The I-D.ietf-netmod-artwork-folding seems to try to provide a recommended
algorithm for the case where a generic line-folding mechanism is needed.

Overly long lines sometimes result in lost information in HTML or PDF
documents, if a complex layout is used, but no mechanism for dealing with
unexpectedly long lines is included.  I have seen too many examples of
this to believe that this cannot happen with RFCs.

Thanks,
Erik


From nobody Thu Sep  5 09:46:38 2019
Return-Path: <0100016d0251e9df-c5bab8e0-cd5f-4ffa-aa76-f92c5d06ac93-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0C4E41200D7; Thu,  5 Sep 2019 09:46:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level: 
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 tCk_oiRCuSJa; Thu,  5 Sep 2019 09:46:27 -0700 (PDT)
Received: from a8-64.smtp-out.amazonses.com (a8-64.smtp-out.amazonses.com [54.240.8.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 441A912013F; Thu,  5 Sep 2019 09:46:27 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567701986; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=NxooOGa3TktMNFUZW/0SrTLwr20Yubg0oPbY4bsKOlI=; b=COklD4vqzIsLfeDN8w31fxAOBWlH4r3uHqPXBJmiL8QUjrFB2Pe/2GiI4mNyUjhM AVQHGBo3ANzkbe1CxpCYNfOU+qSg+wr4vpiiLiXEglH1+/SI7tYlcQkxMPlrUeJjZ5x idAOS6OEAY+9L0crEqYAwP0YjsnFTRXmSBY2DaRc=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d0251e9df-c5bab8e0-cd5f-4ffa-aa76-f92c5d06ac93-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_588683CC-606A-45A9-95F4-1BC1DB70F812"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 16:46:25 +0000
In-Reply-To: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, "netmod@ietf.org" <netmod@ietf.org>
To: Alissa Cooper <alissa@cooperw.in>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.64
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/k0kvdcig8dgRHVVs07iAKqJ0HxU>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 16:46:30 -0000

--Apple-Mail=_588683CC-606A-45A9-95F4-1BC1DB70F812
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Alissa,

Thank you for your review.  Comments below.

Kent // as co-author


> On Sep 4, 2019, at 2:56 PM, Alissa Cooper via Datatracker =
<noreply@ietf.org> wrote:
>=20
> Alissa Cooper has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Abstain
>=20
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut =
this
> introductory paragraph, however.)
>=20
>=20
> Please refer to =
https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>=20
>=20
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
>=20
>=20
>=20
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>=20
> RFC 7994 is not a product of IETF consensus, so it seems inappropriate =
to
> publish a consensus BCP predicated on requirements defined in RFC 7994 =
which
> themselves do not have IETF consensus. This would be the only document =
related
> to the RFC format in the last 10 years that I'm aware of that would be
> published on the IETF stream.

Agreed.   Should the draft re-run through the IAB stream?


> There has been discussion about how embedding YANG models in RFCs =
seems like a
> poor fit for a number of reasons. By standardizing line-folding =
mechanisms and
> claiming them as a best practice, this document reinforces the root of =
that
> problem rather than trying to fix it.

FWIW, YANG modules are themselves never expected to be folded.  Per =
Section 5.2 of the draft, authors should do as much as possible within =
the YANG format to avoid long lines.  =46rom the NETMOD WG's =
perspective, this draft is primarily targeting the XML and JSON examples =
that should accompany a draft publishing a YANG module.

That said, while I'm aware of the concern, it remains unclear, and how =
to address it more so.  In the meanwhile, there are real and immediate =
issues with the ability to use automation to validate structural content =
in drafts (e.g.,  =
https://tools.ietf.org/html/draft-kwatsen-git-xiax-automation-01#section-6=
 =
<https://tools.ietf.org/html/draft-kwatsen-git-xiax-automation-01#section-=
6>).  This is not just a YANG issue, it is an issue that spans the IETF, =
and a solution for it might be considered best practice.

Regarding the BCP attribution, I don't have a preference.  Actually, I =
think it was the WG that pushed for it.  I only think the IETF should =
label it right, re-running it thru IAB stream if need be.   As I see it, =
the "best practice" is that draft authors SHOULD stitch pre-folded =
inclusions so as to enable automated verification.  The format itself is =
not best practice.  That said, a better solution would be for IETF to 1) =
only support XML-based uploads and 2) have Datatracker auto-fold =
inclusions as needed for plain-text and PDF outputs (note that folding =
is NOT needed, or desired, for HTML output).

Kent // as co-author







--Apple-Mail=_588683CC-606A-45A9-95F4-1BC1DB70F812
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Alissa,<div class=3D""><br class=3D""></div><div class=3D"">Thank you =
for your review. &nbsp;Comments below.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Kent // as co-author</div><div =
class=3D""><br class=3D""></div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On Sep 4, 2019, at 2:56 PM, =
Alissa Cooper via Datatracker &lt;<a href=3D"mailto:noreply@ietf.org" =
class=3D"">noreply@ietf.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">Alissa=
 Cooper has entered the following ballot position for<br =
class=3D"">draft-ietf-netmod-artwork-folding-09: Abstain<br class=3D""><br=
 class=3D"">When responding, please keep the subject line intact and =
reply to all<br class=3D"">email addresses included in the To and CC =
lines. (Feel free to cut this<br class=3D"">introductory paragraph, =
however.)<br class=3D""><br class=3D""><br class=3D"">Please refer to <a =
href=3D"https://www.ietf.org/iesg/statement/discuss-criteria.html" =
class=3D"">https://www.ietf.org/iesg/statement/discuss-criteria.html</a><b=
r class=3D"">for more information about IESG DISCUSS and COMMENT =
positions.<br class=3D""><br class=3D""><br class=3D"">The document, =
along with other ballot positions, can be found here:<br class=3D""><a =
href=3D"https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding=
/" =
class=3D"">https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-fold=
ing/</a><br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">COMMENT:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">RFC 7994 is not a product of IETF =
consensus, so it seems inappropriate to<br class=3D"">publish a =
consensus BCP predicated on requirements defined in RFC 7994 which<br =
class=3D"">themselves do not have IETF consensus. This would be the only =
document related<br class=3D"">to the RFC format in the last 10 years =
that I'm aware of that would be<br class=3D"">published on the IETF =
stream.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Agreed. &nbsp; Should the draft re-run through the =
IAB stream?</div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"">There has been =
discussion about how embedding YANG models in RFCs seems like a<br =
class=3D"">poor fit for a number of reasons. By standardizing =
line-folding mechanisms and<br class=3D"">claiming them as a best =
practice, this document reinforces the root of that<br class=3D"">problem =
rather than trying to fix it.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>FWIW, =
YANG modules are themselves never expected to be folded. &nbsp;Per =
Section 5.2 of the draft, authors should do as much as possible within =
the YANG format to avoid long lines. &nbsp;=46rom the NETMOD WG's =
perspective, this draft is primarily targeting the XML and JSON examples =
that should accompany a draft publishing a YANG module.</div><div><br =
class=3D""></div><div>That said, while I'm aware of the concern, it =
remains unclear, and how to address it more so. &nbsp;In the meanwhile, =
there are real and immediate issues with the ability to use automation =
to validate structural content in drafts (e.g., &nbsp;<a =
href=3D"https://tools.ietf.org/html/draft-kwatsen-git-xiax-automation-01#s=
ection-6" =
class=3D"">https://tools.ietf.org/html/draft-kwatsen-git-xiax-automation-0=
1#section-6</a>). &nbsp;This is not just a YANG issue, it is an issue =
that spans the IETF, and a solution for it might be considered best =
practice.</div><div><br class=3D""></div><div>Regarding the BCP =
attribution, I don't have a preference. &nbsp;Actually, I think it was =
the WG that pushed for it. &nbsp;I only think the IETF should label it =
right, re-running it thru IAB stream if need be. &nbsp; As I see it, the =
"best practice" is that draft authors SHOULD stitch pre-folded =
inclusions so as to enable automated verification. &nbsp;The format =
itself is not best practice. &nbsp;That said, a better solution would be =
for IETF to 1) only support XML-based uploads and 2) have Datatracker =
auto-fold inclusions as needed for plain-text and PDF outputs (note that =
folding is NOT needed, or desired, for HTML output).</div><div><br =
class=3D""></div><div>Kent // as co-author</div><div><br =
class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div><div><br class=3D""></div></div></body></html>=

--Apple-Mail=_588683CC-606A-45A9-95F4-1BC1DB70F812--


From nobody Thu Sep  5 10:08:14 2019
Return-Path: <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1DE09120928; Thu,  5 Sep 2019 10:08:06 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level: 
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 ZTgErOR5HFwL; Thu,  5 Sep 2019 10:08:03 -0700 (PDT)
Received: from a8-33.smtp-out.amazonses.com (a8-33.smtp-out.amazonses.com [54.240.8.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 4F7B912091B; Thu,  5 Sep 2019 10:08:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567703281; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=yGhu0v78CrDvwiQ1T1vVfFC8p87SUO95vngqHxOGiyA=; b=O6Ly802Dqrlydi5kp2a7pnV3u/LTr/4kOZi9QfEei+Gayh3uqjnfTTOiDJrt6s1K W9eYg1OULIrBb2eBbsW2vedegHWEfUpf2s9RCCyoFn2zIVX4jy7WPcQ3v+2RFAEMaE/ ZT65OX7krOfp8NAq3+vmtNvM7BwmL7YDdKz9HIZ4=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_045D2108-C80A-460B-8C8F-125AFD967AF5"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 17:08:01 +0000
In-Reply-To: <156769446677.22608.7381486936621146842.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
To: Suresh Krishnan <suresh@kaloom.com>
References: <156769446677.22608.7381486936621146842.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.33
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/3rPDbLttV2-SsqBl3fBDht06k5g>
Subject: Re: [netmod] Suresh Krishnan's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 17:08:07 -0000

--Apple-Mail=_045D2108-C80A-460B-8C8F-125AFD967AF5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Suresh,

Thank you for your review.  Comments below.

Kent // as co-author


> On Sep 5, 2019, at 10:41 AM, Suresh Krishnan via Datatracker =
<noreply@ietf.org> wrote:
>=20
> Suresh Krishnan has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Discuss
>=20
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut =
this
> introductory paragraph, however.)
>=20
>=20
> Please refer to =
https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>=20
>=20
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
>=20
>=20
>=20
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>=20
> After some thought I think there are two things about this document =
that make
> me uncomfortable enough to ballot Discuss.
>=20
> a) Due to its home in the netmod WG it is highly likely that people =
outside the
> yang community have not paid enough attention to this work. Since this =
is
> applicable to code fragments of all kinds, I think the home chosen for =
this RFC
> might have inadvertently limited input from the broader community.

Agreed.  The original I-D was targeted for IAB stream.  It wasn't going =
to be presented in NETMOD, but did (by coercion).  During the =
presentation I mentioned that its applicability was more than NETMOD and =
that it should go thru IAB, just like the "xml2rfc" RFCs (7749 and =
7991).  The working group felt that it should stay in the WG and hence =
here we are.  :sigh:


> b) Given a) I think it is better that this document go forward as an
> Informational document rather than a BCP so that use of this technique =
becomes
> optional, without the force of a BCP behind it.

I'm okay with this, modulo my comment to Alissa.   Actually, if we only =
view the RFC as specifying a format then, in my mind, it doesn't =
actually contain the "best practice".  FWIW, SHOULD appears only once, =
in a sentence stating that folding SHOULD be automated, in a section =
titled "Goals".  That said, if not a BCP, then how to encourage people =
to use it, so that automation works?  For this reason alone, it seems =
that either the draft should be a BCP or Datatracker is updated to =
auto-fold as needed.  Perhaps  the right answer is to do Informational =
now and hope that Datatracker is updated in time?



> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>=20
> I do agree with my Abstaining colleagues that this should probably not =
be on
> the IETF stream but I think the work is useful enough to go forward.

It should've been on the IAB stream.  Whether it should go forward, =
after having the BCP attribute removed, or re-run via the IAB stream is =
up to the IESG.


Kent // as co-author



--Apple-Mail=_045D2108-C80A-460B-8C8F-125AFD967AF5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Suresh,<div class=3D""><br class=3D""></div><div class=3D"">Thank you =
for your review. &nbsp;Comments below.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Kent // as co-author</div><div =
class=3D""><br class=3D""><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On Sep 5, 2019, at 10:41 AM, Suresh Krishnan =
via Datatracker &lt;<a href=3D"mailto:noreply@ietf.org" =
class=3D"">noreply@ietf.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">Suresh=
 Krishnan has entered the following ballot position for<br =
class=3D"">draft-ietf-netmod-artwork-folding-09: Discuss<br class=3D""><br=
 class=3D"">When responding, please keep the subject line intact and =
reply to all<br class=3D"">email addresses included in the To and CC =
lines. (Feel free to cut this<br class=3D"">introductory paragraph, =
however.)<br class=3D""><br class=3D""><br class=3D"">Please refer to <a =
href=3D"https://www.ietf.org/iesg/statement/discuss-criteria.html" =
class=3D"">https://www.ietf.org/iesg/statement/discuss-criteria.html</a><b=
r class=3D"">for more information about IESG DISCUSS and COMMENT =
positions.<br class=3D""><br class=3D""><br class=3D"">The document, =
along with other ballot positions, can be found here:<br class=3D""><a =
href=3D"https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding=
/" =
class=3D"">https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-fold=
ing/</a><br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">DISCUSS:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">After some thought I think there =
are two things about this document that make<br class=3D"">me =
uncomfortable enough to ballot Discuss.<br class=3D""><br class=3D"">a) =
Due to its home in the netmod WG it is highly likely that people outside =
the<br class=3D"">yang community have not paid enough attention to this =
work. Since this is<br class=3D"">applicable to code fragments of all =
kinds, I think the home chosen for this RFC<br class=3D"">might have =
inadvertently limited input from the broader community.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Agreed.=
 &nbsp;The original I-D was targeted for IAB stream. &nbsp;It wasn't =
going to be presented in NETMOD, but did (by coercion). &nbsp;During the =
presentation I mentioned that its applicability was more than NETMOD and =
that it should go thru IAB, just like the "xml2rfc" RFCs (7749 and =
7991). &nbsp;The working group felt that it should stay in the WG and =
hence here we are. &nbsp;:sigh:</div><div><br class=3D""></div><div><br =
class=3D""></div><blockquote type=3D"cite" class=3D""><div class=3D""><div=
 class=3D"">b) Given a) I think it is better that this document go =
forward as an<br class=3D"">Informational document rather than a BCP so =
that use of this technique becomes<br class=3D"">optional, without the =
force of a BCP behind it.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>I'm okay with this, modulo my comment to Alissa. =
&nbsp; Actually, if we only view the RFC as specifying a format then, in =
my mind, it doesn't actually contain the "best practice". &nbsp;FWIW, =
SHOULD appears only once, in a sentence stating that folding SHOULD be =
automated, in a section titled "Goals". &nbsp;That said, if not a BCP, =
then how to encourage people to use it, so that automation works? =
&nbsp;For this reason alone, it seems that either the draft should be a =
BCP or Datatracker is updated to auto-fold as needed. &nbsp;Perhaps =
&nbsp;the right answer is to do Informational now and hope that =
Datatracker is updated in time?</div><div><br class=3D""></div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">COMMENT:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">I do agree with my Abstaining =
colleagues that this should probably not be on<br class=3D"">the IETF =
stream but I think the work is useful enough to go forward.<br =
class=3D""></div></div></blockquote><br class=3D""></div><div>It =
should've been on the IAB stream. &nbsp;Whether it should go forward, =
after having the BCP attribute removed, or re-run via the IAB stream is =
up to the IESG.</div><div><br class=3D""></div><div><br =
class=3D""></div></div><div><div class=3D"">Kent // as =
co-author</div><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div></div></body></html>=

--Apple-Mail=_045D2108-C80A-460B-8C8F-125AFD967AF5--


From nobody Thu Sep  5 11:27:18 2019
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 378E3120119 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 11:27:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level: 
X-Spam-Status: No, score=-1.997 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 WD-76IiuAY_7 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 11:27:13 -0700 (PDT)
Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 645C01200F3 for <netmod@ietf.org>; Thu,  5 Sep 2019 11:27:13 -0700 (PDT)
Received: by mail-pg1-x542.google.com with SMTP id n190so1890028pgn.0 for <netmod@ietf.org>; Thu, 05 Sep 2019 11:27:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=UdQoZxROcHZYjfMOlwtFHYft7J7mu9aelPRiMV5fNcw=; b=iky+arYJHXZFckOunGzt7TIpVRbR4yqyXf9XGjvWLR8ddaoqqRKXNeEh1JlpgQslIV Zo8M6iqkicJ2WkAHs5vjb72kYFxKfxdZf2yjosXjGE0KcsVKHwD+53T9YO06X/NwHvph ojfmwlS7bRtc6wKT2HhDfHRRycLz9N0TmznZLYvYzF7wgvymISGbsoqD82L2t4poVCEC q/ETbQ2AzMWwqn3WGHxch+TEw/trZpEMxHFy9bjvL9y99gsw9ueGnfuwn4FH2rx83OSp rn0NAPZTHehPaZvUFyPqeaK7pkuXlIXw9S7XGJt3jhEg4D6uIBII97Z5AswAo5gSJAhv c4PA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=UdQoZxROcHZYjfMOlwtFHYft7J7mu9aelPRiMV5fNcw=; b=r6GJmYn1WOeaMii+LrC7UM7ke8dxBqTjW6OqtiijnIjA4awZKyeWt7XZFVamfthKBD 4vcg+g/YkXEhfiwzKKw1g5HUUZr0Vm/FsGz2Gsl5VF1zI8tQgTHCe+FcNWKKJXP03Eoe GkWbHkd57ediWFJnFiY1gZE0vymsMfn0mqYf3uVKb+52p+N7SRoLmK3X39obcaBIaLVs G+tgqaxYd8RYbPQz2suWJk8hOs1lFJbUzOtX1+MZc2yPFhP/e7PO3S6H15zV86RixOaf Q5+T24loyPCSMyINV8iLmcdU26IyuCO2lW72hnmz+iSDzE2xzO0lVR4+0xcF93XrXwcR PkTQ==
X-Gm-Message-State: APjAAAVFopj4+FSQz8M4sEjjD4DXnrat1mbZWZE5p6kViiMyvWQDIA9t E0pT8c1Q8u/oDuRhoZcxP0Y=
X-Google-Smtp-Source: APXvYqySUFSd8IpE/Exb+koNw2V2UW9ar4IAWQka8QsAMCNQgGG6Mn7h/h8t5mWsWfGcIYyU/5/WpA==
X-Received: by 2002:a65:640a:: with SMTP id a10mr4374897pgv.338.1567708032645;  Thu, 05 Sep 2019 11:27:12 -0700 (PDT)
Received: from [10.33.122.240] ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id e129sm2757877pfa.92.2019.09.05.11.27.11 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Sep 2019 11:27:12 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_309C4C25-54BF-49EB-ABBC-63521627BB2A"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
X-Priority: Medium
In-Reply-To: <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net>
Date: Thu, 5 Sep 2019 11:27:10 -0700
Cc: Robert Varga <nite@hq.sk>, billwu <bill.wu@huawei.com>, netmod <netmod@ietf.org>, Diego Lopez <diego.r.lopez@telefonica.com>
Message-Id: <DD368137-2977-4039-9C3E-F5127EBB0864@gmail.com>
References: <155377227553.1573.8548464832229347361.idtracker@ietfa.amsl.com> <16caabd07ae.de4789c8151923.6368018099125205208@shytyi.net> <16cba30dec2.b91b31ed256364.8160264793634017255@shytyi.net> <16cd3d19305.11aec1852361697.7576623717058940792@shytyi.net> <5219ac80-b607-b4b4-8c77-72950d4c5137@hq.sk> <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net> <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net>
To: Dmytro Shytyi <ietf.dmytro@shytyi.net>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/7qiQkL5hSQfJ6rnNl7Z8_UJS1ok>
Subject: Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group document.
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 18:27:17 -0000

--Apple-Mail=_309C4C25-54BF-49EB-ABBC-63521627BB2A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

I find the representation of a service model in this draft for a uCPE as =
too simple. In reality, on a uCPE, you could be running a Network =
Service (NS), which is composed of multiple VNFs interconnected =
together. This service model does not address such a configuration. =
Besides, how is the configuration of a uCPE device for a VNF different =
from configuration of a VNF in a provider Network Function =
Virtualization Infrastructure (NFVI) like OpenStack or VMware VIO? And =
would you not need to enable the service on the provider side to make =
the services running on the uCPE functional?

There is significant amount of work that has been done in ETSI on the =
configuration and management of VNF and NS. Authors should spend some =
time going through the specifications specified by ETSI to make sure =
they are not re-specifying work that has been done there, and instead =
see how they could augment the work that has already been defined.

Authors can start by going through IFA010 =
<https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-I=
FA%20010v3.1.1%20-%20GS%20-%20MANO%20Functional%20Rqmts%20Spec.pdf>,  =
IFA011 =
<https://docbox.etsi.org/ISG/NFV/open/Publications_pdf/Specs-Reports/NFV-I=
FA%20011v3.1.1%20-%20GS%20-%20VNF%20Packaging%20Spec.pdf>, IFA014 =
<https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/031/03.01.01_60/gs_n=
fv-ifa031v030101p.pdf>, and its YANG specification in SOL006 =
<https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/006/02.06.01_60/gs_n=
fv-sol006v020601p.pdf>.

Cheers.

> On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi <ietf.dmytro@shytyi.net> =
wrote:
>=20
> Dear All,
>=20
> Please find the updated version of the VYSM Internet Draft(v0.2).
> The new version of draft introduces an extension of the yang model =
defined in previous version. =46rom now the VYSM supports (0day =
configuration)/(bootstrap) of the VNFs hosted in the uCPE.
> With 0day configuration in the uCPE we can setup minimal required =
configuration of vRouter (such as ip address, hostname,etc..), SD-WAN =
(address of the SD-WAN manager, dhcp activation, etc..), etc..
>=20
>=20
> Details:
> A new version of I-D, draft-shytyi-netmod-vysm-02.txt=20
> has been successfully submitted by Dmytro Shytyi and posted to the=20
> IETF repository.=20
>=20
> Name:        draft-shytyi-netmod-vysm=20
> Revision:    02=20
> Title:        Virtualization YANG Servise Model (VYSM)=20
> Document date:    2019-09-04=20
> Group:        Individual Submission=20
> Pages:        10=20
> URL: =
https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt =
<https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt>=20=

> Status: https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/ =
<https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/>=20
> Htmlized: https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02 =
<https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02>=20
> Htmlized: =
https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm =
<https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm>=20
> Diff: https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02 =
<https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02>=20
>=20
> Abstract:=20
> This document provides a specification of the Virtual Network=20
> Functions YANG Service Model (VYSM). The VNF YANG Service Model=20
> serves as a base framework for managing an universal Customer-=20
> Premises Equipment (uCPE) NFV subsystem from the Orchestrator.=20
> =20
> >>
> >># # # : Dmytro Shytyi [mailto:ietf.dmytro@shytyi.net =
<mailto:ietf.dmytro@shytyi.net>]
> >># # # # : 2019# 8# 28#  21:46
> >># # # : Robert Varga <nite@hq.sk <mailto:nite@hq.sk>>; Qin Wu =
<bill.wu@huawei.com <mailto:bill.wu@huawei.com>>
> >># # : netmod <netmod@ietf.org <mailto:netmod@ietf.org>>
> >># # : Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as =
Working Group document.
> >>
> >>Hello,
> >>
> >>Please find comments inline.
> >>>On 27/08/2019 18:03, Dmytro Shytyi wrote:
> >>>> Dear All,
> >>>>=20
> >>>> I am one of the authors of ID VYSM and I would like to draw your
> >>>> attention to the evolution of the
> >>>> draft =
https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.txt =
<https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.txt>.
> >>>> Recently we produced (but did not submitted yet) a new version of =
ID
> >>>> (02) and I beleive it fits the netmod working group.
> >>>>=20
> >>>> We would be gratefull if you could suggest if the new version(02) =
of the
> >>>> document  could become an official work item of the WG?
> >>>>       If yes, could you please indicate which modifications must =
be done
> >>>> in the document before submition.
> >>>=20
> >>>Hmm, looking over the model, it would seem there is quite a bit of
> >>>overlap with RFC8345 -- to the point I believe the model could be
> >>>formulated in terms of RFC8345 specialization:
> >>First of all I would like to thank you for this comment.=20
> >>-Dmytro
> >>>virtualization -> networks/network
> >>>=20
> >>>device/links/interfaces/switches/vms are probably a mix of
> >>>node/termmination-point/link extensions with conjunction with
> >>>supporting-{topology,node,link}.
> >>I can imagine mapping:
> >>virtualization (ID) -> networks/network (RFC 8345)
> >>links (ID)- >link;(RFC 8345)
> >>ports (ID)-> termination points;(RFC 8345)
> >>But still.. it seems here we have to create extension of the model =
proposed in RFC 8345.
> >>Precisely for node (RFC 8345) we may add types (switches, vms) and =
futer add leafs /listsfor type if required (ex: #RAM,#vCPUs and other =
leafs for VMs)
> >>-Dmytro
> >>>How would the draft relate to RFC8345? Should it perhaps call out =
it is
> >>>a different take on the similar problem, specialized to a =
particular
> >>>use-case?
> >>One can suggest that  in the RFC8345 Figure 1, the block "service =
Topology model" can include the proposed in the draft network service =
descriptor with appropriate modification of mapping according to the =
RFC8345..
> >>
> >>Meanwhile I find that the proposed solution(ID) try to solve the =
problem descibed below:
> >>
> >>The uCPE management mechanism may involve not only YANG modules but  =
also the speficif logic written in programming languages. The proposed =
organisation of yang model is an attempt to find the best fit  for =
combination (YANG modules + specific logic written in python for example =
)  to manage different existing NFVIs in the uCPE (by the orchestrator).
> >>
> >>In the case of uCPE, the mapping (w/wo additinal logic) of =
"variables " between service yang modules (in the orchestrator) and =
NETCONF payload(that is sent to the uCPE) will be more complex (requires =
additional transformations in the logic) with generic approach, then the =
solution presented in the ID, that is tailored to the uCPE.=20
> >>
> >>Therefore I find the proposed solution as a stadalone generic =
approach to manage multiple vendor uCPE that appears to be a particular =
case tailored for uCPE NFVIs that may be not nesseraly follows RFC8345. =
I would be pleased if you could comment this.
> >>
> >>-Dmytro
> >>>Regards,
> >>>Robert (with RFC8345 co-author hat on)
> >>>+1, in addition, I am wondering whether this is something related =
to overlay topology model, if yes, how it is different from DC Fabric =
topology model defined in RFC8542?=20
> >>>-Qin=20
> >>Thank you for your comment. The RFC8542 condisers PODs in the DC =
network. uCPE is located on the customer site. if we consider that uCPE =
is A POD (with links and nodes like VMs and swithces) then in the =
RFC8542 describes different PODs in the network that are interconnected =
with links. The yang model proposed in the ID ifocuses only on the uCPE =
interiour network service, not the interconnection between the uCPEs. =
Aslo, I explained the difference about extension neded for type of =
nodes,vms leafs and furter complexity in the mapping logic in the =
reponce to Robert.
> >>-Dmytro
> >>
> >>[Qin]:So you focus on interconnection between local vPE and remote =
vPE?
> >[Dmytro]:
> >Thank you for this question. It seems that the next version of draft =
should include the explanation of the uCPE interiour network service.
> >Example: We can have multiple VMs instantiated in the uCPE =
(vFW,vRouter/vCPE,SD-WAN). With support of links and swithes  VMs may =
create a service chains.
> >Example of service chains:
> >1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN
> >2)WAN--SDWAN--vFirewall--LAN
> >>It is not clear whether we should distinguish VM from switch. In my =
understanding, Upon VNF is instantiated, there is no difference between =
virtual and physical worlds.
> >[Dmytro]:
> >The VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN =
that is not a default part of virtual network resources of the uCPE =
(chapter 3 in the ID).
> >The switch (ex. Open vSwith) in the uCPE is a default part of uCPE =
network virtual resources (chapter 3 in the ID).
> >Thus we need to distingish swithes and VNFs to not to mix uCPE =
network virtual resources and VNFs.
> >Another reason why the destingishing is required: because VM and SW =
have different device-attributes. SW does not require VNFD attributtes.
> >If we do not distinguish nodes, and only extend the grouping "device =
attributes" for required attributes the switch will have the properties =
that are  unused leafs which represent the VM-device-attributes.
> >>VNF lifecycle management is separated from topology construction, =
wrong?
> >[Dmytro]:
> >a) In case of the NFVIs uCPE the same High Level interface allows to =
configure both topology construction and VM lifecycle management in the =
same transaction.
> >b) We can not activate Network Service Descriptor without consituent =
VM node information. At the moment of NSD activation we already have to =
set the VM node information such as VM capabilities that can be created =
(previosly)/(at the moment of configuration of NSD) but have to be a =
part of the network service descriptor at the moment of activation.
> >[Dmytro]
> >The Internet Draft also defines the term uCPE that is not defined at =
IETF yet.
> >_______________________________________________
> >netmod mailing list
> >netmod@ietf.org <mailto:netmod@ietf.org>
> >https://www.ietf.org/mailman/listinfo/netmod =
<https://www.ietf.org/mailman/listinfo/netmod>
>=20
> ______________
> Dmytro SHYTYI
>=20
>=20
>=20
>=20
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

Mahesh Jethanandani
mjethanandani@gmail.com




--Apple-Mail=_309C4C25-54BF-49EB-ABBC-63521627BB2A
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">I =
find the representation of a service model in this draft for a uCPE as =
too simple. In reality, on a uCPE, you could be running a Network =
Service (NS), which is composed of multiple VNFs interconnected =
together. This service model does not address such a configuration. =
Besides, how is the configuration of a uCPE device for a VNF different =
from configuration of a VNF in a provider Network Function =
Virtualization Infrastructure (NFVI) like OpenStack or VMware VIO? And =
would you not need to enable the service on the provider side to make =
the services running on the uCPE functional?<div class=3D""><br =
class=3D""></div><div class=3D"">There is significant amount of work =
that has been done in ETSI on the configuration and management of VNF =
and NS. Authors should spend some time going through the specifications =
specified by ETSI to make sure they are not re-specifying work that has =
been done there, and instead see how they could augment the work that =
has already been defined.<div class=3D""><br class=3D""></div><div =
class=3D"">Authors can start by going through&nbsp;<a =
href=3D"https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Report=
s/NFV-IFA%20010v3.1.1%20-%20GS%20-%20MANO%20Functional%20Rqmts%20Spec.pdf"=
 class=3D"">IFA010</a>, &nbsp;<a =
href=3D"https://docbox.etsi.org/ISG/NFV/open/Publications_pdf/Specs-Report=
s/NFV-IFA%20011v3.1.1%20-%20GS%20-%20VNF%20Packaging%20Spec.pdf" =
class=3D"">IFA011</a>,&nbsp;<a =
href=3D"https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/031/03.01.01_=
60/gs_nfv-ifa031v030101p.pdf" class=3D"">IFA014</a>, and its YANG =
specification in&nbsp;<a =
href=3D"https://www.etsi.org/deliver/etsi_gs/NFV-SOL/001_099/006/02.06.01_=
60/gs_nfv-sol006v020601p.pdf" class=3D"">SOL006</a>.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Cheers.<br =
class=3D""><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D"">On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi &lt;<a =
href=3D"mailto:ietf.dmytro@shytyi.net" =
class=3D"">ietf.dmytro@shytyi.net</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><meta =
content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type" =
class=3D""><div class=3D""><div style=3D"font-family: Verdana, Arial, =
Helvetica, sans-serif; font-size: 10pt;" class=3D""><div class=3D""><div =
class=3D"">Dear All,<br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D"">Please find the updated version of the =
VYSM Internet Draft(v0.2).<br class=3D""></div><div class=3D"">The new =
version of draft introduces an extension of the yang model defined in =
previous version. =46rom now the VYSM supports (0day =
configuration)/(bootstrap) of the VNFs hosted in the uCPE.<br =
class=3D""></div><div class=3D"">With 0day configuration in the uCPE we =
can setup minimal required configuration of vRouter (such as ip address, =
hostname,etc..), SD-WAN (address of the SD-WAN manager, dhcp activation, =
etc..), etc..<br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D"">Details:<br class=3D""></div><div class=3D""><span =
class=3D"highlight" style=3D"background-color:rgb(255, 255, 255)"><span =
class=3D"colour" style=3D""><span class=3D"font" =
style=3D"font-family:Lato"><span class=3D"size" style=3D"font-size:14px">A=
 new version of I-D, draft-shytyi-netmod-vysm-02.txt<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">has been successfully submitted =
by Dmytro Shytyi and posted to the<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">IETF repository.<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D""><span class=3D"highlight" style=3D"background-color:rgb(255, =
255, 255)"><span class=3D"colour" style=3D""><span class=3D"font" =
style=3D"font-family:Lato"><span class=3D"size" =
style=3D"font-size:14px">Name:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;draft-shytyi-netmod-vysm<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" =
style=3D"font-size:14px">Revision:&nbsp;&nbsp;&nbsp;&nbsp;02<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" =
style=3D"font-size:14px">Title:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;Virtualization YANG Servise Model (VYSM)<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Document =
date:&nbsp;&nbsp;&nbsp;&nbsp;2019-09-04<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" =
style=3D"font-size:14px">Group:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;Individual Submission<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" =
style=3D"font-size:14px">Pages:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;10<span class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">URL: <a target=3D"_blank" =
href=3D"https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.t=
xt" =
class=3D"">https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-0=
2.txt</a><span class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Status: <a target=3D"_blank" =
href=3D"https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/" =
class=3D"">https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/</a><=
span class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Htmlized: <a target=3D"_blank" =
href=3D"https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02" =
class=3D"">https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02</a><spa=
n class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Htmlized: <a target=3D"_blank" =
href=3D"https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm" =
class=3D"">https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm<=
/a><span class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Diff: <a target=3D"_blank" =
href=3D"https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02" =
class=3D"">https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02=
</a><span class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D""><span class=3D"highlight" style=3D"background-color:rgb(255, =
255, 255)"><span class=3D"colour" style=3D""><span class=3D"font" =
style=3D"font-family:Lato"><span class=3D"size" =
style=3D"font-size:14px">Abstract:<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">This document provides a =
specification of the Virtual Network<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Functions YANG Service Model =
(VYSM). The VNF YANG Service Model<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">serves as a base framework for =
managing an universal Customer-<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D""><span class=3D"highlight" =
style=3D"background-color:rgb(255, 255, 255)"><span class=3D"colour" =
style=3D""><span class=3D"font" style=3D"font-family:Lato"><span =
class=3D"size" style=3D"font-size:14px">Premises Equipment (uCPE) NFV =
subsystem from the Orchestrator.<span =
class=3D"">&nbsp;</span></span></span></span></span><br =
class=3D""></div><div class=3D"">&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;# # # : =
Dmytro Shytyi [mailto:<a target=3D"_blank" =
href=3D"mailto:ietf.dmytro@shytyi.net" =
class=3D"">ietf.dmytro@shytyi.net</a>]<br class=3D""></div><div =
class=3D"">&gt;&gt;# # # # : 2019# 8# 28#&nbsp; 21:46<br =
class=3D""></div><div class=3D"">&gt;&gt;# # # : Robert Varga &lt;<a =
target=3D"_blank" href=3D"mailto:nite@hq.sk" =
class=3D"">nite@hq.sk</a>&gt;; Qin Wu &lt;<a target=3D"_blank" =
href=3D"mailto:bill.wu@huawei.com" =
class=3D"">bill.wu@huawei.com</a>&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;# # : netmod &lt;<a target=3D"_blank" =
href=3D"mailto:netmod@ietf.org" class=3D"">netmod@ietf.org</a>&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;# # : Re: [netmod] New Version =
draft-shytyi-netmod-vysm-02.txt as Working Group document.<br =
class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;Hello,<br class=3D""></div><div class=3D"">&gt;&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;Please find comments inline.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;On 27/08/2019 18:03, Dmytro =
Shytyi wrote:<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; Dear =
All,<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&nbsp;<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; I am one of the =
authors of ID VYSM and I would like to draw your<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt; attention to the evolution of the<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; draft&nbsp;<a =
target=3D"_blank" =
href=3D"https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.t=
xt" =
class=3D"">https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-0=
1.txt</a>.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; Recently =
we produced (but did not submitted yet) a new version of ID<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; (02) and I beleive it =
fits the netmod working group.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt; We would be gratefull if you could suggest =
if the new version(02) of the<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt; document&nbsp; could become an official work =
item of the WG?<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt; =
&nbsp; &nbsp; &nbsp; If yes, could you please indicate which =
modifications must be done<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt; in the document before submition.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&nbsp;<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;Hmm, looking over the =
model, it would seem there is quite a bit of<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;overlap with RFC8345 -- to the point I believe =
the model could be<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;formulated in terms of RFC8345 specialization:<br =
class=3D""></div><div class=3D"">&gt;&gt;First of all I would like to =
thank you for this comment.&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;-Dmytro<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;virtualization -&gt; networks/network<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&nbsp;<br =
class=3D""></div><div =
class=3D"">&gt;&gt;&gt;device/links/interfaces/switches/vms are probably =
a mix of<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;node/termmination-point/link extensions with =
conjunction with<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;supporting-{topology,node,link}.<br =
class=3D""></div><div class=3D"">&gt;&gt;I can imagine mapping:<br =
class=3D""></div><div class=3D"">&gt;&gt;virtualization (ID) -&gt; =
networks/network (RFC 8345)<br class=3D""></div><div =
class=3D"">&gt;&gt;links (ID)- &gt;link;(RFC 8345)<br =
class=3D""></div><div class=3D"">&gt;&gt;ports (ID)-&gt; termination =
points;(RFC 8345)<br class=3D""></div><div class=3D"">&gt;&gt;But =
still.. it seems here we have to create extension of the model proposed =
in RFC 8345.<br class=3D""></div><div class=3D"">&gt;&gt;Precisely for =
node (RFC 8345) we may add types (switches, vms) and futer add leafs =
/listsfor type if required (ex: #RAM,#vCPUs and other leafs for VMs)<br =
class=3D""></div><div class=3D"">&gt;&gt;-Dmytro<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;How would the draft relate to RFC8345? Should it =
perhaps call out it is<br class=3D""></div><div class=3D"">&gt;&gt;&gt;a =
different take on the similar problem, specialized to a particular<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;use-case?<br =
class=3D""></div><div class=3D"">&gt;&gt;One can suggest that&nbsp; in =
the RFC8345 Figure 1, the block "service Topology model" can include the =
proposed in the draft network service descriptor with appropriate =
modification of mapping according to the RFC8345..<br =
class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;Meanwhile I find that the proposed solution(ID) try =
to solve the problem descibed below:<br class=3D""></div><div =
class=3D"">&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;The uCPE =
management mechanism may involve not only YANG modules but&nbsp; also =
the speficif logic written in programming languages. The proposed =
organisation of yang model is an attempt to find the best fit&nbsp; for =
combination (YANG modules + specific logic written in python for example =
)&nbsp; to manage different existing NFVIs in the uCPE (by the =
orchestrator).<br class=3D""></div><div class=3D"">&gt;&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;In the case of uCPE, the =
mapping (w/wo additinal logic) of "variables " between service yang =
modules (in the orchestrator) and NETCONF payload(that is sent to the =
uCPE) will be more complex (requires additional transformations in the =
logic) with generic approach, then the solution presented in the ID, =
that is tailored to the uCPE.&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;Therefore =
I find the proposed solution as a stadalone generic approach to manage =
multiple vendor uCPE that appears to be a particular case tailored for =
uCPE NFVIs that may be not nesseraly follows RFC8345. I would be pleased =
if you could comment this.<br class=3D""></div><div class=3D"">&gt;&gt;<br=
 class=3D""></div><div class=3D"">&gt;&gt;-Dmytro<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;Regards,<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;Robert (with RFC8345 co-author hat on)<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;+1, in addition, I am =
wondering whether this is something related to overlay topology model, =
if yes, how it is different from DC Fabric topology model defined in =
RFC8542?&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;-Qin&nbsp;<br class=3D""></div><div =
class=3D"">&gt;&gt;Thank you for your comment. The RFC8542 condisers =
PODs in the DC network. uCPE is located on the customer site. if we =
consider that uCPE is A POD (with links and nodes like VMs and swithces) =
then in the RFC8542 describes different PODs in the network that are =
interconnected with links. The yang model proposed in the ID ifocuses =
only on the uCPE interiour network service, not the interconnection =
between the uCPEs. Aslo, I explained the difference about extension =
neded for type of nodes,vms leafs and furter complexity in the mapping =
logic in the reponce to Robert.<br class=3D""></div><div =
class=3D"">&gt;&gt;-Dmytro<br class=3D""></div><div class=3D"">&gt;&gt;<br=
 class=3D""></div><div class=3D"">&gt;&gt;[Qin]:So you focus on =
interconnection between local vPE and remote vPE?<br class=3D""></div><div=
 class=3D"">&gt;[Dmytro]:<br class=3D""></div><div class=3D"">&gt;Thank =
you for this question. It seems that the next version of draft should =
include the explanation of the uCPE interiour network service.<br =
class=3D""></div><div class=3D"">&gt;Example: We can have multiple VMs =
instantiated in the uCPE (vFW,vRouter/vCPE,SD-WAN). With support of =
links and swithes&nbsp; VMs may create a service chains.<br =
class=3D""></div><div class=3D"">&gt;Example of service chains:<br =
class=3D""></div><div class=3D"">&gt;1)WAN--vRouter(vCPE)-link-uCPEvSW =
-link2-vFirewall-LAN<br class=3D""></div><div =
class=3D"">&gt;2)WAN--SDWAN--vFirewall--LAN<br class=3D""></div><div =
class=3D"">&gt;&gt;It is not clear whether we should distinguish VM from =
switch. In my understanding, Upon VNF is instantiated, there is no =
difference between virtual and physical worlds.<br class=3D""></div><div =
class=3D"">&gt;[Dmytro]:<br class=3D""></div><div class=3D"">&gt;The =
VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN that is =
not a default part of virtual network resources of the uCPE (chapter 3 =
in the ID).<br class=3D""></div><div class=3D"">&gt;The switch (ex. Open =
vSwith) in the uCPE is a default part of uCPE network virtual resources =
(chapter 3 in the ID).<br class=3D""></div><div class=3D"">&gt;Thus we =
need to distingish swithes and VNFs to not to mix uCPE network virtual =
resources and VNFs.<br class=3D""></div><div class=3D"">&gt;Another =
reason why the destingishing is required: because VM and SW have =
different device-attributes. SW does not require VNFD attributtes.<br =
class=3D""></div><div class=3D"">&gt;If we do not distinguish nodes, and =
only extend the grouping "device attributes" for required attributes the =
switch will have the properties that are&nbsp; unused leafs which =
represent the VM-device-attributes.<br class=3D""></div><div =
class=3D"">&gt;&gt;VNF lifecycle management is separated from topology =
construction, wrong?<br class=3D""></div><div class=3D"">&gt;[Dmytro]:<br =
class=3D""></div><div class=3D"">&gt;a) In case of the NFVIs uCPE the =
same High Level interface allows to configure both topology construction =
and VM lifecycle management in the same transaction.<br =
class=3D""></div><div class=3D"">&gt;b) We can not activate Network =
Service Descriptor without consituent VM node information. At the moment =
of NSD activation we already have to set the VM node information such as =
VM capabilities that can be created (previosly)/(at the moment of =
configuration of NSD) but have to be a part of the network service =
descriptor at the moment of activation.<br class=3D""></div><div =
class=3D"">&gt;[Dmytro]<br class=3D""></div><div class=3D"">&gt;The =
Internet Draft also defines the term uCPE that is not defined at IETF =
yet.<br class=3D""></div><div =
class=3D"">&gt;_______________________________________________<br =
class=3D""></div><div class=3D"">&gt;netmod mailing list<br =
class=3D""></div><div class=3D"">&gt;<a target=3D"_blank" =
href=3D"mailto:netmod@ietf.org" class=3D"">netmod@ietf.org</a><br =
class=3D""></div><div class=3D"">&gt;<a target=3D"_blank" =
href=3D"https://www.ietf.org/mailman/listinfo/netmod" =
class=3D"">https://www.ietf.org/mailman/listinfo/netmod</a><br =
class=3D""></div></div><br class=3D""><div id=3D"Zm-_Id_-Sgn" =
class=3D""><div class=3D"">______________<br class=3D""><b =
class=3D"">Dmytro SHYTYI</b><br class=3D""></div></div><br class=3D""><div=
 class=3D"zmail_extra" style=3D""><br class=3D""></div><div class=3D""><br=
 class=3D""></div></div><br =
class=3D""></div>_______________________________________________<br =
class=3D"">netmod mailing list<br class=3D""><a =
href=3D"mailto:netmod@ietf.org" class=3D"">netmod@ietf.org</a><br =
class=3D"">https://www.ietf.org/mailman/listinfo/netmod<br =
class=3D""></div></blockquote></div><br class=3D""><div class=3D"">
<div class=3D"">Mahesh Jethanandani</div><div class=3D""><a =
href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a></div><div class=3D""><br =
class=3D""></div><br class=3D"Apple-interchange-newline">

</div>
<br class=3D""></div></div></body></html>=

--Apple-Mail=_309C4C25-54BF-49EB-ABBC-63521627BB2A--


From nobody Thu Sep  5 12:13:51 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 72222120B1B for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 12:13:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.998
X-Spam-Level: 
X-Spam-Status: No, score=-6.998 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 FTj_M69jM1hZ for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 12:13:47 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 066F51200C3 for <netmod@ietf.org>; Thu,  5 Sep 2019 12:13:47 -0700 (PDT)
Received: from birdie (unknown [IPv6:2a01:5e0:29:ffff:ffc6:c393:cdb9:8db1]) by mail.nic.cz (Postfix) with ESMTPSA id 1F702140DBF; Thu,  5 Sep 2019 21:13:45 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1567710825; bh=5QoLc8VNyYHh48227mTYuzUMCnp+ucXDkOOBO41Nz8M=; h=From:To:Date; b=Kae8Je+Bbkvibh/oQohjJ0d+3qs7pU+Gah+yMrOG7EjSNRhMJaz6WdZ6+VVOxWoKE aTVl0UVJbw4OW2FaF4vrIrZt6fYfl49bf9l2DDm83e2oQR/X6Hxc/OmAiXc2xHSz6J FXWPtzDPkPyhMYG/XKsE9lo2kAAJ3ydYhwWkrpUg=
Message-ID: <87df7364ee4b04dcb8ed482a576e3f2b67808fc0.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Kent Watsen <kent+ietf@watsen.net>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Date: Thu, 05 Sep 2019 21:13:44 +0200
In-Reply-To: <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com> <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz> <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.32.4 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0cpFIs_ciu7W4zjhbpTQ58Y5NT4>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 19:13:50 -0000

On Thu, 2019-09-05 at 15:08 +0000, Kent Watsen wrote:
> 
> 
> > > There has been discussion about how embedding YANG models in RFCs seems
> > > like a
> > > poor fit for a number of reasons. By standardizing line-folding mechanisms
> > > and
> > > claiming them as a best practice, this document reinforces the root of
> > > that
> > > problem rather than trying to fix it.
> > 
> > Well said, I agree with Alissa's conclusion.
> 
> Assuming 'a', yes, 'b' follows 'a'.  That said, the concern is nebulous
> and how to address it more so.  Proposals?

First, one can ask whether it is a good idea to have RFCs as the authoritative
source of YANG modules. I don't think so.

Otherwise, if the practice of including YANG modules in RFCs continues, I would
suggest to include YANG modules unchanged in xml2rfc and leave the presentation
issues to the RFC Editor (or their tools). With the upcoming RFC format change
there will be more publication formats (HTML, TXT, PDF, EPUB), so it is IMO
ridiculous to modify the source code in order to suit one of them. For example,
I don't want to see folded lines in HTML-formatted RFCs.

> 
>   * Initial and NBC modules go thru standard RFC publishing process (i.e.,
>     there is still a need to publish YANG modules in RFCs).

Why? The RFC could include a link to an external module resource (possibly with
a hash to guarantee that the referred resource hasn't been modified).

Lada

> 
>   * BC modules can skip standard publishing process but, to be an "IETF"
>     product (not some random fork), they would need to be released via an
>     IETF-owned mechanism (e.g., an Git repo) with restricted write-access.
> 
> Thoughts?
> 
> Kent
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep  5 12:31:01 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CBB60120B43 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 12:30:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level: 
X-Spam-Status: No, score=-6.997 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 O6Hu2t9-shbi for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 12:30:48 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 40C33120B2B for <netmod@ietf.org>; Thu,  5 Sep 2019 12:30:48 -0700 (PDT)
Received: from birdie (unknown [IPv6:2a01:5e0:29:ffff:ffc6:c393:cdb9:8db1]) by mail.nic.cz (Postfix) with ESMTPSA id 17E9A140DBF; Thu,  5 Sep 2019 21:30:46 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1567711846; bh=UsnbDR6ppVRrKapsl5ziVHk15gqP0Ubkc6OJwH8Fwkk=; h=From:To:Date; b=s9HGb4sYoDQ67gj2dBNzzdDVS7MsI0g+gtFtqPL4r0PoqH8r0KyvKxdi8tRdGkiqH 1GSgOGxaT4Vpy+c010mmn6rONoGBHGQB8bKN6weFhAhbNqSGwFpnSa6DFbr+IklkUm 92eq8bjghXGz6VJBobFHYJZRmK62cu3QmO2iFAKU=
Message-ID: <09f8edbac1e8f353bb76f4c123a19dd46907167a.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Martin Bjorklund <mbj@tail-f.com>, kent+ietf@watsen.net
Cc: netmod@ietf.org
Date: Thu, 05 Sep 2019 21:30:45 +0200
In-Reply-To: <20190905.171730.1203130976409295649.mbj@tail-f.com>
References: <156762337738.22782.18440951708689230098.idtracker@ietfa.amsl.com> <ceb3f6865a14b79bc9cab81e77ce34043ca1d760.camel@nic.cz> <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com> <20190905.171730.1203130976409295649.mbj@tail-f.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.32.4 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DkGKFzaFQGuXGXuEeXS-zq2ZHQA>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 19:31:00 -0000

On Thu, 2019-09-05 at 17:17 +0200, Martin Bjorklund wrote:
> Kent Watsen <kent+ietf@watsen.net> wrote:
> > 
> > 
> > >> There has been discussion about how embedding YANG models in RFCs seems
> like a
> > >> poor fit for a number of reasons. By standardizing line-folding
> mechanisms and
> > >> claiming them as a best practice, this document reinforces the root of
> that
> > >> problem rather than trying to fix it.
> > > 
> > > Well said, I agree with Alissa's conclusion.
> 
> But the algorithm in the document isn't supposed to be used for YANG
> modules.  It is supposed to be used primarily for XML and JSON
> snippets (etc).

My main concern is YANG, or any other code that is supposed to be both read in
the RFC and extracted from it.

Lada

> 
> > Assuming 'a', yes, 'b' follows 'a'.  That said, the concern is nebulous
> > and how to address it more so.  Proposals?
> > 
> > Assuming the concern is process-overhead for minor spins
> 
> I think we need to understand what the "number of reasons" Alissa
> refers to really are, before we try to come up with solutions.
> 
> 
> /martin
> 
> 
> > , perhaps we
> > could leverage the module-versioning work as follows:
> > 
> >   * Initial and NBC modules go thru standard RFC publishing process (i.e.,
> >     there is still a need to publish YANG modules in RFCs).
> > 
> >   * BC modules can skip standard publishing process but, to be an "IETF"
> >     product (not some random fork), they would need to be released via an
> >     IETF-owned mechanism (e.g., an Git repo) with restricted write-access.
> > 
> > Thoughts?
> > 
> > Kent
> > 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep  5 14:03:58 2019
Return-Path: <ietf.dmytro@shytyi.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 394A1120B2B for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 14:03:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=shytyi.net
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 wPnnJ4-hYtzX for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 14:03:51 -0700 (PDT)
Received: from sender-of-o52.zoho.eu (sender-of-o52.zoho.eu [31.186.226.248]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1B92A120900 for <netmod@ietf.org>; Thu,  5 Sep 2019 14:03:50 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1567717408; cv=none; d=zohomail.eu; s=zohoarc;  b=lYZl1R8fXqvQ+z1/HEupC32/NKKLyAN97oQs8fO7757S+mnUQnzBM0XEoGGUhRHddiNnVkGcJ1KLXiUlnI2PvAmgQfuYkIEx62Q6/4XYTOgCQ2pxmWnhk+ABnrL5Ev+PrfZv+60G+VxuTSX9+7cs6wnLdj2cCbdpdsRzw5APWRA=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1567717408; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=ccBBRGDN2C31I4MiIG/83odE9Zv/KTC26axixUOTN1k=;  b=Nr4RYXWuMViIX2ha3PjS0lX0Rkv2ZE1YsCosZRvZ58ZpPihhTTE6B+/hmxOlRwwymN5hz8gUz1QnwPr2o164+HS4FS1XJHpBaUVnRuCW4lCahDd0dLGRrOyGFhAHZXWR+ZlWZ26OCbsfvqinXIMraQkgxfXZp5cBptRvQPjC8rk=
ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass  header.i=shytyi.net; spf=pass  smtp.mailfrom=ietf.dmytro@shytyi.net; dmarc=pass header.from=<ietf.dmytro@shytyi.net> header.from=<ietf.dmytro@shytyi.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1567717408;  s=hs; d=shytyi.net; i=ietf.dmytro@shytyi.net; h=Date:From:To:Cc:Message-Id:In-Reply-To:References:Subject:MIME-Version:Content-Type; l=58621; bh=ccBBRGDN2C31I4MiIG/83odE9Zv/KTC26axixUOTN1k=; b=e2qtnR7azoWSSCDIvK5akI2+1vUrrzfi8E47jqo07niyLdDWOvzvSOVrcJ+2/JhR 9FbSmjOr7QX6qsd9uj4dJjyFVDQoEGtDimjOG95nPodUMPmL5ATROd4K5EPrJjnvdOv WozNRiPwAS5RmvQ9U/QqtQ2O15PgZzl0l0v74nPA=
Received: from sender.zoho.eu (172.26.23.79 [172.26.23.79]) by mx.zoho.eu with SMTPS id 1567717407037185.9911442481506; Thu, 5 Sep 2019 23:03:27 +0200 (CEST)
Received: from mail.zoho.eu by mx.zoho.eu with SMTP id 156771740695967.11128071598455; Thu, 5 Sep 2019 23:03:26 +0200 (CEST)
Date: Thu, 05 Sep 2019 23:03:26 +0200
From: Dmytro Shytyi <ietf.dmytro@shytyi.net>
To: "Mahesh Jethanandani" <mjethanandani@gmail.com>
Cc: "Robert Varga" <nite@hq.sk>, "billwu" <bill.wu@huawei.com>, "netmod" <netmod@ietf.org>, "Diego Lopez" <diego.r.lopez@telefonica.com>
Message-Id: <16d033d38e7.bbb2af8a11544.6493791187744876181@shytyi.net>
In-Reply-To: <DD368137-2977-4039-9C3E-F5127EBB0864@gmail.com>
References: <155377227553.1573.8548464832229347361.idtracker@ietfa.amsl.com> <16caabd07ae.de4789c8151923.6368018099125205208@shytyi.net> <16cba30dec2.b91b31ed256364.8160264793634017255@shytyi.net> <16cd3d19305.11aec1852361697.7576623717058940792@shytyi.net> <5219ac80-b607-b4b4-8c77-72950d4c5137@hq.sk> <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net> <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net> <DD368137-2977-4039-9C3E-F5127EBB0864@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_32283_1333223623.1567717406952"
X-Priority: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-ZohoMailClient: External
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/6IbkJ0K-EYRcWYhrRfF95_32ZYI>
Subject: Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group document.
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 21:03:57 -0000

------=_Part_32283_1333223623.1567717406952
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

[Dmytro]
Hello Mahesh Jethanandani,

Thank you for your comment.

Please find answers inline.


>I find the representation of a service model in this draft for a uCPE as t=
oo simple. In reality, on a uCPE, you could be running a Network Service (N=
S), which is composed of multiple VNFs interconnected together. This servic=
e model does not address such a configuration.

[Dmytro]


This service model presented in the draft supports N VMs in the NS and addr=
eses configuration with multiple VMs and switches with plenty of links. It =
is well tested (with service chained VMs) on equipent from different well k=
nown suppliers. The idea to have complex flexible service in the network se=
rvice orchestrator for uCPE.

in the yang model we have list (marked by pyang with "*") of VMs where the =
key is name of the vm, thus you may define as much VM as you wish.



Example of 2 VMs that are service chained (swLAN-VM1-swService-VM2-swWAN)



=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vms* [vm]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vm=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw ports* [port]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw port=C2=
=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw name?=C2=
=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw link?=C2=
=A0=C2=A0 -> ../../../links/link

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw ram?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw cpu?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw storages* [id]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw id=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw location?=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw day0-config

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 location?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 day0-var-path?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 variable* [name]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 +--rw name=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 +--rw value?=C2=A0=C2=A0 string





So basically=C2=A0 the list "+--rw wms* [vm]" can be represented/"expanded"=
 in this way where the names and number ov vms(N) is set by user:



=C2=A0>>>>>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vm1=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ports* [port]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../=
links/link

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw storages* [id]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw day0-config

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 str=
ing

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw variable* [name]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=
=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw value?=C2=A0=
=C2=A0 string

>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 +--rw vm2=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ports* [port]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../=
links/link

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw storages* [id]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw day0-config

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 +--rw location?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 str=
ing

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw variable* [name]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=
=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw value?=C2=A0=
=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0....

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0=C2=A0

=C2=A0>>>>>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vmN=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw ports* [port]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../links/link

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw storages* [id]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw day0-config

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw location?=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw variable* [name]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw name=C2=A0=C2=A0=C2=
=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw value?=C2=A0=C2=A0 s=
tring



>Besides, how is the configuration of a uCPE device for a VNF different fro=
m configuration of a VNF in a provider Network Function Virtualization Infr=
astructure (NFVI) like OpenStack or VMware VIO?

[Dmytro]


Modern uCPE support netconf. And if you go to the YANG RFC6020 you will fin=
d the next statement:

=C2=A0=C2=A0 "YANG is a data modeling language used to model configuration =
and

=C2=A0=C2=A0 state data manipulated by the Network Configuration Protocol

=C2=A0=C2=A0 (NETCONF), NETCONF remote procedure calls, and NETCONF notific=
ations."

When we talk about Openstack it is YAML, not YANG.=C2=A0



>And would you not need to enable the service on the provider side to make =
the services running on the uCPE functional?

[Dmytro]

Indeed, to manage the uCPE located on the client side we need to enable the=
 provider side. The presented model is this actually "sits" in orchestaror =
that is located on the provider side. In the draft it is mentioned that it =
is "network service yang model- NSYM" that is in the orchestrator (accordin=
g to the rfc8199).



>There is significant amount of work that has been done in ETSI on the conf=
iguration and management of VNF and NS. Authors should spend some time goin=
g through the specifications specified by ETSI to make sure they are not re=
-specifying work that has been done there, and instead see how they could a=
ugment the work that has already been defined.

[Dmytro]


The uCPE management mechanism(in the service provider network service orche=
strator)=C2=A0 may involve not only YANG modules but also the speficic logi=
c written in programming languages. The proposed organisation of yang model=
 is a solution that provides the best fit for combination (YANG modules + s=
pecific logic written in python for example )=C2=A0 to manage different exi=
sting NFVIs in the uCPE (by the orchestrator).



In the case of uCPE, the mapping (w/wo additinal logic) of "variables " bet=
ween service yang modules (in the orchestrator) and NETCONF payload(that is=
 sent to the uCPE) will be more complex (requires additional transformation=
s in the logic) with generic approach, then the solution presented in the I=
D, that is tailored to the uCPE.Therefore I find the proposed solution as a=
 stadalone generic approach to manage multiple vendor uCPE that appears to =
be a particular case tailored for uCPE NFVIs that may be not nesseraly foll=
ows RFC8345. I would be pleased if you could comment this.





>Authors can start by going through IFA010,=C2=A0 IFA011, IFA014, and its Y=
ANG specification in SOL006.

[Dmytro]


I would like to draw your attention that these documents seems to be direct=
ed to the generic solution including also cloud environment, that brings a =
lot of complexity. There is some difference between cloud and client site.

For example, case for VNFD, in the cloud we need to have flavours, differen=
t VDUs For VNFD, to change the VM capacities according to the load as we ha=
ve the extendible infrastructure.

The ucpe has limited resources, not as a cloud infrastructure in the data c=
enter.

For example, in the case of NSD: NSD includes the VLD that defines Virtual =
Links. But in the uCPE case you may have virtual links + virtual switches t=
hat are not part of the NSD defined in the ETSI.

For example, i'm not avare of VNFD that brings option of (0day configuratio=
n)/bootstrap for VNF. Moreover in the proposed model there is a possibility=
 to set variables that will be substituted in the ".iso" bootstrap image (e=
x.cloudinit) that is assigned to the VM in the uCPE.

Thus the generic solution of ETSI leads to more complex implementations of =
the code that is responsible for mapping between YANG/XML when the solution=
 proposed in the Inernet Draft is tailored to the uCPE use-case and should =
bring the simplisity when developping the mapping logic and inroduce featur=
es that are not presented by ETSI.

The Internet Draft also defines the term uCPE that is not defined at IETF y=
et.




>>On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi <mailto:ietf.dmytro@shytyi.net>=
 wrote:

>>Dear All,

>>Please find the updated version of the VYSM Internet Draft(v0.2).

>>The new version of draft introduces an extension of the yang model define=
d in previous version. From now the VYSM supports (0day configuration)/(boo=
tstrap) of the VNFs hosted in the uCPE.

>>With 0day configuration in the uCPE we can setup minimal required configu=
ration of vRouter (such as ip address, hostname,etc..), SD-WAN (address of =
the SD-WAN manager, dhcp activation, etc..), etc..

>>Details:

>>A new version of I-D, draft-shytyi-netmod-vysm-02.txt\A0

>>has been successfully submitted by Dmytro Shytyi and posted to the\A0

>>IETF repository.\A0

>>Name:\A0\A0\A0\A0\A0\A0\A0\A0draft-shytyi-netmod-vysm\A0

>>Revision:\A0\A0\A0\A002\A0

>>Title:\A0\A0\A0\A0\A0\A0\A0\A0Virtualization YANG Servise Model (VYSM)\A0

>>Document date:\A0\A0\A0\A02019-09-04\A0

>>Group:\A0\A0\A0\A0\A0\A0\A0\A0Individual Submission\A0

>>Pages:\A0\A0\A0\A0\A0\A0\A0\A010\A0

>>URL: https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt=
\A0

>>Status: https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/\A0

>>Htmlized: https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02\A0

>>Htmlized: https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm\=
A0

>>Diff: https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0

>>Abstract:\A0

>>

>>This document provides a specification of the Virtual Network\A0

>>

>>Functions YANG Service Model (VYSM). The VNF YANG Service Model\A0

>>

>>serves as a base framework for managing an universal Customer-\A0

>>

>>Premises Equipment (uCPE) NFV subsystem from the Orchestrator.\A0

>>>>

>>>># # # : Dmytro Shytyi [mailto:mailto:ietf.dmytro@shytyi.net]

>>>># # # # : 2019# 8# 28#\A0 21:46

>>>># # # : Robert Varga <mailto:nite@hq.sk>; Qin Wu <mailto:bill.wu@huawei=
.com>

>>>># # : netmod <mailto:netmod@ietf.org>

>>>># # : Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Worki=
ng Group document.

>>>>

>>>>Hello,

>>>>

>>>>Please find comments inline.

>>>>>On 27/08/2019 18:03, Dmytro Shytyi wrote:

>>>>>> Dear All,

>>>>>>\A0

>>>>>> I am one of the authors of ID VYSM and I would like to draw your

>>>>>> attention to the evolution of the

>>>>>> draft\A0https://http://www.ietf.org/internet-drafts/draft-shytyi-net=
mod-vysm-01.txt.

>>>>>> Recently we produced (but did not submitted yet) a new version of ID

>>>>>> (02) and I beleive it fits the netmod working group.

>>>>>>\A0

>>>>>> We would be gratefull if you could suggest if the new version(02) of=
 the

>>>>>> document\A0 could become an official work item of the WG?

>>>>>> \A0 \A0 \A0 If yes, could you please indicate which modifications mu=
st be done

>>>>>> in the document before submition.

>>>>>\A0

>>>>>Hmm, looking over the model, it would seem there is quite a bit of

>>>>>overlap with RFC8345 -- to the point I believe the model could be

>>>>>formulated in terms of RFC8345 specialization:

>>>>First of all I would like to thank you for this comment.\A0

>>>>-Dmytro

>>>>>virtualization -> networks/network

>>>>>\A0

>>>>>device/links/interfaces/switches/vms are probably a mix of

>>>>>node/termmination-point/link extensions with conjunction with

>>>>>supporting-{topology,node,link}.

>>>>I can imagine mapping:

>>>>virtualization (ID) -> networks/network (RFC 8345)

>>>>links (ID)- >link;(RFC 8345)

>>>>ports (ID)-> termination points;(RFC 8345)

>>>>But still.. it seems here we have to create extension of the model prop=
osed in RFC 8345.

>>>>Precisely for node (RFC 8345) we may add types (switches, vms) and fute=
r add leafs /listsfor type if required (ex: #RAM,#vCPUs and other leafs for=
 VMs)

>>>>-Dmytro

>>>>>How would the draft relate to RFC8345? Should it perhaps call out it i=
s

>>>>>a different take on the similar problem, specialized to a particular

>>>>>use-case?

>>>>One can suggest that\A0 in the RFC8345 Figure 1, the block "service Top=
ology model" can include the proposed in the draft network service descript=
or with appropriate modification of mapping according to the RFC8345..

>>>>

>>>>Meanwhile I find that the proposed solution(ID) try to solve the proble=
m descibed below:

>>>>

>>>>The uCPE management mechanism may involve not only YANG modules but\A0 =
also the speficif logic written in programming languages. The proposed orga=
nisation of yang model is an attempt to find the best fit\A0 for combinatio=
n (YANG modules + specific logic written in python for example )\A0 to mana=
ge different existing NFVIs in the uCPE (by the orchestrator).

>>>>

>>>>In the case of uCPE, the mapping (w/wo additinal logic) of "variables "=
 between service yang modules (in the orchestrator) and NETCONF payload(tha=
t is sent to the uCPE) will be more complex (requires additional transforma=
tions in the logic) with generic approach, then the solution presented in t=
he ID, that is tailored to the uCPE.\A0

>>>>

>>>>Therefore I find the proposed solution as a stadalone generic approach =
to manage multiple vendor uCPE that appears to be a particular case tailore=
d for uCPE NFVIs that may be not nesseraly follows RFC8345. I would be plea=
sed if you could comment this.

>>>>

>>>>-Dmytro

>>>>>Regards,

>>>>>Robert (with RFC8345 co-author hat on)

>>>>>+1, in addition, I am wondering whether this is something related to o=
verlay topology model, if yes, how it is different from DC Fabric topology =
model defined in RFC8542?\A0

>>>>>-Qin\A0

>>>>Thank you for your comment. The RFC8542 condisers PODs in the DC networ=
k. uCPE is located on the customer site. if we consider that uCPE is A POD =
(with links and nodes like VMs and swithces) then in the RFC8542 describes =
different PODs in the network that are interconnected with links. The yang =
model proposed in the ID ifocuses only on the uCPE interiour network servic=
e, not the interconnection between the uCPEs. Aslo, I explained the differe=
nce about extension neded for type of nodes,vms leafs and furter complexity=
 in the mapping logic in the reponce to Robert.

>>>>-Dmytro

>>>>

>>>>[Qin]:So you focus on interconnection between local vPE and remote vPE?

>>>[Dmytro]:

>>>Thank you for this question. It seems that the next version of draft sho=
uld include the explanation of the uCPE interiour network service.

>>>Example: We can have multiple VMs instantiated in the uCPE (vFW,vRouter/=
vCPE,SD-WAN). With support of links and swithes\A0 VMs may create a service=
 chains.

>>>Example of service chains:

>>>1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN

>>>2)WAN--SDWAN--vFirewall--LAN

>>>>It is not clear whether we should distinguish VM from switch. In my und=
erstanding, Upon VNF is instantiated, there is no difference between virtua=
l and physical worlds.

>>>[Dmytro]:

>>>The VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN that=
 is not a default part of virtual network resources of the uCPE (chapter 3 =
in the ID).

>>>The switch (ex. Open vSwith) in the uCPE is a default part of uCPE netwo=
rk virtual resources (chapter 3 in the ID).

>>>Thus we need to distingish swithes and VNFs to not to mix uCPE network v=
irtual resources and VNFs.

>>>Another reason why the destingishing is required: because VM and SW have=
 different device-attributes. SW does not require VNFD attributtes.

>>>If we do not distinguish nodes, and only extend the grouping "device att=
ributes" for required attributes the switch will have the properties that a=
re\A0 unused leafs which represent the VM-device-attributes.

>>>>VNF lifecycle management is separated from topology construction, wrong=
?

>>>[Dmytro]:

>>>a) In case of the NFVIs uCPE the same High Level interface allows to con=
figure both topology construction and VM lifecycle management in the same t=
ransaction.

>>>b) We can not activate Network Service Descriptor without consituent VM =
node information. At the moment of NSD activation we already have to set th=
e VM node information such as VM capabilities that can be created (previosl=
y)/(at the moment of configuration of NSD) but have to be a part of the net=
work service descriptor at the moment of activation.

>>>[Dmytro]

>>>The Internet Draft also defines the term uCPE that is not defined at IET=
F yet.

>>>_______________________________________________

>>>netmod mailing list

>>>mailto:netmod@ietf.org

>>>https://www.ietf.org/mailman/listinfo/netmod

>>
------=_Part_32283_1333223623.1567717406952
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>=
<meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"></h=
ead><body ><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif=
; font-size: 10pt;"><div>[Dmytro]</div><div>Hello Mahesh Jethanandani,<br><=
/div><div>Thank you for your comment.<br></div><div>Please find answers inl=
ine.</div><div><br></div><div>&gt;I find the representation of a service mo=
del in this draft for a uCPE as too simple. In reality, on a uCPE, you coul=
d be running a Network Service (NS), which is composed of multiple VNFs int=
erconnected together. This service model does not address such a configurat=
ion.<br></div><div>[Dmytro]<br></div><meta content=3D"text/html; charset=3D=
utf-8"><div>This service model presented in the draft supports N VMs in the=
 NS and addreses configuration with multiple VMs and switches with plenty o=
f links. It is well tested (with service chained VMs) on equipent from diff=
erent well known suppliers. The idea to have complex flexible service in th=
e network service orchestrator for uCPE.<br></div><div>in the yang model we=
 have list (marked by pyang with "*") of VMs where the key is name of the v=
m, thus you may define as much VM as you wish.<br></div><div><br></div><div=
>Example of 2 VMs that are service chained (swLAN-VM1-swService-VM2-swWAN)<=
br></div><div><br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vms* [vm]=
<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vm=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; st=
ring<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--r=
w ports* [port]<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp; |&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw name?&nbsp;&nbsp; s=
tring<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&n=
bsp; +--rw link?&nbsp;&nbsp; -&gt; ../../../links/link<br></div><div>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw ram?&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw cpu?&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw storages* [id]<br></div><div>&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw id&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw location?&nbsp;&nbsp;=
 string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +=
--rw day0-config<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br></div><=
div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +=
--rw variable* [name]<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbs=
p;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; string<=
br></div><div><br></div><div><br></div><div>So basically&nbsp; the list "+-=
-rw wms* [vm]" can be represented/"expanded" in this way where the names an=
d number ov vms(N) is set by user:<br></div><div><br></div><div>&nbsp;&gt;&=
gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vm1&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div>=
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw ports* [port]<br></div><div>&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br></div>=
<div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br=
></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw link?&nbsp;&nbsp; -&=
gt; ../../../links/link<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw ra=
m?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></=
div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbs=
p; &nbsp;+--rw storages* [id]<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&=
nbsp; +--rw id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string=
<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw location?&nbsp;&n=
bsp; string<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw day0-config<br=
></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw location?&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp;=
 &nbsp;|&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br></div><div>&nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw variable* [name]<br></div><div>&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
;|&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp=
;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbs=
p;&nbsp; +--rw value?&nbsp;&nbsp; string<br></div><div>&gt;&gt;&gt;&gt;&gt;=
&nbsp; &nbsp; &nbsp; &nbsp; +--rw vm2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nb=
sp; &nbsp;+--rw ports* [port]<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&=
nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nb=
sp; &nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nb=
sp; &nbsp; &nbsp;|&nbsp; +--rw link?&nbsp;&nbsp; -&gt; ../../../links/link<=
br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw ram?&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp;=
 &nbsp; &nbsp;+--rw cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw storages*=
 [id]<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; +--rw id&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; string<br></=
div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw day0-config<br></div><div>&nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&n=
bsp; +--rw day0-var-path?&nbsp;&nbsp; string<br></div><div>&nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; =
&nbsp; &nbsp;|&nbsp; +--rw variable* [name]<br></div><div>&nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &=
nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; st=
ring<br></div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +=
--rw value?&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....<br></div><div>&nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br></d=
iv><div>&nbsp;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--r=
w vmN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw ports* [port]<br></div><div>&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nb=
sp; +--rw link?&nbsp;&nbsp; -&gt; ../../../links/link<br></div><div>&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;+--rw ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw sto=
rages* [id]<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw id&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp=
; +--rw location?&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw day0-=
config<br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw location?&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br></div><div>&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br></div><div>&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp; +--rw variable* [name]<br></div><div>&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw name&nbsp;&nbsp;&nbsp;&nbsp; string<=
br></div><div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw value?=
&nbsp;&nbsp; string<br></div><div><br></div><div>&gt;Besides, how is the co=
nfiguration of a uCPE device for a VNF different from configuration of a VN=
F in a provider Network Function Virtualization Infrastructure (NFVI) like =
OpenStack or VMware VIO?<br></div><div>[Dmytro]<br></div><meta content=3D"t=
ext/html; charset=3Dutf-8"><div>Modern uCPE support netconf. And if you go =
to the YANG RFC6020 you will find the next statement:<br></div><div>&nbsp;&=
nbsp; "YANG is a data modeling language used to model configuration and<br>=
</div><div>&nbsp;&nbsp; state data manipulated by the Network Configuration=
 Protocol<br></div><div>&nbsp;&nbsp; (NETCONF), NETCONF remote procedure ca=
lls, and NETCONF notifications."<br></div><div>When we talk about Openstack=
 it is YAML, not YANG.&nbsp;<br></div><div><br></div><div>&gt;And would you=
 not need to enable the service on the provider side to make the services r=
unning on the uCPE functional?<br></div><div>[Dmytro]<br></div><div>Indeed,=
 to manage the uCPE located on the client side we need to enable the provid=
er side. The presented model is this actually "sits" in orchestaror that is=
 located on the provider side. In the draft it is mentioned that it is "net=
work service yang model- NSYM" that is in the orchestrator (according to th=
e rfc8199).<br></div><div><br></div><div>&gt;There is significant amount of=
 work that has been done in ETSI on the configuration and management of VNF=
 and NS. Authors should spend some time going through the specifications sp=
ecified by ETSI to make sure they are not re-specifying work that has been =
done there, and instead see how they could augment the work that has alread=
y been defined.<br></div><div>[Dmytro]<br></div><meta content=3D"text/html;=
 charset=3Dutf-8"><div>The uCPE management mechanism(in the service provide=
r network service orchestrator)&nbsp; may involve not only YANG modules but=
 also the speficic logic written in programming languages. The proposed org=
anisation of yang model is a solution that provides the best fit for combin=
ation (YANG modules + specific logic written in python for example )&nbsp; =
to manage different existing NFVIs in the uCPE (by the orchestrator).<br></=
div><div><br></div><div>In the case of uCPE, the mapping (w/wo additinal lo=
gic) of "variables " between service yang modules (in the orchestrator) and=
 NETCONF payload(that is sent to the uCPE) will be more complex (requires a=
dditional transformations in the logic) with generic approach, then the sol=
ution presented in the ID, that is tailored to the uCPE.Therefore I find th=
e proposed solution as a stadalone generic approach to manage multiple vend=
or uCPE that appears to be a particular case tailored for uCPE NFVIs that m=
ay be not nesseraly follows RFC8345. I would be pleased if you could commen=
t this.<br></div><div><br></div><div><br></div><div>&gt;Authors can start b=
y going through IFA010,&nbsp; IFA011, IFA014, and its YANG specification in=
 SOL006.<br></div><div>[Dmytro]<br></div><meta content=3D"text/html; charse=
t=3Dutf-8"><div>I would like to draw your attention that these documents se=
ems to be directed to the generic solution including also cloud environment=
, that brings a lot of complexity. There is some difference between cloud a=
nd client site.<br></div><div>For example, case for VNFD, in the cloud we n=
eed to have flavours, different VDUs For VNFD, to change the VM capacities =
according to the load as we have the extendible infrastructure.<br></div><d=
iv>The ucpe has limited resources, not as a cloud infrastructure in the dat=
a center.<br></div><div>For example, in the case of NSD: NSD includes the V=
LD that defines Virtual Links. But in the uCPE case you may have virtual li=
nks + virtual switches that are not part of the NSD defined in the ETSI.<br=
></div><div>For example, i'm not avare of VNFD that brings option of (0day =
configuration)/bootstrap for VNF. Moreover in the proposed model there is a=
 possibility to set variables that will be substituted in the ".iso" bootst=
rap image (ex.cloudinit) that is assigned to the VM in the uCPE.<br></div><=
div>Thus the generic solution of ETSI leads to more complex implementations=
 of the code that is responsible for mapping between YANG/XML when the solu=
tion proposed in the Inernet Draft is tailored to the uCPE use-case and sho=
uld bring the simplisity when developping the mapping logic and inroduce fe=
atures that are not presented by ETSI.<br></div><div>The Internet Draft als=
o defines the term uCPE that is not defined at IETF yet.<br></div><meta con=
tent=3D"text/html; charset=3Dutf-8"><div><br></div><div>&gt;&gt;On Sep 5, 2=
019, at 9:02 AM, Dmytro Shytyi &lt;<a target=3D"_blank" href=3D"mailto:ietf=
.dmytro@shytyi.net">ietf.dmytro@shytyi.net</a>&gt; wrote:<br></div><div>&gt=
;&gt;Dear All,<br></div><div>&gt;&gt;Please find the updated version of the=
 VYSM Internet Draft(v0.2).<br></div><div>&gt;&gt;The new version of draft =
introduces an extension of the yang model defined in previous version. From=
 now the VYSM supports (0day configuration)/(bootstrap) of the VNFs hosted =
in the uCPE.<br></div><div>&gt;&gt;With 0day configuration in the uCPE we c=
an setup minimal required configuration of vRouter (such as ip address, hos=
tname,etc..), SD-WAN (address of the SD-WAN manager, dhcp activation, etc..=
), etc..<br></div><div>&gt;&gt;Details:<br></div><div>&gt;&gt;A new version=
 of I-D, draft-shytyi-netmod-vysm-02.txt\A0<br></div><div>&gt;&gt;has been =
successfully submitted by Dmytro Shytyi and posted to the\A0<br></div><div>=
&gt;&gt;IETF repository.\A0<br></div><div>&gt;&gt;Name:\A0\A0\A0\A0\A0\A0\A=
0\A0draft-shytyi-netmod-vysm\A0<br></div><div>&gt;&gt;Revision:\A0\A0\A0\A0=
02\A0<br></div><div>&gt;&gt;Title:\A0\A0\A0\A0\A0\A0\A0\A0Virtualization YA=
NG Servise Model (VYSM)\A0<br></div><div>&gt;&gt;Document date:\A0\A0\A0\A0=
2019-09-04\A0<br></div><div>&gt;&gt;Group:\A0\A0\A0\A0\A0\A0\A0\A0Individua=
l Submission\A0<br></div><div>&gt;&gt;Pages:\A0\A0\A0\A0\A0\A0\A0\A010\A0<b=
r></div><div>&gt;&gt;URL: <a target=3D"_blank" href=3D"https://www.ietf.org=
/internet-drafts/draft-shytyi-netmod-vysm-02.txt\A0">https://www.ietf.org/i=
nternet-drafts/draft-shytyi-netmod-vysm-02.txt\A0</a><br></div><div>&gt;&gt=
;Status: <a target=3D"_blank" href=3D"https://datatracker.ietf.org/doc/draf=
t-shytyi-netmod-vysm/\A0">https://datatracker.ietf.org/doc/draft-shytyi-net=
mod-vysm/\A0</a><br></div><div>&gt;&gt;Htmlized: <a target=3D"_blank" href=
=3D"https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02\A0">https://too=
ls.ietf.org/html/draft-shytyi-netmod-vysm-02\A0</a><br></div><div>&gt;&gt;H=
tmlized: <a target=3D"_blank" href=3D"https://datatracker.ietf.org/doc/html=
/draft-shytyi-netmod-vysm\A0">https://datatracker.ietf.org/doc/html/draft-s=
hytyi-netmod-vysm\A0</a><br></div><div>&gt;&gt;Diff: <a target=3D"_blank" h=
ref=3D"https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0">=
https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0</a><br><=
/div><div>&gt;&gt;Abstract:\A0<br></div><div>&gt;&gt;<br></div><div>&gt;&gt=
;This document provides a specification of the Virtual Network\A0<br></div>=
<div>&gt;&gt;<br></div><div>&gt;&gt;Functions YANG Service Model (VYSM). Th=
e VNF YANG Service Model\A0<br></div><div>&gt;&gt;<br></div><div>&gt;&gt;se=
rves as a base framework for managing an universal Customer-\A0<br></div><d=
iv>&gt;&gt;<br></div><div>&gt;&gt;Premises Equipment (uCPE) NFV subsystem f=
rom the Orchestrator.\A0<br></div><div>&gt;&gt;&gt;&gt;<br></div><div>&gt;&=
gt;&gt;&gt;# # # : Dmytro Shytyi [mailto:<a target=3D"_blank" href=3D"mailt=
o:ietf.dmytro@shytyi.net">ietf.dmytro@shytyi.net</a>]<br></div><div>&gt;&gt=
;&gt;&gt;# # # # : 2019# 8# 28#\A0 21:46<br></div><div>&gt;&gt;&gt;&gt;# # =
# : Robert Varga &lt;<a target=3D"_blank" href=3D"mailto:nite@hq.sk">nite@h=
q.sk</a>&gt;; Qin Wu &lt;<a target=3D"_blank" href=3D"mailto:bill.wu@huawei=
.com">bill.wu@huawei.com</a>&gt;<br></div><div>&gt;&gt;&gt;&gt;# # : netmod=
 &lt;<a target=3D"_blank" href=3D"mailto:netmod@ietf.org">netmod@ietf.org</=
a>&gt;<br></div><div>&gt;&gt;&gt;&gt;# # : Re: [netmod] New Version draft-s=
hytyi-netmod-vysm-02.txt as Working Group document.<br></div><div>&gt;&gt;&=
gt;&gt;<br></div><div>&gt;&gt;&gt;&gt;Hello,<br></div><div>&gt;&gt;&gt;&gt;=
<br></div><div>&gt;&gt;&gt;&gt;Please find comments inline.<br></div><div>&=
gt;&gt;&gt;&gt;&gt;On 27/08/2019 18:03, Dmytro Shytyi wrote:<br></div><div>=
&gt;&gt;&gt;&gt;&gt;&gt; Dear All,<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt;\A=
0<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; I am one of the authors of ID VYSM=
 and I would like to draw your<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; atten=
tion to the evolution of the<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; draft\A=
0https://<a target=3D"_blank" href=3D"http://www.ietf.org/internet-drafts/d=
raft-shytyi-netmod-vysm-01.txt">www.ietf.org/internet-drafts/draft-shytyi-n=
etmod-vysm-01.txt</a>.<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; Recently we p=
roduced (but did not submitted yet) a new version of ID<br></div><div>&gt;&=
gt;&gt;&gt;&gt;&gt; (02) and I beleive it fits the netmod working group.<br=
></div><div>&gt;&gt;&gt;&gt;&gt;&gt;\A0<br></div><div>&gt;&gt;&gt;&gt;&gt;&=
gt; We would be gratefull if you could suggest if the new version(02) of th=
e<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; document\A0 could become an offici=
al work item of the WG?<br></div><div>&gt;&gt;&gt;&gt;&gt;&gt; \A0 \A0 \A0 =
If yes, could you please indicate which modifications must be done<br></div=
><div>&gt;&gt;&gt;&gt;&gt;&gt; in the document before submition.<br></div><=
div>&gt;&gt;&gt;&gt;&gt;\A0<br></div><div>&gt;&gt;&gt;&gt;&gt;Hmm, looking =
over the model, it would seem there is quite a bit of<br></div><div>&gt;&gt=
;&gt;&gt;&gt;overlap with RFC8345 -- to the point I believe the model could=
 be<br></div><div>&gt;&gt;&gt;&gt;&gt;formulated in terms of RFC8345 specia=
lization:<br></div><div>&gt;&gt;&gt;&gt;First of all I would like to thank =
you for this comment.\A0<br></div><div>&gt;&gt;&gt;&gt;-Dmytro<br></div><di=
v>&gt;&gt;&gt;&gt;&gt;virtualization -&gt; networks/network<br></div><div>&=
gt;&gt;&gt;&gt;&gt;\A0<br></div><div>&gt;&gt;&gt;&gt;&gt;device/links/inter=
faces/switches/vms are probably a mix of<br></div><div>&gt;&gt;&gt;&gt;&gt;=
node/termmination-point/link extensions with conjunction with<br></div><div=
>&gt;&gt;&gt;&gt;&gt;supporting-{topology,node,link}.<br></div><div>&gt;&gt=
;&gt;&gt;I can imagine mapping:<br></div><div>&gt;&gt;&gt;&gt;virtualizatio=
n (ID) -&gt; networks/network (RFC 8345)<br></div><div>&gt;&gt;&gt;&gt;link=
s (ID)- &gt;link;(RFC 8345)<br></div><div>&gt;&gt;&gt;&gt;ports (ID)-&gt; t=
ermination points;(RFC 8345)<br></div><div>&gt;&gt;&gt;&gt;But still.. it s=
eems here we have to create extension of the model proposed in RFC 8345.<br=
></div><div>&gt;&gt;&gt;&gt;Precisely for node (RFC 8345) we may add types =
(switches, vms) and futer add leafs /listsfor type if required (ex: #RAM,#v=
CPUs and other leafs for VMs)<br></div><div>&gt;&gt;&gt;&gt;-Dmytro<br></di=
v><div>&gt;&gt;&gt;&gt;&gt;How would the draft relate to RFC8345? Should it=
 perhaps call out it is<br></div><div>&gt;&gt;&gt;&gt;&gt;a different take =
on the similar problem, specialized to a particular<br></div><div>&gt;&gt;&=
gt;&gt;&gt;use-case?<br></div><div>&gt;&gt;&gt;&gt;One can suggest that\A0 =
in the RFC8345 Figure 1, the block "service Topology model" can include the=
 proposed in the draft network service descriptor with appropriate modifica=
tion of mapping according to the RFC8345..<br></div><div>&gt;&gt;&gt;&gt;<b=
r></div><div>&gt;&gt;&gt;&gt;Meanwhile I find that the proposed solution(ID=
) try to solve the problem descibed below:<br></div><div>&gt;&gt;&gt;&gt;<b=
r></div><div>&gt;&gt;&gt;&gt;The uCPE management mechanism may involve not =
only YANG modules but\A0 also the speficif logic written in programming lan=
guages. The proposed organisation of yang model is an attempt to find the b=
est fit\A0 for combination (YANG modules + specific logic written in python=
 for example )\A0 to manage different existing NFVIs in the uCPE (by the or=
chestrator).<br></div><div>&gt;&gt;&gt;&gt;<br></div><div>&gt;&gt;&gt;&gt;I=
n the case of uCPE, the mapping (w/wo additinal logic) of "variables " betw=
een service yang modules (in the orchestrator) and NETCONF payload(that is =
sent to the uCPE) will be more complex (requires additional transformations=
 in the logic) with generic approach, then the solution presented in the ID=
, that is tailored to the uCPE.\A0<br></div><div>&gt;&gt;&gt;&gt;<br></div>=
<div>&gt;&gt;&gt;&gt;Therefore I find the proposed solution as a stadalone =
generic approach to manage multiple vendor uCPE that appears to be a partic=
ular case tailored for uCPE NFVIs that may be not nesseraly follows RFC8345=
. I would be pleased if you could comment this.<br></div><div>&gt;&gt;&gt;&=
gt;<br></div><div>&gt;&gt;&gt;&gt;-Dmytro<br></div><div>&gt;&gt;&gt;&gt;&gt=
;Regards,<br></div><div>&gt;&gt;&gt;&gt;&gt;Robert (with RFC8345 co-author =
hat on)<br></div><div>&gt;&gt;&gt;&gt;&gt;+1, in addition, I am wondering w=
hether this is something related to overlay topology model, if yes, how it =
is different from DC Fabric topology model defined in RFC8542?\A0<br></div>=
<div>&gt;&gt;&gt;&gt;&gt;-Qin\A0<br></div><div>&gt;&gt;&gt;&gt;Thank you fo=
r your comment. The RFC8542 condisers PODs in the DC network. uCPE is locat=
ed on the customer site. if we consider that uCPE is A POD (with links and =
nodes like VMs and swithces) then in the RFC8542 describes different PODs i=
n the network that are interconnected with links. The yang model proposed i=
n the ID ifocuses only on the uCPE interiour network service, not the inter=
connection between the uCPEs. Aslo, I explained the difference about extens=
ion neded for type of nodes,vms leafs and furter complexity in the mapping =
logic in the reponce to Robert.<br></div><div>&gt;&gt;&gt;&gt;-Dmytro<br></=
div><div>&gt;&gt;&gt;&gt;<br></div><div>&gt;&gt;&gt;&gt;[Qin]:So you focus =
on interconnection between local vPE and remote vPE?<br></div><div>&gt;&gt;=
&gt;[Dmytro]:<br></div><div>&gt;&gt;&gt;Thank you for this question. It see=
ms that the next version of draft should include the explanation of the uCP=
E interiour network service.<br></div><div>&gt;&gt;&gt;Example: We can have=
 multiple VMs instantiated in the uCPE (vFW,vRouter/vCPE,SD-WAN). With supp=
ort of links and swithes\A0 VMs may create a service chains.<br></div><div>=
&gt;&gt;&gt;Example of service chains:<br></div><div>&gt;&gt;&gt;1)WAN--vRo=
uter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN<br></div><div>&gt;&gt;&gt;2)WA=
N--SDWAN--vFirewall--LAN<br></div><div>&gt;&gt;&gt;&gt;It is not clear whet=
her we should distinguish VM from switch. In my understanding, Upon VNF is =
instantiated, there is no difference between virtual and physical worlds.<b=
r></div><div>&gt;&gt;&gt;[Dmytro]:<br></div><div>&gt;&gt;&gt;The VM/VNF in =
the uCPE could be a vROuter or Vfirewall or an SD-WAN that is not a default=
 part of virtual network resources of the uCPE (chapter 3 in the ID).<br></=
div><div>&gt;&gt;&gt;The switch (ex. Open vSwith) in the uCPE is a default =
part of uCPE network virtual resources (chapter 3 in the ID).<br></div><div=
>&gt;&gt;&gt;Thus we need to distingish swithes and VNFs to not to mix uCPE=
 network virtual resources and VNFs.<br></div><div>&gt;&gt;&gt;Another reas=
on why the destingishing is required: because VM and SW have different devi=
ce-attributes. SW does not require VNFD attributtes.<br></div><div>&gt;&gt;=
&gt;If we do not distinguish nodes, and only extend the grouping "device at=
tributes" for required attributes the switch will have the properties that =
are\A0 unused leafs which represent the VM-device-attributes.<br></div><div=
>&gt;&gt;&gt;&gt;VNF lifecycle management is separated from topology constr=
uction, wrong?<br></div><div>&gt;&gt;&gt;[Dmytro]:<br></div><div>&gt;&gt;&g=
t;a) In case of the NFVIs uCPE the same High Level interface allows to conf=
igure both topology construction and VM lifecycle management in the same tr=
ansaction.<br></div><div>&gt;&gt;&gt;b) We can not activate Network Service=
 Descriptor without consituent VM node information. At the moment of NSD ac=
tivation we already have to set the VM node information such as VM capabili=
ties that can be created (previosly)/(at the moment of configuration of NSD=
) but have to be a part of the network service descriptor at the moment of =
activation.<br></div><div>&gt;&gt;&gt;[Dmytro]<br></div><div>&gt;&gt;&gt;Th=
e Internet Draft also defines the term uCPE that is not defined at IETF yet=
.<br></div><div>&gt;&gt;&gt;_______________________________________________=
<br></div><div>&gt;&gt;&gt;netmod mailing list<br></div><div>&gt;&gt;&gt;<a=
 target=3D"_blank" href=3D"mailto:netmod@ietf.org">netmod@ietf.org</a><br><=
/div><div>&gt;&gt;&gt;<a target=3D"_blank" href=3D"https://www.ietf.org/mai=
lman/listinfo/netmod">https://www.ietf.org/mailman/listinfo/netmod</a><br><=
/div><div>&gt;&gt;<br></div></div><br></body></html>
------=_Part_32283_1333223623.1567717406952--




From nobody Thu Sep  5 14:47:33 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 33C38120B52 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 14:47:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 oHEh8SsieW2i for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 14:47:12 -0700 (PDT)
Received: from mail-lf1-x130.google.com (mail-lf1-x130.google.com [IPv6:2a00:1450:4864:20::130]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 59D72120B74 for <netmod@ietf.org>; Thu,  5 Sep 2019 14:47:12 -0700 (PDT)
Received: by mail-lf1-x130.google.com with SMTP id r134so3252617lff.12 for <netmod@ietf.org>; Thu, 05 Sep 2019 14:47:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=k36gQIrCqwiUnPWJhCzk1qotSWyHOlOpm798FV4U9F0=; b=LShua06NEagu8gnsam/8J9mvRCuEH9F3bC817ch2kWDYJu0JNVzGDmFC5SVL1Ut/Sf PM2WM5vBcFdkccHzT4rOgf2/4ghC37w0olxjkf+o7oy/oFhO4QaXIJ5DRO5vwD8WAmx0 mkCUFjIx5Ikr/Q1oG9UKuG17duyQao3mgMMcpPHJDES8Hw2WO/JgXObUo93sXx17kO8f 0upnEupHwLOpknmJhD2bzkI/es5uQ2Az9c8ZE01kS2s6RQT8I/TWiWz368K0wIJxebWu bkYdijUlCnefGyIHxuYdKMefovNnDbLKs610ddL+PKAnvN9zt7j6yCgwBghKRdv1CdRX bZ0A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=k36gQIrCqwiUnPWJhCzk1qotSWyHOlOpm798FV4U9F0=; b=cHJnQvNwVa4BW4XZJjOWR4ihGGtiKQJUtWhNX4ySnuN4LO0wfm6979CHM4KyVfehnm HO/eL48ivUFjIE0WSJBy8gU2ePQcCewltwLor4iJaXCkZWDjMNVpWKHXdPKuPIh+HM5n 4PIu9g96NDe97sWrvoEQBrekjUo+oC5G3mRPsLApOPNBL2Hqtw7gTDrFKF+F4uuFtI91 vMZewxm/3GiU5iaWMEDaqrOThZorMkIrRCkBapfHxYkuzw9v+LjbJwolMBR3lURi/ceU 7Q7oTeYD6jmx/58qFUKlxqUSjqnB84WMhBNyeGMG0aBogMOmdxOLdbDtEOYy3e91A+2z mjSA==
X-Gm-Message-State: APjAAAX1qJRYH++S2HwhUeZ2SZF+Ht9m7HfsiPw1hhEgLr03j6tEMGSP 88SedMRveAJtYEMyfGo99TozdIulMW1iHVE7Vc8MEdZU
X-Google-Smtp-Source: APXvYqxD7UBEiChqDH7364xt2ijR+IRWgTtswwrOwFUc+vOeAjcdXWE5hCV0AeZTZcTzoK/F6Bdr/bQdvhqYJJdoKxg=
X-Received: by 2002:a19:431e:: with SMTP id q30mr3890070lfa.171.1567720030439;  Thu, 05 Sep 2019 14:47:10 -0700 (PDT)
MIME-Version: 1.0
References: <156769446677.22608.7381486936621146842.idtracker@ietfa.amsl.com> <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@email.amazonses.com>
In-Reply-To: <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@email.amazonses.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 5 Sep 2019 14:46:59 -0700
Message-ID: <CABCOCHTq6NVr-24YdR-TT-R2xepJ0mFPcQ-u+Sz5ksZ2hAJAJw@mail.gmail.com>
To: Kent Watsen <kent+ietf@watsen.net>
Cc: Suresh Krishnan <suresh@kaloom.com>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>,  "netmod@ietf.org" <netmod@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, The IESG <iesg@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000085a32e0591d543f3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/nu7hov3Jaf082JFVkX_IMbfUx2I>
Subject: Re: [netmod] Suresh Krishnan's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 21:47:24 -0000

--00000000000085a32e0591d543f3
Content-Type: text/plain; charset="UTF-8"

On Thu, Sep 5, 2019 at 10:08 AM Kent Watsen <kent+ietf@watsen.net> wrote:

> Hi Suresh,
>
> Thank you for your review.  Comments below.
>
> Kent // as co-author
>
>
> On Sep 5, 2019, at 10:41 AM, Suresh Krishnan via Datatracker <
> noreply@ietf.org> wrote:
>
> Suresh Krishnan has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Discuss
>
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut this
> introductory paragraph, however.)
>
>
> Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>
>
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
>
>
>
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>
> After some thought I think there are two things about this document that
> make
> me uncomfortable enough to ballot Discuss.
>
> a) Due to its home in the netmod WG it is highly likely that people
> outside the
> yang community have not paid enough attention to this work. Since this is
> applicable to code fragments of all kinds, I think the home chosen for
> this RFC
> might have inadvertently limited input from the broader community.
>
>
> Agreed.  The original I-D was targeted for IAB stream.  It wasn't going to
> be presented in NETMOD, but did (by coercion).  During the presentation I
> mentioned that its applicability was more than NETMOD and that it should go
> thru IAB, just like the "xml2rfc" RFCs (7749 and 7991).  The working group
> felt that it should stay in the WG and hence here we are.  :sigh:
>
>
It seemed self-evident that the scope of this draft did not fit the NETMOD
WG charter.
I assumed the work was permitted to start because (1) nobody else was
willing to
work on it and (2) nowhere else to put it.


>
> b) Given a) I think it is better that this document go forward as an
> Informational document rather than a BCP so that use of this technique
> becomes
> optional, without the force of a BCP behind it.
>
>
> I'm okay with this, modulo my comment to Alissa.   Actually, if we only
> view the RFC as specifying a format then, in my mind, it doesn't actually
> contain the "best practice".  FWIW, SHOULD appears only once, in a sentence
> stating that folding SHOULD be automated, in a section titled "Goals".
> That said, if not a BCP, then how to encourage people to use it, so that
> automation works?  For this reason alone, it seems that either the draft
> should be a BCP or Datatracker is updated to auto-fold as needed.  Perhaps
>  the right answer is to do Informational now and hope that Datatracker is
> updated in time?
>
>
>
IMO Informational status is the only option.
There is a simple solution that solves applicability:

Add some text in this draft that UPDATES RFC 8407 so that only RFCs
that contain YANG modules are required to use this line-wrap solution.


Andy


> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>
> I do agree with my Abstaining colleagues that this should probably not be
> on
> the IETF stream but I think the work is useful enough to go forward.
>
>
> It should've been on the IAB stream.  Whether it should go forward, after
> having the BCP attribute removed, or re-run via the IAB stream is up to the
> IESG.
>
>
> Kent // as co-author
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>

--00000000000085a32e0591d543f3
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 5, 2019 at 10:08 AM Kent =
Watsen &lt;<a href=3D"mailto:kent%2Bietf@watsen.net">kent+ietf@watsen.net</=
a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><d=
iv style=3D"overflow-wrap: break-word;">Hi Suresh,<div><br></div><div>Thank=
 you for your review.=C2=A0 Comments below.</div><div><br></div><div>Kent /=
/ as co-author</div><div><br><div><br><blockquote type=3D"cite"><div>On Sep=
 5, 2019, at 10:41 AM, Suresh Krishnan via Datatracker &lt;<a href=3D"mailt=
o:noreply@ietf.org" target=3D"_blank">noreply@ietf.org</a>&gt; wrote:</div>=
<br class=3D"gmail-m_-1769091942140460477Apple-interchange-newline"><div><d=
iv>Suresh Krishnan has entered the following ballot position for<br>draft-i=
etf-netmod-artwork-folding-09: Discuss<br><br>When responding, please keep =
the subject line intact and reply to all<br>email addresses included in the=
 To and CC lines. (Feel free to cut this<br>introductory paragraph, however=
.)<br><br><br>Please refer to <a href=3D"https://www.ietf.org/iesg/statemen=
t/discuss-criteria.html" target=3D"_blank">https://www.ietf.org/iesg/statem=
ent/discuss-criteria.html</a><br>for more information about IESG DISCUSS an=
d COMMENT positions.<br><br><br>The document, along with other ballot posit=
ions, can be found here:<br><a href=3D"https://datatracker.ietf.org/doc/dra=
ft-ietf-netmod-artwork-folding/" target=3D"_blank">https://datatracker.ietf=
.org/doc/draft-ietf-netmod-artwork-folding/</a><br><br><br><br>------------=
----------------------------------------------------------<br>DISCUSS:<br>-=
---------------------------------------------------------------------<br><b=
r>After some thought I think there are two things about this document that =
make<br>me uncomfortable enough to ballot Discuss.<br><br>a) Due to its hom=
e in the netmod WG it is highly likely that people outside the<br>yang comm=
unity have not paid enough attention to this work. Since this is<br>applica=
ble to code fragments of all kinds, I think the home chosen for this RFC<br=
>might have inadvertently limited input from the broader community.<br></di=
v></div></blockquote><div><br></div><div>Agreed.=C2=A0 The original I-D was=
 targeted for IAB stream.=C2=A0 It wasn&#39;t going to be presented in NETM=
OD, but did (by coercion).=C2=A0 During the presentation I mentioned that i=
ts applicability was more than NETMOD and that it should go thru IAB, just =
like the &quot;xml2rfc&quot; RFCs (7749 and 7991).=C2=A0 The working group =
felt that it should stay in the WG and hence here we are. =C2=A0:sigh:</div=
><div><br></div></div></div></div></blockquote><div><br></div><div>It seeme=
d self-evident that the scope of this draft did not fit the NETMOD WG chart=
er.</div><div>I assumed the work was permitted to start because (1) nobody =
else was willing to</div><div>work on it and (2) nowhere else to put it.</d=
iv><div>=C2=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><=
div style=3D"overflow-wrap: break-word;"><div><div><div></div><div><br></di=
v><blockquote type=3D"cite"><div><div>b) Given a) I think it is better that=
 this document go forward as an<br>Informational document rather than a BCP=
 so that use of this technique becomes<br>optional, without the force of a =
BCP behind it.<br></div></div></blockquote><div><br></div><div>I&#39;m okay=
 with this, modulo my comment to Alissa. =C2=A0 Actually, if we only view t=
he RFC as specifying a format then, in my mind, it doesn&#39;t actually con=
tain the &quot;best practice&quot;.=C2=A0 FWIW, SHOULD appears only once, i=
n a sentence stating that folding SHOULD be automated, in a section titled =
&quot;Goals&quot;.=C2=A0 That said, if not a BCP, then how to encourage peo=
ple to use it, so that automation works?=C2=A0 For this reason alone, it se=
ems that either the draft should be a BCP or Datatracker is updated to auto=
-fold as needed.=C2=A0 Perhaps =C2=A0the right answer is to do Informationa=
l now and hope that Datatracker is updated in time?</div><div><br></div><di=
v><br></div></div></div></div></blockquote><div><br></div><div>IMO Informat=
ional status is the only option.</div><div>There is a simple solution that =
solves applicability:</div><div><br></div><div>Add some text in this draft =
that UPDATES RFC 8407 so that only RFCs</div><div>that contain YANG modules=
 are required to use this line-wrap solution.</div><div><br></div><div><br>=
</div><div>Andy</div><div><br></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div style=3D"overflow-wrap: break-word;"><div><div><div></div><=
br><blockquote type=3D"cite"><div><div>------------------------------------=
----------------------------------<br>COMMENT:<br>-------------------------=
---------------------------------------------<br><br>I do agree with my Abs=
taining colleagues that this should probably not be on<br>the IETF stream b=
ut I think the work is useful enough to go forward.<br></div></div></blockq=
uote><br></div><div>It should&#39;ve been on the IAB stream.=C2=A0 Whether =
it should go forward, after having the BCP attribute removed, or re-run via=
 the IAB stream is up to the IESG.</div><div><br></div><div><br></div></div=
><div><div>Kent // as co-author</div><div><br></div><div><br></div></div></=
div>_______________________________________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"noreferrer"=
 target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br>
</blockquote></div></div>

--00000000000085a32e0591d543f3--


From nobody Thu Sep  5 14:52:33 2019
Return-Path: <internet-drafts@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 707A3120232; Thu,  5 Sep 2019 14:52:31 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.100.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: netmod@ietf.org
Message-ID: <156772035136.30540.7660966663278054208@ietfa.amsl.com>
Date: Thu, 05 Sep 2019 14:52:31 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ibTH0CPOaJISrlk1shb531vWPx8>
Subject: [netmod] I-D Action: draft-ietf-netmod-artwork-folding-10.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 21:52:32 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Modeling WG of the IETF.

        Title           : Handling Long Lines in Inclusions in Internet-Drafts and RFCs
        Authors         : Kent Watsen
                          Adrian Farrel
                          Qin Wu
	Filename        : draft-ietf-netmod-artwork-folding-10.txt
	Pages           : 30
	Date            : 2019-09-05

Abstract:
   This document defines two strategies for handling long lines in
   width-bounded text content.  One strategy is based on the historical
   use of a single backslash ('\') character to indicate where line-
   folding has occurred, with the continuation occurring with the first
   non-space (' ') character on the next line.  The second strategy
   extends the first strategy by adding a second backslash character to
   identify where the continuation begins and thereby able to handle
   cases not supported by the first strategy.  Both strategies use a
   self-describing header enabling automated reconstitution of the
   original content.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-artwork-folding-10

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-artwork-folding-10


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

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


From nobody Thu Sep  5 15:02:32 2019
Return-Path: <0100016d0372debf-16e6e132-b334-41b3-ad9c-953fd9314963-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E798E120B46; Thu,  5 Sep 2019 15:02:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level: 
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 U7Pa8Mop9cOK; Thu,  5 Sep 2019 15:02:06 -0700 (PDT)
Received: from a8-88.smtp-out.amazonses.com (a8-88.smtp-out.amazonses.com [54.240.8.88]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20EC0120B75; Thu,  5 Sep 2019 15:02:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567720923; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=+DF3d4yw7tjd+/mQjBX5sc+vjrypzQ0pRuViGJRTGLk=; b=iBfWFaltcV79FVK7B/EIlRnxR1kZDOKCCAJIUakScmVZ9QwjbFW40Fb8zLano6lB XQlZGGR4yDP0nKJR5CZoaah5z62QOLMgRa/RlzcNLdS8tp2D0Y7JiZmV2tVo3bAGAr9 tI2UGqwshJREGMYHaVf408fZZ0dHMgRlUT6FYxw0=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d0372debf-16e6e132-b334-41b3-ad9c-953fd9314963-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_1EF271D6-7CC1-4FEE-A73D-3C3755F9C368"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 22:02:03 +0000
In-Reply-To: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, "netmod@ietf.org" <netmod@ietf.org>
To: Benjamin Kaduk <kaduk@mit.edu>
References: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.88
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/EqQFQqcO7cNoYaFYmkRwdrTDdFY>
Subject: Re: [netmod] Benjamin Kaduk's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 22:02:18 -0000

--Apple-Mail=_1EF271D6-7CC1-4FEE-A73D-3C3755F9C368
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Ben,

Thank you for your review.  Comments below.

Update @ =
https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10 =
<https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10>

Kent // as co-author


> On Sep 5, 2019, at 2:07 AM, Benjamin Kaduk via Datatracker =
<noreply@ietf.org> wrote:
>=20
> Benjamin Kaduk has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: Discuss
>=20
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut =
this
> introductory paragraph, however.)
>=20
>=20
> Please refer to =
https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>=20
>=20
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
>=20
>=20
>=20
> ----------------------------------------------------------------------
> DISCUSS:
> ----------------------------------------------------------------------
>=20
> I think the procedures described herein are incomplete without a =
footer
> to terminate the un-folding process.  Otherwise, it seems that the
> described algorithms would leave the two-line header for the second =
and
> subsequent instances of folded text in a single document.  (If we =
tried
> to just blindly remove all instances of the header without seeking
> boundaries, then we would misreconstruct content when different =
folding
> algorithms are used in the same document with the single-backslash
> algorithm occurring first.)

Are you referring to when an RFC contains multiple inclusions and one is =
trying to unfold them all at once?   That's not the intention here, as =
noted in paragraph 3 in both sections 7.2 and 8.2.  FWIW, this sounds =
like the framing problem that the WG discussed with the conclusion that =
extracting from plain-text is dead, now that XML is the required =
submission format, and XML provides a superior framing mechanism than =
any footer we could add.

BTW, yes, each text inclusion in a single RFC may independently be =
folded using either the '\' or '\\' strategy, with the recommendation =
that '\' always be tried first and '\\' only used when '\' fails.

If referring to a single text content instance, could you provide an =
example illustrating the concern?




> I don't think it's proper to refer to a script that requires bash
> specifically as a "POSIX shell script".  I did not attmept to check
> whether any bash-specific features are used or this requirements stems
> solely from the shebang line, though.

I just changed "POSIX" to "Bash" in the title for Appendix A.

Not that it matters, but "--posix" is passed into `bash` on the first =
line of the script  ;)



> I think the shell script does need to use double-quotes around some
> variable expansions, especially "$infile" and "$outfile", to work
> properly for filenames containing spaces.  We do quote "$infile" when
> we're checking that it exists, just not (most of the time) when we
> actually use it!

Updated.



> In addition to the above, I also share Alissa's (and Mirja's) =
concerns,
> but feel that Discuss is more appropriate than Abstain, so we can =
discuss
> what the best way to get this content published is.  For it's fine
> content, and we should see it published; it's just not immediately =
clear
> to me what the right way to do so is.

Agreed.   For now, I've changed it to Informational, but I think there =
remains a discussion around if the draft should be re-rerun through the =
IAB stream.   My responses today to Alissa's Abstain and Suresh Discuss =
dig into this.  Is it okay to use those threads for this item?


> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>=20
> Section 4.1
>=20
>   Automated folding of long lines is needed in order to support draft
>   compilations that entail a) validation of source input files (e.g.,
>   XML, JSON, ABNF, ASN.1) and/or b) dynamic generation of output, =
using
>   a tool that doesn't observe line lengths, that is stitched into the
>   final document to be submitted.
>=20
> I don't think the intended meaning of "source input files" will be =
clear
> to all readers just from this text.  Some discussion of how RFCs can
> consider source code, data structures, generated output, etc., that =
have
> standalone representations and natural formats, and the need to =
display
> their contents in the RFC format that has different requirements might
> be helpful context for this paragraph and the next.

Is the updated text more understandable?



> Section 7.1.2
>=20
> For some reason my mental model of "RFC style" does not use the word
> "really" in this way, and prefers alternatives like "very" or
> "exceptionally".  (Also in Section 8.1.2.)

s/Really/Exceptionally/ in both cases.


> Section 7.2.1
>=20
>   1.  Determine where the fold will occur.  This location MUST be
>       before or at the desired maximum column, and MUST NOT be chosen
>       such that the character immediately after the fold is a space ('
>       ') character.  For forced foldings, the location is between the
>=20
> This is a rather awkward natural line break.  I suggest an RFC Editor
> note to make sure that the punctuation around the space character all
> appears on the same line.

RFC Editor note added, near the top of the draft.



>   3.  On the following line, insert any number of space (' ')
>       characters.
>=20
> I'm not sure I'd characterize the procedure as "complete" when it =
leaves
> the value of the output subject to implementation choice such as this.
> (Note that the next paragraph talks about the resulting "arbitrary
> number of space" characters, and would presumably also need to be
> adjusted if this text was adjusted.)
> We also don't seem to bound this number of spaces to be fewer than the
> target line length, which only matters in some weirdly pedantic sense.

Added "subject to the resulting line not exceeding the desired maximum" =
to both locations in the draft.



> Section 7.2.2
>=20
>   Scan the beginning of the text content for the header described in
>   Section 7.1.1.  If the header is not present, starting on the first
>   line of the text content, exit (this text contents does not need to
>   be unfolded).
>=20
> I'm not sure I understand what "starting on the first line of the text
> content" is intended to mean.  (Also in 8.2.2.)

I think you are saying that it seems overly prescriptive, given that the =
previous sentence says "beginning" and "header", it defies logic that =
the header might not start on the first line and, by this text calling =
it out, it suggests something special is going on.   Is this what you =
mean?   To be clear, the only intention here is to catch the case =
whereby there might be, e.g., some blank lines preceding the header.   =
Do you think the "starting on the first line of the text content" =
fragment should be removed?



> Section 8.2.1
>=20
>   If this text content needs to and can be folded, insert the header
>   described in Section 8.1.1, ensuring that any additional printable
>   characters surrounding the header do not result in a line exceeding
>   the desired maximum.
>=20
> We discussed above some cases when text could not be folded using the
> algorithm from Section 7.2.1; in what case could text not be folded =
with
> this algorithm?  Just the case when the implementation doesn't support
> forced folding?

Yes, that's the only case known.   But what does this have to do with =
Section 8.2.1?  Are you keying off of the "needs to" part?   Is it okay?



> Section 10
>=20
> We should warn against implementations scanning past the end of a =
buffer
> (containing the entire contents of a file) when checking what's in the
> beginning of the next line -- if a file ends with a backslash and "end
> of line" but no further content, we could perform an out of bounds
> access if the code assumes it is safe to check for the next line's
> initial content.

Both Sections 7.2.2 and 8.2.2 describe conditions to determine when =
unfolding occurs. AFIACT, in both cases, the unfolding algorithm stays =
within the bounds of those conditions. =20

For instance, given the input sequence [ '\' '\n' EOF] , the 7.2.2 =
algorithm would replace it with [ EOF ] and the 8.2.2 algorithm wouldn't =
even attempt to unfold it since the condition of the next line =
containing a second '\' character isn't met.

Is this Security Consideration needed?



> Section 12.2
>=20
> I think that RFC 7991 could be normative, since we say "per RFC 7991" =
to
> describe some requirements on behavior.  Likewise for RFC 7994, whose
> character encoding requirements we incorporate by reference.

Given that this format may be used in contexts outside the IETF, it =
seems that understanding RFC 7991 is optional.  Agreed?



> Appendix A
>=20
> I could perhaps argue that we should include a reference to POSIX for
> "POSIX shell script" but find it somewhat hard to believe that this
> would be a problem in practice.  It's also moot since we require bash
> specifically, so we'd need to reference bash instead of POSIX.

Per above, "POSIX" is now "Bash" in the title.   I added an Informative =
reference for Bash.


>   copy/paste the script for local use.  As should be evident by the
>   lack of the mandatory header described in Section 7.1.1, these
>   backslashes do not designate a folded line, such as described in
>   Section 7.
>=20
> It perhaps should be, but I think currently is not -- we only talk =
about
> using the two-line header to detect instances of folding, without
> mention of a requirement to be contained within <CODE BEGINS>/<CODE
> ENDS> or similar.

Correct.  The 2-line header is missing.  That <CODE BEGINS>/<CODE ENDS> =
appears is secondary.  Is there anything to be done here?



> It seems that my perception of "common shell style" diverges from that
> presented in this document, which is not necessarily problematic.
> (Things like what diagnostics go to stdout vs. stderr, use or ">
> /dev/null" vs ">> /dev/null", etc.)

I fixed one "> /dev/null" case.

As for style, we could review line by line but, for the cases where =
output is directed to /dev/null/, it's unclear where the output is =
needed, only the exit code status ever seems to matter. =20


>     printf "Usage: rfcfold [-s <strategy>] [-c <col>] [-r] -i =
<infile>"
>     printf " -o <outfile>\n"
>=20
> This summary usage line doesn't mention -d, -q, or -h.  (Maybe it
> doesn't have to, of course.)

Added.


>     # ensure input file doesn't contain a TAB
>     grep $'\t' $infile >> /dev/null 2>&1
>=20
> (`grep -q` is a thing, here and elsewhere.)

Added.


>     # unfold wip file
>     "$SED" '{H;$!d};x;s/^\n//;s/\\\n *//g' $temp_dir/wip > $outfile
>=20
> [I don't remember why the s/^\n// is needed; similarly for the
> unfold_it_2() case.]

Erik responded to this point already.


>     if [[ $strategy -eq 2 ]]; then
>       min_supported=3D`expr ${#hdr_txt_2} + 8`
>     else
>       min_supported=3D`expr ${#hdr_txt_1} + 8`
>     fi
>=20
> On the face of it this seems like it will produce "folded" output that
> exceeds the line length, when we give min_supported of 54, use
> autodetection of strategy, and have input that is incompatible with
> fold_it_1().

Fixed off-by-one error.



>     process_input $@
>=20
> Need double-quotes around "$@" to properly handle arguments with
> embedded spaces.

Added.


Kent // as co-author



--Apple-Mail=_1EF271D6-7CC1-4FEE-A73D-3C3755F9C368
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Ben,<br class=3D""><br class=3D"">Thank you for your review. =
&nbsp;Comments below.<br class=3D""><br class=3D"">Update @&nbsp;<a =
href=3D"https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10" =
class=3D"">https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-1=
0</a><div class=3D""><br class=3D""></div><div class=3D"">Kent // as =
co-author<div class=3D""><br class=3D""><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On Sep 5, 2019, at 2:07 AM, =
Benjamin Kaduk via Datatracker &lt;<a href=3D"mailto:noreply@ietf.org" =
class=3D"">noreply@ietf.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div =
class=3D"">Benjamin Kaduk has entered the following ballot position =
for<br class=3D"">draft-ietf-netmod-artwork-folding-09: Discuss<br =
class=3D""><br class=3D"">When responding, please keep the subject line =
intact and reply to all<br class=3D"">email addresses included in the To =
and CC lines. (Feel free to cut this<br class=3D"">introductory =
paragraph, however.)<br class=3D""><br class=3D""><br class=3D"">Please =
refer to <a =
href=3D"https://www.ietf.org/iesg/statement/discuss-criteria.html" =
class=3D"">https://www.ietf.org/iesg/statement/discuss-criteria.html</a><b=
r class=3D"">for more information about IESG DISCUSS and COMMENT =
positions.<br class=3D""><br class=3D""><br class=3D"">The document, =
along with other ballot positions, can be found here:<br class=3D""><a =
href=3D"https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding=
/" =
class=3D"">https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-fold=
ing/</a><br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">DISCUSS:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">I think the procedures described =
herein are incomplete without a footer<br class=3D"">to terminate the =
un-folding process. &nbsp;Otherwise, it seems that the<br =
class=3D"">described algorithms would leave the two-line header for the =
second and<br class=3D"">subsequent instances of folded text in a single =
document. &nbsp;(If we tried<br class=3D"">to just blindly remove all =
instances of the header without seeking<br class=3D"">boundaries, then =
we would misreconstruct content when different folding<br =
class=3D"">algorithms are used in the same document with the =
single-backslash<br class=3D"">algorithm occurring first.)<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Are =
you referring to when an RFC contains multiple inclusions and one is =
trying to unfold them all at once? &nbsp; That's not the intention here, =
as noted in paragraph 3 in both sections 7.2 and 8.2. &nbsp;FWIW, this =
sounds like the framing problem that the WG discussed with the =
conclusion that extracting from plain-text is dead, now that XML is the =
required submission format, and XML provides a superior framing =
mechanism than any footer we could add.</div><div><br =
class=3D""></div><div>BTW, yes, each text inclusion in a single RFC may =
independently be folded using either the '\' or '\\' strategy, with the =
recommendation that '\' always be tried first and '\\' only used when =
'\' fails.</div><div><br class=3D""></div><div>If referring to a single =
text content instance, could you provide an example illustrating the =
concern?</div><div><br class=3D""></div><div><br class=3D""></div><div><br=
 class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div=
 class=3D""><div class=3D"">I don't think it's proper to refer to a =
script that requires bash<br class=3D"">specifically as a "POSIX shell =
script". &nbsp;I did not attmept to check<br class=3D"">whether any =
bash-specific features are used or this requirements stems<br =
class=3D"">solely from the shebang line, though.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>I =
just changed "POSIX" to "Bash" in the title for Appendix =
A.</div><div><br class=3D""></div><div>Not that it matters, but =
"--posix" is passed into `bash` on the first line of the script =
&nbsp;;)</div><div><br class=3D""></div><div><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">I think the shell script does need to use double-quotes =
around some<br class=3D"">variable expansions, especially "$infile" and =
"$outfile", to work<br class=3D"">properly for filenames containing =
spaces. &nbsp;We do quote "$infile" when<br class=3D"">we're checking =
that it exists, just not (most of the time) when we<br class=3D"">actually=
 use it!<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Updated.</div><div><br class=3D""></div><div><br =
class=3D""></div><div><br class=3D""></div><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D"">In addition to the above, I =
also share Alissa's (and Mirja's) concerns,<br class=3D"">but feel that =
Discuss is more appropriate than Abstain, so we can discuss<br =
class=3D"">what the best way to get this content published is. &nbsp;For =
it's fine<br class=3D"">content, and we should see it published; it's =
just not immediately clear<br class=3D"">to me what the right way to do =
so is.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Agreed. &nbsp; For now, I've changed it to =
Informational, but I think there remains a discussion around if the =
draft should be re-rerun through the IAB stream. &nbsp; My responses =
today to Alissa's Abstain and Suresh Discuss dig into this. &nbsp;Is it =
okay to use those threads for this item?</div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">COMMENT:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">Section 4.1<br class=3D""><br =
class=3D""> &nbsp;&nbsp;Automated folding of long lines is needed in =
order to support draft<br class=3D""> &nbsp;&nbsp;compilations that =
entail a) validation of source input files (e.g.,<br class=3D""> =
&nbsp;&nbsp;XML, JSON, ABNF, ASN.1) and/or b) dynamic generation of =
output, using<br class=3D""> &nbsp;&nbsp;a tool that doesn't observe =
line lengths, that is stitched into the<br class=3D""> &nbsp;&nbsp;final =
document to be submitted.<br class=3D""><br class=3D"">I don't think the =
intended meaning of "source input files" will be clear<br class=3D"">to =
all readers just from this text. &nbsp;Some discussion of how RFCs =
can<br class=3D"">consider source code, data structures, generated =
output, etc., that have<br class=3D"">standalone representations and =
natural formats, and the need to display<br class=3D"">their contents in =
the RFC format that has different requirements might<br class=3D"">be =
helpful context for this paragraph and the next.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Is =
the updated text more understandable?</div><div><br =
class=3D""></div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"">Section =
7.1.2<br class=3D""><br class=3D"">For some reason my mental model of =
"RFC style" does not use the word<br class=3D"">"really" in this way, =
and prefers alternatives like "very" or<br class=3D"">"exceptionally". =
&nbsp;(Also in Section 8.1.2.)<br =
class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>s/Really/Exceptionally/ in both =
cases.</div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"">Section =
7.2.1<br class=3D""><br class=3D""> &nbsp;&nbsp;1. &nbsp;Determine where =
the fold will occur. &nbsp;This location MUST be<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;before or at the desired maximum =
column, and MUST NOT be chosen<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;such that the character immediately =
after the fold is a space ('<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;') character. &nbsp;For forced =
foldings, the location is between the<br class=3D""><br class=3D"">This =
is a rather awkward natural line break. &nbsp;I suggest an RFC Editor<br =
class=3D"">note to make sure that the punctuation around the space =
character all<br class=3D"">appears on the same line.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>RFC =
Editor note added, near the top of the draft.</div><div><br =
class=3D""></div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D""> &nbsp;&nbsp;3. =
&nbsp;On the following line, insert any number of space (' ')<br =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;characters.<br =
class=3D""><br class=3D"">I'm not sure I'd characterize the procedure as =
"complete" when it leaves<br class=3D"">the value of the output subject =
to implementation choice such as this.<br class=3D"">(Note that the next =
paragraph talks about the resulting "arbitrary<br class=3D"">number of =
space" characters, and would presumably also need to be<br =
class=3D"">adjusted if this text was adjusted.)<br class=3D"">We also =
don't seem to bound this number of spaces to be fewer than the<br =
class=3D"">target line length, which only matters in some weirdly =
pedantic sense.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Added "subject to the resulting line not exceeding =
the desired maximum" to both locations in the draft.</div><div><br =
class=3D""></div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"">Section =
7.2.2<br class=3D""><br class=3D""> &nbsp;&nbsp;Scan the beginning of =
the text content for the header described in<br class=3D""> =
&nbsp;&nbsp;Section 7.1.1. &nbsp;If the header is not present, starting =
on the first<br class=3D""> &nbsp;&nbsp;line of the text content, exit =
(this text contents does not need to<br class=3D""> &nbsp;&nbsp;be =
unfolded).<br class=3D""><br class=3D"">I'm not sure I understand what =
"starting on the first line of the text<br class=3D"">content" is =
intended to mean. &nbsp;(Also in 8.2.2.)<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>I =
think you are saying that it seems overly prescriptive, given that the =
previous sentence says "beginning" and "header", it defies logic that =
the header might not start on the first line and, by this text calling =
it out, it suggests something special is going on. &nbsp; Is this what =
you mean? &nbsp; To be clear, the only intention here is to catch the =
case whereby there might be, e.g., some blank lines preceding the =
header. &nbsp; Do you think the "starting on the first line of the text =
content" fragment should be removed?</div><div><br =
class=3D""></div><div><br class=3D""></div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D"">Section =
8.2.1<br class=3D""><br class=3D""> &nbsp;&nbsp;If this text content =
needs to and can be folded, insert the header<br class=3D""> =
&nbsp;&nbsp;described in Section 8.1.1, ensuring that any additional =
printable<br class=3D""> &nbsp;&nbsp;characters surrounding the header =
do not result in a line exceeding<br class=3D""> &nbsp;&nbsp;the desired =
maximum.<br class=3D""><br class=3D"">We discussed above some cases when =
text could not be folded using the<br class=3D"">algorithm from Section =
7.2.1; in what case could text not be folded with<br class=3D"">this =
algorithm? &nbsp;Just the case when the implementation doesn't =
support<br class=3D"">forced folding?<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Yes, =
that's the only case known. &nbsp; But what does this have to do with =
Section 8.2.1? &nbsp;Are you keying off of the "needs to" part? &nbsp; =
Is it okay?</div><div><br class=3D""></div><div><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">Section 10<br class=3D""><br class=3D"">We should warn =
against implementations scanning past the end of a buffer<br =
class=3D"">(containing the entire contents of a file) when checking =
what's in the<br class=3D"">beginning of the next line -- if a file ends =
with a backslash and "end<br class=3D"">of line" but no further content, =
we could perform an out of bounds<br class=3D"">access if the code =
assumes it is safe to check for the next line's<br class=3D"">initial =
content.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div>Both Sections 7.2.2 and 8.2.2 describe conditions to =
determine when unfolding occurs. AFIACT, in both cases, the unfolding =
algorithm stays within the bounds of those conditions. =
&nbsp;</div><div><br class=3D""></div><div>For instance, given the input =
sequence [ '\' '\n' EOF] , the 7.2.2 algorithm would replace it with [ =
EOF ] and the 8.2.2 algorithm wouldn't even attempt to unfold it since =
the condition of the next line containing a second '\' character isn't =
met.</div><div><br class=3D""></div><div>Is this Security Consideration =
needed?</div><div><br class=3D""></div><div><br class=3D""></div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">Section 12.2<br class=3D""><br class=3D"">I think that RFC =
7991 could be normative, since we say "per RFC 7991" to<br =
class=3D"">describe some requirements on behavior. &nbsp;Likewise for =
RFC 7994, whose<br class=3D"">character encoding requirements we =
incorporate by reference.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Given that this format may be used in contexts =
outside the IETF, it seems that understanding RFC 7991 is optional. =
&nbsp;Agreed?</div><div><br class=3D""></div><div><br class=3D""></div><br=
 class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">Appendix A<br class=3D""><br class=3D"">I could perhaps argue =
that we should include a reference to POSIX for<br class=3D"">"POSIX =
shell script" but find it somewhat hard to believe that this<br =
class=3D"">would be a problem in practice. &nbsp;It's also moot since we =
require bash<br class=3D"">specifically, so we'd need to reference bash =
instead of POSIX.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Per above, "POSIX" is now "Bash" in the title. =
&nbsp; I added an Informative reference for Bash.</div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D"">&nbsp; copy/paste the script for local use. =
&nbsp;As should be evident by the<br class=3D""> &nbsp;&nbsp;lack of the =
mandatory header described in Section 7.1.1, these<br class=3D""> =
&nbsp;&nbsp;backslashes do not designate a folded line, such as =
described in<br class=3D""> &nbsp;&nbsp;Section 7.<br class=3D""><br =
class=3D"">It perhaps should be, but I think currently is not -- we only =
talk about<br class=3D"">using the two-line header to detect instances =
of folding, without<br class=3D"">mention of a requirement to be =
contained within &lt;CODE BEGINS&gt;/&lt;CODE<br class=3D"">ENDS&gt; or =
similar.<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div style=3D"orphans: 2; widows: 2;">Correct. =
&nbsp;The 2-line header is missing. &nbsp;That&nbsp;&lt;CODE =
BEGINS&gt;/&lt;CODE&nbsp;ENDS&gt; appears is secondary. &nbsp;Is there =
anything to be done here?<br class=3D""><br class=3D""></div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D"">It seems that my perception of "common shell =
style" diverges from that<br class=3D"">presented in this document, =
which is not necessarily problematic.<br class=3D"">(Things like what =
diagnostics go to stdout vs. stderr, use or "&gt;<br class=3D"">/dev/null"=
 vs "&gt;&gt; /dev/null", etc.)<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>I =
fixed one "&gt; /dev/null" case.</div><div><br class=3D""></div><div>As =
for style, we could review line by line but, for the cases where output =
is directed to /dev/null/, it's unclear where the output is needed, only =
the exit code status ever seems to matter. &nbsp;</div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D"">&nbsp; &nbsp; printf "Usage: rfcfold [-s =
&lt;strategy&gt;] [-c &lt;col&gt;] [-r] -i &lt;infile&gt;"<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;printf " -o &lt;outfile&gt;\n"<br class=3D""><br =
class=3D"">This summary usage line doesn't mention -d, -q, or -h. =
&nbsp;(Maybe it<br class=3D"">doesn't have to, of course.)<br =
class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Added.</div><div><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">&nbsp; &nbsp; # ensure input file doesn't contain a TAB<br =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;grep $'\t' $infile &gt;&gt; =
/dev/null 2&gt;&amp;1<br class=3D""><br class=3D"">(`grep -q` is a =
thing, here and elsewhere.)<br =
class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Added.</div><div><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;# unfold wip file<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;"$SED" '{H;$!d};x;s/^\n//;s/\\\n *//g' =
$temp_dir/wip &gt; $outfile<br class=3D""><br class=3D"">[I don't =
remember why the s/^\n// is needed; similarly for the<br =
class=3D"">unfold_it_2() case.]<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Erik =
responded to this point already.</div><div><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">&nbsp; &nbsp; if [[ $strategy -eq 2 ]]; then<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_supported=3D`expr ${#hdr_txt_2} =
+ 8`<br class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;else<br class=3D""> =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;min_supported=3D`expr ${#hdr_txt_1} =
+ 8`<br class=3D""> &nbsp;&nbsp;&nbsp;&nbsp;fi<br class=3D""><br =
class=3D"">On the face of it this seems like it will produce "folded" =
output that<br class=3D"">exceeds the line length, when we give =
min_supported of 54, use<br class=3D"">autodetection of strategy, and =
have input that is incompatible with<br class=3D"">fold_it_1().<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Fixed =
off-by-one error.</div><div><br class=3D""></div><div><br =
class=3D""></div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D"">&nbsp; &nbsp; process_input $@<br =
class=3D""><br class=3D"">Need double-quotes around "$@" to properly =
handle arguments with<br class=3D"">embedded spaces.<br =
class=3D""></div></div></blockquote><div><br =
class=3D""></div><div><div>Added.</div><div class=3D""><br =
class=3D""></div></div><div><br class=3D""></div></div></div><div =
class=3D"">Kent // as co-author</div><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""></div></div></body></html>=

--Apple-Mail=_1EF271D6-7CC1-4FEE-A73D-3C3755F9C368--


From nobody Thu Sep  5 15:04:13 2019
Return-Path: <0100016d03744774-f6d771b0-9c05-42e5-9e1a-58c018fb0325-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E3E1D120B4E; Thu,  5 Sep 2019 15:03:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 Rqw9QKExMBIG; Thu,  5 Sep 2019 15:03:37 -0700 (PDT)
Received: from a8-31.smtp-out.amazonses.com (a8-31.smtp-out.amazonses.com [54.240.8.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A57EC120B20; Thu,  5 Sep 2019 15:03:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567721015; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=NF5CG2PyKqF3wVYK2+bK5tOjmp2NiIpN7Cn5aTPrM7o=; b=MzWoID2RyaSRF1juTtfomE/NyKkyzkgjjZqabUqaHA9Zn58z/yFsb1i6Dv8TtU6N k6Y5SKUfYkxAyUzf4GcC0/WfiNrCQ6pcJSMHCWOBJm1Ia2t8VH4gszdlf0hE3tiY5HD cJtxrqwMN7Iml1pS6yjMlafgXZ8SG7O1j2tiKWjI=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d03744774-f6d771b0-9c05-42e5-9e1a-58c018fb0325-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_E4E36897-A45C-4C2B-980B-B555B13DA821"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 22:03:35 +0000
In-Reply-To: <156755725979.20611.1246275298689979326.idtracker@ietfa.amsl.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
To: Adam Roach <adam@nostrum.com>
References: <156755725979.20611.1246275298689979326.idtracker@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.31
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UmmCSQhQnyc_8-ECbTQCUoDcvFA>
Subject: Re: [netmod] Adam Roach's No Objection on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 22:03:48 -0000

--Apple-Mail=_E4E36897-A45C-4C2B-980B-B555B13DA821
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi Adam,

Thank you for your review.  Comments below.

Update @ =
https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10 =
<https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10>

Kent // as co-author


> On Sep 3, 2019, at 8:34 PM, Adam Roach via Datatracker =
<noreply@ietf.org> wrote:
>=20
> Adam Roach has entered the following ballot position for
> draft-ietf-netmod-artwork-folding-09: No Objection
>=20
> When responding, please keep the subject line intact and reply to all
> email addresses included in the To and CC lines. (Feel free to cut =
this
> introductory paragraph, however.)
>=20
>=20
> Please refer to =
https://www.ietf.org/iesg/statement/discuss-criteria.html
> for more information about IESG DISCUSS and COMMENT positions.
>=20
>=20
> The document, along with other ballot positions, can be found here:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
>=20
>=20
>=20
> ----------------------------------------------------------------------
> COMMENT:
> ----------------------------------------------------------------------
>=20
> Thanks for taking on this work to fill a hole in the tools that
> we have for production of RFCs. I have one fairly major comment
> and several editorial suggestions.
>=20
> =
--------------------------------------------------------------------------=
-
>=20
> Abstract:
>=20
>> This document defines two strategies for handling long lines in
>> width-bounded text content.  One strategy is based on the historic
>> use of a single backslash ('\') character to indicate where line-
>=20
> Nit: "historical"

Fixed.


> =
--------------------------------------------------------------------------=
-
>=20
> =C2=A71:
>=20
>> According to the RFC Editor,
>> there is currently no convention in place for how to handle long
>> lines in such inclusions, other than advising authors to clearly
>> indicate what manipulation has occurred.
>=20
> This won't age well. Perhaps "Historically, there has been no
> RFC-Editor-recommended convention in place for how to handle..."

Suggested text incorporated.


> =
--------------------------------------------------------------------------=
-
>> This document defines two strategies for handling long lines in
>> width-bounded text content.  One strategy is based on the historic
>> use of a single backslash ('\') character to indicate where line-
>=20
> Nit: "historical"

Fixed.


> =
--------------------------------------------------------------------------=
-
>=20
> =C2=A77.1.1:
>=20
>>  NOTE: '\' line wrapping per BCP XXX (RFC XXXX)
>=20
> Using this string as the start of the specially-wrapped section
> seems somewhat problematic, as it forecloses on the possibility
> of also *citing* this BCP at that point in the document. For example,
> if I were to use this format, I would definitely want to use a string
> more of the format:
>=20
>    NOTE: '\' line wrapping per BCP XXX ([RFC XXXX])
>=20
> (taking note of the added brackets).
>=20
> If this has already been debated in the working group and the current =
text
> is the result of carefully considering this issue and deciding that =
the
> use of the specified string has benefits that outweigh the drawback of
> not being able to cite the document per ordinary convention, then =
don't afford
> my suggestion any undue weight. I'm not trying to change a consensus =
decision.
>=20
> But if this is a simple oversight, I think it does need to be given
> significant thought. For example, I personally am rather likely to =
elect to do
> things "the old way" in my own documents rather than using this format =
because
> of the awkwardness of properly citing a normative reference.
>=20
> This same comment applies to =C2=A78.1.1, of course.

Unsure.  To provide context, YANG modules many times include references =
to RFCs in artwork sections.  I used to put these references inside =
square brackets, but the RFC Editors would convert them to parentheses.  =
I have since moved to using parentheses, e.g., "(RFC XXXX)", in artwork =
and haven't experienced any corrections since.

Leaving as is for now.



> =
--------------------------------------------------------------------------=
-
>=20
>> Appendix A.  POSIX Shell Script: rfcfold
>=20
> Please add [POSIX.1-2017] as a reference.

I've replaced "POSIX" with "Bash", and added a reference for Bash.


Kent // as co-author








--Apple-Mail=_E4E36897-A45C-4C2B-980B-B555B13DA821
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Adam,<br class=3D""><br class=3D"">Thank you for your review. =
&nbsp;Comments below.<br class=3D""><br class=3D"">Update @&nbsp;<a =
href=3D"https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10" =
class=3D"">https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-1=
0</a><div class=3D""><br class=3D"">Kent // as co-author<div =
class=3D""><br class=3D""><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D"">On Sep 3, 2019, at 8:34 PM, Adam Roach via =
Datatracker &lt;<a href=3D"mailto:noreply@ietf.org" =
class=3D"">noreply@ietf.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">Adam =
Roach has entered the following ballot position for<br =
class=3D"">draft-ietf-netmod-artwork-folding-09: No Objection<br =
class=3D""><br class=3D"">When responding, please keep the subject line =
intact and reply to all<br class=3D"">email addresses included in the To =
and CC lines. (Feel free to cut this<br class=3D"">introductory =
paragraph, however.)<br class=3D""><br class=3D""><br class=3D"">Please =
refer to <a =
href=3D"https://www.ietf.org/iesg/statement/discuss-criteria.html" =
class=3D"">https://www.ietf.org/iesg/statement/discuss-criteria.html</a><b=
r class=3D"">for more information about IESG DISCUSS and COMMENT =
positions.<br class=3D""><br class=3D""><br class=3D"">The document, =
along with other ballot positions, can be found here:<br class=3D""><a =
href=3D"https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding=
/" =
class=3D"">https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-fold=
ing/</a><br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">COMMENT:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">Thanks for taking on this work to =
fill a hole in the tools that<br class=3D"">we have for production of =
RFCs. I have one fairly major comment<br class=3D"">and several =
editorial suggestions.<br class=3D""><br =
class=3D"">---------------------------------------------------------------=
------------<br class=3D""><br class=3D"">Abstract:<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D""> This document defines =
two strategies for handling long lines in<br class=3D""> width-bounded =
text content. &nbsp;One strategy is based on the historic<br class=3D""> =
use of a single backslash ('\') character to indicate where line-<br =
class=3D""></blockquote><br class=3D"">Nit: "historical"<br =
class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Fixed.</div></div><div><br class=3D""></div><div><br=
 class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">---------------------------------------------------------------=
------------<br class=3D""><br class=3D"">=C2=A71:<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D""> According to the RFC =
Editor,<br class=3D""> there is currently no convention in place for how =
to handle long<br class=3D""> lines in such inclusions, other than =
advising authors to clearly<br class=3D""> indicate what manipulation =
has occurred.<br class=3D""></blockquote><br class=3D"">This won't age =
well. Perhaps "Historically, there has been no<br =
class=3D"">RFC-Editor-recommended convention in place for how to =
handle..."<br class=3D""></div></div></blockquote><div><br =
class=3D""></div><div>Suggested text incorporated.</div><div><br =
class=3D""></div><div><br class=3D""></div><div><blockquote type=3D"cite" =
class=3D"">---------------------------------------------------------------=
------------</blockquote></div><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D""><blockquote type=3D"cite" class=3D""> This =
document defines two strategies for handling long lines in<br class=3D""> =
width-bounded text content. &nbsp;One strategy is based on the =
historic<br class=3D""> use of a single backslash ('\') character to =
indicate where line-<br class=3D""></blockquote><br class=3D"">Nit: =
"historical"<br class=3D""></div></div></blockquote><div><br =
class=3D""></div>Fixed.</div><div><br class=3D""></div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">---------------------------------------------------------------=
------------<br class=3D""><br class=3D"">=C2=A77.1.1:<br class=3D""><br =
class=3D""><blockquote type=3D"cite" class=3D""> &nbsp;NOTE: '\' line =
wrapping per BCP XXX (RFC XXXX)<br class=3D""></blockquote><br =
class=3D"">Using this string as the start of the specially-wrapped =
section<br class=3D"">seems somewhat problematic, as it forecloses on =
the possibility<br class=3D"">of also *citing* this BCP at that point in =
the document. For example,<br class=3D"">if I were to use this format, I =
would definitely want to use a string<br class=3D"">more of the =
format:<br class=3D""><br class=3D""> &nbsp;&nbsp;&nbsp;NOTE: '\' line =
wrapping per BCP XXX ([RFC XXXX])<br class=3D""><br class=3D"">(taking =
note of the added brackets).<br class=3D""><br class=3D"">If this has =
already been debated in the working group and the current text<br =
class=3D"">is the result of carefully considering this issue and =
deciding that the<br class=3D"">use of the specified string has benefits =
that outweigh the drawback of<br class=3D"">not being able to cite the =
document per ordinary convention, then don't afford<br class=3D"">my =
suggestion any undue weight. I'm not trying to change a consensus =
decision.<br class=3D""><br class=3D"">But if this is a simple =
oversight, I think it does need to be given<br class=3D"">significant =
thought. For example, I personally am rather likely to elect to do<br =
class=3D"">things "the old way" in my own documents rather than using =
this format because<br class=3D"">of the awkwardness of properly citing =
a normative reference.<br class=3D""><br class=3D"">This same comment =
applies to =C2=A78.1.1, of course.<br =
class=3D""></div></div></blockquote><div><br class=3D""></div><div>Unsure.=
 &nbsp;To provide context, YANG modules many times include references to =
RFCs in artwork sections. &nbsp;I used to put these references inside =
square brackets, but the RFC Editors would convert them to parentheses. =
&nbsp;I have since moved to using parentheses, e.g., "(RFC XXXX)", in =
artwork and haven't experienced any corrections since.</div><div><br =
class=3D""></div><div>Leaving as is for now.</div><div><br =
class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div><blockquote type=3D"cite" class=3D""><div class=3D""><div=
 =
class=3D"">---------------------------------------------------------------=
------------<br class=3D""><br class=3D""><blockquote type=3D"cite" =
class=3D"">Appendix A. &nbsp;POSIX Shell Script: rfcfold<br =
class=3D""></blockquote><br class=3D"">Please add [POSIX.1-2017] as a =
reference.<br class=3D""></div></div></blockquote><br =
class=3D""></div><div>I've replaced "POSIX" with "Bash", and added a =
reference for Bash.</div><div><br class=3D""></div><div><br =
class=3D""></div><div>Kent // as co-author</div><div><br =
class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div><div><br class=3D""></div><div><br =
class=3D""></div><div><br class=3D""></div><br =
class=3D""></div></div></body></html>=

--Apple-Mail=_E4E36897-A45C-4C2B-980B-B555B13DA821--


From nobody Thu Sep  5 15:07:44 2019
Return-Path: <0100016d0377e0e9-e6681359-e9e8-40b3-91fb-82c8b13c4597-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D0EF0120232; Thu,  5 Sep 2019 15:07:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level: 
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 2q4Fe5QzbmLn; Thu,  5 Sep 2019 15:07:33 -0700 (PDT)
Received: from a8-33.smtp-out.amazonses.com (a8-33.smtp-out.amazonses.com [54.240.8.33]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B510120817; Thu,  5 Sep 2019 15:07:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1567721251; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:In-Reply-To:Cc:To:References:Feedback-ID; bh=iA/bixqDhhfmEGFLGZUzBbk7n6l8oW9cEC72uLCeAWw=; b=VL52HGJ8a0nDsh7J6YdEhur0nSa2S5HomQxWL9KI7gzovvEh8x6XALMsZwnZSJHP yShq6klVyrlIV5hL37p6dgnVhGKCZSVAL0JvgfwjcDLKy0ib09LYVUdftPus+g92HYr YvP0Qy/s/rn4BvaELD5V9uDU4ZtgpvCfjtJM5yT4=
From: Kent Watsen <kent+ietf@watsen.net>
Message-ID: <0100016d0377e0e9-e6681359-e9e8-40b3-91fb-82c8b13c4597-000000@email.amazonses.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_980527BD-6CF3-4DEC-93C0-2D441A857530"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Thu, 5 Sep 2019 22:07:31 +0000
In-Reply-To: <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@email.amazonses.com>
Cc: The IESG <iesg@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, Lou Berger <lberger@labn.net>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
To: Suresh Krishnan <suresh@kaloom.com>
References: <156769446677.22608.7381486936621146842.idtracker@ietfa.amsl.com> <0100016d0265ae6e-cda03694-9b45-4d83-b1e6-461849aceb79-000000@email.amazonses.com>
X-Mailer: Apple Mail (2.3445.104.11)
X-SES-Outgoing: 2019.09.05-54.240.8.33
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/8mI4g1glCo2VeBF1J8Y5xnbud2s>
Subject: Re: [netmod] Suresh Krishnan's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Sep 2019 22:07:35 -0000

--Apple-Mail=_980527BD-6CF3-4DEC-93C0-2D441A857530
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Suresh,=20

Please see =
https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10 =
<https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10> for =
updates.  It's now Informational.

Kent // as co-author




> On Sep 5, 2019, at 1:08 PM, Kent Watsen <kent+ietf@watsen.net> wrote:
>=20
> Hi Suresh,
>=20
> Thank you for your review.  Comments below.
>=20
> Kent // as co-author
>=20
>=20
>> On Sep 5, 2019, at 10:41 AM, Suresh Krishnan via Datatracker =
<noreply@ietf.org <mailto:noreply@ietf.org>> wrote:
>>=20
>> Suresh Krishnan has entered the following ballot position for
>> draft-ietf-netmod-artwork-folding-09: Discuss
>>=20
>> When responding, please keep the subject line intact and reply to all
>> email addresses included in the To and CC lines. (Feel free to cut =
this
>> introductory paragraph, however.)
>>=20
>>=20
>> Please refer to =
https://www.ietf.org/iesg/statement/discuss-criteria.html =
<https://www.ietf.org/iesg/statement/discuss-criteria.html>
>> for more information about IESG DISCUSS and COMMENT positions.
>>=20
>>=20
>> The document, along with other ballot positions, can be found here:
>> https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/ =
<https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/>
>>=20
>>=20
>>=20
>> =
----------------------------------------------------------------------
>> DISCUSS:
>> =
----------------------------------------------------------------------
>>=20
>> After some thought I think there are two things about this document =
that make
>> me uncomfortable enough to ballot Discuss.
>>=20
>> a) Due to its home in the netmod WG it is highly likely that people =
outside the
>> yang community have not paid enough attention to this work. Since =
this is
>> applicable to code fragments of all kinds, I think the home chosen =
for this RFC
>> might have inadvertently limited input from the broader community.
>=20
> Agreed.  The original I-D was targeted for IAB stream.  It wasn't =
going to be presented in NETMOD, but did (by coercion).  During the =
presentation I mentioned that its applicability was more than NETMOD and =
that it should go thru IAB, just like the "xml2rfc" RFCs (7749 and =
7991).  The working group felt that it should stay in the WG and hence =
here we are.  :sigh:
>=20
>=20
>> b) Given a) I think it is better that this document go forward as an
>> Informational document rather than a BCP so that use of this =
technique becomes
>> optional, without the force of a BCP behind it.
>=20
> I'm okay with this, modulo my comment to Alissa.   Actually, if we =
only view the RFC as specifying a format then, in my mind, it doesn't =
actually contain the "best practice".  FWIW, SHOULD appears only once, =
in a sentence stating that folding SHOULD be automated, in a section =
titled "Goals".  That said, if not a BCP, then how to encourage people =
to use it, so that automation works?  For this reason alone, it seems =
that either the draft should be a BCP or Datatracker is updated to =
auto-fold as needed.  Perhaps  the right answer is to do Informational =
now and hope that Datatracker is updated in time?
>=20
>=20
>=20
>> =
----------------------------------------------------------------------
>> COMMENT:
>> =
----------------------------------------------------------------------
>>=20
>> I do agree with my Abstaining colleagues that this should probably =
not be on
>> the IETF stream but I think the work is useful enough to go forward.
>=20
> It should've been on the IAB stream.  Whether it should go forward, =
after having the BCP attribute removed, or re-run via the IAB stream is =
up to the IESG.
>=20
>=20
> Kent // as co-author
>=20
>=20


--Apple-Mail=_980527BD-6CF3-4DEC-93C0-2D441A857530
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Suresh,&nbsp;<div class=3D""><br class=3D""></div><div class=3D"">Please =
see&nbsp;<a =
href=3D"https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10" =
class=3D"">https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-1=
0</a>&nbsp;for updates. &nbsp;It's now Informational.</div><div =
class=3D""><br class=3D""></div><div class=3D"">Kent // as =
co-author</div><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D"">On Sep =
5, 2019, at 1:08 PM, Kent Watsen &lt;<a =
href=3D"mailto:kent+ietf@watsen.net" =
class=3D"">kent+ietf@watsen.net</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><meta =
http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii" =
class=3D""><div style=3D"word-wrap: break-word; -webkit-nbsp-mode: =
space; line-break: after-white-space;" class=3D"">Hi Suresh,<div =
class=3D""><br class=3D""></div><div class=3D"">Thank you for your =
review. &nbsp;Comments below.</div><div class=3D""><br =
class=3D""></div><div class=3D"">Kent // as co-author</div><div =
class=3D""><br class=3D""><div class=3D""><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On Sep 5, 2019, at 10:41 AM, =
Suresh Krishnan via Datatracker &lt;<a href=3D"mailto:noreply@ietf.org" =
class=3D"">noreply@ietf.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><div class=3D"">Suresh=
 Krishnan has entered the following ballot position for<br =
class=3D"">draft-ietf-netmod-artwork-folding-09: Discuss<br class=3D""><br=
 class=3D"">When responding, please keep the subject line intact and =
reply to all<br class=3D"">email addresses included in the To and CC =
lines. (Feel free to cut this<br class=3D"">introductory paragraph, =
however.)<br class=3D""><br class=3D""><br class=3D"">Please refer to <a =
href=3D"https://www.ietf.org/iesg/statement/discuss-criteria.html" =
class=3D"">https://www.ietf.org/iesg/statement/discuss-criteria.html</a><b=
r class=3D"">for more information about IESG DISCUSS and COMMENT =
positions.<br class=3D""><br class=3D""><br class=3D"">The document, =
along with other ballot positions, can be found here:<br class=3D""><a =
href=3D"https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding=
/" =
class=3D"">https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-fold=
ing/</a><br class=3D""><br class=3D""><br class=3D""><br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">DISCUSS:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">After some thought I think there =
are two things about this document that make<br class=3D"">me =
uncomfortable enough to ballot Discuss.<br class=3D""><br class=3D"">a) =
Due to its home in the netmod WG it is highly likely that people outside =
the<br class=3D"">yang community have not paid enough attention to this =
work. Since this is<br class=3D"">applicable to code fragments of all =
kinds, I think the home chosen for this RFC<br class=3D"">might have =
inadvertently limited input from the broader community.<br =
class=3D""></div></div></blockquote><div class=3D""><br =
class=3D""></div><div class=3D"">Agreed. &nbsp;The original I-D was =
targeted for IAB stream. &nbsp;It wasn't going to be presented in =
NETMOD, but did (by coercion). &nbsp;During the presentation I mentioned =
that its applicability was more than NETMOD and that it should go thru =
IAB, just like the "xml2rfc" RFCs (7749 and 7991). &nbsp;The working =
group felt that it should stay in the WG and hence here we are. =
&nbsp;:sigh:</div><div class=3D""><br class=3D""></div><div class=3D""><br=
 class=3D""></div><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D"">b) Given a) I think it is better that this =
document go forward as an<br class=3D"">Informational document rather =
than a BCP so that use of this technique becomes<br class=3D"">optional, =
without the force of a BCP behind it.<br =
class=3D""></div></div></blockquote><div class=3D""><br =
class=3D""></div><div class=3D"">I'm okay with this, modulo my comment =
to Alissa. &nbsp; Actually, if we only view the RFC as specifying a =
format then, in my mind, it doesn't actually contain the "best =
practice". &nbsp;FWIW, SHOULD appears only once, in a sentence stating =
that folding SHOULD be automated, in a section titled "Goals". =
&nbsp;That said, if not a BCP, then how to encourage people to use it, =
so that automation works? &nbsp;For this reason alone, it seems that =
either the draft should be a BCP or Datatracker is updated to auto-fold =
as needed. &nbsp;Perhaps &nbsp;the right answer is to do Informational =
now and hope that Datatracker is updated in time?</div><div class=3D""><br=
 class=3D""></div><div class=3D""><br class=3D""></div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D"">---------------------------------------------------------------=
-------<br class=3D"">COMMENT:<br =
class=3D"">---------------------------------------------------------------=
-------<br class=3D""><br class=3D"">I do agree with my Abstaining =
colleagues that this should probably not be on<br class=3D"">the IETF =
stream but I think the work is useful enough to go forward.<br =
class=3D""></div></div></blockquote><br class=3D""></div><div =
class=3D"">It should've been on the IAB stream. &nbsp;Whether it should =
go forward, after having the BCP attribute removed, or re-run via the =
IAB stream is up to the IESG.</div><div class=3D""><br =
class=3D""></div><div class=3D""><br class=3D""></div></div><div =
class=3D""><div class=3D"">Kent // as co-author</div><div class=3D""><br =
class=3D""></div><div class=3D""><br =
class=3D""></div></div></div></div></blockquote></div><br =
class=3D""></div></body></html>=

--Apple-Mail=_980527BD-6CF3-4DEC-93C0-2D441A857530--


From nobody Thu Sep  5 18:43:16 2019
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 22B60120130 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 18:43:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level: 
X-Spam-Status: No, score=-1.997 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 NOt3K0000sf0 for <netmod@ietfa.amsl.com>; Thu,  5 Sep 2019 18:43:09 -0700 (PDT)
Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 12BE7120043 for <netmod@ietf.org>; Thu,  5 Sep 2019 18:43:09 -0700 (PDT)
Received: by mail-pg1-x542.google.com with SMTP id n190so2527858pgn.0 for <netmod@ietf.org>; Thu, 05 Sep 2019 18:43:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=yH1AYgJIRggBH2vNMc4F1KLrXL6iS1UZuijxmvt9Vjc=; b=BjPPGecTDEiDSWbeFr7v3zO/g12bilTRIcd36yMENae2fWQEhSm7kDKYbF8QAHVtBP FSlfl+PHbwb8bgJxZXun1+G5xyPna94BPg1K8bP1Vmqm8bNM/pfIsbZ8LZ83JWPE+ujy zpJn9j2zOzuPS73YnUTYZtSbig2p8o1U2vIDvLNY5NuA4niMHEroZ/zEN1dqNm4yRpXT XOaUzzyNWXU8IfiPnn0pZ26eXS3/vGne3xwaLHKbK5R4RfdnMyPcLTRImae9llO7uO++ SpTmGST4jwEIYsMIfVSnd/An0kiJ0oR0u2yei3deBLdH2Oj4174ECLBMVYdka7Dz0XRU k3+w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=yH1AYgJIRggBH2vNMc4F1KLrXL6iS1UZuijxmvt9Vjc=; b=D0IL1xCf6s0nw3j1ccFOzFbHWsjvebOx6W8zX6MzOUj9Ye3v2Q7AWD2OwTNeqyNkU6 CmFcJTwVTXfbit4h9hlU4c/s04Is2rKr9zOp8lKLEPTOKmEZApVwzcEF91l98ommHm0E qjdnUTAvfA0GPlVpuLXVOVFZv3/xwlS0b9g2VyktoiLUlIF7XYsgKJH/WXZjxkEj+tSd OWz2OTNvegYs+/2/W1d0m7XOk0K8TVsTWQ8vEHJCS2DSQwDD2kA3elVi5adcqGN4Cco7 I1WCbzaLy4CUhkG3I1QlsDK9XBsVu7OZk6N+XlQwN8fdEtKKWUxpgKeETVXHcAhRD4h+ oSXQ==
X-Gm-Message-State: APjAAAWR45urVFQ8YLaDy6oBNCAgYiFzTd224TTKiO+aKD5Ro9T56v8t lTRqWM+Dq/w9S8/YGq9PzKE=
X-Google-Smtp-Source: APXvYqzGxY6Ygk/HCQGS4rudjz91ePMEn5awkcM0s0deAJU4GOjVdJ9R/T+RXbKMr7VJ1c1saSTAHQ==
X-Received: by 2002:a65:47c1:: with SMTP id f1mr4943600pgs.169.1567734187812;  Thu, 05 Sep 2019 18:43:07 -0700 (PDT)
Received: from [10.33.122.240] ([66.170.99.1]) by smtp.gmail.com with ESMTPSA id v12sm3725656pff.40.2019.09.05.18.43.06 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Sep 2019 18:43:06 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_319879B5-F092-4973-994C-0057176FB446"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
X-Priority: Medium
In-Reply-To: <16d033d38e7.bbb2af8a11544.6493791187744876181@shytyi.net>
Date: Thu, 5 Sep 2019 18:43:05 -0700
Cc: Robert Varga <nite@hq.sk>, billwu <bill.wu@huawei.com>, netmod <netmod@ietf.org>, Diego Lopez <diego.r.lopez@telefonica.com>
Message-Id: <01199895-90CF-4A7E-89E8-BDC4800798B2@gmail.com>
References: <155377227553.1573.8548464832229347361.idtracker@ietfa.amsl.com> <16caabd07ae.de4789c8151923.6368018099125205208@shytyi.net> <16cba30dec2.b91b31ed256364.8160264793634017255@shytyi.net> <16cd3d19305.11aec1852361697.7576623717058940792@shytyi.net> <5219ac80-b607-b4b4-8c77-72950d4c5137@hq.sk> <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net> <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net> <DD368137-2977-4039-9C3E-F5127EBB0864@gmail.com> <16d033d38e7.bbb2af8a11544.6493791187744876181@shytyi.net>
To: Dmytro Shytyi <ietf.dmytro@shytyi.net>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/pcLMDjoM74-qHHxs9CyF7CcoH6s>
Subject: Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group document.
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 01:43:13 -0000

--Apple-Mail=_319879B5-F092-4973-994C-0057176FB446
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi Dmytro,

First of all, I find the discussion within the netmod WG as just the =
wrong place to have this discussion. You will be hard pressed to find =
too many people who can give you critical feedback on the model in this =
WG.

See inline with [mj]

> On Sep 5, 2019, at 2:03 PM, Dmytro Shytyi <ietf.dmytro@shytyi.net> =
wrote:
>=20
> [Dmytro]
> Hello Mahesh Jethanandani,
> Thank you for your comment.
> Please find answers inline.
>=20
> >I find the representation of a service model in this draft for a uCPE =
as too simple. In reality, on a uCPE, you could be running a Network =
Service (NS), which is composed of multiple VNFs interconnected =
together. This service model does not address such a configuration.
> [Dmytro]
> This service model presented in the draft supports N VMs in the NS and =
addreses configuration with multiple VMs and switches with plenty of =
links. It is well tested (with service chained VMs) on equipent from =
different well known suppliers. The idea to have complex flexible =
service in the network service orchestrator for uCPE.
> in the yang model we have list (marked by pyang with "*") of VMs where =
the key is name of the vm, thus you may define as much VM as you wish.

[mj] You have introduced concept of interfaces, ports, and switches that =
does not exist in the NFV world. VNFs have virtual links and connection =
points. There is no (physical) port or interface that one connects to in =
a VNF. It might exist on the server on which the VM runs but not in a =
VNF or a virtualization instance.

>=20
> Example of 2 VMs that are service chained =
(swLAN-VM1-swService-VM2-swWAN)
>=20
>       +--rw vms* [vm]
>                       +--rw vm             string
>                       +--rw ports* [port]
>                       |  +--rw port    string
>                       |  +--rw name?   string
>                       |  +--rw link?   -> ../../../links/link
>                       +--rw ram?           string
>                       +--rw cpu?           string
>                       +--rw storages* [id]
>                       |  +--rw id          string
>                       |  +--rw location?   string
>                       +--rw day0-config
>                          +--rw location?        string
>                          +--rw day0-var-path?   string
>                          +--rw variable* [name]
>                             +--rw name     string
>                             +--rw value?   string
>=20
>=20
> So basically  the list "+--rw wms* [vm]" can be represented/"expanded" =
in this way where the names and number ov vms(N) is set by user:
>=20
>  >>>>>       +--rw vm1             string
>                        |     +--rw ports* [port]
>                        |     |  +--rw port    string
>                        |     |  +--rw name?   string
>                        |     |  +--rw link?   -> ../../../links/link
>                        |     +--rw ram?           string
>                        |     +--rw cpu?           string
>                        |     +--rw storages* [id]
>                        |     |  +--rw id          string
>                        |     |  +--rw location?   string
>                        |     +--rw day0-config
>                        |     |  +--rw location?        string
>                        |     |  +--rw day0-var-path?   string
>                        |     |  +--rw variable* [name]
>                        |     |     +--rw name     string
>                        |     |     +--rw value?   string
> >>>>>        +--rw vm2             string
>                        |     +--rw ports* [port]
>                        |     |  +--rw port    string
>                        |     |  +--rw name?   string
>                        |     |  +--rw link?   -> ../../../links/link
>                        |     +--rw ram?           string
>                        |     +--rw cpu?           string
>                        |     +--rw storages* [id]
>                        |     |    +--rw id          string
>                        |     |  +--rw location?   string
>                        |     +--rw day0-config
>                        |     |    +--rw location?        string
>                        |     |  +--rw day0-var-path?   string
>                        |     |  +--rw variable* [name]
>                        |     |     +--rw name     string
>                        |     |     +--rw value?   string
>                         ....
>                       |                     =20
>  >>>>>       +--rw vmN             string
>                             +--rw ports* [port]
>                             |  +--rw port    string
>                             |  +--rw name?   string
>                             |  +--rw link?   -> ../../../links/link
>                             +--rw ram?           string
>                             +--rw cpu?           string
>                             +--rw storages* [id]
>                             |  +--rw id          string
>                             |  +--rw location?   string
>                             +--rw day0-config
>                                +--rw location?        string
>                                +--rw day0-var-path?   string
>                                +--rw variable* [name]
>                                   +--rw name     string
>                                   +--rw value?   string

[mj] I understand how you instantiate multiple VMs. What I do not =
understand is for example, your representation of a link. Currently, it =
points to a link definition within the same Virtualization instance. How =
does that tell me what is it connected to?

Why is CPU defined as a string? And what does =E2=80=9CAmount of cpus=E2=80=
=9D mean? Number of CPUs? Same for RAM.

Also VMs have images and storage. If your storage is an image, where is =
the storage (disk) definition?=20

Again, definition of CPUs, RAM, storage belong in a VNF Descriptor =
(VNFD), not in a service model. One needs that information at the time =
of instantiation of a VNF, not at the time of turning up a service.

>=20
> >Besides, how is the configuration of a uCPE device for a VNF =
different from configuration of a VNF in a provider Network Function =
Virtualization Infrastructure (NFVI) like OpenStack or VMware VIO?
> [Dmytro]
> Modern uCPE support netconf. And if you go to the YANG RFC6020 you =
will find the next statement:
>    "YANG is a data modeling language used to model configuration and
>    state data manipulated by the Network Configuration Protocol
>    (NETCONF), NETCONF remote procedure calls, and NETCONF =
notifications."
> When we talk about Openstack it is YAML, not YANG.=20

[mj] If I give you a YANG model to configure OpenStack, tell me how =
would that be different from configuring a uCPE?

>=20
> >And would you not need to enable the service on the provider side to =
make the services running on the uCPE functional?
> [Dmytro]
> Indeed, to manage the uCPE located on the client side we need to =
enable the provider side. The presented model is this actually "sits" in =
orchestaror that is located on the provider side. In the draft it is =
mentioned that it is "network service yang model- NSYM" that is in the =
orchestrator (according to the rfc8199).

[mj] By sitting in the orchestrator, you have not defined how the =
service on the provider side is enabled.

>=20
> >There is significant amount of work that has been done in ETSI on the =
configuration and management of VNF and NS. Authors should spend some =
time going through the specifications specified by ETSI to make sure =
they are not re-specifying work that has been done there, and instead =
see how they could augment the work that has already been defined.
> [Dmytro]
> The uCPE management mechanism(in the service provider network service =
orchestrator)  may involve not only YANG modules but also the speficic =
logic written in programming languages. The proposed organisation of =
yang model is a solution that provides the best fit for combination =
(YANG modules + specific logic written in python for example )  to =
manage different existing NFVIs in the uCPE (by the orchestrator).

[mj] IETF does not specify implementation or logic written in a =
programming language.

>=20
> In the case of uCPE, the mapping (w/wo additinal logic) of "variables =
" between service yang modules (in the orchestrator) and NETCONF =
payload(that is sent to the uCPE) will be more complex (requires =
additional transformations in the logic) with generic approach, then the =
solution presented in the ID, that is tailored to the uCPE.Therefore I =
find the proposed solution as a stadalone generic approach to manage =
multiple vendor uCPE that appears to be a particular case tailored for =
uCPE NFVIs that may be not nesseraly follows RFC8345. I would be pleased =
if you could comment this.

[mj] To me this sounds like an implementation level detail for a uCPE. =
Again, not something that IETF standardizes.=20

>=20
>=20
> >Authors can start by going through IFA010,  IFA011, IFA014, and its =
YANG specification in SOL006.
> [Dmytro]
> I would like to draw your attention that these documents seems to be =
directed to the generic solution including also cloud environment, that =
brings a lot of complexity. There is some difference between cloud and =
client site.
> For example, case for VNFD, in the cloud we need to have flavours, =
different VDUs For VNFD, to change the VM capacities according to the =
load as we have the extendible infrastructure.
> The ucpe has limited resources, not as a cloud infrastructure in the =
data center.

[mj] Define a single flavor in case of uCPE and keep it simple.

> For example, in the case of NSD: NSD includes the VLD that defines =
Virtual Links. But in the uCPE case you may have virtual links + virtual =
switches that are not part of the NSD defined in the ETSI.

[mj] But you are allowed to define more than 2 links. Why do you need to =
define a switch?

> For example, i'm not avare of VNFD that brings option of (0day =
configuration)/bootstrap for VNF. Moreover in the proposed model there =
is a possibility to set variables that will be substituted in the ".iso" =
bootstrap image (ex.cloudinit) that is assigned to the VM in the uCPE.

[mj] That is considered part of the workflow. Your workflow engine will =
allow you to set variables that are substituted in the ISO image or when =
the image boots up.

> Thus the generic solution of ETSI leads to more complex =
implementations of the code that is responsible for mapping between =
YANG/XML when the solution proposed in the Inernet Draft is tailored to =
the uCPE use-case and should bring the simplisity when developping the =
mapping logic and inroduce features that are not presented by ETSI.
> The Internet Draft also defines the term uCPE that is not defined at =
IETF yet.

[mj] I do not think this is the right WG or even the right body to =
standardize this model.


Mahesh Jethanandani
mjethanandani@gmail.com

>=20
> >>On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi <ietf.dmytro@shytyi.net =
<mailto:ietf.dmytro@shytyi.net>> wrote:
> >>Dear All,
> >>Please find the updated version of the VYSM Internet Draft(v0.2).
> >>The new version of draft introduces an extension of the yang model =
defined in previous version. =46rom now the VYSM supports (0day =
configuration)/(bootstrap) of the VNFs hosted in the uCPE.
> >>With 0day configuration in the uCPE we can setup minimal required =
configuration of vRouter (such as ip address, hostname,etc..), SD-WAN =
(address of the SD-WAN manager, dhcp activation, etc..), etc..
> >>Details:
> >>A new version of I-D, draft-shytyi-netmod-vysm-02.txt\A0
> >>has been successfully submitted by Dmytro Shytyi and posted to =
the\A0
> >>IETF repository.\A0
> >>Name:\A0\A0\A0\A0\A0\A0\A0\A0draft-shytyi-netmod-vysm\A0
> >>Revision:\A0\A0\A0\A002\A0
> >>Title:\A0\A0\A0\A0\A0\A0\A0\A0Virtualization YANG Servise Model =
(VYSM)\A0
> >>Document date:\A0\A0\A0\A02019-09-04\A0
> >>Group:\A0\A0\A0\A0\A0\A0\A0\A0Individual Submission\A0
> >>Pages:\A0\A0\A0\A0\A0\A0\A0\A010\A0
> >>URL: =
https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt\A0 =
<https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt/A0>
> >>Status: =
https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/\A0 =
<https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm//A0>
> >>Htmlized: https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02\A0 =
<https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02/A0>
> >>Htmlized: =
https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm\A0 =
<https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm/A0>
> >>Diff: =
https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0 =
<https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0>
> >>Abstract:\A0
> >>
> >>This document provides a specification of the Virtual Network\A0
> >>
> >>Functions YANG Service Model (VYSM). The VNF YANG Service Model\A0
> >>
> >>serves as a base framework for managing an universal Customer-\A0
> >>
> >>Premises Equipment (uCPE) NFV subsystem from the Orchestrator.\A0
> >>>>
> >>>># # # : Dmytro Shytyi [mailto:ietf.dmytro@shytyi.net =
<mailto:ietf.dmytro@shytyi.net>]
> >>>># # # # : 2019# 8# 28#\A0 21:46
> >>>># # # : Robert Varga <nite@hq.sk <mailto:nite@hq.sk>>; Qin Wu =
<bill.wu@huawei.com <mailto:bill.wu@huawei.com>>
> >>>># # : netmod <netmod@ietf.org <mailto:netmod@ietf.org>>
> >>>># # : Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as =
Working Group document.
> >>>>
> >>>>Hello,
> >>>>
> >>>>Please find comments inline.
> >>>>>On 27/08/2019 18:03, Dmytro Shytyi wrote:
> >>>>>> Dear All,
> >>>>>>\A0
> >>>>>> I am one of the authors of ID VYSM and I would like to draw =
your
> >>>>>> attention to the evolution of the
> >>>>>> =
draft\A0https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.t=
xt =
<http://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.txt>.
> >>>>>> Recently we produced (but did not submitted yet) a new version =
of ID
> >>>>>> (02) and I beleive it fits the netmod working group.
> >>>>>>\A0
> >>>>>> We would be gratefull if you could suggest if the new =
version(02) of the
> >>>>>> document\A0 could become an official work item of the WG?
> >>>>>> \A0 \A0 \A0 If yes, could you please indicate which =
modifications must be done
> >>>>>> in the document before submition.
> >>>>>\A0
> >>>>>Hmm, looking over the model, it would seem there is quite a bit =
of
> >>>>>overlap with RFC8345 -- to the point I believe the model could be
> >>>>>formulated in terms of RFC8345 specialization:
> >>>>First of all I would like to thank you for this comment.\A0
> >>>>-Dmytro
> >>>>>virtualization -> networks/network
> >>>>>\A0
> >>>>>device/links/interfaces/switches/vms are probably a mix of
> >>>>>node/termmination-point/link extensions with conjunction with
> >>>>>supporting-{topology,node,link}.
> >>>>I can imagine mapping:
> >>>>virtualization (ID) -> networks/network (RFC 8345)
> >>>>links (ID)- >link;(RFC 8345)
> >>>>ports (ID)-> termination points;(RFC 8345)
> >>>>But still.. it seems here we have to create extension of the model =
proposed in RFC 8345.
> >>>>Precisely for node (RFC 8345) we may add types (switches, vms) and =
futer add leafs /listsfor type if required (ex: #RAM,#vCPUs and other =
leafs for VMs)
> >>>>-Dmytro
> >>>>>How would the draft relate to RFC8345? Should it perhaps call out =
it is
> >>>>>a different take on the similar problem, specialized to a =
particular
> >>>>>use-case?
> >>>>One can suggest that\A0 in the RFC8345 Figure 1, the block =
"service Topology model" can include the proposed in the draft network =
service descriptor with appropriate modification of mapping according to =
the RFC8345..
> >>>>
> >>>>Meanwhile I find that the proposed solution(ID) try to solve the =
problem descibed below:
> >>>>
> >>>>The uCPE management mechanism may involve not only YANG modules =
but\A0 also the speficif logic written in programming languages. The =
proposed organisation of yang model is an attempt to find the best =
fit\A0 for combination (YANG modules + specific logic written in python =
for example )\A0 to manage different existing NFVIs in the uCPE (by the =
orchestrator).
> >>>>
> >>>>In the case of uCPE, the mapping (w/wo additinal logic) of =
"variables " between service yang modules (in the orchestrator) and =
NETCONF payload(that is sent to the uCPE) will be more complex (requires =
additional transformations in the logic) with generic approach, then the =
solution presented in the ID, that is tailored to the uCPE.\A0
> >>>>
> >>>>Therefore I find the proposed solution as a stadalone generic =
approach to manage multiple vendor uCPE that appears to be a particular =
case tailored for uCPE NFVIs that may be not nesseraly follows RFC8345. =
I would be pleased if you could comment this.
> >>>>
> >>>>-Dmytro
> >>>>>Regards,
> >>>>>Robert (with RFC8345 co-author hat on)
> >>>>>+1, in addition, I am wondering whether this is something related =
to overlay topology model, if yes, how it is different from DC Fabric =
topology model defined in RFC8542?\A0
> >>>>>-Qin\A0
> >>>>Thank you for your comment. The RFC8542 condisers PODs in the DC =
network. uCPE is located on the customer site. if we consider that uCPE =
is A POD (with links and nodes like VMs and swithces) then in the =
RFC8542 describes different PODs in the network that are interconnected =
with links. The yang model proposed in the ID ifocuses only on the uCPE =
interiour network service, not the interconnection between the uCPEs. =
Aslo, I explained the difference about extension neded for type of =
nodes,vms leafs and furter complexity in the mapping logic in the =
reponce to Robert.
> >>>>-Dmytro
> >>>>
> >>>>[Qin]:So you focus on interconnection between local vPE and remote =
vPE?
> >>>[Dmytro]:
> >>>Thank you for this question. It seems that the next version of =
draft should include the explanation of the uCPE interiour network =
service.
> >>>Example: We can have multiple VMs instantiated in the uCPE =
(vFW,vRouter/vCPE,SD-WAN). With support of links and swithes\A0 VMs may =
create a service chains.
> >>>Example of service chains:
> >>>1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN
> >>>2)WAN--SDWAN--vFirewall--LAN
> >>>>It is not clear whether we should distinguish VM from switch. In =
my understanding, Upon VNF is instantiated, there is no difference =
between virtual and physical worlds.
> >>>[Dmytro]:
> >>>The VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN =
that is not a default part of virtual network resources of the uCPE =
(chapter 3 in the ID).
> >>>The switch (ex. Open vSwith) in the uCPE is a default part of uCPE =
network virtual resources (chapter 3 in the ID).
> >>>Thus we need to distingish swithes and VNFs to not to mix uCPE =
network virtual resources and VNFs.
> >>>Another reason why the destingishing is required: because VM and SW =
have different device-attributes. SW does not require VNFD attributtes.
> >>>If we do not distinguish nodes, and only extend the grouping =
"device attributes" for required attributes the switch will have the =
properties that are\A0 unused leafs which represent the =
VM-device-attributes.
> >>>>VNF lifecycle management is separated from topology construction, =
wrong?
> >>>[Dmytro]:
> >>>a) In case of the NFVIs uCPE the same High Level interface allows =
to configure both topology construction and VM lifecycle management in =
the same transaction.
> >>>b) We can not activate Network Service Descriptor without =
consituent VM node information. At the moment of NSD activation we =
already have to set the VM node information such as VM capabilities that =
can be created (previosly)/(at the moment of configuration of NSD) but =
have to be a part of the network service descriptor at the moment of =
activation.
> >>>[Dmytro]
> >>>The Internet Draft also defines the term uCPE that is not defined =
at IETF yet.
> >>>_______________________________________________
> >>>netmod mailing list
> >>>netmod@ietf.org <mailto:netmod@ietf.org>
> >>>https://www.ietf.org/mailman/listinfo/netmod =
<https://www.ietf.org/mailman/listinfo/netmod>
> >>
>=20





--Apple-Mail=_319879B5-F092-4973-994C-0057176FB446
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Hi =
Dmytro,<div class=3D""><br class=3D""></div><div class=3D"">First of =
all, I find the discussion within the netmod WG as just the wrong place =
to have this discussion. You will be hard pressed to find too many =
people who can give you critical feedback on the model in this WG.<br =
class=3D""><div class=3D""><br class=3D""></div><div class=3D"">See =
inline with [mj]<br class=3D""><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D"">On Sep 5, 2019, at 2:03 PM, =
Dmytro Shytyi &lt;<a href=3D"mailto:ietf.dmytro@shytyi.net" =
class=3D"">ietf.dmytro@shytyi.net</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><div class=3D""><meta =
content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type" =
class=3D""><div class=3D""><div style=3D"font-family: Verdana, Arial, =
Helvetica, sans-serif; font-size: 10pt;" class=3D""><div =
class=3D"">[Dmytro]</div><div class=3D"">Hello Mahesh Jethanandani,<br =
class=3D""></div><div class=3D"">Thank you for your comment.<br =
class=3D""></div><div class=3D"">Please find answers inline.</div><div =
class=3D""><br class=3D""></div><div class=3D"">&gt;I find the =
representation of a service model in this draft for a uCPE as too =
simple. In reality, on a uCPE, you could be running a Network Service =
(NS), which is composed of multiple VNFs interconnected together. This =
service model does not address such a configuration.<br =
class=3D""></div><div class=3D"">[Dmytro]<br class=3D""></div><meta =
content=3D"text/html; charset=3Dutf-8" class=3D""><div class=3D"">This =
service model presented in the draft supports N VMs in the NS and =
addreses configuration with multiple VMs and switches with plenty of =
links. It is well tested (with service chained VMs) on equipent from =
different well known suppliers. The idea to have complex flexible =
service in the network service orchestrator for uCPE.<br =
class=3D""></div><div class=3D"">in the yang model we have list (marked =
by pyang with "*") of VMs where the key is name of the vm, thus you may =
define as much VM as you wish.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] You have introduced concept of interfaces, ports, =
and switches that does not exist in the NFV world. VNFs have virtual =
links and connection points. There is no (physical) port or interface =
that one connects to in a VNF. It might exist on the server on which the =
VM runs but not in a VNF or a virtualization instance.</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D""><div style=3D"font-family: Verdana, Arial, Helvetica, =
sans-serif; font-size: 10pt;" class=3D""><div class=3D""><br =
class=3D""></div><div class=3D"">Example of 2 VMs that are service =
chained (swLAN-VM1-swService-VM2-swWAN)<br class=3D""></div><div =
class=3D""><br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vms* [vm]<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
vm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
 string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
ports* [port]<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; =
+--rw port&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; =
+--rw name?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; =
+--rw link?&nbsp;&nbsp; -&gt; ../../../links/link<br class=3D""></div><div=
 =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
storages* [id]<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; =
+--rw id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; =
+--rw location?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
day0-config<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; +--rw variable* [name]<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D""><br class=3D""></div><div class=3D""><br =
class=3D""></div><div class=3D"">So basically&nbsp; the list "+--rw wms* =
[vm]" can be represented/"expanded" in this way where the names and =
number ov vms(N) is set by user:<br class=3D""></div><div class=3D""><br =
class=3D""></div><div =
class=3D"">&nbsp;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
+--rw =
vm1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw ports* [port]<br class=3D""></div><div class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw =
link?&nbsp;&nbsp; -&gt; ../../../links/link<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw =
ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw =
cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw storages* [id]<br class=3D""></div><div class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw =
id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw day0-config<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw variable* [name]<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&nbsp; &nbsp; =
&nbsp; &nbsp; +--rw =
vm2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw ports* [port]<br class=3D""></div><div class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw =
link?&nbsp;&nbsp; -&gt; ../../../links/link<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw =
ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw =
cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw storages* [id]<br class=3D""></div><div class=3D"">&nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; +--rw =
id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw day0-config<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; &nbsp; +--rw =
location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br =
class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp; +--rw variable* [name]<br class=3D""></div><div =
class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; string<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;....<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; |&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br =
class=3D""></div><div =
class=3D"">&nbsp;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
+--rw =
vmN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw ports* [port]<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw link?&nbsp;&nbsp; =
-&gt; ../../../links/link<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw =
ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw =
cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw storages* [id]<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw =
id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; =
string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw day0-config<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw =
location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw =
day0-var-path?&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw variable* [name]<br =
class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw =
name&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw =
value?&nbsp;&nbsp; string<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] I understand how you instantiate multiple VMs. =
What I do not understand is for example, your representation of a link. =
Currently, it points to a link definition within the same Virtualization =
instance. How does that tell me what is it connected to?</div><div><br =
class=3D""></div><div>Why is CPU defined as a string? And what does =
=E2=80=9CAmount of cpus=E2=80=9D mean? Number of CPUs? Same for =
RAM.</div><div><br class=3D""></div><div>Also VMs have images <b =
class=3D"">and</b> storage. If your storage is an image, where is the =
storage (disk) definition?&nbsp;</div><div><br =
class=3D""></div><div>Again, definition of CPUs, RAM, storage belong in =
a VNF Descriptor (VNFD), not in a service model. One needs that =
information at the time of instantiation of a VNF, not at the time of =
turning up a service.</div><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D""><div style=3D"font-family: =
Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;" class=3D""><div =
class=3D""><br class=3D""></div><div class=3D"">&gt;Besides, how is the =
configuration of a uCPE device for a VNF different from configuration of =
a VNF in a provider Network Function Virtualization Infrastructure =
(NFVI) like OpenStack or VMware VIO?<br class=3D""></div><div =
class=3D"">[Dmytro]<br class=3D""></div><meta content=3D"text/html; =
charset=3Dutf-8" class=3D""><div class=3D"">Modern uCPE support netconf. =
And if you go to the YANG RFC6020 you will find the next statement:<br =
class=3D""></div><div class=3D"">&nbsp;&nbsp; "YANG is a data modeling =
language used to model configuration and<br class=3D""></div><div =
class=3D"">&nbsp;&nbsp; state data manipulated by the Network =
Configuration Protocol<br class=3D""></div><div class=3D"">&nbsp;&nbsp; =
(NETCONF), NETCONF remote procedure calls, and NETCONF =
notifications."<br class=3D""></div><div class=3D"">When we talk about =
Openstack it is YAML, not YANG.&nbsp;<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] If I give you a YANG model to configure OpenStack, =
tell me how would that be different from configuring a =
uCPE?</div><div><br class=3D""><blockquote type=3D"cite" class=3D""><div =
class=3D""><div class=3D""><div style=3D"font-family: Verdana, Arial, =
Helvetica, sans-serif; font-size: 10pt;" class=3D""><div class=3D""><br =
class=3D""></div><div class=3D"">&gt;And would you not need to enable =
the service on the provider side to make the services running on the =
uCPE functional?<br class=3D""></div><div class=3D"">[Dmytro]<br =
class=3D""></div><div class=3D"">Indeed, to manage the uCPE located on =
the client side we need to enable the provider side. The presented model =
is this actually "sits" in orchestaror that is located on the provider =
side. In the draft it is mentioned that it is "network service yang =
model- NSYM" that is in the orchestrator (according to the rfc8199).<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] By sitting in the orchestrator, you have not =
defined how the service on the provider side is enabled.</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D""><div style=3D"font-family: Verdana, Arial, Helvetica, =
sans-serif; font-size: 10pt;" class=3D""><div class=3D""><br =
class=3D""></div><div class=3D"">&gt;There is significant amount of work =
that has been done in ETSI on the configuration and management of VNF =
and NS. Authors should spend some time going through the specifications =
specified by ETSI to make sure they are not re-specifying work that has =
been done there, and instead see how they could augment the work that =
has already been defined.<br class=3D""></div><div class=3D"">[Dmytro]<br =
class=3D""></div><meta content=3D"text/html; charset=3Dutf-8" =
class=3D""><div class=3D"">The uCPE management mechanism(in the service =
provider network service orchestrator)&nbsp; may involve not only YANG =
modules but also the speficic logic written in programming languages. =
The proposed organisation of yang model is a solution that provides the =
best fit for combination (YANG modules + specific logic written in =
python for example )&nbsp; to manage different existing NFVIs in the =
uCPE (by the orchestrator).<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] IETF does not specify implementation or logic =
written in a programming language.</div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D""><div =
style=3D"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: =
10pt;" class=3D""><div class=3D""><br class=3D""></div><div class=3D"">In =
the case of uCPE, the mapping (w/wo additinal logic) of "variables " =
between service yang modules (in the orchestrator) and NETCONF =
payload(that is sent to the uCPE) will be more complex (requires =
additional transformations in the logic) with generic approach, then the =
solution presented in the ID, that is tailored to the uCPE.Therefore I =
find the proposed solution as a stadalone generic approach to manage =
multiple vendor uCPE that appears to be a particular case tailored for =
uCPE NFVIs that may be not nesseraly follows RFC8345. I would be pleased =
if you could comment this.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] To me this sounds like an implementation level =
detail for a uCPE. Again, not something that IETF =
standardizes.&nbsp;</div><div><br class=3D""><blockquote type=3D"cite" =
class=3D""><div class=3D""><div class=3D""><div style=3D"font-family: =
Verdana, Arial, Helvetica, sans-serif; font-size: 10pt;" class=3D""><div =
class=3D""><br class=3D""></div><div class=3D""><br class=3D""></div><div =
class=3D"">&gt;Authors can start by going through IFA010,&nbsp; IFA011, =
IFA014, and its YANG specification in SOL006.<br class=3D""></div><div =
class=3D"">[Dmytro]<br class=3D""></div><meta content=3D"text/html; =
charset=3Dutf-8" class=3D""><div class=3D"">I would like to draw your =
attention that these documents seems to be directed to the generic =
solution including also cloud environment, that brings a lot of =
complexity. There is some difference between cloud and client site.<br =
class=3D""></div><div class=3D"">For example, case for VNFD, in the =
cloud we need to have flavours, different VDUs For VNFD, to change the =
VM capacities according to the load as we have the extendible =
infrastructure.<br class=3D""></div><div class=3D"">The ucpe has limited =
resources, not as a cloud infrastructure in the data center.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] Define a single flavor in case of uCPE and keep it =
simple.</div><div><br class=3D""><blockquote type=3D"cite" class=3D""><div=
 class=3D""><div class=3D""><div style=3D"font-family: Verdana, Arial, =
Helvetica, sans-serif; font-size: 10pt;" class=3D""><div class=3D"">For =
example, in the case of NSD: NSD includes the VLD that defines Virtual =
Links. But in the uCPE case you may have virtual links + virtual =
switches that are not part of the NSD defined in the ETSI.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] But you are allowed to define more than 2 links. =
Why do you need to define a switch?</div><div><br class=3D""><blockquote =
type=3D"cite" class=3D""><div class=3D""><div class=3D""><div =
style=3D"font-family: Verdana, Arial, Helvetica, sans-serif; font-size: =
10pt;" class=3D""><div class=3D"">For example, i'm not avare of VNFD =
that brings option of (0day configuration)/bootstrap for VNF. Moreover =
in the proposed model there is a possibility to set variables that will =
be substituted in the ".iso" bootstrap image (ex.cloudinit) that is =
assigned to the VM in the uCPE.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] That is considered part of the workflow. Your =
workflow engine will allow you to set variables that are substituted in =
the ISO image or when the image boots up.</div><div><br =
class=3D""><blockquote type=3D"cite" class=3D""><div class=3D""><div =
class=3D""><div style=3D"font-family: Verdana, Arial, Helvetica, =
sans-serif; font-size: 10pt;" class=3D""><div class=3D"">Thus the =
generic solution of ETSI leads to more complex implementations of the =
code that is responsible for mapping between YANG/XML when the solution =
proposed in the Inernet Draft is tailored to the uCPE use-case and =
should bring the simplisity when developping the mapping logic and =
inroduce features that are not presented by ETSI.<br class=3D""></div><div=
 class=3D"">The Internet Draft also defines the term uCPE that is not =
defined at IETF yet.<br =
class=3D""></div></div></div></div></blockquote><div><br =
class=3D""></div>[mj] I do not think this is the right WG or even the =
right body to standardize this model.</div><div><br =
class=3D""></div><div><br class=3D""></div><div><div class=3D"">Mahesh =
Jethanandani</div><div class=3D""><a =
href=3D"mailto:mjethanandani@gmail.com" =
class=3D"">mjethanandani@gmail.com</a></div><div class=3D""><br =
class=3D""></div><blockquote type=3D"cite" class=3D""><div class=3D""><div=
 class=3D""><div style=3D"font-family: Verdana, Arial, Helvetica, =
sans-serif; font-size: 10pt;" class=3D""><meta content=3D"text/html; =
charset=3Dutf-8" class=3D""><div class=3D""><br class=3D""></div><div =
class=3D"">&gt;&gt;On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi &lt;<a =
target=3D"_blank" href=3D"mailto:ietf.dmytro@shytyi.net" =
class=3D"">ietf.dmytro@shytyi.net</a>&gt; wrote:<br class=3D""></div><div =
class=3D"">&gt;&gt;Dear All,<br class=3D""></div><div =
class=3D"">&gt;&gt;Please find the updated version of the VYSM Internet =
Draft(v0.2).<br class=3D""></div><div class=3D"">&gt;&gt;The new version =
of draft introduces an extension of the yang model defined in previous =
version. =46rom now the VYSM supports (0day configuration)/(bootstrap) =
of the VNFs hosted in the uCPE.<br class=3D""></div><div =
class=3D"">&gt;&gt;With 0day configuration in the uCPE we can setup =
minimal required configuration of vRouter (such as ip address, =
hostname,etc..), SD-WAN (address of the SD-WAN manager, dhcp activation, =
etc..), etc..<br class=3D""></div><div class=3D"">&gt;&gt;Details:<br =
class=3D""></div><div class=3D"">&gt;&gt;A new version of I-D, =
draft-shytyi-netmod-vysm-02.txt\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;has been successfully submitted by Dmytro Shytyi and =
posted to the\A0<br class=3D""></div><div class=3D"">&gt;&gt;IETF =
repository.\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;Name:\A0\A0\A0\A0\A0\A0\A0\A0draft-shytyi-netmod-vysm\A=
0<br class=3D""></div><div =
class=3D"">&gt;&gt;Revision:\A0\A0\A0\A002\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;Title:\A0\A0\A0\A0\A0\A0\A0\A0Virtualization YANG =
Servise Model (VYSM)\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;Document date:\A0\A0\A0\A02019-09-04\A0<br =
class=3D""></div><div =
class=3D"">&gt;&gt;Group:\A0\A0\A0\A0\A0\A0\A0\A0Individual =
Submission\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;Pages:\A0\A0\A0\A0\A0\A0\A0\A010\A0<br =
class=3D""></div><div class=3D"">&gt;&gt;URL: <a target=3D"_blank" =
href=3D"https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.t=
xt/A0" =
class=3D"">https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-0=
2.txt\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Status: <a =
target=3D"_blank" =
href=3D"https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm//A0" =
class=3D"">https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm/\A0</=
a><br class=3D""></div><div class=3D"">&gt;&gt;Htmlized: <a =
target=3D"_blank" =
href=3D"https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02/A0" =
class=3D"">https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02\A0</a><=
br class=3D""></div><div class=3D"">&gt;&gt;Htmlized: <a target=3D"_blank"=
 =
href=3D"https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm/A0"=
 =
class=3D"">https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm\=
A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Diff: <a =
target=3D"_blank" =
href=3D"https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0=
" =
class=3D"">https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02=
\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Abstract:\A0<br =
class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;This document provides a specification of the Virtual =
Network\A0<br class=3D""></div><div class=3D"">&gt;&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;Functions YANG Service Model =
(VYSM). The VNF YANG Service Model\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;serves =
as a base framework for managing an universal Customer-\A0<br =
class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;Premises Equipment (uCPE) NFV subsystem from the =
Orchestrator.\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # # : Dmytro Shytyi =
[mailto:<a target=3D"_blank" href=3D"mailto:ietf.dmytro@shytyi.net" =
class=3D"">ietf.dmytro@shytyi.net</a>]<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;# # # # : 2019# 8# 28#\A0 21:46<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # # : Robert Varga =
&lt;<a target=3D"_blank" href=3D"mailto:nite@hq.sk" =
class=3D"">nite@hq.sk</a>&gt;; Qin Wu &lt;<a target=3D"_blank" =
href=3D"mailto:bill.wu@huawei.com" =
class=3D"">bill.wu@huawei.com</a>&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;# # : netmod &lt;<a target=3D"_blank" =
href=3D"mailto:netmod@ietf.org" class=3D"">netmod@ietf.org</a>&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # : Re: [netmod] New =
Version draft-shytyi-netmod-vysm-02.txt as Working Group document.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;&gt;Hello,<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;Please find comments inline.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;On 27/08/2019 =
18:03, Dmytro Shytyi wrote:<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; Dear All,<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt;\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; I am one of the authors of ID VYSM =
and I would like to draw your<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; attention to the evolution of the<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; =
draft\A0https://<a target=3D"_blank" =
href=3D"http://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.tx=
t" =
class=3D"">www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-01.txt</a=
>.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; Recently =
we produced (but did not submitted yet) a new version of ID<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; (02) and I =
beleive it fits the netmod working group.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt;\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; We would be gratefull if you could =
suggest if the new version(02) of the<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; document\A0 could become an official =
work item of the WG?<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; \A0 \A0 \A0 If yes, could you please =
indicate which modifications must be done<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; in the document before submition.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;\A0<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;Hmm, looking over =
the model, it would seem there is quite a bit of<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;overlap with RFC8345 -- to the point I =
believe the model could be<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;formulated in terms of RFC8345 =
specialization:<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;First =
of all I would like to thank you for this comment.\A0<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;virtualization =
-&gt; networks/network<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;device/links/interfaces/switches/vms are =
probably a mix of<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;node/termmination-point/link extensions =
with conjunction with<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;supporting-{topology,node,link}.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;I can imagine =
mapping:<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;virtualization (ID) -&gt; networks/network =
(RFC 8345)<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;links =
(ID)- &gt;link;(RFC 8345)<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;ports (ID)-&gt; termination points;(RFC =
8345)<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;But still.. it =
seems here we have to create extension of the model proposed in RFC =
8345.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Precisely for =
node (RFC 8345) we may add types (switches, vms) and futer add leafs =
/listsfor type if required (ex: #RAM,#vCPUs and other leafs for VMs)<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;How would the draft =
relate to RFC8345? Should it perhaps call out it is<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;a different take on =
the similar problem, specialized to a particular<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;use-case?<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;One can suggest that\A0 in the RFC8345 Figure =
1, the block "service Topology model" can include the proposed in the =
draft network service descriptor with appropriate modification of =
mapping according to the RFC8345..<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;Meanwhile I find that the proposed =
solution(ID) try to solve the problem descibed below:<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;&gt;The uCPE management mechanism may involve =
not only YANG modules but\A0 also the speficif logic written in =
programming languages. The proposed organisation of yang model is an =
attempt to find the best fit\A0 for combination (YANG modules + specific =
logic written in python for example )\A0 to manage different existing =
NFVIs in the uCPE (by the orchestrator).<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;In the case of uCPE, the mapping (w/wo =
additinal logic) of "variables " between service yang modules (in the =
orchestrator) and NETCONF payload(that is sent to the uCPE) will be more =
complex (requires additional transformations in the logic) with generic =
approach, then the solution presented in the ID, that is tailored to the =
uCPE.\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Therefore I find the =
proposed solution as a stadalone generic approach to manage multiple =
vendor uCPE that appears to be a particular case tailored for uCPE NFVIs =
that may be not nesseraly follows RFC8345. I would be pleased if you =
could comment this.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;Regards,<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;Robert (with RFC8345 co-author hat on)<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;+1, in addition, I =
am wondering whether this is something related to overlay topology =
model, if yes, how it is different from DC Fabric topology model defined =
in RFC8542?\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;&gt;-Qin\A0<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;Thank you for your comment. The RFC8542 =
condisers PODs in the DC network. uCPE is located on the customer site. =
if we consider that uCPE is A POD (with links and nodes like VMs and =
swithces) then in the RFC8542 describes different PODs in the network =
that are interconnected with links. The yang model proposed in the ID =
ifocuses only on the uCPE interiour network service, not the =
interconnection between the uCPEs. Aslo, I explained the difference =
about extension neded for type of nodes,vms leafs and furter complexity =
in the mapping logic in the reponce to Robert.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;[Qin]:So you focus on interconnection between =
local vPE and remote vPE?<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;[Dmytro]:<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;Thank you for this question. It seems that the =
next version of draft should include the explanation of the uCPE =
interiour network service.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;Example: We can have multiple VMs instantiated in =
the uCPE (vFW,vRouter/vCPE,SD-WAN). With support of links and swithes\A0 =
VMs may create a service chains.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;Example of service chains:<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;1)WAN--vRouter(vCPE)-link-uCPEvSW =
-link2-vFirewall-LAN<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;2)WAN--SDWAN--vFirewall--LAN<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;It is not clear whether =
we should distinguish VM from switch. In my understanding, Upon VNF is =
instantiated, there is no difference between virtual and physical =
worlds.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;[Dmytro]:<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;The VM/VNF in the uCPE =
could be a vROuter or Vfirewall or an SD-WAN that is not a default part =
of virtual network resources of the uCPE (chapter 3 in the ID).<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;The switch (ex. Open =
vSwith) in the uCPE is a default part of uCPE network virtual resources =
(chapter 3 in the ID).<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;Thus we need to distingish swithes and VNFs to =
not to mix uCPE network virtual resources and VNFs.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;Another reason why the =
destingishing is required: because VM and SW have different =
device-attributes. SW does not require VNFD attributtes.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;If we do not distinguish =
nodes, and only extend the grouping "device attributes" for required =
attributes the switch will have the properties that are\A0 unused leafs =
which represent the VM-device-attributes.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;&gt;VNF lifecycle management is separated from =
topology construction, wrong?<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;[Dmytro]:<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;a) In case of the NFVIs uCPE the same High Level =
interface allows to configure both topology construction and VM =
lifecycle management in the same transaction.<br class=3D""></div><div =
class=3D"">&gt;&gt;&gt;b) We can not activate Network Service Descriptor =
without consituent VM node information. At the moment of NSD activation =
we already have to set the VM node information such as VM capabilities =
that can be created (previosly)/(at the moment of configuration of NSD) =
but have to be a part of the network service descriptor at the moment of =
activation.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;[Dmytro]<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;The Internet Draft also =
defines the term uCPE that is not defined at IETF yet.<br =
class=3D""></div><div =
class=3D"">&gt;&gt;&gt;_______________________________________________<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;netmod mailing list<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;<a target=3D"_blank" =
href=3D"mailto:netmod@ietf.org" class=3D"">netmod@ietf.org</a><br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;<a target=3D"_blank" =
href=3D"https://www.ietf.org/mailman/listinfo/netmod" =
class=3D"">https://www.ietf.org/mailman/listinfo/netmod</a><br =
class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div></div><br =
class=3D""></div></div></blockquote></div><br class=3D""><div class=3D"">
<div class=3D""><br class=3D""></div><br =
class=3D"Apple-interchange-newline">

</div>
<br class=3D""></div></div></body></html>=

--Apple-Mail=_319879B5-F092-4973-994C-0057176FB446--


From nobody Fri Sep  6 00:19:02 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9514312007C for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 00:19:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 wZRapaNZIU4M for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 00:18:58 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2EBCF12002E for <netmod@ietf.org>; Fri,  6 Sep 2019 00:18:58 -0700 (PDT)
Received: from LHREML711-CAH.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 9D0C66EEDFD0A5C94D4E for <netmod@ietf.org>; Fri,  6 Sep 2019 08:18:55 +0100 (IST)
Received: from lhreml727-chm.china.huawei.com (10.201.108.78) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.408.0; Fri, 6 Sep 2019 08:18:54 +0100
Received: from lhreml727-chm.china.huawei.com (10.201.108.78) by lhreml727-chm.china.huawei.com (10.201.108.78) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Fri, 6 Sep 2019 08:18:54 +0100
Received: from DGGEMM422-HUB.china.huawei.com (10.1.198.39) by lhreml727-chm.china.huawei.com (10.201.108.78) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Fri, 6 Sep 2019 08:18:54 +0100
Received: from DGGEMM513-MBS.china.huawei.com ([169.254.4.45]) by dggemm422-hub.china.huawei.com ([10.1.198.39]) with mapi id 14.03.0439.000; Fri, 6 Sep 2019 15:18:39 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: "netmod@ietf.org" <netmod@ietf.org>
CC: Yangshouchuan <yangshouchuan@huawei.com>, Yangang <yangang@huawei.com>, Qin Wu <bill.wu@huawei.com>
Thread-Topic: =?gb2312?B?UGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQgoa53aGVuoa8g?=
Thread-Index: AdVkgxkxStdW26xJTo+kz8dBb3TuVg==
Date: Fri, 6 Sep 2019 07:18:39 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/alternative; boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F20F2Cdggemm513mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/1wjKqqm6H9v7RB4tCZ2qEMg6zzI>
Subject: [netmod] =?gb2312?b?UGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJv?= =?gb2312?b?dXQgoa53aGVuoa8=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 07:19:01 -0000

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F20F2Cdggemm513mbschi_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SGkgYWxsLA0KDQpJbiBSRkM3OTUwIHNlY3RvbiA4LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0
IHdoZW6jug0KSW4gc2VjdGlvbiA4LjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5
NTAjc2VjdGlvbi04LjI+LiAgQ29uZmlndXJhdGlvbiBEYXRhIE1vZGlmaWNhdGlvbnMNCiAgIG8g
IElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhh
dCBhbnkNCiAgICAgIG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVu
IHRoZSBub2RlIGluIHRoZSBkYXRhDQogICAgICB0cmVlIHdpdGggdGhlICJ3aGVuIiBleHByZXNz
aW9uIGlzIGRlbGV0ZWQgYnkgdGhlIHNlcnZlci4NCkluIDguMy4xPGh0dHBzOi8vdG9vbHMuaWV0
Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjE+LiAgUGF5bG9hZCBQYXJzaW5nDQoNCiAg
IG8gIElmIGRhdGEgZm9yIGEgbm9kZSB0YWdnZWQgd2l0aCAid2hlbiIgaXMgcHJlc2VudCBhbmQg
dGhlICJ3aGVuIg0KDQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIsIHRoZSBz
ZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuDQoNCiAgICAgICJ1bmtub3duLWVsZW1lbnQiIDxlcnJv
ci10YWc+IGluIHRoZSA8cnBjLWVycm9yPi4NCg0KSW4gOC4zLjI8aHR0cHM6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMj4uICBORVRDT05GIDxlZGl0LWNvbmZpZz4g
UHJvY2Vzc2luZw0KDQpNb2RpZmljYXRpb24gcmVxdWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRo
ICJ3aGVuIiwgYW5kIHRoZSAid2hlbiINCg0KICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAi
ZmFsc2UiLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1QNCg0KICAgICAgcmVwbHkgd2l0
aCBhbiAidW5rbm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoN
CllBTkcgbW9kdWxlo7oNCm1vZHVsZSBmb28gew0KICAgbmFtZXNwYWNlIKGwaHR0cDovL2Zvby5j
b22hsTsNCiAgIHByZWZpeCChsGZvb6GxOw0KTGVhZiBhIHuhrX0NCkxlYWYgYiB7DQogIFdoZW4g
obBhID0gMTChsTsNCn0NCn0NClNjZW5lIDE6DQpUaGUgZmlyc3QgZWRpdC1jb25maWcgcmVxdWVz
dDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwv
dGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSChsGh0dHA6Ly9mb28uY29tobE+
MzwvYT4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NClRoaXMgcmVxdWVzdCB3aWxsIHNl
dCBhID0gMy4NCg0KVGhlIHNlY29uZCByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdl
dD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAg
PGEgeG1sbnM9IKGwaHR0cDovL2Zvby5jb22hsT4xMDwvYT4NCiAgICAgIDxiIHhtbG5zPSChsGh0
dHA6Ly9mb28uY29tobE+NTwvYj4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NCg0KQWNj
b3JkaW5nIDguMy4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYaGvcyB2YWx1
ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBioa9zIHdoZW4gY29uZGl0aW9u
IGlzIGV2YWx1YXRlZCB0byBmYWxzZSwgc2VydmVyIHdpbGwgcmVwb3J0IKGudW5rbm93bi1lbGVt
ZW50oa8gZXJyb3IuDQpJcyBpdCBleHBlY3RlZCBieSB1c2VyPw0KU2NlbmUgMjoNClRoZSBmaXJz
dCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAg
IDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9
IKGwaHR0cDovL2Zvby5jb22hsT4xMDwvYT4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4N
ClRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMTAuDQoNClRoZSBzZWNvbmQgcmVxdWVzdDoNCjxl
ZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0
Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSChsGh0dHA6Ly9mb28uY29tobE+MzwvYT4N
CiAgICAgIDxiIHhtbG5zPSChsGh0dHA6Ly9mb28uY29tobE+NTwvYj4NCiAgIDwvY29uZmlnPg0K
PC9lZGl0LWNvbmZpZz4NCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBw
aGFzZSwgdGhlIGGhr3MgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZSBpcyAxMCwgc28gbGVh
ZiBioa9zIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlLCBzZXJ2ZXIgd2lsbCBh
Y2NlcHQgdGhpcyByZXF1ZXN0IGluIHBheWxvYWQgcGFyc2luZyBwaGFzZS4NCg0KSW4gZWRpdC1j
b25maWcgcmVxdWVzdCBwcm9jZXNzaW5nIHBoYXNlLCBpZiBsZWFmIGGhr3MgbW9kaWZpY2F0aW9u
IGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYaGvcyB2YWx1ZSB3aWxsIGJlIGNoYW5nZWQgdG8g
Mywgc28gdGhlIGKhr3Mgd2hlbiBjb25kaXRpb24gd2lsbCBiZSBmYWxzZSwgd2hlbiBzZXJ2ZXIg
cHJvY2VzcyBioa9zIG1vZGlmaWNhdGlvbiwgYiB3aWxsIGJlIHRyZWF0ZWQgYXMgdW5rbm93bi1l
bGVtZW50LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGZhaWwuDQpJZiBsZWFmIGKhr3Mg
bW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhp
cyBtb2RpZmljYXRpb24gLGJlY2F1c2UgYqGvcyB3aGVuIGNvbmRpdGlvbiBpcyB0cnVlLCBhbmQg
d2hlbiBzZXJ2ZXIgcHJvY2VzcyBhoa9zIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9u
IHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBioa9zIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZXZhbHVh
dGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbCBiZSBkZWxldGVkIGF1dG9tYXRpY2FsbHksIHRoZSBl
ZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgYmUgT0suDQoNCkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nl
c3MgdGhpcyBzaXR1YXRpb24/DQoNCg==

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F20F2Cdggemm513mbschi_
Content-Type: text/html; charset="gb2312"
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=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:=CB=CE=CC=E5;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:"Calibri Light";
	panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:"\@=CB=CE=CC=E5";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;}
h3
	{mso-style-priority:9;
	mso-style-link:"=B1=EA=CC=E2 3 Char";
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:13.5pt;
	font-family:=CB=CE=CC=E5;}
h4
	{mso-style-priority:9;
	mso-style-link:"=B1=EA=CC=E2 4 Char";
	margin-top:14.0pt;
	margin-right:0cm;
	margin-bottom:14.5pt;
	margin-left:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	line-height:155%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Calibri Light",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML =D4=A4=C9=E8=B8=F1=CA=BD Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:=CB=CE=CC=E5;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.3Char
	{mso-style-name:"=B1=EA=CC=E2 3 Char";
	mso-style-priority:9;
	mso-style-link:"=B1=EA=CC=E2 3";
	font-family:=CB=CE=CC=E5;
	font-weight:bold;}
span.4Char
	{mso-style-name:"=B1=EA=CC=E2 4 Char";
	mso-style-priority:9;
	mso-style-link:"=B1=EA=CC=E2 4";
	font-family:"Calibri Light",sans-serif;
	font-weight:bold;}
span.HTMLChar
	{mso-style-name:"HTML =D4=A4=C9=E8=B8=F1=CA=BD Char";
	mso-style-priority:99;
	mso-style-link:"HTML =D4=A4=C9=E8=B8=F1=CA=BD";
	font-family:=CB=CE=CC=E5;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
/* Page Definitions */
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.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"ZH-CN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"text-justi=
fy-trim:punctuation">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span><span style=3D"font-family:=CB=CE=CC=E5">=A3=BA<=
/span><span lang=3D"EN-US"><o:p></o:p></span></p>
<h3 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In section <a hr=
ef=3D"https://tools.ietf.org/html/rfc7950#section-8.2">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack">8.2</span></a></span><a name=3D"section-8.2"></a><span lang=3D"EN-US"=
 style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"=
>.&nbsp; Configuration Data Modifications<o:p></o:p></span></h3>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:=CB=CE=CC=E5;color:black">=
&nbsp;&nbsp; o&nbsp; If a request modifies a configuration data node such t=
hat any<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:=CB=CE=CC=E5;color:black">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; node's &quot;when&quot; expression becomes f=
alse, then the node in the data<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:=CB=CE=CC=E5;color:black">=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tree with the &quot;when&quot; expression is=
 deleted by the server.<o:p></o:p></span></p>
<h4 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In <a href=3D"ht=
tps://tools.ietf.org/html/rfc7950#section-8.3.1">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack;text-decoration:none">8.3.1</span></a></span><a name=3D"section-8.3.1"=
></a><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Couri=
er New&quot;;color:black">.&nbsp; Payload Parsing<o:p></o:p></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p; o&nbsp; If data for a node tagged with &quot;when&quot; is present and t=
he &quot;when&quot;<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; condition evaluates to &quot;false&quot;, the server M=
UST reply with an<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; &quot;unknown-element&quot; &lt;error-tag&gt; in the &=
lt;rpc-error&gt;.<o:p></o:p></span></pre>
<h4 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In <a href=3D"ht=
tps://tools.ietf.org/html/rfc7950#section-8.3.2">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack;text-decoration:none">8.3.2</span></a></span><a name=3D"section-8.3.2"=
></a><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Couri=
er New&quot;;color:black">.&nbsp; NETCONF &lt;edit-config&gt; Processing<o:=
p></o:p></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">Modificati=
on requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot=
;<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; condition evaluates to &quot;false&quot;.&nbsp; In thi=
s case, the server MUST<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; reply with an &quot;unknown-element&quot; &lt;error-ta=
g&gt; in the &lt;rpc-error&gt;.<o:p></o:p></span></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span><span style=
=3D"font-family:=CB=CE=CC=E5">=A3=BA</span><span lang=3D"EN-US"><o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; namespace =A1=B0ht=
tp://foo.com=A1=B1;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; prefix =A1=B0foo=
=A1=B1;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf a {=A1=AD}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf b {<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">&=
nbsp; When =A1=B0a =3D 10=A1=B1;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">}=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<o:p></o:p></span></p>
<h3><span lang=3D"EN-US">Scene 1: <o:p></o:p></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =A1=B0http://foo.com=A1=B1&gt;3&lt;/a&gt;<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =A1=B0http://foo.com=A1=B1&gt;10&lt;/a&gt;<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;b xmlns=3D =A1=B0http://foo.com=A1=B1&gt;5&lt;/b&gt;<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Acco=
rding 8.3.1, in rpc payload parsing phase, the a=A1=AFs value in candidate =
datastore is 3,so leaf b=A1=AFs when condition is evaluated to false, serve=
r will report =A1=AEunknown-element=A1=AF error.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Is i=
t expected by user?<o:p></o:p></span></p>
<h3><span lang=3D"EN-US">Scene 2:<o:p></o:p></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =A1=B0http://foo.com=A1=B1&gt;10&lt;/a&gt;<o:p></o:p></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =A1=B0http://foo.com=A1=B1&gt;3&lt;/a&gt;<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;b xmlns=3D =A1=B0http://foo.com=A1=B1&gt;5&lt;/b&gt;<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Acco=
rding 8.3.1, in rpc payload parsing phase, the a=A1=AFs value in candidate =
datastore is 10, so leaf b=A1=AFs when condition is evaluated to true, serv=
er will accept this request in payload parsing phase.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">In e=
dit-config request processing phase, if leaf a=A1=AFs modification is proce=
ssed firstly, the a=A1=AFs value will be changed to 3, so the b=A1=AFs when=
 condition will be false, when server process b=A1=AFs modification,
 b will be treated as unknown-element, the edit-config request will fail. <=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">If l=
eaf b=A1=AFs modification is processed firstly, server will accept this mod=
ification ,because b=A1=AFs when condition is true, and when server process=
 a=A1=AFs modification , this modification will be accepted,
 and b=A1=AFs when condition will be evaluated to false, leaf b will be del=
eted automatically, the edit-config request will be OK.<o:p></o:p></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">How =
server should process this situation?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</body>
</html>

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F20F2Cdggemm513mbschi_--


From nobody Fri Sep  6 00:25:20 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F29F612007C for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 00:25:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 M8eYywZbc017 for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 00:25:17 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id F3D5B12002E for <netmod@ietf.org>; Fri,  6 Sep 2019 00:25:16 -0700 (PDT)
Received: from localhost (h-46-233.A165.priv.bahnhof.se [46.59.46.233]) by mail.tail-f.com (Postfix) with ESMTPSA id 868C01AE0187; Fri,  6 Sep 2019 09:25:15 +0200 (CEST)
Date: Fri, 06 Sep 2019 09:25:15 +0200 (CEST)
Message-Id: <20190906.092515.2154852591644890692.mbj@tail-f.com>
To: auerswal@unix-ag.uni-kl.de
Cc: kent+ietf@watsen.net, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <20190905163216.GA3497@unix-ag.uni-kl.de>
References: <0100016d01f89905-2d99967e-a660-4ae2-a0a3-1fd270ad4a07-000000@email.amazonses.com> <20190905.171730.1203130976409295649.mbj@tail-f.com> <20190905163216.GA3497@unix-ag.uni-kl.de>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/bJWRuTEhe8JPFhaLedWgrXAd3rA>
Subject: Re: [netmod] Alissa Cooper's Abstain on draft-ietf-netmod-artwork-folding-09: (with COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 07:25:19 -0000

Erik Auerswald <auerswal@unix-ag.uni-kl.de> wrote:
> Hi Martin,
> 
> On Thu, Sep 05, 2019 at 05:17:30PM +0200, Martin Bjorklund wrote:
> > Kent Watsen <kent+ietf@watsen.net> wrote:
> > > 
> > > >> There has been discussion about how embedding YANG models in RFCs seems like a
> > > >> poor fit for a number of reasons. By standardizing line-folding mechanisms and
> > > >> claiming them as a best practice, this document reinforces the root of that
> > > >> problem rather than trying to fix it.
> > > > 
> > > > Well said, I agree with Alissa's conclusion.
> > 
> > But the algorithm in the document isn't supposed to be used for YANG
> > modules.  It is supposed to be used primarily for XML and JSON
> > snippets (etc).
> 
> Technically, XML and JSON are whitespace-agnostic

Whitespaces are significant in XML element values, which means that we
have to write e.g.

    <discontinuity-time>2013-04-01T03:00:00+00:00</discontinuity-time>

With indentation for readability we quickly run out of horizontal
space.

> and often can be
> "folded" manually without any folding indicators.  That seems to be
> true for YANG as well.

It is true for YANG, which is why I wrote that this algorithm isn't
supposed to be used for YANG.  In fact, the document says:

   It is RECOMMENDED that authors do as much as possible within the
   selected format to avoid long lines.

> Even Python code usually can be kept under any
> reasonable line length.
> 
> Very long names or values could require algorithmic folding, i.e.,
> a generic line-folding mechanism.
> 
> I personally would try to keep the line length of any code inside an
> RFC short enough to not need additional algorithmic folding.  But if
> this does not work, e.g., because some name or value is just too long,
> having a recommended algorithm seems to be better than every author
> making up another ad-hoc folding scheme.
> 
> The I-D.ietf-netmod-artwork-folding seems to try to provide a recommended
> algorithm for the case where a generic line-folding mechanism is needed.

Exactly!


/martin


> 
> Overly long lines sometimes result in lost information in HTML or PDF
> documents, if a complex layout is used, but no mechanism for dealing with
> unexpectedly long lines is included.  I have seen too many examples of
> this to believe that this cannot happen with RFCs.
> 
> Thanks,
> Erik
> 


From nobody Fri Sep  6 12:06:29 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6706E120A02; Fri,  6 Sep 2019 12:06:20 -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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 7B64X6YJdZnN; Fri,  6 Sep 2019 12:06:18 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id ADF9B120A06; Fri,  6 Sep 2019 12:06:18 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id A3648B80C67; Fri,  6 Sep 2019 12:05:55 -0700 (PDT)
To: daedulus@btconnect.com, andy@yumaworks.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: warren@kumari.net, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190906190555.A3648B80C67@rfc-editor.org>
Date: Fri,  6 Sep 2019 12:05:55 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ph2NEMOEs8GrMQr-S-BiRolO6gg>
Subject: [netmod] [Errata Verified] RFC8407 (5800)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 19:06:21 -0000

The following errata report has been verified for RFC8407,
"Guidelines for Authors and Reviewers of Documents Containing YANG Data Models". 

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5800

--------------------------------------
Status: Verified
Type: Editorial

Reported by: tom Petch <daedulus@btconnect.com>
Date Reported: 2019-07-31
Verified by: Warren Kumari (Ops AD) (IESG)

Section: appendix b

Original Text
-------------
       "WG Web:   <http://datatracker.ietf.org/wg/your-wg-name/>
.....
        (http://trustee.ietf.org/license-info).


Corrected Text
--------------
       "WG Web:   <https://datatracker.ietf.org/wg/your-wg-name/>
.....
        (https://trustee.ietf.org/license-info).


Notes
-----
Appendix A rightly says that these URL should have a scheme of https:
but Appendix B wrongly specifies http:

[WK]: I'm marking this as 'Verified' (instead of "Hold for Document Update") as it is in a template which is likely to be copied and pasted, and this seems like it may get more visibility.

--------------------------------------
RFC8407 (draft-ietf-netmod-rfc6087bis-20)
--------------------------------------
Title               : Guidelines for Authors and Reviewers of Documents Containing YANG Data Models
Publication Date    : October 2018
Author(s)           : A. Bierman
Category            : BEST CURRENT PRACTICE
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Fri Sep  6 12:27:57 2019
Return-Path: <warren@kumari.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 419F8120A98 for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:27:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=kumari-net.20150623.gappssmtp.com
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 3j7Fb55huasy for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:27:53 -0700 (PDT)
Received: from mail-qk1-x741.google.com (mail-qk1-x741.google.com [IPv6:2607:f8b0:4864:20::741]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C49F120A90 for <netmod@ietf.org>; Fri,  6 Sep 2019 12:27:53 -0700 (PDT)
Received: by mail-qk1-x741.google.com with SMTP id x134so6819553qkb.0 for <netmod@ietf.org>; Fri, 06 Sep 2019 12:27:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kumari-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=lMhB8LbPQRmwSil3CF/3eDmW72pZXOC2x0Os4s65UD0=; b=vMpO7khKEzdR1coh5IgnhQLX8cYfPNRoHwJrMmEYqDMv6SnM0r5QqWhMZzb7Ob0Ytz CnXc24/Fwm0ujU61NMSDjk+XG9Tids7AfAEc6eDvciZ6W+5xNPy6usCtyaMX3g6Taa5I iI/5oi4aN4bbhrkY+QH8lbP87UqArZuwBuPwxAfudy7ChKxd1GdSlsD/h2oRx3l43bzs CHtmb2C7bEcnSQq7jlUm7bcxz7RLYL4fLjI5zrDKGseQ8bImcMrnHHugA/D8ErLrnLzC +cmV7hPmqlPxrg+jcUSbgf85dMX8DcH0HfOZzlVbpHsu5RWo+h8kIbN9+rdNYXA7LaXD ceYg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=lMhB8LbPQRmwSil3CF/3eDmW72pZXOC2x0Os4s65UD0=; b=hErrkqNhgXjiK1I66ontgJcR2d6YKVsbGSWIVbStMGnZ8Jr8611AtmvJW5FSLepO4p V9t3ASwasBe+7I5FRawzrEMWP4q2CUMJKcSKkg9cf0tHuUEnW+u6WWR+Q3kXRJJ9iJ1B qGjE1KtiPKJJa0huytkYhTVYnaP2Y3UlGB/ZUpg192JlcIJbtMiJMEEiLmUBJC1FxVaE nuL/COl8CYee5DAu+bRJTJsj01nkI5ULdSooa5UcXHPPved3qNeHMQS7bqc7N/NZ1lVb cDLDZdp9yrh+zfwciKky/X2RZdEfyE8y9JhZEA3NP8xlcaS+7vVtxpKFAcpVwuTJJFqv CI+g==
X-Gm-Message-State: APjAAAXLUCNeL+HNee5MV5gqiVLUHRXRQwGpvIjiv8/YnSTZGCjRqRek 8+IAS2LrOPpuIJq18EEm8bsAO307y+B3/xcwQCZcsQ==
X-Google-Smtp-Source: APXvYqyN0sYHlu1o4gL3bWquQGmFfQLa5Xr9Y8XhvaOt5prEHT3GdizU01G9HimblZEeJgcElHCo0MyfC8x58UgwyPU=
X-Received: by 2002:a37:4ccf:: with SMTP id z198mr10619717qka.245.1567798071748;  Fri, 06 Sep 2019 12:27:51 -0700 (PDT)
MIME-Version: 1.0
References: <CABCOCHQMAq-vzANerP3ehY1y9fiiQZKY_S4dEh0qfhO=7bS8hA@mail.gmail.com> <HE1PR0701MB29053FE1EC7A4F199C688050EA7E0@HE1PR0701MB2905.eurprd07.prod.outlook.com> <CABCOCHQMB8KD9Z8zXw8uxLOrcBE7_RqNFGRmJfNmoQ=TvFUaDg@mail.gmail.com> <20190221.193325.152438307014996574.mbj@tail-f.com> <CABCOCHSx50uOPeF6AXYsobe2uPBMrx4pkFnHr7GKMTJpq-HR2Q@mail.gmail.com>
In-Reply-To: <CABCOCHSx50uOPeF6AXYsobe2uPBMrx4pkFnHr7GKMTJpq-HR2Q@mail.gmail.com>
From: Warren Kumari <warren@kumari.net>
Date: Fri, 6 Sep 2019 15:27:15 -0400
Message-ID: <CAHw9_iLb8Bf6ntnjM+c5bxawTkvw3Q0opr5wgAwvnWLOoHnpAA@mail.gmail.com>
To: Andy Bierman <andy@yumaworks.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, Peter Loborg <peter.loborg@ericsson.com>, RFC Editor <rfc-editor@rfc-editor.org>, Ignas Bagdonas <ibagdona@gmail.com>,  NetMod WG <netmod@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/B9f16ePoyBD-vZbBEZOOaGbMXK4>
Subject: Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 19:27:56 -0000

On Thu, Feb 21, 2019 at 1:53 PM Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
> On Thu, Feb 21, 2019 at 10:33 AM Martin Bjorklund <mbj@tail-f.com> wrote:
>>
>> Andy Bierman <andy@yumaworks.com> wrote:
>> > On Thu, Feb 21, 2019 at 10:07 AM Peter Loborg <peter.loborg@ericsson.c=
om>
>> > wrote:
>> >
>> > >
>> > >
>> > > Your example is fine =E2=80=93 but the gammar is ch14 specifies some=
thing
>> > > different:
>> > >
>> > >
>> > >
>> > > enum-stmt           =3D enum-keyword sep string optsep
>> > >
>> > >                          (";" /
>> > >
>> > >                           "{" stmtsep
>> > >
>> > >                               ;; these stmts can appear in any order
>> > >
>> > >                               *if-feature-stmt
>> > >
>> > >                               [value-stmt]
>> > >
>> > >                               [status-stmt]
>> > >
>> > >                               [description-stmt]
>> > >
>> > >                               [reference-stmt]
>> > >
>> > >                            "}") stmtsep
>> > >
>> > >
>> > >
>> > > It clearly states  string, not quoted-string. These two have the fol=
lowing
>> > > rules:
>> > >
>> > >
>> > >
>> > > quoted-string       =3D (DQUOTE string DQUOTE) / (SQUOTE string SQUO=
TE)
>> > >
>> > >
>> > >
>> > > string              =3D < an unquoted string, as returned by >
>> > >
>> > >                          < the scanner, that matches the rule >
>> > >
>> > >                          < yang-string >
>> > >
>> > >
>> > >
>> >
>> >
>> > The text in 9.6.4 is correct.
>> > The ABNF is wrong.
>>
>> No, the ABNF is correct.  The ABNF doens't handle concatenation etc.
>> The idea is that the scanner handles quotes and concatenation and
>> returns a "string".
>>
>
>
> OK -- it is confusing that the rule quoted-string exists, but it
> is only for key and leaf-list predicates.

Hi all,

I'm trying to go through and do some cleanup of the dangling Errata.
I'm *certainly* not an expert here, and so am relying on y'all.
>From what I've been able to figure out, the consensus is that this
Errata should be rejected, yes?
W


>
>
>>
>>
>> /martin
>>
>
> Andy
>
>>
>>
>>
>> >
>> >
>> >
>> > > =E2=80=A6and in 6.1.3 we can read that:
>> > >
>> > >    An unquoted string is any sequence of characters that does not
>> > >
>> > >    contain any space, tab, carriage return, or line feed characters,=
 a
>> > >
>> > >    single or double quote character, a semicolon (";"), braces ("{" =
or
>> > >
>> > >    "}"), or comment sequences ("//", "/*", or "*/").
>> > >
>> > >
>> > >
>> > >    Note that any keyword can legally appear as an unquoted string.
>> > >
>> > >
>> > >
>> > > Since the section so clearly writes about single quoted strings and =
double
>> > > quoted strings, there can unfortunately be no interpretation that wo=
uld
>> > > allow =E2=80=9Cidentifier=E2=80=9D to be called an unquoted string =
=E2=80=93 even though it follows
>> > > the rules about limited character contents.
>> > >
>> > >
>> > >
>> > > Hence =E2=80=93 this is not a matter of opinion =E2=80=93 it=E2=80=
=99s a matter of reading what=E2=80=99s
>> > > actually written in the RFC.
>> > >
>> > >
>> > >
>> > > But on the subject of opinion=E2=80=A6
>> > >
>> > >
>> > >
>> > >       enum "This is also legal";   // should definitely always be il=
legal
>> > >
>> > >
>> > >
>> > > =E2=80=A6as we cannot create a language binding to enum constructs i=
n any major
>> > > programming languages.
>> > >
>> > >
>> > >
>> >
>> > There are many aspects of YANG that do not map directly to programming
>> > languages,
>> > such as allowing '.' in identifiers.
>> >
>> >
>> >
>> > > Br,
>> > >
>> > > Peter
>> > >
>> >
>> >
>> > Andy
>> >
>> >
>> > >
>> > >
>> > >
>> > >
>> > > *From:* Andy Bierman <andy@yumaworks.com>
>> > > *Sent:* den 21 februari 2019 18:45
>> > > *To:* Martin Bjorklund <mbj@tail-f.com>
>> > > *Cc:* RFC Editor <rfc-editor@rfc-editor.org>; Ignas Bagdonas <
>> > > ibagdona@gmail.com>; NetMod WG <netmod@ietf.org>; Peter Loborg <
>> > > peter.loborg@ericsson.com>; Warren Kumari <warren@kumari.net>
>> > > *Subject:* Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > On Thu, Feb 21, 2019 at 8:53 AM Martin Bjorklund <mbj@tail-f.com> wr=
ote:
>> > >
>> > > RFC Errata System <rfc-editor@rfc-editor.org> wrote:
>> > > > The following errata report has been submitted for RFC7950,
>> > > > "The YANG 1.1 Data Modeling Language".
>> > > >
>> > > > --------------------------------------
>> > > > You may review the report below and at:
>> > > > http://www.rfc-editor.org/errata/eid5642
>> > > >
>> > > > --------------------------------------
>> > > > Type: Editorial
>> > > > Reported by: Peter Loborg <peter.loborg@ericsson.com>
>> > > >
>> > > > Section: 9.6.4
>> > > >
>> > > > Original Text
>> > > > -------------
>> > > > It takes as an argument a string that is the assigned name.
>> > > >
>> > > > Corrected Text
>> > > > --------------
>> > > > It takes as an argument an unquoted string that is the assigned na=
me.
>> > >
>> > > This is not correct.  The enum argument is not different from any
>> > > other keyword's arguments in YANG.  See e.g. the example in 9.12.4:
>> > >
>> > >        type enumeration {
>> > >          enum "unbounded";
>> > >        }
>> > >
>> > > The following is also legal:
>> > >
>> > >          enum "unb" + 'ounded';
>> > >
>> > >
>> > >
>> > >
>> > >
>> > >   enum "This is also legal";
>> > >
>> > >
>> > >
>> > > 9.6.4.  The "enum" Statement
>> > >
>> > >
>> > >
>> > >    The "enum" statement, which is a substatement to the "type"
>> > >
>> > >    statement, MUST be present if the type is "enumeration".  It is
>> > >
>> > >    repeatedly used to specify each assigned name of an enumeration t=
ype.
>> > >
>> > >    It takes as an argument a string that is the assigned name.  *The=
*
>> > >
>> > > *   string MUST NOT be zero-length and MUST NOT have any leading or*
>> > >
>> > > *   trailing whitespace characters* (any Unicode character with the
>> > >
>> > >    "White_Space" property).  The use of Unicode control codes SHOULD=
 be
>> > >
>> > >    avoided.
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > This errata should be rejected.
>> > >
>> > >
>> > >
>> > > /martin
>> > >
>> > >
>> > >
>> > >
>> > >
>> > > Andy
>> > >
>> > >
>> > >
>> > >
>> > > >
>> > > > Notes
>> > > > -----
>> > > > Readers are not beeing made aware that careful reading of section =
6.1.3
>> > > and the detailed definition of string in section 14 must be consulte=
d.
>> > > > For comming versions of this RFC it would be preferable to use a m=
ore
>> > > specialized grammar token for these cases (e.g. unquoted-string).
>> > > >
>> > > > Instructions:
>> > > > -------------
>> > > > This erratum is currently posted as "Reported". If necessary, plea=
se
>> > > > use "Reply All" to discuss whether it should be verified or
>> > > > rejected. When a decision is reached, the verifying party
>> > > > can log in to change the status and edit the report, if necessary.
>> > > >
>> > > > --------------------------------------
>> > > > RFC7950 (draft-ietf-netmod-rfc6020bis-14)
>> > > > --------------------------------------
>> > > > Title               : The YANG 1.1 Data Modeling Language
>> > > > Publication Date    : August 2016
>> > > > Author(s)           : M. Bjorklund, Ed.
>> > > > Category            : PROPOSED STANDARD
>> > > > Source              : Network Modeling
>> > > > Area                : Operations and Management
>> > > > Stream              : IETF
>> > > > Verifying Party     : IESG
>> > > >
>> > >
>> > > _______________________________________________
>> > > netmod mailing list
>> > > netmod@ietf.org
>> > > https://www.ietf.org/mailman/listinfo/netmod
>> > >
>> > >



--=20
I don't think the execution is relevant when it was obviously a bad
idea in the first place.
This is like putting rabid weasels in your pants, and later expressing
regret at having chosen those particular rabid weasels and that pair
of pants.
   ---maf


From nobody Fri Sep  6 12:37:59 2019
Return-Path: <warren@kumari.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BABB120B27 for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:37:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.878
X-Spam-Level: 
X-Spam-Status: No, score=-0.878 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, MISSING_HEADERS=1.021, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=kumari-net.20150623.gappssmtp.com
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 YiOz4H7CQM_8 for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:37:54 -0700 (PDT)
Received: from mail-qk1-x72c.google.com (mail-qk1-x72c.google.com [IPv6:2607:f8b0:4864:20::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3B6E1120B29 for <netmod@ietf.org>; Fri,  6 Sep 2019 12:37:53 -0700 (PDT)
Received: by mail-qk1-x72c.google.com with SMTP id x134so6857215qkb.0 for <netmod@ietf.org>; Fri, 06 Sep 2019 12:37:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kumari-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc :content-transfer-encoding; bh=UCMY/uTxtEC+K+ETuCKkbOJ3fOSmSqjFU96AuZaf0tk=; b=bPnoqwuGLL36Bs8gd1377hKaquP0peaZAl6izF3Cw1I2EzfDFzh736PgPj5I288ono gBc6TeWH92wZayU2WnLl7YBV270T+M0TJUlL+WPcY8LIhmuY/Woqxfn68Ts63AR5jSpS DhgYSyKk82j990SH4ZJVzjf13jN0mGyFmEai1I8F9V6dMOC+xV+3/wUjgrijeDR50qbk b5qPdY4FPRg4FdU8Ok6UdCtLM9K44JVZjlBzD8hQeMerRxyurdI1hf2BXQtY4eDBxO2A mJdpMlzj8fzxHF7b7fo/S2REYqAGAhuYSW5BQG8FixTg86leanFqiAdcCSz8RCFtVvKo IPdA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc:content-transfer-encoding; bh=UCMY/uTxtEC+K+ETuCKkbOJ3fOSmSqjFU96AuZaf0tk=; b=XXVX67y3IY71RyMomiMQ6bRtHHkHD1z6TEtZScl7UtxynIQF9jF5wx0/JasazO5yKk bYAdRyrjLd/hC8Vr7GPfSINAxgRI2fssyXJkRaL+jXr0mmjtGi8r+YXd0nsah6EL2WQY TGBSNIbku4X++ezJaskfcAryNbIxUEEzktQRVbMFKBxX+3tlo/DyK+cYMQvQfmN4UrWN IzOdNwktDPmwrQN4+3lM0JBKc0ApsiFFsUVEXUGP5QsBMZXr3IpyU02a5a766lRHTiD+ k2djatnz8UXhOJfvE8tsbl4DRwirAGtL3Wm8hS1kVhRswI/kXOc0lI7O1W959qZTNole qVOA==
X-Gm-Message-State: APjAAAUTL1t0N3mBgOJgli1EXMnvElmSEY8D5pZ+pJMvVjzSm3zP1S+Y MqlVB6TXilSREyJpkNQBXDyQgCPADDQmCXi2dBGEyw==
X-Received: by 2002:a37:6d2:: with SMTP id 201mt10198901qkg.106.1567798672018;  Fri, 06 Sep 2019 12:37:52 -0700 (PDT)
MIME-Version: 1.0
References: <20190813112613.82CE8B80E16@rfc-editor.org>
In-Reply-To: <20190813112613.82CE8B80E16@rfc-editor.org>
From: Warren Kumari <warren@kumari.net>
Date: Fri, 6 Sep 2019 15:37:15 -0400
Message-ID: <CAHw9_iKvbmpEM8KGgnGtwG02c5vuCSbF2-JvBvD5XKqGWXRuPA@mail.gmail.com>
Cc: =?UTF-8?Q?martin_bj=C3=B6rklund?= <mbj@tail-f.com>,  Ignas Bagdonas <ibagdona@gmail.com>, Joel Jaeggli <joelja@bogus.com>,  Kent Watsen <kent+ietf@watsen.net>, Lou Berger <lberger@labn.net>, jernej.tuljak@mg-soft.si, NetMod WG <netmod@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Nn8YQm_YOJyxOgC4fD0yjN1apBQ>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (5807)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 19:37:56 -0000

[ - RFC Ed (for clutter), + Benoit (who verified
https://www.rfc-editor.org/errata/eid4794) ]

I'm trying to go through and clean up the outstanding Ops and
Management Errata. I'm completely, 100% not a YANG / netmod person (I
cannot even spell YANG!), but I *think* that this Errata should be
verified, yes? This isn't changing what was decided when the WG
published this, it is simply correcting / clarifying the text.

The Errata criteria are here:
https://www.ietf.org/about/groups/iesg/statements/processing-rfc-errata/

One of the big ones is that we only use Errata to fix actual errors,
not change anything that was WG consensus at the time:
"Changes that modify the working of a protocol to something that might
be different from the intended consensus when the document was
approved should be either Hold for Document Update or Rejected.
Deciding between these two depends on judgment. Changes that are
clearly modifications to the intended consensus, or involve large
textual changes, should be Rejected. In unclear situations, small
changes can be Hold for Document Update."

Again, I'm not a NetMod person, so looking for clear advice here...

W

On Tue, Aug 13, 2019 at 7:26 AM RFC Errata System
<rfc-editor@rfc-editor.org> wrote:
>
> The following errata report has been submitted for RFC7950,
> "The YANG 1.1 Data Modeling Language".
>
> --------------------------------------
> You may review the report below and at:
> https://www.rfc-editor.org/errata/eid5807
>
> --------------------------------------
> Type: Technical
> Reported by: Jernej Tuljak <jernej.tuljak@mg-soft.si>
>
> Section: 7.21.5.
>
> Original Text
> -------------
>    o  If the "when" statement is a child of a "uses", "choice", or
>       "case" statement, then the context node is the closest ancestor
>       node to the node with the "when" statement that is also a data
>       node.  If no such node exists, the context node is the root node.
>       The accessible tree is tentatively altered during the processing
>       of the XPath expression by removing all instances (if any) of the
>       nodes added by the "uses", "choice", or "case" statement.
>
> Corrected Text
> --------------
>    o  If the "when" statement is a child of a "uses", "choice", or
>       "case" statement, then the context node is the closest ancestor
>       node to the node with the "when" statement that is also a data
>       node, rpc, action or notification.  If no such node exists, the
>       context node is the root node. The accessible tree is tentatively
>       altered during the processing of the XPath expression by removing
>       all instances (if any) of the nodes added by the "uses",
>       "choice", or "case" statement.
>
> Notes
> -----
> Similar to verified errata 4794 (https://www.rfc-editor.org/errata/eid479=
4) but covers the "uses", "choice" and "case" corner case (instead of "augm=
ent"). If the node for which the "when" statement is defined is within an r=
pc, action or notification, the context node also needs to be inside that r=
pc, action or notification. There are published IETF modules, which rely on=
 this to be true, such as "ietf-netconf-nmda@2019-01-07" in RFC8526 (https:=
//tools.ietf.org/html/rfc8526) at schema node id "/ncds:get-data/ncds:input=
/ncds:origin-filters". Original text assigns the context node to the root n=
ode, if no data node ancestor is found. "rpc", "action" and "notification" =
are not data nodes and are represented by nodes that are descendants of the=
 root node, as described in Section 6.4.1.
>
> Instructions:
> -------------
> This erratum is currently posted as "Reported". If necessary, please
> use "Reply All" to discuss whether it should be verified or
> rejected. When a decision is reached, the verifying party
> can log in to change the status and edit the report, if necessary.
>
> --------------------------------------
> RFC7950 (draft-ietf-netmod-rfc6020bis-14)
> --------------------------------------
> Title               : The YANG 1.1 Data Modeling Language
> Publication Date    : August 2016
> Author(s)           : M. Bjorklund, Ed.
> Category            : PROPOSED STANDARD
> Source              : Network Modeling
> Area                : Operations and Management
> Stream              : IETF
> Verifying Party     : IESG



--=20
I don't think the execution is relevant when it was obviously a bad
idea in the first place.
This is like putting rabid weasels in your pants, and later expressing
regret at having chosen those particular rabid weasels and that pair
of pants.
   ---maf


From nobody Fri Sep  6 12:52:18 2019
Return-Path: <warren@kumari.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D8A04120CA7 for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:52:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=kumari-net.20150623.gappssmtp.com
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 dgsKN-ve1DYC for <netmod@ietfa.amsl.com>; Fri,  6 Sep 2019 12:52:13 -0700 (PDT)
Received: from mail-qt1-x844.google.com (mail-qt1-x844.google.com [IPv6:2607:f8b0:4864:20::844]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id AE507120C4C for <netmod@ietf.org>; Fri,  6 Sep 2019 12:52:07 -0700 (PDT)
Received: by mail-qt1-x844.google.com with SMTP id u40so8479241qth.11 for <netmod@ietf.org>; Fri, 06 Sep 2019 12:52:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kumari-net.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=hvf3i5IrM+gPSa/dahRuh9T8XyB50rs7ED+/w/hFqqs=; b=03pMP5iqKW3sBxuGhxALLAkxE17ggMn6y+eOZvX3HUlgZo2EPLKQQ8dW6vR4tlESyB 1CUOTdrdc/q3c2+qkTK5Vor2rEW03iByqiOZaCpwW8JEqDaJw8/Zcg2QclWlhTVhe14i yt7VUHbYYJZDucLiVOsk0SO7mUoZHFexCg5PVWtcU9PTjoIGdPsxFmurA8IocaTIibg7 OSGqKMa4iFshtRPc4E4aL6puwJYfQexrZfkZExyKkcDy3S511pn2F+AkWOIx2uJcgcaC 0K4i5ZOu75+NemHTA9tJx/5fGxBaop7d6aVZ2cvgvZ0kOq9bvf36mHDbnFEtVZ+Zvi63 EuVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=hvf3i5IrM+gPSa/dahRuh9T8XyB50rs7ED+/w/hFqqs=; b=jbYjBVphgwCtuL6DHuIRyOtOjRhJf1E2/WXaPXA/GPZhDMFpn2nW1++KPU71I5QxS4 rHZ2kkKvwsD5uR8SBpyJc4SBAyEEmlhHmiVlPOZ5wSCO55tmCDddbtasNplWlFOuxy1m q1pghGsxd5vmvrQBA6xEZdD4flfroIHLku+8W5IKKlrjIBjuAh7tS2WvUtakmpmwqEvr b9DygBTDvB4IbMkgWS3manUIHXUJKl/Ehg/XuP7KjdAw02mE3YJsZCnjbroQOF6YT+zA VLBMwVju/Xw27lNAHQWOzE8ycIUpjA9WBgJw6FFT9o0R/dghEoEjyLDVb2K6kggfsoND 7VgQ==
X-Gm-Message-State: APjAAAUytoQfcDLN0ZjLQ4CrN+XXvyUKCdp/F42IP5MF0UYQeDBlnq0b P8zkDsJeVll+zB0EOyKPMNkO74g+yZae0HXBUdVY1A==
X-Google-Smtp-Source: APXvYqzJU8ynFtM6u17KXt3zQ0/7sQLou1Jb1q6aMTC8f1lzagE9R9ulpypnbwy8fy9FC1QvPZ/fzIGDnSqxg2j2K4s=
X-Received: by 2002:ac8:47d3:: with SMTP id d19mr10919782qtr.77.1567799526111;  Fri, 06 Sep 2019 12:52:06 -0700 (PDT)
MIME-Version: 1.0
References: <B8F9A780D330094D99AF023C5877DABAA4A00C4B@nkgeml513-mbs.china.huawei.com> <20190717123439.fg2j56mzkj36yuh3@anna.jacobs.jacobs-university.de> <5c18f238-fdc7-98af-36ac-4f9784663bd7@hedeland.org>
In-Reply-To: <5c18f238-fdc7-98af-36ac-4f9784663bd7@hedeland.org>
From: Warren Kumari <warren@kumari.net>
Date: Fri, 6 Sep 2019 15:51:29 -0400
Message-ID: <CAHw9_iJW9tPG84vAfXiAe2wuPaJGjH1JiWxPSuK+1vnE0XhdMQ@mail.gmail.com>
To: Per Hedeland <per@hedeland.org>
Cc: Qin Wu <bill.wu@huawei.com>, "Rob Wilton (rwilton)" <rwilton@cisco.com>,  "ibagdona@gmail.com" <ibagdona@gmail.com>, "netmod@ietf.org" <netmod@ietf.org>,  RFC Errata System <rfc-editor@rfc-editor.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/2OByaIryCYiT0id-S-9SPOaMT80>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (5784)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 19:52:17 -0000

On Wed, Jul 17, 2019 at 9:29 AM Per Hedeland <per@hedeland.org> wrote:
>
> On 2019-07-17 14:34, Juergen Schoenwaelder wrote:
> > Its the first half of the sentence in my copy of RFC 7950.
>
> It believe that there is a problem with English language both in Qin's
> understanding of the original text (which is correct also in my
> opinion) and in his explanation of his (mis)understanding...
>
> > I propose to reject this errata.
>
> I agree, in particular since the suggested change is IMHO no actual
> improvement. It seems the problem is in understanding the "subject to"
> construct, which is perhaps not obvious to *all* non-native English
> readers, but I can't think of a replacement that wouldn't result in an
> unecessarily complex text.

Hi all,

#include <stddisclaimer.h> // Not a YANG person.

I spent some time trying to decide between Hold for Document Update,
and Rejected. I've decided on Rejected, but if and when we decide to
update this, it may be worth addressing the text anyway.


W

>
> > /js
> >
> > On Wed, Jul 17, 2019 at 12:02:21PM +0000, Qin Wu wrote:
> >> Hi, Juergen and Rob:
> >> The condition to apply " Leading and trailing zeros are prohibited ",i=
s the second half sentence, i.e.,"there MUST be at least one digit before a=
nd after the decimal point".
>
> It seems that you have it almost backwards... "The rule is A subject
> to the rule B" means that rule A should be applied, except when it
> will violate rule B.
>
> >> One digit before the decimal point and one digit after the decimal poi=
nt at the same time cover 0.5000000?, I still don't get it.
>
> It's a very good example. With unconditional application of "Leading
> and trailing zeros are prohibited", we end up with .5 - but then we
> violate "there MUST be at least one digit before and after the decimal
> point", so we need to back out the removal of the leading zero, and
> end up with 0.5.
>
> >> Maybe I am wrong, but this is not a big deal.
>
> Hopefully the above helps...
>
> --Per
>
> >> -Qin
> >> -----=C2=AE=C3=B6=C5=B8=C3=B6-----
> >> =C3=91=C3=B6=C2=BA: Juergen Schoenwaelder [mailto:j.schoenwaelder@jaco=
bs-university.de]
> >> =C3=91 =C3=B6=C3=B4: 2019t7 17=C3=A5 18:29
> >> 6=C3=B6=C2=BA: Qin Wu <bill.wu@huawei.com>
> >> =E2=80=9E : Rob Wilton (rwilton) <rwilton@cisco.com>; ibagdona@gmail.c=
om; warren@kumari.net; netmod@ietf.org; RFC Errata System <rfc-editor@rfc-e=
ditor.org>
> >> ;=CB=9C: Re: [netmod] RE: [Technical Errata Reported] RFC7950 (5784)
> >>
> >> The text starts with the general case and says "Leading and trailing z=
eros are prohibited", which seems to cover 0.50000000 (which must be repres=
ented as 0.5.
> >>
> >> /js
> >>
> >> On Wed, Jul 17, 2019 at 09:42:38AM +0000, Qin Wu wrote:
> >>> I realized my proposed changes also have some flaw and may need to be=
 tweaked.
> >>>
> >>> My question is should trailing zeros in  0.50000  be allowed? I didn =
t see the original text prohibit this.
> >>> Yes, the original text is correct, but it excludes some exception cas=
es, such as  0.500000000 , if my understanding is correct.
> >>> =C3=91=C3=B6=C2=BA: Rob Wilton (rwilton) [mailto:rwilton@cisco.com]
> >>> =C3=91 =C3=B6=C3=B4: 2019t7 17=C3=A5 17:20
> >>> 6=C3=B6=C2=BA: Qin Wu <bill.wu@huawei.com>; Juergen Schoenwaelder
> >>> <j.schoenwaelder@jacobs-university.de>
> >>> =E2=80=9E : ibagdona@gmail.com; warren@kumari.net; netmod@ietf.org; R=
FC Errata
> >>> System <rfc-editor@rfc-editor.org>
> >>> ;=CB=9C: RE: [netmod] T
> : [Technical Errata Reported] RFC7950 (5784)
> >>>
> >>> Hi Qin,
> >>>
> >>> I also find the current RFC text quite understandable and correct.
> >>>
> >>> The  and  is required to disallow  .0  and  0.  as valid canonical fo=
rms.  I.e. in the canonical form there MUST always be at least one digit (w=
hich could be 0) before the decimal point and then must be at least one dig=
it (which could be 0) after the decimal point.  Otherwise, there must be no=
 leading or trailing 0 s.  So, none of   .0 ,  0. ,  00.0 ,  0.00  and  00.=
00  are in the canonical form, and should be represented as  0.0  instead; =
similarly none of  .1 ,  1. ,  01.0 ,  1.00  and  01.00  are in the canonic=
al form and should be represented as  1.0  instead.
> >>>
> >>> Thanks,
> >>> Rob
> >>>
> >>>
> >>> From: netmod <netmod-bounces@ietf.org<mailto:netmod-bounces@ietf.org>=
>
> >>> On Behalf Of Qin Wu
> >>> Sent: 17 July 2019 09:59
> >>> To: Juergen Schoenwaelder
> >>> <j.schoenwaelder@jacobs-university.de<mailto:j.schoenwaelder@jacobs-u=
n
> >>> iversity.de>>
> >>> Cc: ibagdona@gmail.com<mailto:ibagdona@gmail.com>;
> >>> warren@kumari.net<mailto:warren@kumari.net>;
> >>> netmod@ietf.org<mailto:netmod@ietf.org>; RFC Errata System
> >>> <rfc-editor@rfc-editor.org<mailto:rfc-editor@rfc-editor.org>>
> >>> Subject: [netmod] T
> : [Technical Errata Reported] RFC7950 (5784)
> >>>
> >>>
> >>> Understand, the problem lies at "and" that is used in " one digit bef=
ore and after the decimal point ", that is to say it only focus on the case=
 that has two digits, one is before decimal point, the other digit is after=
 decimal such as "5.06", but doesn't cover the case where "one digit before=
 or after the decimal point ", that s why I think the case 0.500000 is not =
covered. We should prohibit trailing zeros in  0.5000000 .
> >>>
> >>> -----=C2=AE=C3=B6=C5=B8=C3=B6-----
> >>> =C3=91=C3=B6=C2=BA: Juergen Schoenwaelder
> >>> [mailto:j.schoenwaelder@jacobs-university.de]
> >>> =C3=91 =C3=B6=C3=B4: 2019t7 17=C3=A5 16:46
> >>> 6=C3=B6=C2=BA: Qin Wu <bill.wu@huawei.com<mailto:bill.wu@huawei.com>>
> >>> =E2=80=9E : RFC Errata System
> >>> <rfc-editor@rfc-editor.org<mailto:rfc-editor@rfc-editor.org>>;
> >>> ibagdona@gmail.com<mailto:ibagdona@gmail.com>;
> >>> netmod@ietf.org<mailto:netmod@ietf.org>;
> >>> warren@kumari.net<mailto:warren@kumari.net>
> >>> ;=CB=9C: Re: [netmod] [Technical Errata Reported] RFC7950 (5784)
> >>>
> >>>
> >>>
> >>> The text starts with the general case and says "Leading and trailing =
zeros are prohibited", which seems to cover 0.50000000. The text then handl=
es the special rule that there needs to be at least one digit before and af=
ter the decimal point. I think all is fine.
> >>>
> >>>
> >>>
> >>> /js
> >>>
> >>>
> >>>
> >>> On Wed, Jul 17, 2019 at 08:11:41AM +0000, Qin Wu wrote:
> >>>
> >>>> What about "0.50000000"? based on original text, is it legal or ille=
gal?
> >>>
> >>>> It seem original text exclude the case where one digit before or aft=
er the decimal point?
> >>>
> >>>>
> >>>
> >>>> -Qin
> >>>
> >>>> -----=C2=AE=C3=B6=C5=B8=C3=B6-----
> >>>
> >>>> =C3=91=C3=B6=C2=BA: netmod [mailto:netmod-bounces@ietf.org] =C3=A3h =
Juergen
> >>>> Schoenwaelder
> >>>
> >>>> =C3=91 =C3=B6=C3=B4: 2019t7 17=C3=A5 15:50
> >>>
> >>>> 6=C3=B6=C2=BA: RFC Errata System
> >>>> <rfc-editor@rfc-editor.org<mailto:rfc-editor@rfc-editor.org>>
> >>>
> >>>> =E2=80=9E : ibagdona@gmail.com<mailto:ibagdona@gmail.com>;
> >>>> netmod@ietf.org<mailto:netmod@ietf.org>;
> >>>> warren@kumari.net<mailto:warren@kumari.net>
> >>>
> >>>> ;=CB=9C: Re: [netmod] [Technical Errata Reported] RFC7950 (5784)
> >>>
> >>>>
> >>>
> >>>> I do not see why the original text makes 0.5 or 0.0 illegal.
> >>>
> >>>>
> >>>
> >>>> /js
> >>>
> >>>>
> >>>
> >>>> On Tue, Jul 16, 2019 at 08:52:52PM -0700, RFC Errata System wrote:
> >>>
> >>>>> The following errata report has been submitted for RFC7950, "The
> >>>
> >>>>> YANG
> >>>
> >>>>> 1.1 Data Modeling Language".
> >>>
> >>>>>
> >>>
> >>>>> --------------------------------------
> >>>
> >>>>> You may review the report below and at:
> >>>
> >>>>> https://www.rfc-editor.org/errata/eid5784
> >>>
> >>>>>
> >>>
> >>>>> --------------------------------------
> >>>
> >>>>> Type: Technical
> >>>
> >>>>> Reported by: Qin WU
> >>>>> <bill.wu@huawei.com<mailto:bill.wu@huawei.com>>
> >>>
> >>>>>
> >>>
> >>>>> Section: 9.3.2
> >>>
> >>>>>
> >>>
> >>>>> Original Text
> >>>
> >>>>> -------------
> >>>
> >>>>> Leading and trailing zeros are prohibited, subject to the rule
> >>>>> that
> >>>
> >>>>> there MUST be at least one digit before and after the decimal point=
.
> >>>
> >>>>> The value zero is represented as "0.0".
> >>>
> >>>>>
> >>>
> >>>>>
> >>>
> >>>>>
> >>>
> >>>>>
> >>>
> >>>>> Corrected Text
> >>>
> >>>>> --------------
> >>>
> >>>>> Leading zeros before the first digit and trailing zeros after the
> >>>
> >>>>> last digit are prohibited, subject to the rule that there MUST be
> >>>>> at
> >>>
> >>>>> least one digit before and after the decimal point.  The value
> >>>>> zero
> >>>
> >>>>> is represented as "0.0".
> >>>
> >>>>>
> >>>
> >>>>> Notes
> >>>
> >>>>> -----
> >>>
> >>>>> Based on the rule in the orginal text, the value such as "0.5","0.0=
" is illegal. So I think the intention of the original text is to make sure=
 the leading zeros before the first digit and the trailing zero after the l=
ast digit are prohibited.
> >>>
> >>>>>
> >>>
> >>>>> Instructions:
> >>>
> >>>>> -------------
> >>>
> >>>>> This erratum is currently posted as "Reported". If necessary,
> >>>>> please
> >>>
> >>>>> use "Reply All" to discuss whether it should be verified or rejecte=
d.
> >>>
> >>>>> When a decision is reached, the verifying party can log in to
> >>>>> change
> >>>
> >>>>> the status and edit the report, if necessary.
> >>>
> >>>>>
> >>>
> >>>>> --------------------------------------
> >>>
> >>>>> RFC7950 (draft-ietf-netmod-rfc6020bis-14)
> >>>
> >>>>> --------------------------------------
> >>>
> >>>>> Title               : The YANG 1.1 Data Modeling Language
> >>>
> >>>>> Publication Date    : August 2016
> >>>
> >>>>> Author(s)           : M. Bjorklund, Ed.
> >>>
> >>>>> Category            : PROPOSED STANDARD
> >>>
> >>>>> Source              : Network Modeling
> >>>
> >>>>> Area                : Operations and Management
> >>>
> >>>>> Stream              : IETF
> >>>
> >>>>> Verifying Party     : IESG
> >>>
> >>>>>
> >>>
> >>>>> _______________________________________________
> >>>
> >>>>> netmod mailing list
> >>>
> >>>>> netmod@ietf.org<mailto:netmod@ietf.org>
> >>>
> >>>>> https://www.ietf.org/mailman/listinfo/netmod
> >>>
> >>>>
> >>>
> >>>> --
> >>>
> >>>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >>>
> >>>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germa=
ny
> >>>
> >>>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >>>
> >>>>
> >>>
> >>>> _______________________________________________
> >>>
> >>>> netmod mailing list
> >>>
> >>>> netmod@ietf.org<mailto:netmod@ietf.org>
> >>>
> >>>> https://www.ietf.org/mailman/listinfo/netmod
> >>>
> >>>
> >>>
> >>> --
> >>>
> >>> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >>>
> >>> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | German=
y
> >>>
> >>> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >>
> >> --
> >> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> >> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> >> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> >
>


--
I don't think the execution is relevant when it was obviously a bad
idea in the first place.
This is like putting rabid weasels in your pants, and later expressing
regret at having chosen those particular rabid weasels and that pair
of pants.
   ---maf


From nobody Fri Sep  6 12:54:50 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C4CE6120D8D; Fri,  6 Sep 2019 12:54:48 -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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 sV7T6v3VJWov; Fri,  6 Sep 2019 12:54:47 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 58D2F120D89; Fri,  6 Sep 2019 12:54:47 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id 3F83CB80E93; Fri,  6 Sep 2019 12:54:24 -0700 (PDT)
To: bill.wu@huawei.com, mbj@tail-f.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: warren@kumari.net, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190906195424.3F83CB80E93@rfc-editor.org>
Date: Fri,  6 Sep 2019 12:54:24 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UVsIDKjA-zujl1p2QYgPWDPGYrw>
Subject: [netmod] [Errata Rejected] RFC7950 (5784)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 06 Sep 2019 19:54:49 -0000

The following errata report has been rejected for RFC7950,
"The YANG 1.1 Data Modeling Language".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5784

--------------------------------------
Status: Rejected
Type: Technical

Reported by: Qin WU <bill.wu@huawei.com>
Date Reported: 2019-07-17
Rejected by: Warren Kumari (Ops AD) (IESG)

Section: 9.3.2

Original Text
-------------
Leading and trailing zeros are prohibited, subject to the rule that 
there MUST be at least one digit before and after the decimal point.  
The value zero is represented as "0.0".




Corrected Text
--------------
Leading zeros before the first digit and trailing zeros after the 
last digit are prohibited, subject to the rule that there MUST be 
at least one digit before and after the decimal point.  The value 
zero is represented as "0.0".

Notes
-----
Based on the rule in the orginal text, the value such as "0.5","0.0" is illegal. So I think the intention of the original text is to make sure the leading zeros before the first digit and the trailing zero after the last digit are prohibited.
 --VERIFIER NOTES-- 
   The consensus on the NetMod WG was that this text was somewhat confusing, but understandable (and that crafting clear, concise replacement text will be ugly). I'm rejecting this, but future updates may want to consider addressing this anyway (I didn't feel it rose to the HFDU level) 

--------------------------------------
RFC7950 (draft-ietf-netmod-rfc6020bis-14)
--------------------------------------
Title               : The YANG 1.1 Data Modeling Language
Publication Date    : August 2016
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Mon Sep  9 00:38:10 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6514D1200B2 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 00:38:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 dWK2Skdatnff for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 00:38:06 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 927B51200C5 for <netmod@ietf.org>; Mon,  9 Sep 2019 00:38:06 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 45C2A1AE0118; Mon,  9 Sep 2019 09:38:05 +0200 (CEST)
Date: Mon, 09 Sep 2019 09:37:41 +0200 (CEST)
Message-Id: <20190909.093741.128094169571185151.mbj@tail-f.com>
To: warren@kumari.net
Cc: andy@yumaworks.com, peter.loborg@ericsson.com, rfc-editor@rfc-editor.org, ibagdona@gmail.com, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CAHw9_iLb8Bf6ntnjM+c5bxawTkvw3Q0opr5wgAwvnWLOoHnpAA@mail.gmail.com>
References: <20190221.193325.152438307014996574.mbj@tail-f.com> <CABCOCHSx50uOPeF6AXYsobe2uPBMrx4pkFnHr7GKMTJpq-HR2Q@mail.gmail.com> <CAHw9_iLb8Bf6ntnjM+c5bxawTkvw3Q0opr5wgAwvnWLOoHnpAA@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/L3rZ7qFjnpsPeRJ4FfJZegWXdig>
Subject: Re: [netmod] [Editorial Errata Reported] RFC7950 (5642)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 07:38:09 -0000

V2FycmVuIEt1bWFyaSA8d2FycmVuQGt1bWFyaS5uZXQ+IHdyb3RlOg0KPiBPbiBUaHUsIEZlYiAy
MSwgMjAxOSBhdCAxOjUzIFBNIEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPiB3cm90
ZToNCj4gPg0KPiA+DQo+ID4NCj4gPiBPbiBUaHUsIEZlYiAyMSwgMjAxOSBhdCAxMDozMyBBTSBN
YXJ0aW4gQmpvcmtsdW5kIDxtYmpAdGFpbC1mLmNvbT4gd3JvdGU6DQo+ID4+DQo+ID4+IEFuZHkg
Qmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPiB3cm90ZToNCj4gPj4gPiBPbiBUaHUsIEZlYiAy
MSwgMjAxOSBhdCAxMDowNyBBTSBQZXRlciBMb2JvcmcgPHBldGVyLmxvYm9yZ0Blcmljc3Nvbi5j
b20+DQo+ID4+ID4gd3JvdGU6DQo+ID4+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4g
WW91ciBleGFtcGxlIGlzIGZpbmUg4oCTIGJ1dCB0aGUgZ2FtbWFyIGlzIGNoMTQgc3BlY2lmaWVz
IHNvbWV0aGluZw0KPiA+PiA+ID4gZGlmZmVyZW50Og0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+
ID4gPg0KPiA+PiA+ID4gZW51bS1zdG10ICAgICAgICAgICA9IGVudW0ta2V5d29yZCBzZXAgc3Ry
aW5nIG9wdHNlcA0KPiA+PiA+ID4NCj4gPj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAo
IjsiIC8NCj4gPj4gPiA+DQo+ID4+ID4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICJ7IiBz
dG10c2VwDQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
OzsgdGhlc2Ugc3RtdHMgY2FuIGFwcGVhciBpbiBhbnkgb3JkZXINCj4gPj4gPiA+DQo+ID4+ID4g
PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqaWYtZmVhdHVyZS1zdG10DQo+ID4+ID4g
Pg0KPiA+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3ZhbHVlLXN0bXRdDQo+
ID4+ID4gPg0KPiA+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXR1cy1z
dG10XQ0KPiA+PiA+ID4NCj4gPj4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtk
ZXNjcmlwdGlvbi1zdG10XQ0KPiA+PiA+ID4NCj4gPj4gPiA+ICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIFtyZWZlcmVuY2Utc3RtdF0NCj4gPj4gPiA+DQo+ID4+ID4gPiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAifSIpIHN0bXRzZXANCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+
ID4NCj4gPj4gPiA+IEl0IGNsZWFybHkgc3RhdGVzICBzdHJpbmcsIG5vdCBxdW90ZWQtc3RyaW5n
LiBUaGVzZSB0d28gaGF2ZSB0aGUgZm9sbG93aW5nDQo+ID4+ID4gPiBydWxlczoNCj4gPj4gPiA+
DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+IHF1b3RlZC1zdHJpbmcgICAgICAgPSAoRFFV
T1RFIHN0cmluZyBEUVVPVEUpIC8gKFNRVU9URSBzdHJpbmcgU1FVT1RFKQ0KPiA+PiA+ID4NCj4g
Pj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gc3RyaW5nICAgICAgICAgICAgICA9IDwgYW4gdW5x
dW90ZWQgc3RyaW5nLCBhcyByZXR1cm5lZCBieSA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgICAg
ICAgICAgICAgICAgICAgICAgIDwgdGhlIHNjYW5uZXIsIHRoYXQgbWF0Y2hlcyB0aGUgcnVsZSA+
DQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgIDwgeWFuZy1zdHJp
bmcgPg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4g
PiBUaGUgdGV4dCBpbiA5LjYuNCBpcyBjb3JyZWN0Lg0KPiA+PiA+IFRoZSBBQk5GIGlzIHdyb25n
Lg0KPiA+Pg0KPiA+PiBObywgdGhlIEFCTkYgaXMgY29ycmVjdC4gIFRoZSBBQk5GIGRvZW5zJ3Qg
aGFuZGxlIGNvbmNhdGVuYXRpb24gZXRjLg0KPiA+PiBUaGUgaWRlYSBpcyB0aGF0IHRoZSBzY2Fu
bmVyIGhhbmRsZXMgcXVvdGVzIGFuZCBjb25jYXRlbmF0aW9uIGFuZA0KPiA+PiByZXR1cm5zIGEg
InN0cmluZyIuDQo+ID4+DQo+ID4NCj4gPg0KPiA+IE9LIC0tIGl0IGlzIGNvbmZ1c2luZyB0aGF0
IHRoZSBydWxlIHF1b3RlZC1zdHJpbmcgZXhpc3RzLCBidXQgaXQNCj4gPiBpcyBvbmx5IGZvciBr
ZXkgYW5kIGxlYWYtbGlzdCBwcmVkaWNhdGVzLg0KPiANCj4gSGkgYWxsLA0KPiANCj4gSSdtIHRy
eWluZyB0byBnbyB0aHJvdWdoIGFuZCBkbyBzb21lIGNsZWFudXAgb2YgdGhlIGRhbmdsaW5nIEVy
cmF0YS4NCj4gSSdtICpjZXJ0YWlubHkqIG5vdCBhbiBleHBlcnQgaGVyZSwgYW5kIHNvIGFtIHJl
bHlpbmcgb24geSdhbGwuDQo+IEZyb20gd2hhdCBJJ3ZlIGJlZW4gYWJsZSB0byBmaWd1cmUgb3V0
LCB0aGUgY29uc2Vuc3VzIGlzIHRoYXQgdGhpcw0KPiBFcnJhdGEgc2hvdWxkIGJlIHJlamVjdGVk
LCB5ZXM/DQoNClllcy4NCg0KDQovbWFydGluDQoNCg0KPiBXDQo+IA0KPiANCj4gPg0KPiA+DQo+
ID4+DQo+ID4+DQo+ID4+IC9tYXJ0aW4NCj4gPj4NCj4gPg0KPiA+IEFuZHkNCj4gPg0KPiA+Pg0K
PiA+Pg0KPiA+Pg0KPiA+PiA+DQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+ID4g4oCmYW5kIGluIDYu
MS4zIHdlIGNhbiByZWFkIHRoYXQ6DQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgQW4gdW5xdW90ZWQg
c3RyaW5nIGlzIGFueSBzZXF1ZW5jZSBvZiBjaGFyYWN0ZXJzIHRoYXQgZG9lcyBub3QNCj4gPj4g
PiA+DQo+ID4+ID4gPiAgICBjb250YWluIGFueSBzcGFjZSwgdGFiLCBjYXJyaWFnZSByZXR1cm4s
IG9yIGxpbmUgZmVlZCBjaGFyYWN0ZXJzLCBhDQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgc2luZ2xl
IG9yIGRvdWJsZSBxdW90ZSBjaGFyYWN0ZXIsIGEgc2VtaWNvbG9uICgiOyIpLCBicmFjZXMgKCJ7
IiBvcg0KPiA+PiA+ID4NCj4gPj4gPiA+ICAgICJ9IiksIG9yIGNvbW1lbnQgc2VxdWVuY2VzICgi
Ly8iLCAiLyoiLCBvciAiKi8iKS4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4g
PiA+ICAgIE5vdGUgdGhhdCBhbnkga2V5d29yZCBjYW4gbGVnYWxseSBhcHBlYXIgYXMgYW4gdW5x
dW90ZWQgc3RyaW5nLg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gU2lu
Y2UgdGhlIHNlY3Rpb24gc28gY2xlYXJseSB3cml0ZXMgYWJvdXQgc2luZ2xlIHF1b3RlZCBzdHJp
bmdzIGFuZCBkb3VibGUNCj4gPj4gPiA+IHF1b3RlZCBzdHJpbmdzLCB0aGVyZSBjYW4gdW5mb3J0
dW5hdGVseSBiZSBubyBpbnRlcnByZXRhdGlvbiB0aGF0IHdvdWxkDQo+ID4+ID4gPiBhbGxvdyDi
gJxpZGVudGlmaWVy4oCdIHRvIGJlIGNhbGxlZCBhbiB1bnF1b3RlZCBzdHJpbmcg4oCTIGV2ZW4g
dGhvdWdoIGl0IGZvbGxvd3MNCj4gPj4gPiA+IHRoZSBydWxlcyBhYm91dCBsaW1pdGVkIGNoYXJh
Y3RlciBjb250ZW50cy4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+IEhl
bmNlIOKAkyB0aGlzIGlzIG5vdCBhIG1hdHRlciBvZiBvcGluaW9uIOKAkyBpdOKAmXMgYSBtYXR0
ZXIgb2YgcmVhZGluZyB3aGF04oCZcw0KPiA+PiA+ID4gYWN0dWFsbHkgd3JpdHRlbiBpbiB0aGUg
UkZDLg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gQnV0IG9uIHRoZSBz
dWJqZWN0IG9mIG9waW5pb27igKYNCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4g
PiA+ICAgICAgIGVudW0gIlRoaXMgaXMgYWxzbyBsZWdhbCI7ICAgLy8gc2hvdWxkIGRlZmluaXRl
bHkgYWx3YXlzIGJlIGlsbGVnYWwNCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4g
PiA+IOKApmFzIHdlIGNhbm5vdCBjcmVhdGUgYSBsYW5ndWFnZSBiaW5kaW5nIHRvIGVudW0gY29u
c3RydWN0cyBpbiBhbnkgbWFqb3INCj4gPj4gPiA+IHByb2dyYW1taW5nIGxhbmd1YWdlcy4NCj4g
Pj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPg0KPiA+PiA+IFRoZXJlIGFyZSBtYW55
IGFzcGVjdHMgb2YgWUFORyB0aGF0IGRvIG5vdCBtYXAgZGlyZWN0bHkgdG8gcHJvZ3JhbW1pbmcN
Cj4gPj4gPiBsYW5ndWFnZXMsDQo+ID4+ID4gc3VjaCBhcyBhbGxvd2luZyAnLicgaW4gaWRlbnRp
ZmllcnMuDQo+ID4+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4gPiBCciwNCj4gPj4gPiA+DQo+
ID4+ID4gPiBQZXRlcg0KPiA+PiA+ID4NCj4gPj4gPg0KPiA+PiA+DQo+ID4+ID4gQW5keQ0KPiA+
PiA+DQo+ID4+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+
ID4gPiAqRnJvbToqIEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPg0KPiA+PiA+ID4g
KlNlbnQ6KiBkZW4gMjEgZmVicnVhcmkgMjAxOSAxODo0NQ0KPiA+PiA+ID4gKlRvOiogTWFydGlu
IEJqb3JrbHVuZCA8bWJqQHRhaWwtZi5jb20+DQo+ID4+ID4gPiAqQ2M6KiBSRkMgRWRpdG9yIDxy
ZmMtZWRpdG9yQHJmYy1lZGl0b3Iub3JnPjsgSWduYXMgQmFnZG9uYXMgPA0KPiA+PiA+ID4gaWJh
Z2RvbmFAZ21haWwuY29tPjsgTmV0TW9kIFdHIDxuZXRtb2RAaWV0Zi5vcmc+OyBQZXRlciBMb2Jv
cmcgPA0KPiA+PiA+ID4gcGV0ZXIubG9ib3JnQGVyaWNzc29uLmNvbT47IFdhcnJlbiBLdW1hcmkg
PHdhcnJlbkBrdW1hcmkubmV0Pg0KPiA+PiA+ID4gKlN1YmplY3Q6KiBSZTogW25ldG1vZF0gW0Vk
aXRvcmlhbCBFcnJhdGEgUmVwb3J0ZWRdIFJGQzc5NTAgKDU2NDIpDQo+ID4+ID4gPg0KPiA+PiA+
ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+
PiA+ID4gT24gVGh1LCBGZWIgMjEsIDIwMTkgYXQgODo1MyBBTSBNYXJ0aW4gQmpvcmtsdW5kIDxt
YmpAdGFpbC1mLmNvbT4gd3JvdGU6DQo+ID4+ID4gPg0KPiA+PiA+ID4gUkZDIEVycmF0YSBTeXN0
ZW0gPHJmYy1lZGl0b3JAcmZjLWVkaXRvci5vcmc+IHdyb3RlOg0KPiA+PiA+ID4gPiBUaGUgZm9s
bG93aW5nIGVycmF0YSByZXBvcnQgaGFzIGJlZW4gc3VibWl0dGVkIGZvciBSRkM3OTUwLA0KPiA+
PiA+ID4gPiAiVGhlIFlBTkcgMS4xIERhdGEgTW9kZWxpbmcgTGFuZ3VhZ2UiLg0KPiA+PiA+ID4g
Pg0KPiA+PiA+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+
PiA+ID4gPiBZb3UgbWF5IHJldmlldyB0aGUgcmVwb3J0IGJlbG93IGFuZCBhdDoNCj4gPj4gPiA+
ID4gaHR0cDovL3d3dy5yZmMtZWRpdG9yLm9yZy9lcnJhdGEvZWlkNTY0Mg0KPiA+PiA+ID4gPg0K
PiA+PiA+ID4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+PiA+
ID4gPiBUeXBlOiBFZGl0b3JpYWwNCj4gPj4gPiA+ID4gUmVwb3J0ZWQgYnk6IFBldGVyIExvYm9y
ZyA8cGV0ZXIubG9ib3JnQGVyaWNzc29uLmNvbT4NCj4gPj4gPiA+ID4NCj4gPj4gPiA+ID4gU2Vj
dGlvbjogOS42LjQNCj4gPj4gPiA+ID4NCj4gPj4gPiA+ID4gT3JpZ2luYWwgVGV4dA0KPiA+PiA+
ID4gPiAtLS0tLS0tLS0tLS0tDQo+ID4+ID4gPiA+IEl0IHRha2VzIGFzIGFuIGFyZ3VtZW50IGEg
c3RyaW5nIHRoYXQgaXMgdGhlIGFzc2lnbmVkIG5hbWUuDQo+ID4+ID4gPiA+DQo+ID4+ID4gPiA+
IENvcnJlY3RlZCBUZXh0DQo+ID4+ID4gPiA+IC0tLS0tLS0tLS0tLS0tDQo+ID4+ID4gPiA+IEl0
IHRha2VzIGFzIGFuIGFyZ3VtZW50IGFuIHVucXVvdGVkIHN0cmluZyB0aGF0IGlzIHRoZSBhc3Np
Z25lZCBuYW1lLg0KPiA+PiA+ID4NCj4gPj4gPiA+IFRoaXMgaXMgbm90IGNvcnJlY3QuICBUaGUg
ZW51bSBhcmd1bWVudCBpcyBub3QgZGlmZmVyZW50IGZyb20gYW55DQo+ID4+ID4gPiBvdGhlciBr
ZXl3b3JkJ3MgYXJndW1lbnRzIGluIFlBTkcuICBTZWUgZS5nLiB0aGUgZXhhbXBsZSBpbiA5LjEy
LjQ6DQo+ID4+ID4gPg0KPiA+PiA+ID4gICAgICAgIHR5cGUgZW51bWVyYXRpb24gew0KPiA+PiA+
ID4gICAgICAgICAgZW51bSAidW5ib3VuZGVkIjsNCj4gPj4gPiA+ICAgICAgICB9DQo+ID4+ID4g
Pg0KPiA+PiA+ID4gVGhlIGZvbGxvd2luZyBpcyBhbHNvIGxlZ2FsOg0KPiA+PiA+ID4NCj4gPj4g
PiA+ICAgICAgICAgIGVudW0gInVuYiIgKyAnb3VuZGVkJzsNCj4gPj4gPiA+DQo+ID4+ID4gPg0K
PiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gICBlbnVtICJUaGlzIGlzIGFs
c28gbGVnYWwiOw0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gOS42LjQu
ICBUaGUgImVudW0iIFN0YXRlbWVudA0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+
PiA+ID4gICAgVGhlICJlbnVtIiBzdGF0ZW1lbnQsIHdoaWNoIGlzIGEgc3Vic3RhdGVtZW50IHRv
IHRoZSAidHlwZSINCj4gPj4gPiA+DQo+ID4+ID4gPiAgICBzdGF0ZW1lbnQsIE1VU1QgYmUgcHJl
c2VudCBpZiB0aGUgdHlwZSBpcyAiZW51bWVyYXRpb24iLiAgSXQgaXMNCj4gPj4gPiA+DQo+ID4+
ID4gPiAgICByZXBlYXRlZGx5IHVzZWQgdG8gc3BlY2lmeSBlYWNoIGFzc2lnbmVkIG5hbWUgb2Yg
YW4gZW51bWVyYXRpb24gdHlwZS4NCj4gPj4gPiA+DQo+ID4+ID4gPiAgICBJdCB0YWtlcyBhcyBh
biBhcmd1bWVudCBhIHN0cmluZyB0aGF0IGlzIHRoZSBhc3NpZ25lZCBuYW1lLiAgKlRoZSoNCj4g
Pj4gPiA+DQo+ID4+ID4gPiAqICAgc3RyaW5nIE1VU1QgTk9UIGJlIHplcm8tbGVuZ3RoIGFuZCBN
VVNUIE5PVCBoYXZlIGFueSBsZWFkaW5nIG9yKg0KPiA+PiA+ID4NCj4gPj4gPiA+ICogICB0cmFp
bGluZyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnMqIChhbnkgVW5pY29kZSBjaGFyYWN0ZXIgd2l0aCB0
aGUNCj4gPj4gPiA+DQo+ID4+ID4gPiAgICAiV2hpdGVfU3BhY2UiIHByb3BlcnR5KS4gIFRoZSB1
c2Ugb2YgVW5pY29kZSBjb250cm9sIGNvZGVzIFNIT1VMRCBiZQ0KPiA+PiA+ID4NCj4gPj4gPiA+
ICAgIGF2b2lkZWQuDQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+
PiA+ID4NCj4gPj4gPiA+IFRoaXMgZXJyYXRhIHNob3VsZCBiZSByZWplY3RlZC4NCj4gPj4gPiA+
DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+IC9tYXJ0aW4NCj4gPj4gPiA+DQo+ID4+ID4g
Pg0KPiA+PiA+ID4NCj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4gQW5keQ0KPiA+PiA+ID4N
Cj4gPj4gPiA+DQo+ID4+ID4gPg0KPiA+PiA+ID4NCj4gPj4gPiA+ID4NCj4gPj4gPiA+ID4gTm90
ZXMNCj4gPj4gPiA+ID4gLS0tLS0NCj4gPj4gPiA+ID4gUmVhZGVycyBhcmUgbm90IGJlZWluZyBt
YWRlIGF3YXJlIHRoYXQgY2FyZWZ1bCByZWFkaW5nIG9mIHNlY3Rpb24gNi4xLjMNCj4gPj4gPiA+
IGFuZCB0aGUgZGV0YWlsZWQgZGVmaW5pdGlvbiBvZiBzdHJpbmcgaW4gc2VjdGlvbiAxNCBtdXN0
IGJlIGNvbnN1bHRlZC4NCj4gPj4gPiA+ID4gRm9yIGNvbW1pbmcgdmVyc2lvbnMgb2YgdGhpcyBS
RkMgaXQgd291bGQgYmUgcHJlZmVyYWJsZSB0byB1c2UgYSBtb3JlDQo+ID4+ID4gPiBzcGVjaWFs
aXplZCBncmFtbWFyIHRva2VuIGZvciB0aGVzZSBjYXNlcyAoZS5nLiB1bnF1b3RlZC1zdHJpbmcp
Lg0KPiA+PiA+ID4gPg0KPiA+PiA+ID4gPiBJbnN0cnVjdGlvbnM6DQo+ID4+ID4gPiA+IC0tLS0t
LS0tLS0tLS0NCj4gPj4gPiA+ID4gVGhpcyBlcnJhdHVtIGlzIGN1cnJlbnRseSBwb3N0ZWQgYXMg
IlJlcG9ydGVkIi4gSWYgbmVjZXNzYXJ5LCBwbGVhc2UNCj4gPj4gPiA+ID4gdXNlICJSZXBseSBB
bGwiIHRvIGRpc2N1c3Mgd2hldGhlciBpdCBzaG91bGQgYmUgdmVyaWZpZWQgb3INCj4gPj4gPiA+
ID4gcmVqZWN0ZWQuIFdoZW4gYSBkZWNpc2lvbiBpcyByZWFjaGVkLCB0aGUgdmVyaWZ5aW5nIHBh
cnR5DQo+ID4+ID4gPiA+IGNhbiBsb2cgaW4gdG8gY2hhbmdlIHRoZSBzdGF0dXMgYW5kIGVkaXQg
dGhlIHJlcG9ydCwgaWYgbmVjZXNzYXJ5Lg0KPiA+PiA+ID4gPg0KPiA+PiA+ID4gPiAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+PiA+ID4gPiBSRkM3OTUwIChkcmFm
dC1pZXRmLW5ldG1vZC1yZmM2MDIwYmlzLTE0KQ0KPiA+PiA+ID4gPiAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+PiA+ID4gPiBUaXRsZSAgICAgICAgICAgICAgIDog
VGhlIFlBTkcgMS4xIERhdGEgTW9kZWxpbmcgTGFuZ3VhZ2UNCj4gPj4gPiA+ID4gUHVibGljYXRp
b24gRGF0ZSAgICA6IEF1Z3VzdCAyMDE2DQo+ID4+ID4gPiA+IEF1dGhvcihzKSAgICAgICAgICAg
OiBNLiBCam9ya2x1bmQsIEVkLg0KPiA+PiA+ID4gPiBDYXRlZ29yeSAgICAgICAgICAgIDogUFJP
UE9TRUQgU1RBTkRBUkQNCj4gPj4gPiA+ID4gU291cmNlICAgICAgICAgICAgICA6IE5ldHdvcmsg
TW9kZWxpbmcNCj4gPj4gPiA+ID4gQXJlYSAgICAgICAgICAgICAgICA6IE9wZXJhdGlvbnMgYW5k
IE1hbmFnZW1lbnQNCj4gPj4gPiA+ID4gU3RyZWFtICAgICAgICAgICAgICA6IElFVEYNCj4gPj4g
PiA+ID4gVmVyaWZ5aW5nIFBhcnR5ICAgICA6IElFU0cNCj4gPj4gPiA+ID4NCj4gPj4gPiA+DQo+
ID4+ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
PiA+PiA+ID4gbmV0bW9kIG1haWxpbmcgbGlzdA0KPiA+PiA+ID4gbmV0bW9kQGlldGYub3JnDQo+
ID4+ID4gPiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0KPiA+
PiA+ID4NCj4gPj4gPiA+DQo+IA0KPiANCj4gDQo+IC0tIA0KPiBJIGRvbid0IHRoaW5rIHRoZSBl
eGVjdXRpb24gaXMgcmVsZXZhbnQgd2hlbiBpdCB3YXMgb2J2aW91c2x5IGEgYmFkDQo+IGlkZWEg
aW4gdGhlIGZpcnN0IHBsYWNlLg0KPiBUaGlzIGlzIGxpa2UgcHV0dGluZyByYWJpZCB3ZWFzZWxz
IGluIHlvdXIgcGFudHMsIGFuZCBsYXRlciBleHByZXNzaW5nDQo+IHJlZ3JldCBhdCBoYXZpbmcg
Y2hvc2VuIHRob3NlIHBhcnRpY3VsYXIgcmFiaWQgd2Vhc2VscyBhbmQgdGhhdCBwYWlyDQo+IG9m
IHBhbnRzLg0KPiAgICAtLS1tYWYNCj4gDQo=


From nobody Mon Sep  9 00:38:30 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E506D1200CD for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 00:38:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 N7ewaCfEhwxV for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 00:38:26 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 551A3120121 for <netmod@ietf.org>; Mon,  9 Sep 2019 00:38:26 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 436651AE0118; Mon,  9 Sep 2019 09:38:25 +0200 (CEST)
Date: Mon, 09 Sep 2019 09:38:01 +0200 (CEST)
Message-Id: <20190909.093801.653761409423593292.mbj@tail-f.com>
To: warren@kumari.net
Cc: ibagdona@gmail.com, joelja@bogus.com, kent+ietf@watsen.net, lberger@labn.net, jernej.tuljak@mg-soft.si, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <CAHw9_iKvbmpEM8KGgnGtwG02c5vuCSbF2-JvBvD5XKqGWXRuPA@mail.gmail.com>
References: <20190813112613.82CE8B80E16@rfc-editor.org> <CAHw9_iKvbmpEM8KGgnGtwG02c5vuCSbF2-JvBvD5XKqGWXRuPA@mail.gmail.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dOhzRjBlDtQk84VN1WPlcAZer6Y>
Subject: Re: [netmod] [Technical Errata Reported] RFC7950 (5807)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 07:38:29 -0000

Warren Kumari <warren@kumari.net> wrote:
> [ - RFC Ed (for clutter), + Benoit (who verified
> https://www.rfc-editor.org/errata/eid4794) ]
> 
> I'm trying to go through and clean up the outstanding Ops and
> Management Errata. I'm completely, 100% not a YANG / netmod person (I
> cannot even spell YANG!), but I *think* that this Errata should be
> verified, yes? This isn't changing what was decided when the WG
> published this, it is simply correcting / clarifying the text.

Yes I agree it should be verified.


/martin


> 
> The Errata criteria are here:
> https://www.ietf.org/about/groups/iesg/statements/processing-rfc-errata/
> 
> One of the big ones is that we only use Errata to fix actual errors,
> not change anything that was WG consensus at the time:
> "Changes that modify the working of a protocol to something that might
> be different from the intended consensus when the document was
> approved should be either Hold for Document Update or Rejected.
> Deciding between these two depends on judgment. Changes that are
> clearly modifications to the intended consensus, or involve large
> textual changes, should be Rejected. In unclear situations, small
> changes can be Hold for Document Update."
> 
> Again, I'm not a NetMod person, so looking for clear advice here...
> 
> W
> 
> On Tue, Aug 13, 2019 at 7:26 AM RFC Errata System
> <rfc-editor@rfc-editor.org> wrote:
> >
> > The following errata report has been submitted for RFC7950,
> > "The YANG 1.1 Data Modeling Language".
> >
> > --------------------------------------
> > You may review the report below and at:
> > https://www.rfc-editor.org/errata/eid5807
> >
> > --------------------------------------
> > Type: Technical
> > Reported by: Jernej Tuljak <jernej.tuljak@mg-soft.si>
> >
> > Section: 7.21.5.
> >
> > Original Text
> > -------------
> >    o  If the "when" statement is a child of a "uses", "choice", or
> >       "case" statement, then the context node is the closest ancestor
> >       node to the node with the "when" statement that is also a data
> >       node.  If no such node exists, the context node is the root node.
> >       The accessible tree is tentatively altered during the processing
> >       of the XPath expression by removing all instances (if any) of the
> >       nodes added by the "uses", "choice", or "case" statement.
> >
> > Corrected Text
> > --------------
> >    o  If the "when" statement is a child of a "uses", "choice", or
> >       "case" statement, then the context node is the closest ancestor
> >       node to the node with the "when" statement that is also a data
> >       node, rpc, action or notification.  If no such node exists, the
> >       context node is the root node. The accessible tree is tentatively
> >       altered during the processing of the XPath expression by removing
> >       all instances (if any) of the nodes added by the "uses",
> >       "choice", or "case" statement.
> >
> > Notes
> > -----
> > Similar to verified errata 4794 (https://www.rfc-editor.org/errata/eid4794) but covers the "uses", "choice" and "case" corner case (instead of "augment"). If the node for which the "when" statement is defined is within an rpc, action or notification, the context node also needs to be inside that rpc, action or notification. There are published IETF modules, which rely on this to be true, such as "ietf-netconf-nmda@2019-01-07" in RFC8526 (https://tools.ietf.org/html/rfc8526) at schema node id "/ncds:get-data/ncds:input/ncds:origin-filters". Original text assigns the context node to the root node, if no data node ancestor is found. "rpc", "action" and "notification" are not data nodes and are represented by nodes that are descendants of the root node, as described in Section 6.4.1.
> >
> > Instructions:
> > -------------
> > This erratum is currently posted as "Reported". If necessary, please
> > use "Reply All" to discuss whether it should be verified or
> > rejected. When a decision is reached, the verifying party
> > can log in to change the status and edit the report, if necessary.
> >
> > --------------------------------------
> > RFC7950 (draft-ietf-netmod-rfc6020bis-14)
> > --------------------------------------
> > Title               : The YANG 1.1 Data Modeling Language
> > Publication Date    : August 2016
> > Author(s)           : M. Bjorklund, Ed.
> > Category            : PROPOSED STANDARD
> > Source              : Network Modeling
> > Area                : Operations and Management
> > Stream              : IETF
> > Verifying Party     : IESG
> 
> 
> 
> -- 
> I don't think the execution is relevant when it was obviously a bad
> idea in the first place.
> This is like putting rabid weasels in your pants, and later expressing
> regret at having chosen those particular rabid weasels and that pair
> of pants.
>    ---maf
> 


From nobody Mon Sep  9 05:28:50 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D37412008D for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 05:28:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.631
X-Spam-Level: 
X-Spam-Status: No, score=-3.631 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, INVALID_MSGID=0.568, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 G-b5zGT4fL96 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 05:28:44 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 782A6120047 for <netmod@ietf.org>; Mon,  9 Sep 2019 05:28:44 -0700 (PDT)
Received: from LHREML712-CAH.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id EEA648EFF129CC8B5057 for <netmod@ietf.org>; Mon,  9 Sep 2019 13:28:41 +0100 (IST)
Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by LHREML712-CAH.china.huawei.com (10.201.108.35) with Microsoft SMTP Server (TLS) id 14.3.408.0; Mon, 9 Sep 2019 13:28:41 +0100
Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by lhreml703-chm.china.huawei.com (10.201.108.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Mon, 9 Sep 2019 13:28:41 +0100
Received: from DGGEMM422-HUB.china.huawei.com (10.1.198.39) by lhreml703-chm.china.huawei.com (10.201.108.52) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1713.5 via Frontend Transport; Mon, 9 Sep 2019 13:28:41 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by dggemm422-hub.china.huawei.com ([10.1.198.39]) with mapi id 14.03.0439.000; Mon, 9 Sep 2019 20:28:37 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: netmod <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AdVkgxkxStdW26xJTo+kz8dBb3TuVgChwG4M
Date: Mon, 9 Sep 2019 12:28:37 +0000
Message-ID: 8ED84560-C18B-42ED-9AD3-5D297C40819E
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
Content-Type: multipart/mixed; boundary="_004_8ED84560C18B42ED9AD35D297C40819E_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/cBa6mthOSo6c1yYEDML0KglqBBU>
Subject: [netmod] =?utf-8?q?FW=3A__Please_clarify_implementation_about_?= =?utf-8?b?4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 12:28:47 -0000

--_004_8ED84560C18B42ED9AD35D297C40819E_
Content-Type: multipart/alternative;
 boundary="_000_8ED84560C18B42ED9AD35D297C40819E_"

--_000_8ED84560C18B42ED9AD35D297C40819E_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

DQoNCg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQ0K5Yav5YayIEZlbmcgQ2hvbmcNCk1vYmlsZTogKzg2LTEzNzc2NjEyOTgzPHRlbDorODYtMTM3
NzY2MTI5ODM+DQpFbWFpbDogZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5r
LmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5Y+R5Lu25Lq677yaRmVuZ2Nob25nIChmcmFuaykgPGZy
YW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5pS25Lu25Lq677yabmV0bW9kIDxuZXRtb2RAaWV0
Zi5vcmc+DQrmioTigIPpgIHvvJpZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQrml7bigIPp
l7TvvJoyMDE5LTA5LTA2IDE1OjE5OjI4DQrkuLvpophbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBp
bXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQoNCkhpIGFsbCwNCg0KSW4gUkZDNzk1MCBz
ZWN0b24gOCwgc2V2ZXJhbCBkZXNjcmlwdGlvbiBhYm91dCB3aGVu77yaDQpJbiBzZWN0aW9uIDgu
MjxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMj4uICBDb25m
aWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9ucw0KICAgbyAgSWYgYSByZXF1ZXN0IG1vZGlmaWVz
IGEgY29uZmlndXJhdGlvbiBkYXRhIG5vZGUgc3VjaCB0aGF0IGFueQ0KICAgICAgbm9kZSdzICJ3
aGVuIiBleHByZXNzaW9uIGJlY29tZXMgZmFsc2UsIHRoZW4gdGhlIG5vZGUgaW4gdGhlIGRhdGEN
CiAgICAgIHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0aGUg
c2VydmVyLg0KSW4gOC4zLjE8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2Vj
dGlvbi04LjMuMT4uICBQYXlsb2FkIFBhcnNpbmcNCg0KICAgbyAgSWYgZGF0YSBmb3IgYSBub2Rl
IHRhZ2dlZCB3aXRoICJ3aGVuIiBpcyBwcmVzZW50IGFuZCB0aGUgIndoZW4iDQoNCiAgICAgIGNv
bmRpdGlvbiBldmFsdWF0ZXMgdG8gImZhbHNlIiwgdGhlIHNlcnZlciBNVVNUIHJlcGx5IHdpdGgg
YW4NCg0KICAgICAgInVua25vd24tZWxlbWVudCIgPGVycm9yLXRhZz4gaW4gdGhlIDxycGMtZXJy
b3I+Lg0KDQpJbiA4LjMuMjxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0
aW9uLTguMy4yPi4gIE5FVENPTkYgPGVkaXQtY29uZmlnPiBQcm9jZXNzaW5nDQoNCk1vZGlmaWNh
dGlvbiByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGggIndoZW4iLCBhbmQgdGhlICJ3aGVu
Ig0KDQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIuICBJbiB0aGlzIGNhc2Us
IHRoZSBzZXJ2ZXIgTVVTVA0KDQogICAgICByZXBseSB3aXRoIGFuICJ1bmtub3duLWVsZW1lbnQi
IDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPi4NCg0KWUFORyBtb2R1bGXvvJoNCm1vZHVs
ZSBmb28gew0KICAgbmFtZXNwYWNlIOKAnGh0dHA6Ly9mb28uY29t4oCdOw0KICAgcHJlZml4IOKA
nGZvb+KAnTsNCkxlYWYgYSB74oCmfQ0KTGVhZiBiIHsNCiAgV2hlbiDigJxhID0gMTDigJ07DQp9
DQp9DQpTY2VuZSAxOg0KVGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6DQo8ZWRpdC1jb25m
aWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxj
b25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MzwvYT4NCiAgIDwv
Y29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NClRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMy4NCg0K
VGhlIHNlY29uZCByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxj
YW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKA
nGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgICAgPGIgeG1sbnM9IOKAnGh0dHA6Ly9mb28u
Y29t4oCdPjU8L2I+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQoNCkFjY29yZGluZyA4
LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNh
bmRpZGF0ZSBkYXRhc3RvcmUgaXMgMyxzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2
YWx1YXRlZCB0byBmYWxzZSwgc2VydmVyIHdpbGwgcmVwb3J0IOKAmHVua25vd24tZWxlbWVudOKA
mSBlcnJvci4NCklzIGl0IGV4cGVjdGVkIGJ5IHVzZXI/DQpTY2VuZSAyOg0KVGhlIGZpcnN0IGVk
aXQtY29uZmlnIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNh
bmRpZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCc
aHR0cDovL2Zvby5jb23igJ0+MTA8L2E+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQpU
aGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDEwLg0KDQpUaGUgc2Vjb25kIHJlcXVlc3Q6DQo8ZWRp
dC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8L3RhcmdldD4N
CiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MzwvYT4N
CiAgICAgIDxiIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT41PC9iPg0KICAgPC9jb25maWc+
DQo8L2VkaXQtY29uZmlnPg0KQWNjb3JkaW5nIDguMy4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5n
IHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZSBpcyAxMCwgc28g
bGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gdHJ1ZSwgc2VydmVyIHdp
bGwgYWNjZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNpbmcgcGhhc2UuDQoNCkluIGVk
aXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwgaWYgbGVhZiBh4oCZcyBtb2RpZmlj
YXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRoZSBh4oCZcyB2YWx1ZSB3aWxsIGJlIGNoYW5n
ZWQgdG8gMywgc28gdGhlIGLigJlzIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZmFsc2UsIHdoZW4g
c2VydmVyIHByb2Nlc3MgYuKAmXMgbW9kaWZpY2F0aW9uLCBiIHdpbGwgYmUgdHJlYXRlZCBhcyB1
bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgZmFpbC4NCklmIGxl
YWYgYuKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCBzZXJ2ZXIgd2lsbCBh
Y2NlcHQgdGhpcyBtb2RpZmljYXRpb24gLGJlY2F1c2UgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMg
dHJ1ZSwgYW5kIHdoZW4gc2VydmVyIHByb2Nlc3MgYeKAmXMgbW9kaWZpY2F0aW9uICwgdGhpcyBt
b2RpZmljYXRpb24gd2lsbCBiZSBhY2NlcHRlZCwgYW5kIGLigJlzIHdoZW4gY29uZGl0aW9uIHdp
bGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbCBiZSBkZWxldGVkIGF1dG9tYXRp
Y2FsbHksIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgYmUgT0suDQoNCkhvdyBzZXJ2ZXIg
c2hvdWxkIHByb2Nlc3MgdGhpcyBzaXR1YXRpb24/DQoNCg==

--_000_8ED84560C18B42ED9AD35D297C40819E_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i
dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZT4NCjwhLS0NCkBmb250LWZhY2UNCgl7
Zm9udC1mYW1pbHk65a6L5L2TfQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBN
YXRoIn0NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQifQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpfQ0KQGZvbnQtZmFjZQ0KCXt9DQpwLk1zb05vcm1h
bCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJbWFyZ2luLWJv
dHRvbTouMDAwMXB0Ow0KCXRleHQtYWxpZ246anVzdGlmeTsNCgl0ZXh0LWp1c3RpZnk6aW50ZXIt
aWRlb2dyYXBoOw0KCWZvbnQtc2l6ZToxMC41cHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNh
bnMtc2VyaWZ9DQpoMw0KCXttYXJnaW4tcmlnaHQ6MGNtOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglm
b250LXNpemU6MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9k30NCmg0DQoJe21hcmdpbi10b3A6
MTQuMHB0Ow0KCW1hcmdpbi1yaWdodDowY207DQoJbWFyZ2luLWJvdHRvbToxNC41cHQ7DQoJbWFy
Z2luLWxlZnQ6MGNtOw0KCXRleHQtYWxpZ246anVzdGlmeTsNCgl0ZXh0LWp1c3RpZnk6aW50ZXIt
aWRlb2dyYXBoOw0KCWxpbmUtaGVpZ2h0OjE1NSU7DQoJcGFnZS1icmVhay1hZnRlcjphdm9pZDsN
Cglmb250LXNpemU6MTQuMHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNl
cmlmfQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXtjb2xvcjojMDU2M0MxOw0KCXRleHQt
ZGVjb3JhdGlvbjp1bmRlcmxpbmV9DQphOnZpc2l0ZWQsIHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93
ZWQNCgl7Y29sb3I6Izk1NEY3MjsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lfQ0KcHJlDQoJ
e21hcmdpbjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7
DQoJZm9udC1mYW1pbHk65a6L5L2TfQ0Kc3Bhbi5FbWFpbFN0eWxlMTcNCgl7Zm9udC1mYW1pbHk6
IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6d2luZG93dGV4dH0NCnNwYW4uSFRNTENoYXIN
Cgl7Zm9udC1mYW1pbHk65a6L5L2TfQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe21hcmdpbjo3Mi4w
cHQgOTAuMHB0IDcyLjBwdCA5MC4wcHR9DQpkaXYuV29yZFNlY3Rpb24xDQoJe30NCi0tPg0KPC9z
dHlsZT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IlpILUNOIiBsaW5rPSIjMDU2M0MxIiB2bGluaz0i
Izk1NEY3MiIgc3R5bGU9IiI+DQo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPg0KPCEtLQ0KKg0KCXt9
DQpib2R5DQoJe2ZvbnQtZmFtaWx5OkNhbGlicml9DQotLT4NCjwvc3R5bGU+DQo8ZGl2Pjxicj4N
Cjxicj4NCjxicj4NCjxicj4NCjwvZGl2Pg0KPGRpdj48L2Rpdj4NCjxkaXY+LS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS08YnI+DQrlhq/lhrIgRmVuZyBD
aG9uZzxicj4NCk1vYmlsZTogPGEgaHJlZj0idGVsOiYjNDM7ODYtMTM3NzY2MTI5ODMiPiYjNDM7
ODYtMTM3NzY2MTI5ODM8L2E+PGJyPg0KRW1haWw6IDxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5n
Y2hvbmdAaHVhd2VpLmNvbSI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+PC9kaXY+DQo8
ZGl2IG5hbWU9IkFueU9mZmljZS1CYWNrZ3JvdW5kLUltYWdlIiBzdHlsZT0iYm9yZGVyLXRvcDox
cHggc29saWQgI0I1QzRERjsgcGFkZGluZzo4cHgiPg0KPGRpdiBzdHlsZT0id29yZC1icmVhazpi
cmVhay1hbGwiPjxiPuWPkeS7tuS6uu+8mjwvYj5GZW5nY2hvbmcgKGZyYW5rKSAmbHQ7ZnJhbmsu
ZmVuZ2Nob25nQGh1YXdlaS5jb20mZ3Q7PC9kaXY+DQo8ZGl2IHN0eWxlPSJ3b3JkLWJyZWFrOmJy
ZWFrLWFsbCI+PGI+5pS25Lu25Lq677yaPC9iPm5ldG1vZCAmbHQ7bmV0bW9kQGlldGYub3JnJmd0
OzwvZGl2Pg0KPGRpdiBzdHlsZT0id29yZC1icmVhazpicmVhay1hbGwiPjxiPuaKhOKAg+mAge+8
mjwvYj5ZYW5nYW5nICZsdDt5YW5nYW5nQGh1YXdlaS5jb20mZ3Q7PC9kaXY+DQo8ZGl2IHN0eWxl
PSJ3b3JkLWJyZWFrOmJyZWFrLWFsbCI+PGI+5pe24oCD6Ze077yaPC9iPjIwMTktMDktMDYgMTU6
MTk6Mjg8L2Rpdj4NCjxkaXYgc3R5bGU9IndvcmQtYnJlYWs6YnJlYWstYWxsIj48Yj7kuLvpopg8
L2I+W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKA
mTwvZGl2Pg0KPGRpdj48YnI+DQo8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCjxkaXYgY2xhc3M9Ildv
cmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SGkg
YWxsLDwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
Jm5ic3A7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij5JbiBSRkM3OTUwIHNlY3RvbiA4LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0IHdoZW48L3Nw
YW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9kyI+77yaPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIj48L3NwYW4+PC9wPg0KPGgzIHN0eWxlPSIiPjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBz
ZWN0aW9uIDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rp
b24tOC4yIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OyBmb250LWZhbWlseTomcXVv
dDtDb3VyaWVyIE5ldyZxdW90OzsgY29sb3I6YmxhY2siPjguMjwvc3Bhbj48L2E+PC9zcGFuPjxh
IG5hbWU9InNlY3Rpb24tOC4yIj48L2E+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0OyBmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90OzsgY29sb3I6Ymxh
Y2siPi4mbmJzcDsgQ29uZmlndXJhdGlvbiBEYXRhIE1vZGlmaWNhdGlvbnM8L3NwYW4+PC9oMz4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7IGZvbnQtZmFtaWx5
OuWui+S9kzsgY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyBvJm5ic3A7IElmIGEgcmVxdWVzdCBt
b2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnk8L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxl
ZnQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsgZm9udC1mYW1p
bHk65a6L5L2TOyBjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG5v
ZGUncyAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24gYmVjb21lcyBmYWxzZSwgdGhlbiB0aGUg
bm9kZSBpbiB0aGUgZGF0YTwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0i
bGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTAuMHB0OyBmb250LWZhbWlseTrlrovkvZM7IGNvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHJlZSB3aXRoIHRoZSAmcXVvdDt3aGVuJnF1b3Q7IGV4
cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0aGUgc2VydmVyLjwvc3Bhbj48L3A+DQo8aDQgc3R5bGU9
IiI+PHNwYW4gbGFuZz0iRU4tVVMiPkluIDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcv
aHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjEiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4w
cHQ7IGZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7OyBjb2xvcjpibGFjazsgdGV4
dC1kZWNvcmF0aW9uOm5vbmUiPjguMy4xPC9zcGFuPjwvYT48L3NwYW4+PGEgbmFtZT0ic2VjdGlv
bi04LjMuMSI+PC9hPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsg
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7IGNvbG9yOmJsYWNrIj4uJm5ic3A7
IFBheWxvYWQgUGFyc2luZzwvc3Bhbj48L2g0Pg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC4wcHQ7IGNvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJ
ZiBkYXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90OyBpcyBwcmVzZW50
IGFuZCB0aGUgJnF1b3Q7d2hlbiZxdW90Ozwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0OyBjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gJnF1b3Q7ZmFsc2UmcXVv
dDssIHRoZSBzZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuPC9zcGFuPjwvcHJlPg0KPHByZT48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7IGNvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZs
dDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+PC9wcmU+DQo8
aDQgc3R5bGU9IiI+PHNwYW4gbGFuZz0iRU4tVVMiPkluIDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMu
aWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjIiPg0KPHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7IGZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7OyBjb2xvcjpi
bGFjazsgdGV4dC1kZWNvcmF0aW9uOm5vbmUiPjguMy4yPC9zcGFuPjwvYT48L3NwYW4+PGEgbmFt
ZT0ic2VjdGlvbi04LjMuMiI+PC9hPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjBwdDsgZm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7IGNvbG9yOmJsYWNr
Ij4uJm5ic3A7IE5FVENPTkYgJmx0O2VkaXQtY29uZmlnJmd0OyBQcm9jZXNzaW5nPC9zcGFuPjwv
aDQ+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDsgY29s
b3I6YmxhY2siPk1vZGlmaWNhdGlvbiByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGggJnF1
b3Q7d2hlbiZxdW90OywgYW5kIHRoZSAmcXVvdDt3aGVuJnF1b3Q7PC9zcGFuPjwvcHJlPg0KPHBy
ZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7IGNvbG9yOmJsYWNr
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAm
cXVvdDtmYWxzZSZxdW90Oy4mbmJzcDsgSW4gdGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1Q8L3Nw
YW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBw
dDsgY29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXBseSB3aXRo
IGFuICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFnJmd0OyBpbiB0aGUg
Jmx0O3JwYy1lcnJvciZndDsuPC9zcGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+WUFORyBtb2R1bGU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFt
aWx5OuWui+S9kyI+77yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPm1vZHVsZSBmb28gezwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7
IG5hbWVzcGFjZSDigJxodHRwOi8vZm9vLmNvbeKAnTs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyBwcmVmaXgg4oCcZm9v4oCd
Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1pbmRlbnQ6MTUu
NzVwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYSB74oCmfTwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1pbmRlbnQ6MTUuNzVwdCI+PHNwYW4gbGFuZz0iRU4t
VVMiPkxlYWYgYiB7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0
LWluZGVudDoxNS43NXB0Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7IFdoZW4g4oCcYSA9IDEw
4oCdOzwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1pbmRlbnQ6
MTUuNzVwdCI+PHNwYW4gbGFuZz0iRU4tVVMiPn08L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPn08L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVO
LVVTIj5TY2VuZSAxOiA8L3NwYW4+PC9oMz4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIj5UaGUgZmlyc3QgZWRpdC1jb25maWcgcmVxdWVzdDo8L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNw
OyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtjYW5k
aWRhdGUvJmd0Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0OyA8L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtjb25m
aWcmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9IOKAnGh0dHA6Ly9m
b28uY29t4oCdJmd0OzMmbHQ7L2EmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7L2VkaXQtY29u
ZmlnJmd0Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyI+VGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAzLjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgc2Vjb25kIHJlcXVlc3Q6PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7ZWRpdC1jb25m
aWcmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm
bHQ7Y2FuZGlkYXRlLyZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L3RhcmdldCZndDsgPC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bHQ7Y29uZmlnJmd0Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHhtbG5zPSDigJxo
dHRwOi8vZm9vLmNvbeKAnSZndDsxMCZsdDsvYSZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmbHQ7YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0mZ3Q7NSZsdDsvYiZndDs8L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyAmbHQ7L2NvbmZpZyZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5B
Y2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2
YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRp
dGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3du
LWVsZW1lbnTigJkgZXJyb3IuPC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+SXMgaXQgZXhwZWN0ZWQgYnkg
dXNlcj88L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5TY2VuZSAyOjwvc3Bhbj48
L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBmaXJzdCBl
ZGl0LWNvbmZpZyByZXF1ZXN0Ojwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0
Oy90YXJnZXQmZ3Q7IDwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0mZ3Q7MTAmbHQ7L2Em
Z3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4m
bmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7L2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyByZXF1ZXN0IHdpbGwg
c2V0IGEgPSAxMC48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOzwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0Ojwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0
YXJnZXQmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsgJmx0Oy90YXJnZXQmZ3Q7IDwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0mZ3Q7
MyZsdDsvYSZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YiB4bWxucz0g4oCcaHR0
cDovL2Zvby5jb23igJ0mZ3Q7NSZsdDsvYiZndDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRp
dC1jb25maWcmZ3Q7PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+QWNjb3JkaW5nIDguMy4xLCBpbiBycGMg
cGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFz
dG9yZSBpcyAxMCwgc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8g
dHJ1ZSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNpbmcg
cGhhc2UuDQo8L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij4mbmJzcDs8L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5J
biBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlmIGxlYWYgYeKAmXMgbW9k
aWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMgdmFsdWUgd2lsbCBiZSBj
aGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGZhbHNlLCB3
aGVuIHNlcnZlciBwcm9jZXNzIGLigJlzIG1vZGlmaWNhdGlvbiwNCiBiIHdpbGwgYmUgdHJlYXRl
ZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgZmFpbC4g
PC9zcGFuPg0KPC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JZiBsZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9j
ZXNzZWQgZmlyc3RseSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNh
dXNlIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIHRydWUsIGFuZCB3aGVuIHNlcnZlciBwcm9jZXNz
IGHigJlzIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQs
DQogYW5kIGLigJlzIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBs
ZWFmIGIgd2lsbCBiZSBkZWxldGVkIGF1dG9tYXRpY2FsbHksIHRoZSBlZGl0LWNvbmZpZyByZXF1
ZXN0IHdpbGwgYmUgT0suPC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+Jm5ic3A7PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0
LjBwdCI+SG93IHNlcnZlciBzaG91bGQgcHJvY2VzcyB0aGlzIHNpdHVhdGlvbj88L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_8ED84560C18B42ED9AD35D297C40819E_--

--_004_8ED84560C18B42ED9AD35D297C40819E_
Content-Type: text/plain; name="ATT00001.txt"
Content-Description: ATT00001.txt
Content-Disposition: attachment; filename="ATT00001.txt"; size=133;
 creation-date="Fri, 06 Sep 2019 07:19:28 GMT";
 modification-date="Fri, 06 Sep 2019 07:19:28 GMT"
Content-ID: <316CA54D41180542A5408A1BA3346CA0@huawei.com>
Content-Transfer-Encoding: base64

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCm5ldG1vZCBt
YWlsaW5nIGxpc3QNCm5ldG1vZEBpZXRmLm9yZw0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9uZXRtb2QNCg==

--_004_8ED84560C18B42ED9AD35D297C40819E_--


From nobody Mon Sep  9 06:41:15 2019
Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E52B812025D for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 06:41:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.499
X-Spam-Level: 
X-Spam-Status: No, score=-14.499 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=mu49HWo9; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=o330Ycsh
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 t8FVPVBfX71Y for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 06:41:10 -0700 (PDT)
Received: from rcdn-iport-9.cisco.com (rcdn-iport-9.cisco.com [173.37.86.80]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2DF8D120047 for <netmod@ietf.org>; Mon,  9 Sep 2019 06:41:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=28585; q=dns/txt; s=iport; t=1568036470; x=1569246070; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=llg1ben/10Ny9G0clkhqtuWYzFQbh7aOGZz/N7g+b5o=; b=mu49HWo9QfjwO0a3YZ4TNg1OEbic1/TvXMevf0DbWODG6UsFFUc2y5mA vwmIWY/PR4sqMGxb3TFUfMZtQzNDMWUFv1+ALwfp/yDEOWzo2zgMuIERo raS000iexQut0qXO5TYgKQkLh0qGnKtx8BFyxKBwndMk0bjq+vE6GHnA1 4=;
IronPort-PHdr: =?us-ascii?q?9a23=3AieSRThBX/5vgVP0wVyD/UyQJPHJ1sqjoPgMT9p?= =?us-ascii?q?ssgq5PdaLm5Zn5IUjD/qs13kTRU9Dd7PRJw6rNvqbsVHZIwK7JsWtKMfkuHw?= =?us-ascii?q?QAld1QmgUhBMCfDkiuNuHrazA9GuxJVURu+DewNk0GUMs=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AeAAAlVnZd/40NJK1lGQEBAQEBAQE?= =?us-ascii?q?BAQEBAQcBAQEBAQGBVgEBAQEBAQsBgRUvUANtViAECyoKhBeDRwOKdIJcfpZ?= =?us-ascii?q?yglIDVAkBAQEMAQEjCgIBAYQ/AoI4IzcGDgIDCQEBBAEBAQIBBgRthS4MhUo?= =?us-ascii?q?BAQEBAxIPAQsTAQE3AQ8CAQgRBAEBEBEBCAMCMhoDAQcBAQQBDQUIGluCJoE?= =?us-ascii?q?dTQMdAQIMigaQYQKBOIhhbgGBNoE6gUMBAQWFERiCFgmBNAGLdxiBQD+BEUa?= =?us-ascii?q?CFzU+gmEBAQIBgUgYKxGCSjWCJoxrGGiGc4IzlTMKgiGGf44QgjSHPI8SjX6?= =?us-ascii?q?IApBpAgQCBAUCDgEBBYFoIoFYcBWDJwmCOYNyhRSFP3MBAYEnjHCBMQGBIgE?= =?us-ascii?q?B?=
X-IronPort-AV: E=Sophos;i="5.64,484,1559520000";  d="scan'208,217";a="540850862"
Received: from alln-core-8.cisco.com ([173.36.13.141]) by rcdn-iport-9.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 09 Sep 2019 13:41:02 +0000
Received: from xch-rcd-011.cisco.com (xch-rcd-011.cisco.com [173.37.102.21]) by alln-core-8.cisco.com (8.15.2/8.15.2) with ESMTPS id x89Df2RW023995 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Mon, 9 Sep 2019 13:41:02 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-RCD-011.cisco.com (173.37.102.21) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Sep 2019 08:41:02 -0500
Received: from xhs-aln-001.cisco.com (173.37.135.118) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 9 Sep 2019 08:41:01 -0500
Received: from NAM03-DM3-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-001.cisco.com (173.37.135.118) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Mon, 9 Sep 2019 08:41:01 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YZh/yKmlwKPUXCHlvm9a1EwZapV0+VcJug3A3yHS8/eLI7kIusKqm9xpw78MRkP8obLdKz35quskmV81nXW4QmH/9sw3J5I2Bam7bVu3Sl6P8FIbgCk4NJSedrvHrjq2PA0Xsh+uoaBGbbQAlfv594Frsfw21+tp+o/2PLMOrEHhAto3ZnAsBBhDXhquldj1QaJd2LNJzxP6E6hTzXtEAW+t3NhM5d8FKst4/I1mi3ky1NFHGXi+Ok5/NY7hJrMD3x04FCrO4k0TA9/8rELRZT+CWIg8aO2vNwSQI7AznS4SWucky/Zo+IBmnThD802G2bDzCabxF6ziv3YZOiVIhA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YB4iNjxJ1A0MDlLFmDuAcq4YaH8Vy4lYXLkEG4HUrZU=; b=OzumGpF3NJoqhd2fb0XAwT7UF4JfmqFyrgvWoeUMCKv6MWBQjF73poBxmyXH88D1z0H6Krstt3Nu/db7F3k1qZn2ZX9h4PlzK+TrVZCxwxqJ9UKuA3yrqcCVI9dFqgbu7gdlqsw6ylo4cyXOubxbk0Cn4TA1LmFVTXuY280e6zhxKzjhArOQYlwlzz0ACVX9+rZFLxHkHedGHBlWQJ9sDtChwYgTpgAMzvB4naWYN/2XKA6IAU6HhOqJr/0BC5M54PWl+/uj3PwS3FD2VN7aDZObaYJsWSiyQaloSMTq+nOZw2Z4a7a0q2frHSu14KUEbSvRlv7H6ejW962pQZiwZQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com;  s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YB4iNjxJ1A0MDlLFmDuAcq4YaH8Vy4lYXLkEG4HUrZU=; b=o330YcshhzhJ7s43ALnzk5op/xV+lo5278Dl2Nda3IpCllvPOcWtI11zYliFCQM9/Qk48Annf3fSgy8bnwAQIQy+GqeaJUnoJkfpx+nCTX8ceRYnWSC3wmg4UAkheblGIIXYQuROQoK48s9jcloMaUAYWN3Vz1s7hFwie6hjPMk=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB4494.namprd11.prod.outlook.com (52.135.39.204) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2241.18; Mon, 9 Sep 2019 13:40:57 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::6db3:f4c:467b:30f6]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::6db3:f4c:467b:30f6%7]) with mapi id 15.20.2241.018; Mon, 9 Sep 2019 13:40:57 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>
CC: Yangang <yangang@huawei.com>
Thread-Topic: =?iso-2022-jp?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJv?= =?iso-2022-jp?B?dXQgGyRCIUYbKEJ3aGVuGyRCIUcbKEI=?=
Thread-Index: AdVkgxkxStdW26xJTo+kz8dBb3TuVgCj2fBA
Date: Mon, 9 Sep 2019 13:40:56 +0000
Message-ID: <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com; 
x-originating-ip: [173.38.220.40]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 3a76ee3d-bcf7-4a58-b971-08d7352b57da
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600166)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:MN2PR11MB4494; 
x-ms-traffictypediagnostic: MN2PR11MB4494:
x-ms-exchange-purlcount: 6
x-microsoft-antispam-prvs: <MN2PR11MB4494CCAB01FD687B316DB237B5B70@MN2PR11MB4494.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 01559F388D
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(39860400002)(136003)(396003)(376002)(366004)(189003)(199004)(53754006)(9326002)(53936002)(9686003)(54896002)(7736002)(81156014)(6306002)(81166006)(64756008)(52536014)(102836004)(3846002)(790700001)(6116002)(256004)(14444005)(486006)(2906002)(66476007)(66446008)(446003)(236005)(66946007)(11346002)(55016002)(66066001)(476003)(74316002)(86362001)(53386004)(71190400001)(8936002)(4326008)(6246003)(71200400001)(110136005)(229853002)(316002)(76116006)(6506007)(53546011)(33656002)(66556008)(606006)(186003)(14454004)(5660300002)(25786009)(6436002)(26005)(478600001)(99286004)(2501003)(76176011)(7696005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB4494; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: Lj04t7FVir2pW6Alcbitvx/EqSGe8Fv54Q1Wqtq0OEoIIj1MGzxgpobRaHWOfOBiZ4VxDEHyXOS8b+8Q+qQfiDWERib1EX8s9rezeyRFLtfgbtEa1P6AHrNrJBwP09h9+jLAL0X3kdmpn9K4c4tdmCjovYMerFNFcyQ7yRcs3cKympJLX4QgOaIjAjVzztb6COijowNilzEEa/qMshaQeixIr6fHeyRicoPWfxRGYUO7C7WLV7ElZCTUzmB+HyfnBe/Z9GLDenCHcvVMx/9SN3fnOHmO7APvqf4yMToVRazbLTW9EhtEDtCB8EaGqyMGmhaUzcTlJiGB9mAUGHnzeD7rzdofjISvhCCaI4pYRgcWo7O7rXogR1uB9P4I3g10km51xW/CU3C9Nf7OwXX0D4L9HFwylsD7zKjIasaV9iw=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_MN2PR11MB4366224F81AD9884FA130B37B5B70MN2PR11MB4366namp_"
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 3a76ee3d-bcf7-4a58-b971-08d7352b57da
X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2019 13:40:56.8133 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: /eEUMjUuH+Bdhh/ER4qdv0BMteJxK/w1/Q6TbykPEa6XKi1A8QSyEVu6tVFWR8xydkNFhpXxg8ZYJ4jxtHO+TQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4494
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.21, xch-rcd-011.cisco.com
X-Outbound-Node: alln-core-8.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/kTg6PmDZ8wy7VhTB-e5eofwhva0>
Subject: Re: [netmod] =?iso-2022-jp?b?UGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRp?= =?iso-2022-jp?b?b24gYWJvdXQgGyRCIUYbKEJ3aGVuGyRCIUcbKEI=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 13:41:13 -0000

--_000_MN2PR11MB4366224F81AD9884FA130B37B5B70MN2PR11MB4366namp_
Content-Type: text/plain; charset="iso-2022-jp"
Content-Transfer-Encoding: quoted-printable

Hi Frank,

My interpretation of what the expected behaviour is as follows.

For =1B$B!H=1B(Bscene 1=1B$B!I=1B(B, the config change is accepted because =
the result of the config datastore after the edit-config has been applied i=
s valid.

For =1B$B!H=1B(Bscene 2=1B$B!I=1B(B, the config change is rejected because =
the result of the config datastore after the edit-config has been applied i=
s invalid.

My interpretation is that the block of text in 8.3.1 payload parsing is pri=
mary intended to refer to RFC input.  E.g. if the RPC was defined something=
 like below, then the =1B$B!F=1B(Bwhen=1B$B!G=1B(B rule in 8.3.1 would enfo=
rce that a zip-code can only be provided if the country is the USA.

       rpc rock-the-house {
         input {
           leaf country {
             type string;
           }
           leaf zip-code {
             when =1B$B!H=1B(B../country =3D =1B$B!F=1B(Busa=1B$B!G!I=1B(B;
             type string;
           }
         }
       }

Thanks,
Rob



From: netmod <netmod-bounces@ietf.org> On Behalf Of Fengchong (frank)
Sent: 06 September 2019 08:19
To: netmod@ietf.org
Cc: Yangang <yangang@huawei.com>
Subject: [netmod] Please clarify implementation about =1B$B!F=1B(Bwhen=1B$B=
!G=1B(B

Hi all,

In RFC7950 secton 8, several description about when=1B$B!'=1B(B
In section 8.2<https://tools.ietf.org/html/rfc7950#section-8.2>.  Configura=
tion Data Modifications
   o  If a request modifies a configuration data node such that any
      node's "when" expression becomes false, then the node in the data
      tree with the "when" expression is deleted by the server.
In 8.3.1<https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload Parsi=
ng

   o  If data for a node tagged with "when" is present and the "when"

      condition evaluates to "false", the server MUST reply with an

      "unknown-element" <error-tag> in the <rpc-error>.

In 8.3.2<https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF <edit=
-config> Processing

Modification requests for nodes tagged with "when", and the "when"

      condition evaluates to "false".  In this case, the server MUST

      reply with an "unknown-element" <error-tag> in the <rpc-error>.

YANG module=1B$B!'=1B(B
module foo {
   namespace =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B;
   prefix =1B$B!H=1B(Bfoo=1B$B!I=1B(B;
Leaf a {=1B$B!D=1B(B}
Leaf b {
  When =1B$B!H=1B(Ba =3D 10=1B$B!I=1B(B;
}
}
Scene 1:
The first edit-config request:
<edit-config>
   <target>
      <candidate/>
   </target>
   <config>
      <a xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>3</a>
   </config>
</edit-config>
This request will set a =3D 3.

The second request:
<edit-config>
   <target>
      <candidate/>
   </target>
   <config>
      <a xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>10</a>
      <b xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>5</b>
   </config>
</edit-config>

According 8.3.1, in rpc payload parsing phase, the a=1B$B!G=1B(Bs value in =
candidate datastore is 3,so leaf b=1B$B!G=1B(Bs when condition is evaluated=
 to false, server will report =1B$B!F=1B(Bunknown-element=1B$B!G=1B(B error=
.
Is it expected by user?
Scene 2:
The first edit-config request:
<edit-config>
   <target>
      <candidate/>
   </target>
   <config>
      <a xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>10</a>
   </config>
</edit-config>
This request will set a =3D 10.

The second request:
<edit-config>
   <target>
      <candidate/>
   </target>
   <config>
      <a xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>3</a>
      <b xmlns=3D =1B$B!H=1B(Bhttp://foo.com=1B$B!I=1B(B>5</b>
   </config>
</edit-config>
According 8.3.1, in rpc payload parsing phase, the a=1B$B!G=1B(Bs value in =
candidate datastore is 10, so leaf b=1B$B!G=1B(Bs when condition is evaluat=
ed to true, server will accept this request in payload parsing phase.

In edit-config request processing phase, if leaf a=1B$B!G=1B(Bs modificatio=
n is processed firstly, the a=1B$B!G=1B(Bs value will be changed to 3, so t=
he b=1B$B!G=1B(Bs when condition will be false, when server process b=1B$B!=
G=1B(Bs modification, b will be treated as unknown-element, the edit-config=
 request will fail.
If leaf b=1B$B!G=1B(Bs modification is processed firstly, server will accep=
t this modification ,because b=1B$B!G=1B(Bs when condition is true, and whe=
n server process a=1B$B!G=1B(Bs modification , this modification will be ac=
cepted, and b=1B$B!G=1B(Bs when condition will be evaluated to false, leaf =
b will be deleted automatically, the edit-config request will be OK.

How server should process this situation?


--_000_MN2PR11MB4366224F81AD9884FA130B37B5B70MN2PR11MB4366namp_
Content-Type: text/html; charset="iso-2022-jp"
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=3Diso-2022-=
jp">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:SimSun;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	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:"Calibri Light";
	panose-1:2 15 3 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
	{font-family:"\@SimSun";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:ZH-CN;}
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:SimSun;
	mso-fareast-language:ZH-CN;}
h4
	{mso-style-priority:9;
	mso-style-link:"Heading 4 Char";
	margin-top:14.0pt;
	margin-right:0cm;
	margin-bottom:14.5pt;
	margin-left:0cm;
	text-align:justify;
	text-justify:inter-ideograph;
	line-height:155%;
	page-break-after:avoid;
	font-size:14.0pt;
	font-family:"Calibri Light",sans-serif;
	mso-fareast-language:ZH-CN;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML Preformatted Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:SimSun;
	mso-fareast-language:ZH-CN;}
span.Heading3Char
	{mso-style-name:"Heading 3 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 3";
	font-family:"Calibri Light",sans-serif;
	color:#1F3763;
	mso-fareast-language:ZH-CN;}
span.Heading4Char
	{mso-style-name:"Heading 4 Char";
	mso-style-priority:9;
	mso-style-link:"Heading 4";
	font-family:"Calibri Light",sans-serif;
	color:#2F5496;
	mso-fareast-language:ZH-CN;
	font-style:italic;}
span.HTMLPreformattedChar
	{mso-style-name:"HTML Preformatted Char";
	mso-style-priority:99;
	mso-style-link:"HTML Preformatted";
	font-family:Consolas;
	mso-fareast-language:ZH-CN;}
p.msonormal0, li.msonormal0, div.msonormal0
	{mso-style-name:msonormal;
	mso-margin-top-alt:auto;
	margin-right:0cm;
	mso-margin-bottom-alt:auto;
	margin-left:0cm;
	font-size:12.0pt;
	font-family:SimSun;
	mso-fareast-language:ZH-CN;}
span.EmailStyle22
	{mso-style-type:personal;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
p.3, li.3, div.3
	{mso-style-name:"\6807\9898 3";
	mso-style-link:"\6807\9898 3 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:ZH-CN;}
span.3Char
	{mso-style-name:"\6807\9898 3 Char";
	mso-style-priority:9;
	mso-style-link:"\6807\9898 3";
	font-family:SimSun;
	font-weight:bold;}
p.4, li.4, div.4
	{mso-style-name:"\6807\9898 4";
	mso-style-link:"\6807\9898 4 Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:ZH-CN;}
span.4Char
	{mso-style-name:"\6807\9898 4 Char";
	mso-style-priority:9;
	mso-style-link:"\6807\9898 4";
	font-family:"Calibri Light",sans-serif;
	font-weight:bold;}
p.HTML, li.HTML, div.HTML
	{mso-style-name:"HTML \9884\8BBE\683C\5F0F";
	mso-style-link:"HTML \9884\8BBE\683C\5F0F Char";
	margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:ZH-CN;}
span.HTMLChar
	{mso-style-name:"HTML \9884\8BBE\683C\5F0F Char";
	mso-style-priority:99;
	mso-style-link:"HTML \9884\8BBE\683C\5F0F";
	font-family:SimSun;}
span.EmailStyle30
	{mso-style-type:personal-reply;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-size:10.0pt;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.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-GB" link=3D"#0563C1" vlink=3D"#954F72" style=3D"text-justi=
fy-trim:punctuation">
<div class=3D"WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Hi Frank,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">My interpretation of what the expected behaviour is as follows.<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">For =1B$B!H=1B(Bscene 1=1B$B!I=1B(B, the config change is accepted =
because the result of the config datastore after the edit-config has been a=
pplied is valid.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">For =1B$B!H=1B(Bscene 2=1B$B!I=1B(B, the config change is rejected =
because the result of the config datastore after the edit-config has been a=
pplied is invalid.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">My interpretation is that the block of text in 8.3.1 payload parsin=
g is primary intended to refer to RFC input.&nbsp; E.g. if the RPC was defi=
ned something like below, then the =1B$B!F=1B(Bwhen=1B$B!G=1B(B
 rule in 8.3.1 would enforce that a zip-code can only be provided if the co=
untry is the USA.<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rpc rock-the-hou=
se {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; inpu=
t {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;leaf country {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; type string;<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; leaf zip-code {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; when =1B$B!H=1B(B../country =3D =1B$B!F=1B(Busa=1B$B!G!=
I=1B(B;<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; type string;<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:=
p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black;mso-fa=
reast-language:EN-GB">&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Thanks,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US">Rob<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11.0pt;mso-fareast-language=
:EN-US"><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 #E1E1E1 1.0pt;padding:3.0pt 0cm =
0cm 0cm">
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><b><span la=
ng=3D"EN-US" style=3D"font-size:11.0pt">From:</span></b><span lang=3D"EN-US=
" style=3D"font-size:11.0pt"> netmod &lt;netmod-bounces@ietf.org&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> netmod@ietf.org<br>
<b>Cc:</b> Yangang &lt;yangang@huawei.com&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about =1B$B!F=1B(Bwh=
en=1B$B!G=1B(B<o:p></o:p></span></p>
</div>
</div>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><o:p>&nbsp;=
</o:p></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span><span lang=3D"ZH-CN" style=3D"font-family:SimSun=
">=1B$B!'=1B(B</span><span lang=3D"EN-US"><o:p></o:p></span></p>
<h3 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In section <a hr=
ef=3D"https://tools.ietf.org/html/rfc7950#section-8.2">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack">8.2</span></a></span><a name=3D"section-8.2"></a><span lang=3D"EN-US"=
 style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black"=
>.&nbsp; Configuration Data Modifications<o:p></o:p></span></h3>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:SimSun;color:black">&nbsp;=
&nbsp; o&nbsp; If a request modifies a configuration data node such that an=
y<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:SimSun;color:black">&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; node's &quot;when&quot; expression becomes false, =
then the node in the data<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10.0pt;font-family:SimSun;color:black">&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; tree with the &quot;when&quot; expression is delet=
ed by the server.<o:p></o:p></span></p>
<h4 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In <a href=3D"ht=
tps://tools.ietf.org/html/rfc7950#section-8.3.1">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack;text-decoration:none">8.3.1</span></a></span><a name=3D"section-8.3.1"=
></a><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Couri=
er New&quot;;color:black">.&nbsp; Payload Parsing<o:p></o:p></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p; o&nbsp; If data for a node tagged with &quot;when&quot; is present and t=
he &quot;when&quot;<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; condition evaluates to &quot;false&quot;, the server M=
UST reply with an<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; &quot;unknown-element&quot; &lt;error-tag&gt; in the &=
lt;rpc-error&gt;.<o:p></o:p></span></pre>
<h4 style=3D"mso-line-height-alt:0pt"><span lang=3D"EN-US">In <a href=3D"ht=
tps://tools.ietf.org/html/rfc7950#section-8.3.2">
<span style=3D"font-size:10.0pt;font-family:&quot;Courier New&quot;;color:b=
lack;text-decoration:none">8.3.2</span></a></span><a name=3D"section-8.3.2"=
></a><span lang=3D"EN-US" style=3D"font-size:10.0pt;font-family:&quot;Couri=
er New&quot;;color:black">.&nbsp; NETCONF &lt;edit-config&gt; Processing<o:=
p></o:p></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">Modificati=
on requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot=
;<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; condition evaluates to &quot;false&quot;.&nbsp; In thi=
s case, the server MUST<o:p></o:p></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.0pt;color:black">&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp; reply with an &quot;unknown-element&quot; &lt;error-ta=
g&gt; in the &lt;rpc-error&gt;.<o:p></o:p></span></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span><span lang=3D=
"ZH-CN" style=3D"font-family:SimSun">=1B$B!'=1B(B</span><span lang=3D"EN-US=
"><o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; namespace =1B$B!H=
=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B$B!I=1B(B;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; prefix =1B$B!H=1B(=
Bfoo=1B$B!I=1B(B;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf a {=1B$B!D=1B(B}<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf b {<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">&=
nbsp; When =1B$B!H=1B(Ba =3D 10=1B$B!I=1B(B;<o:p></o:p></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">}=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<o:p></o:p></span></p>
<h3><span lang=3D"EN-US">Scene 1: <o:p></o:p></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;3&lt;/a&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;10&lt;/a&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;b xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;5&lt;/b&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Acco=
rding 8.3.1, in rpc payload parsing phase, the a=1B$B!G=1B(Bs value in cand=
idate datastore is 3,so leaf b=1B$B!G=1B(Bs when condition is evaluated to =
false, server will report =1B$B!F=1B(Bunknown-element=1B$B!G=1B(B error.<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Is i=
t expected by user?<o:p></o:p></span></p>
<h3><span lang=3D"EN-US">Scene 2:<o:p></o:p></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;10&lt;/a&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<o:p></o:p><=
/span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;target&gt;<o:p=
></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;candidate/&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/target&gt; <o=
:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&lt;config&gt=
;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;a xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;3&lt;/a&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
&lt;b xmlns=3D =1B$B!H=1B(B<a href=3D"http://foo.com">http://foo.com</a>=1B=
$B!I=1B(B&gt;5&lt;/b&gt;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&nbsp;&nbsp; &lt;/config&gt;<o:=
p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<o:p></o:p>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">Acco=
rding 8.3.1, in rpc payload parsing phase, the a=1B$B!G=1B(Bs value in cand=
idate datastore is 10, so leaf b=1B$B!G=1B(Bs when condition is evaluated t=
o true, server will accept this request in payload parsing phase.
<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">In e=
dit-config request processing phase, if leaf a=1B$B!G=1B(Bs modification is=
 processed firstly, the a=1B$B!G=1B(Bs value will be changed to 3, so the b=
=1B$B!G=1B(Bs when condition will be false, when server process b=1B$B!G=1B=
(Bs modification,
 b will be treated as unknown-element, the edit-config request will fail. <=
o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">If l=
eaf b=1B$B!G=1B(Bs modification is processed firstly, server will accept th=
is modification ,because b=1B$B!G=1B(Bs when condition is true, and when se=
rver process a=1B$B!G=1B(Bs modification , this modification will be accept=
ed,
 and b=1B$B!G=1B(Bs when condition will be evaluated to false, leaf b will =
be deleted automatically, the edit-config request will be OK.<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt"><o:p=
>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14.0pt">How =
server should process this situation?<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><o:p>&nbsp;</o:p></span></p>
</div>
</div>
</body>
</html>

--_000_MN2PR11MB4366224F81AD9884FA130B37B5B70MN2PR11MB4366namp_--


From nobody Mon Sep  9 10:14:02 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0EA8E1201EA for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 10:14:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 SGn7Fi6f43_n for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 10:13:58 -0700 (PDT)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CEB40120018 for <netmod@ietf.org>; Mon,  9 Sep 2019 10:13:57 -0700 (PDT)
Received: by mail-lj1-x229.google.com with SMTP id h2so7025409ljk.1 for <netmod@ietf.org>; Mon, 09 Sep 2019 10:13:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=7gXhB01YFL6U8SumCzpIp4STBJey+HKiIpTKlyO7JBc=; b=Rs5CUEIoMTjRO3gyp7k8S20vgeEzPwf4OlTq2WCFtuchJIctSMMR4HC4rkmggmiB3p dU6W/78icgcJlrt0iDWRQbZfR65JZhEtZ0UXsf6LIazLunRvY9mv3Ede0YM2XVS0OHcn bYLwL818U5IEkbS1Vk0LtxXdHjq5Zrn+K6acnAl1QmWSj2tO9snO0Muaid0Xc+5pg2Np vaSGY4YNjCEQVSO5rH11NS4JaAX8C3Ysm1GgD50vxuZ7yOCWm5rHAEoKhR47RBdrnb7B PWRJpckQ1H6sLz0Bb+pY6hnOlaGag8Aa2HSP5Gzr8GAQkYy2z9C+qqKtINrH28UstT/y mJ6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=7gXhB01YFL6U8SumCzpIp4STBJey+HKiIpTKlyO7JBc=; b=eYkpwntXlvHuJ9bviIdAwkMG9D8+X7BLvQsy4+S5sUtcKnDrlbyzUFPJUXdeFd1J3R 5/jq8Het1N7kCJ6ZwScxBrg+pCfXKKONvhBhu55kaNlD4G25YG/1e/5EMqM2Ogij7XS2 mx4M8aTdVt3GhFjV8upcmdcA+4R8+ISkyp9XRJRci9vjuMca/GNBlT9oEasLzyFFPf4O MPYaIjuW0jKqOZ2VZCABtQy30NgDkfEc5SzVsjyO321GwV8yrtFUv2gmpaUBbjR4386C fTGakYS63rMrw4zXRox4xVl+jslooCHj68cfFvU/dh0/52etjRhYDXCyRYBrpVECIdNw t43g==
X-Gm-Message-State: APjAAAXTPwfy2qaikJ1OGKHXIDl4CULfuwKqVjNVHx7zoRMf+g4aE2WG 0XtVFCWqUWCkxrzg6yNpgcNKp9NS6KGRxD96tLitCQ==
X-Google-Smtp-Source: APXvYqwNfkVza5S/v+Irx3Dq84ndUJbRKA48/g2bTFv3J4EsQAmVZWDIgDEFJInE7EANgROen8yoU8i7B39DjoiA7Ig=
X-Received: by 2002:a05:651c:282:: with SMTP id b2mr16200390ljo.50.1568049235801;  Mon, 09 Sep 2019 10:13:55 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 9 Sep 2019 10:13:44 -0700
Message-ID: <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: "Fengchong (frank)" <frank.fengchong@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/alternative; boundary="000000000000b0d266059221e9ce"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/2g3cl5TIsGMVpnVU4Q1iAmdq68Y>
Subject: Re: [netmod]  =?utf-8?q?Please_clarify_implementation_about_=E2=80=98?= =?utf-8?b?d2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 17:14:01 -0000

--000000000000b0d266059221e9ce
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

None of the operations that accept or return datastore contents expose the
datastore objects
in the RPC parameters.  They are always anyxml or anydata. This means that
there are no descendant data nodes defined at all according to the RPC
operation
and therefore the constraints on those nodes do not exist in the RPC
operation either.



On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
wrote:

> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>

--000000000000b0d266059221e9ce
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi,<div><br></div><div>None of the operations that accept =
or return datastore contents expose the datastore objects</div><div>in the =
RPC parameters.=C2=A0 They are always anyxml or anydata. This means that</d=
iv><div>there are no descendant data nodes defined at all according to the =
RPC operation</div><div>and therefore the constraints on those nodes do not=
 exist in the RPC operation either.</div><div><br></div><div><br></div></di=
v><br><div class=3D"gmail_quote"><div dir=3D"ltr" class=3D"gmail_attr">On M=
on, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilt=
on@cisco.com">rwilton@cisco.com</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">





<div lang=3D"EN-GB">
<div class=3D"gmail-m_5523231012178586667WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">Hi Frank,<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">My interpretation of =
what the expected behaviour is as follows.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">For =E2=80=9Cscene 1=
=E2=80=9D, the config change is accepted because the result of the config d=
atastore after the edit-config has been applied is valid.<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">For =E2=80=9Cscene 2=
=E2=80=9D, the config change is rejected because the result of the config d=
atastore after the edit-config has been applied is invalid.<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">My interpretation is =
that the block of text in 8.3.1 payload parsing is primary intended to refe=
r to RFC input.=C2=A0 E.g. if the RPC was defined something like below, the=
n the =E2=80=98when=E2=80=99
 rule in 8.3.1 would enforce that a zip-code can only be provided if the co=
untry is the USA.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 rpc rock-the-house {<u></u><u></u></span></p=
>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 input {<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {<u></u=
><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type str=
ing;<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {<u></=
u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=
=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;<u></u><u></u></span></=
p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type str=
ing;<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 }<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">=C2=A0 =
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">Thanks,<u></u><u></u>=
</span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt">Rob<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt"><u></u>=C2=A0<u></u><=
/span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><b><span la=
ng=3D"EN-US" style=3D"font-size:11pt">From:</span></b><span lang=3D"EN-US" =
style=3D"font-size:11pt"> netmod &lt;<a href=3D"mailto:netmod-bounces@ietf.=
org" target=3D"_blank">netmod-bounces@ietf.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about =E2=80=98when=
=E2=80=99<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><u></u>=C2=
=A0<u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span><span lang=3D"ZH-CN" style=3D"font-family:SimSun=
">=EF=BC=9A</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><a name=3D"m_5523231012178586667_section-8.2"></a>=
<span lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&=
quot;;color:black">.=C2=A0 Configuration Data Modifications<u></u><u></u></=
span></h3>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10pt;font-family:SimSun;color:black">=C2=A0=
=C2=A0 o=C2=A0 If a request modifies a configuration data node such that an=
y<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10pt;font-family:SimSun;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression becomes fal=
se, then the node in the data<u></u><u></u></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left"><span lang=
=3D"EN-US" style=3D"font-size:10pt;font-family:SimSun;color:black">=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; expression is delet=
ed by the server.<u></u><u></u></span></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><a name=3D"m_55232310121785=
86667_section-8.3.1"></a><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 Payload Parsing<u></u><=
u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;<u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an<u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.<u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_55232310121785=
86667_section-8.3.2"></a><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 NETCONF &lt;edit-config=
&gt; Processing<u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST<u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.<u></u><u></u></span></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span><span lang=3D=
"ZH-CN" style=3D"font-family:SimSun">=EF=BC=9A</span><span lang=3D"EN-US"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace =E2=80=
=9C<a href=3D"http://foo.com" target=3D"_blank">http://foo.com</a>=E2=80=9D=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix =E2=80=9Cfo=
o=E2=80=9D;<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf a {=E2=80=A6}<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">L=
eaf b {<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">=
=C2=A0 When =E2=80=9Ca =3D 10=E2=80=9D;<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt"><span lang=3D"EN-US">}=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: <u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt; <u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt; <u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, s=
erver will report =E2=80=98unknown-element=E2=80=99 error.<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?<u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:<u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt; <u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt; <u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true, =
server will accept this request in payload parsing phase.
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt"><u></u=
>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a=E2=80=99s modification is proc=
essed firstly, the a=E2=80=99s value will be changed to 3, so the b=E2=80=
=99s when condition will be false, when server process b=E2=80=99s modifica=
tion,
 b will be treated as unknown-element, the edit-config request will fail. <=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b=E2=80=99s modification is processed firstly, server will accept this mo=
dification ,because b=E2=80=99s when condition is true, and when server pro=
cess a=E2=80=99s modification , this modification will be accepted,
 and b=E2=80=99s when condition will be evaluated to false, leaf b will be =
deleted automatically, the edit-config request will be OK.<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt"><u></u=
>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
</div>
</div>

_______________________________________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"noreferrer"=
 target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br>
</blockquote></div>

--000000000000b0d266059221e9ce--


From nobody Mon Sep  9 12:12:42 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C3B891200A4; Mon,  9 Sep 2019 12:12:33 -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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 s-W3OYR5Oc1G; Mon,  9 Sep 2019 12:12:32 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id F1C58120020; Mon,  9 Sep 2019 12:12:31 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id 125F0B82270; Mon,  9 Sep 2019 12:12:31 -0700 (PDT)
To: peter.loborg@ericsson.com, mbj@tail-f.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: warren@kumari.net, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190909191231.125F0B82270@rfc-editor.org>
Date: Mon,  9 Sep 2019 12:12:31 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/Og3LNw3b9exMNeYz0unnqq_O_po>
Subject: [netmod] [Errata Rejected] RFC7950 (5856)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 19:12:34 -0000

The following errata report has been rejected for RFC7950,
"The YANG 1.1 Data Modeling Language".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5856

--------------------------------------
Status: Rejected
Type: Editorial

Reported by: Peter Loborg <peter.loborg@ericsson.com>
Date Reported: 2019-02-21
Rejected by: Warren Kumari (Ops AD) (IESG)

Section: 9.6.4

Original Text
-------------
It takes as an argument a string that is the assigned name. 

Corrected Text
--------------
It takes as an argument an unquoted string that is the assigned name.

Notes
-----
Readers are not beeing made aware that careful reading of section 6.1.3 and the detailed definition of string in section 14 must be consulted.
For comming versions of this RFC it would be preferable to use a more specialized grammar token for these cases (e.g. unquoted-string).



 --VERIFIER NOTES-- 
   Please see the thread  https://mailarchive.ietf.org/arch/browse/netmod/?gbt=1&index=L3rZ7qFjnpsPeRJ4FfJZegWXdig for further discussions.

--------------------------------------
RFC7950 (draft-ietf-netmod-rfc6020bis-14)
--------------------------------------
Title               : The YANG 1.1 Data Modeling Language
Publication Date    : August 2016
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Mon Sep  9 12:16:00 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DABBB1200B7; Mon,  9 Sep 2019 12: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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 ZimzDW6qasEN; Mon,  9 Sep 2019 12:15:51 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 679EA1200A4; Mon,  9 Sep 2019 12:15:51 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id 7A80FB80B0F; Mon,  9 Sep 2019 12:15:50 -0700 (PDT)
To: jernej.tuljak@mg-soft.si, mbj@tail-f.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: warren@kumari.net, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190909191550.7A80FB80B0F@rfc-editor.org>
Date: Mon,  9 Sep 2019 12:15:50 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/55dEfweVC7fSoBn7zNGNSi2puS0>
Subject: [netmod] [Errata Verified] RFC7950 (5807)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 09 Sep 2019 19:15:53 -0000

The following errata report has been verified for RFC7950,
"The YANG 1.1 Data Modeling Language". 

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5807

--------------------------------------
Status: Verified
Type: Technical

Reported by: Jernej Tuljak <jernej.tuljak@mg-soft.si>
Date Reported: 2019-08-13
Verified by: Warren Kumari (Ops AD) (IESG)

Section: 7.21.5.

Original Text
-------------
   o  If the "when" statement is a child of a "uses", "choice", or
      "case" statement, then the context node is the closest ancestor
      node to the node with the "when" statement that is also a data
      node.  If no such node exists, the context node is the root node.
      The accessible tree is tentatively altered during the processing
      of the XPath expression by removing all instances (if any) of the
      nodes added by the "uses", "choice", or "case" statement.

Corrected Text
--------------
   o  If the "when" statement is a child of a "uses", "choice", or
      "case" statement, then the context node is the closest ancestor
      node to the node with the "when" statement that is also a data
      node, rpc, action or notification.  If no such node exists, the
      context node is the root node. The accessible tree is tentatively
      altered during the processing of the XPath expression by removing
      all instances (if any) of the nodes added by the "uses",
      "choice", or "case" statement.

Notes
-----
Similar to verified errata 4794 (https://www.rfc-editor.org/errata/eid4794) but covers the "uses", "choice" and "case" corner case (instead of "augment"). If the node for which the "when" statement is defined is within an rpc, action or notification, the context node also needs to be inside that rpc, action or notification. There are published IETF modules, which rely on this to be true, such as "ietf-netconf-nmda@2019-01-07" in RFC8526 (https://tools.ietf.org/html/rfc8526) at schema node id "/ncds:get-data/ncds:input/ncds:origin-filters". Original text assigns the context node to the root node, if no data node ancestor is found. "rpc", "action" and "notification" are not data nodes and are represented by nodes that are descendants of the root node, as described in Section 6.4.1.

--------------------------------------
RFC7950 (draft-ietf-netmod-rfc6020bis-14)
--------------------------------------
Title               : The YANG 1.1 Data Modeling Language
Publication Date    : August 2016
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Mon Sep  9 19:00:15 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A176D12009C for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:00:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 TCC-8e6AmGRi for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:00:09 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B9334120024 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:00:08 -0700 (PDT)
Received: from lhreml702-cah.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 166011E4B9D8014C14F1 for <netmod@ietf.org>; Tue, 10 Sep 2019 03:00:06 +0100 (IST)
Received: from lhreml722-chm.china.huawei.com (10.201.108.73) by lhreml702-cah.china.huawei.com (10.201.108.43) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 10 Sep 2019 03:00:05 +0100
Received: from lhreml722-chm.china.huawei.com (10.201.108.73) by lhreml722-chm.china.huawei.com (10.201.108.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 10 Sep 2019 03:00:05 +0100
Received: from DGGEMM405-HUB.china.huawei.com (10.3.20.213) by lhreml722-chm.china.huawei.com (10.201.108.73) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Tue, 10 Sep 2019 03:00:04 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by DGGEMM405-HUB.china.huawei.com ([10.3.20.213]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 09:59:56 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>
CC: Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVZxRY9YCq6AlKlkifU9HZTydEwqckJX6Q
Date: Tue, 10 Sep 2019 01:59:55 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86@dggemm513-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/related; boundary="_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/1ejgJ9fZzwVnPQ_qkp4EdAX_yeA>
Subject: [netmod] =?utf-8?b?562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50?= =?utf-8?b?YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:00:13 -0000

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_"

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgcm9iLA0KVGhhbmsgeW91IGZvciB5b3VyIGtpbmQgaW50ZXJwcmV0YXRpb24uDQoNCkl0IHNl
ZW1zIHRoZSB0ZXh0IG9mIFJGQyBpcyBub3QgdmVyeSBjbGVhci4gV2hldGhlciBpbiB0aGUgcGF5
bG9hZCBwYXJzaW5nIHBoYXNlIG9yIHRoZSBlZGl0LWNvbmZpZyBwcm9jZXNzaW5nIHBoYXNlLCB0
aGUgd2hlbiBjb25kaXRpb24gd2lsbCBiZSAgZXZhbHVhdGVkIGFjY29yZGluZyB0byB0aGUgcmVz
dWx0cyBleHBlY3RlZCBieSB0aGUgdXNlci4NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18NCuWNjuS4uuaKgOacr+aciemZkOWFrOWPuCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwg
THRkLg0KW0NvbXBhbnlfbG9nb10NCuS4quS6uuetvuWQje+8muWGr+WGsg0K5omL44CA44CA5py6
77yaMTM3NzY2MTI5ODMNCueUteWtkOmCruS7tu+8mmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29t
DQrlhazlj7jnvZHlnYDvvJp3d3cuaHVhd2VpLmNvbQ0KX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTk
v53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTk
uKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9
v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWI
tuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS2
5LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq6
5bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNv
bnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMgaW50
ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0
ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlu
IGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFs
DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMg
b3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5
b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVy
IGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hku7bk
uro6IFJvYiBXaWx0b24gKHJ3aWx0b24pIFttYWlsdG86cndpbHRvbkBjaXNjby5jb21dDQrlj5Hp
gIHml7bpl7Q6IDIwMTnlubQ55pyIOeaXpSAyMTo0MQ0K5pS25Lu25Lq6OiBGZW5nY2hvbmcgKGZy
YW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+OyBuZXRtb2RAaWV0Zi5vcmcNCuaKhOmA
gTogWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPg0K5Li76aKYOiBSRTogW25ldG1vZF0gUGxl
YXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSBGcmFuaywN
Cg0KTXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgYmVoYXZpb3VyIGlzIGFz
IGZvbGxvd3MuDQoNCkZvciDigJxzY2VuZSAx4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyBhY2Nl
cHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhl
IGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQuDQoNCkZvciDigJxzY2VuZSAy
4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2Yg
dGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxp
ZWQgaXMgaW52YWxpZC4NCg0KTXkgaW50ZXJwcmV0YXRpb24gaXMgdGhhdCB0aGUgYmxvY2sgb2Yg
dGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFyeSBpbnRlbmRlZCB0byByZWZl
ciB0byBSRkMgaW5wdXQuICBFLmcuIGlmIHRoZSBSUEMgd2FzIGRlZmluZWQgc29tZXRoaW5nIGxp
a2UgYmVsb3csIHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4LjMuMSB3b3VsZCBlbmZvcmNl
IHRoYXQgYSB6aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0aGUgY291bnRyeSBpcyB0
aGUgVVNBLg0KDQogICAgICAgcnBjIHJvY2stdGhlLWhvdXNlIHsNCiAgICAgICAgIGlucHV0IHsN
CiAgICAgICAgICAgbGVhZiBjb3VudHJ5IHsNCiAgICAgICAgICAgICB0eXBlIHN0cmluZzsNCiAg
ICAgICAgICAgfQ0KICAgICAgICAgICBsZWFmIHppcC1jb2RlIHsNCiAgICAgICAgICAgICB3aGVu
IOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07DQogICAgICAgICAgICAgdHlwZSBzdHJpbmc7
DQogICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgICB9DQoNClRoYW5rcywNClJvYg0KDQoN
Cg0KRnJvbTogbmV0bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRmLm9yZzxtYWlsdG86bmV0bW9kLWJv
dW5jZXNAaWV0Zi5vcmc+PiBPbiBCZWhhbGYgT2YgRmVuZ2Nob25nIChmcmFuaykNClNlbnQ6IDA2
IFNlcHRlbWJlciAyMDE5IDA4OjE5DQpUbzogbmV0bW9kQGlldGYub3JnPG1haWx0bzpuZXRtb2RA
aWV0Zi5vcmc+DQpDYzogWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5n
QGh1YXdlaS5jb20+Pg0KU3ViamVjdDogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50
YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSBhbGwsDQoNCkluIFJGQzc5NTAgc2VjdG9uIDgs
IHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbu+8mg0KSW4gc2VjdGlvbiA4LjI8aHR0cHM6
Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjI+LiAgQ29uZmlndXJhdGlv
biBEYXRhIE1vZGlmaWNhdGlvbnMNCiAgIG8gIElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZp
Z3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnkNCiAgICAgIG5vZGUncyAid2hlbiIgZXhw
cmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluIHRoZSBkYXRhDQogICAgICB0
cmVlIHdpdGggdGhlICJ3aGVuIiBleHByZXNzaW9uIGlzIGRlbGV0ZWQgYnkgdGhlIHNlcnZlci4N
CkluIDguMy4xPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4z
LjE+LiAgUGF5bG9hZCBQYXJzaW5nDQoNCiAgIG8gIElmIGRhdGEgZm9yIGEgbm9kZSB0YWdnZWQg
d2l0aCAid2hlbiIgaXMgcHJlc2VudCBhbmQgdGhlICJ3aGVuIg0KDQogICAgICBjb25kaXRpb24g
ZXZhbHVhdGVzIHRvICJmYWxzZSIsIHRoZSBzZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuDQoNCiAg
ICAgICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPi4NCg0K
SW4gOC4zLjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMu
Mj4uICBORVRDT05GIDxlZGl0LWNvbmZpZz4gUHJvY2Vzc2luZw0KDQpNb2RpZmljYXRpb24gcmVx
dWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICJ3aGVuIiwgYW5kIHRoZSAid2hlbiINCg0KICAg
ICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLiAgSW4gdGhpcyBjYXNlLCB0aGUgc2Vy
dmVyIE1VU1QNCg0KICAgICAgcmVwbHkgd2l0aCBhbiAidW5rbm93bi1lbGVtZW50IiA8ZXJyb3It
dGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoNCllBTkcgbW9kdWxl77yaDQptb2R1bGUgZm9vIHsN
CiAgIG5hbWVzcGFjZSDigJxodHRwOi8vZm9vLmNvbeKAnTsNCiAgIHByZWZpeCDigJxmb2/igJ07
DQpMZWFmIGEge+KApn0NCkxlYWYgYiB7DQogIFdoZW4g4oCcYSA9IDEw4oCdOw0KfQ0KfQ0KU2Nl
bmUgMToNClRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAg
PHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0K
ICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjM8L2E+DQogICA8L2NvbmZpZz4N
CjwvZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDMuDQoNClRoZSBzZWNv
bmQgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRl
Lz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRwOi8v
Zm9vLmNvbeKAnT4xMDwvYT4NCiAgICAgIDxiIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT41
PC9iPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KDQpBY2NvcmRpbmcgOC4zLjEsIGlu
IHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUg
ZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQg
dG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3duLWVsZW1lbnTigJkgZXJyb3Iu
DQpJcyBpdCBleHBlY3RlZCBieSB1c2VyPw0KU2NlbmUgMjoNClRoZSBmaXJzdCBlZGl0LWNvbmZp
ZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUv
Pg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9m
b28uY29t4oCdPjEwPC9hPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KVGhpcyByZXF1
ZXN0IHdpbGwgc2V0IGEgPSAxMC4NCg0KVGhlIHNlY29uZCByZXF1ZXN0Og0KPGVkaXQtY29uZmln
Pg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29u
ZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjM8L2E+DQogICAgICA8
YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+NTwvYj4NCiAgIDwvY29uZmlnPg0KPC9lZGl0
LWNvbmZpZz4NCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwg
dGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMTAsIHNvIGxlYWYgYuKA
mXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRydWUsIHNlcnZlciB3aWxsIGFjY2Vw
dCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNlLg0KDQpJbiBlZGl0LWNvbmZp
ZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlmIGxlYWYgYeKAmXMgbW9kaWZpY2F0aW9uIGlz
IHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMgdmFsdWUgd2lsbCBiZSBjaGFuZ2VkIHRvIDMs
IHNvIHRoZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGZhbHNlLCB3aGVuIHNlcnZlciBw
cm9jZXNzIGLigJlzIG1vZGlmaWNhdGlvbiwgYiB3aWxsIGJlIHRyZWF0ZWQgYXMgdW5rbm93bi1l
bGVtZW50LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGZhaWwuDQpJZiBsZWFmIGLigJlz
IG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgc2VydmVyIHdpbGwgYWNjZXB0IHRo
aXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIHRydWUsIGFu
ZCB3aGVuIHNlcnZlciBwcm9jZXNzIGHigJlzIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0
aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGV2
YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRlZCBhdXRvbWF0aWNhbGx5LCB0
aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLg0KDQpIb3cgc2VydmVyIHNob3VsZCBw
cm9jZXNzIHRoaXMgc2l0dWF0aW9uPw0KDQo=

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1TIEdvdGhpYyI7DQoJcGFub3NlLTE6MiAxMSA2
IDkgNyAyIDUgOCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRo
IjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1m
YW1pbHk6IkNhbGlicmkgTGlnaHQiOw0KCXBhbm9zZS0xOjIgMTUgMyAyIDIgMiA0IDMgMiA0O30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAy
IDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OuW+rui9r+mbhem7kTsNCglw
YW5vc2UtMToyIDExIDUgMyAyIDIgNCAyIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5
OiJcQOWui+S9kyI7DQoJcGFub3NlLTE6MiAxIDYgMCAzIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OiJcQOW+rui9r+mbhem7kSI7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAy
IDQgMiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEBNUyBHb3RoaWMiOw0KCXBh
bm9zZS0xOjIgMTEgNiA5IDcgMiA1IDggMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6
Ik1TIFBHb3RoaWMiOw0KCXBhbm9zZS0xOjIgMTEgNiAwIDcgMiA1IDggMiA0O30NCkBmb250LWZh
Y2UNCgl7Zm9udC1mYW1pbHk6IlxATVMgUEdvdGhpYyI7DQoJcGFub3NlLTE6MiAxMSA2IDAgNyAy
IDUgOCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDb25zb2xhczsNCglwYW5vc2Ut
MToyIDExIDYgOSAyIDIgNCAzIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29O
b3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1qdXN0aWZ5Omlu
dGVyLWlkZW9ncmFwaDsNCglmb250LXNpemU6MTAuNXB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1s
aW5rOiLmoIfpopggMyBDaGFyIjsNCgltYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAwMDFw
dDsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1qdXN0aWZ5OmludGVyLWlkZW9ncmFwaDsN
Cglmb250LXNpemU6MTAuNXB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K
CWZvbnQtd2VpZ2h0Om5vcm1hbDt9DQpoNA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28t
c3R5bGUtbGluazoi5qCH6aKYIDQgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9t
Oi4wMDAxcHQ7DQoJdGV4dC1hbGlnbjpqdXN0aWZ5Ow0KCXRleHQtanVzdGlmeTppbnRlci1pZGVv
Z3JhcGg7DQoJZm9udC1zaXplOjEwLjVwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z
ZXJpZjsNCglmb250LXdlaWdodDpub3JtYWw7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0K
CXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6IzA1NjNDMTsNCgl0ZXh0LWRlY29yYXRp
b246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXtt
c28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Izk1NEY3MjsNCgl0ZXh0LWRlY29yYXRpb246
dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxp
bms6IkhUTUwg6aKE6K6+5qC85byPIENoYXIiOw0KCW1hcmdpbjowY207DQoJbWFyZ2luLWJvdHRv
bTouMDAwMXB0Ow0KCXRleHQtYWxpZ246anVzdGlmeTsNCgl0ZXh0LWp1c3RpZnk6aW50ZXItaWRl
b2dyYXBoOw0KCWZvbnQtc2l6ZToxMC41cHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMt
c2VyaWY7fQ0Kc3Bhbi4zQ2hhcg0KCXttc28tc3R5bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJ
bXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250
LWZhbWlseTrlrovkvZM7DQoJZm9udC13ZWlnaHQ6Ym9sZDt9DQpzcGFuLjRDaGFyDQoJe21zby1z
dHlsZS1uYW1lOiLmoIfpopggNCBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28t
c3R5bGUtbGluazoi5qCH6aKYIDQiOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5z
LXNlcmlmOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0Kc3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUt
bmFtZToiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0K
CW1zby1zdHlsZS1saW5rOiJIVE1MIOmihOiuvuagvOW8jyI7DQoJZm9udC1mYW1pbHk65a6L5L2T
O30NCnAubXNvbm9ybWFsMCwgbGkubXNvbm9ybWFsMCwgZGl2Lm1zb25vcm1hbDANCgl7bXNvLXN0
eWxlLW5hbWU6bXNvbm9ybWFsOw0KCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOw0KCW1hcmdpbi1y
aWdodDowY207DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJbWFyZ2luLWxlZnQ6MGNt
Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30NCnAuSGVhZGluZzMs
IGxpLkhlYWRpbmczLCBkaXYuSGVhZGluZzMNCgl7bXNvLXN0eWxlLW5hbWU6IkhlYWRpbmcgMyI7
DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgMyBDaGFyIjsNCgltYXJnaW46MGNtOw0KCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1qdXN0aWZ5Omlu
dGVyLWlkZW9ncmFwaDsNCglmb250LXNpemU6MTAuNXB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCnNwYW4uSGVhZGluZzNDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIZWFk
aW5nIDMgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0eWxlLWxpbms6Ikhl
YWRpbmcgMyI7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQiLHNhbnMtc2VyaWY7DQoJY29s
b3I6IzFGMzc2MzsNCgltc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTjt9DQpwLkhlYWRpbmc0LCBs
aS5IZWFkaW5nNCwgZGl2LkhlYWRpbmc0DQoJe21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDQiOw0K
CW1zby1zdHlsZS1saW5rOiJIZWFkaW5nIDQgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4t
Ym90dG9tOi4wMDAxcHQ7DQoJdGV4dC1hbGlnbjpqdXN0aWZ5Ow0KCXRleHQtanVzdGlmeTppbnRl
ci1pZGVvZ3JhcGg7DQoJZm9udC1zaXplOjEwLjVwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs
c2Fucy1zZXJpZjt9DQpzcGFuLkhlYWRpbmc0Q2hhcg0KCXttc28tc3R5bGUtbmFtZToiSGVhZGlu
ZyA0IENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiJIZWFk
aW5nIDQiOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOw0KCWNvbG9y
OiMyRjU0OTY7DQoJbXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ047DQoJZm9udC1zdHlsZTppdGFs
aWM7fQ0KcC5IVE1MUHJlZm9ybWF0dGVkLCBsaS5IVE1MUHJlZm9ybWF0dGVkLCBkaXYuSFRNTFBy
ZWZvcm1hdHRlZA0KCXttc28tc3R5bGUtbmFtZToiSFRNTCBQcmVmb3JtYXR0ZWQiOw0KCW1zby1z
dHlsZS1saW5rOiJIVE1MIFByZWZvcm1hdHRlZCBDaGFyIjsNCgltYXJnaW46MGNtOw0KCW1hcmdp
bi1ib3R0b206LjAwMDFwdDsNCgl0ZXh0LWFsaWduOmp1c3RpZnk7DQoJdGV4dC1qdXN0aWZ5Omlu
dGVyLWlkZW9ncmFwaDsNCglmb250LXNpemU6MTAuNXB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJp
IixzYW5zLXNlcmlmO30NCnNwYW4uSFRNTFByZWZvcm1hdHRlZENoYXINCgl7bXNvLXN0eWxlLW5h
bWU6IkhUTUwgUHJlZm9ybWF0dGVkIENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCglt
c28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3JtYXR0ZWQiOw0KCWZvbnQtZmFtaWx5OkNvbnNvbGFz
Ow0KCW1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOO30NCnNwYW4uRW1haWxTdHlsZTI4DQoJe21z
by1zdHlsZS10eXBlOnBlcnNvbmFsOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlm
Ow0KCWNvbG9yOndpbmRvd3RleHQ7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjkNCgl7bXNvLXN0eWxlLXR5
cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6
d2luZG93dGV4dDt9DQpzcGFuLkVtYWlsU3R5bGUzMA0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25h
bC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjojMUY0
OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZv
bnQtc2l6ZToxMC4wcHQ7fQ0KQHBhZ2UgV29yZFNlY3Rpb24xDQoJe3NpemU6NjEyLjBwdCA3OTIu
MHB0Ow0KCW1hcmdpbjo3Mi4wcHQgOTAuMHB0IDcyLjBwdCA5MC4wcHQ7fQ0KZGl2LldvcmRTZWN0
aW9uMQ0KCXtwYWdlOldvcmRTZWN0aW9uMTt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5
XT48eG1sPg0KPG86c2hhcGVkZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4N
CjwveG1sPjwhW2VuZGlmXS0tPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlv
dXQgdjpleHQ9ImVkaXQiPg0KPG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286
c2hhcGVsYXlvdXQ+PC94bWw+PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJaSC1D
TiIgbGluaz0iIzA1NjNDMSIgdmxpbms9IiM5NTRGNzIiIHN0eWxlPSJ0ZXh0LWp1c3RpZnktdHJp
bTpwdW5jdHVhdGlvbiI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5IaSByb2Is
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj5UaGFuayB5b3UgZm9yIHlvdXIga2luZCBpbnRl
cnByZXRhdGlvbi4NCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJjb2xvcjojMUY0OTdEIj5JdCBzZWVtcyB0aGUgdGV4dCBvZiBSRkMgaXMgbm90IHZlcnkg
Y2xlYXIuIFdoZXRoZXIgaW4gdGhlIHBheWxvYWQgcGFyc2luZyBwaGFzZSBvciB0aGUgZWRpdC1j
b25maWcgcHJvY2Vzc2luZyBwaGFzZSwgdGhlIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgJm5ic3A7
ZXZhbHVhdGVkIGFjY29yZGluZyB0byB0aGUgcmVzdWx0cyBleHBlY3RlZCBieSB0aGUNCiB1c2Vy
LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPGRpdj4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRl
eHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Qi
Pg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjps
ZWZ0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTrlrovkvZM7Y29s
b3I6IzFGNDk3RCI+5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4PHNwYW4gbGFuZz0iRU4tVVMiPiBI
dWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVm
dCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5
OuWui+S9kztjb2xvcjojMUY0OTdEIj48aW1nIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIiIGlkPSLl
m77niYdfeDAwMjBfMiIgc3JjPSJjaWQ6aW1hZ2UwMDEucG5nQDAxRDU2N0JELjREQUExNjUwIiBh
bHQ9IkNvbXBhbnlfbG9nbyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTIuMHB0O2ZvbnQtZmFtaWx5OuWui+S9kztjb2xvcjojMUY0OTdEIj7kuKrkurrn
rb7lkI3vvJrlhq/lhrI8c3BhbiBsYW5nPSJFTi1VUyI+PGJyPg0KPC9zcGFuPuaJi+OAgOOAgOac
uu+8mjxzcGFuIGxhbmc9IkVOLVVTIj4xMzc3NjYxMjk4Mzxicj4NCjwvc3Bhbj7nlLXlrZDpgq7k
u7bvvJo8c3BhbiBsYW5nPSJFTi1VUyI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208YnI+DQo8
L3NwYW4+5YWs5Y+4572R5Z2A77yaPHNwYW4gbGFuZz0iRU4tVVMiPnd3dy5odWF3ZWkuY29tPG86
cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249
ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMi4wcHQ7Zm9udC1mYW1pbHk65a6L5L2TO2NvbG9yOiMxRjQ5N0QiPg0K
PGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4dC1hbGlnbjpsZWZ0Ij4NCjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtmb250LWZhbWlseTrlrovk
vZM7Y29sb3I6IzFGNDk3RCI+77u/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6Z3JheSI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWls
eTrlrovkvZM7Y29sb3I6Z3JheSI+5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs
5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX
5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7
Zm9udC1mYW1pbHk65a6L5L2TO2NvbG9yOmdyYXkiPuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9
leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmc
suOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rTwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjcuNXB0O2ZvbnQtZmFtaWx5OuWui+S9kztjb2xvcjpncmF5Ij7nmoTkv6Hmga/jgILlpoLm
npzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrn
n6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRz
IGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJy
Pg0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVz
cyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250
YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0
b3RhbCBvciBwYXJ0aWFsDQo8YnI+DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3Nl
bWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBp
ZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9y
LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVk
aWF0ZWx5IGFuZCBkZWxldGUgaXQhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEyLjBwdDtmb250LWZhbWlseTrlrovkvZM7Y29sb3I6IzFGNDk3RCI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEg
MS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBh
bGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy
aWYiPuWPkeS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+
rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gUm9iIFdpbHRvbiAocndpbHRvbikNCiBbbWFp
bHRvOnJ3aWx0b25AY2lzY28uY29tXSA8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy
aWYiPuWPkemAgeaXtumXtDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gMjAxOTwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fu
cy1zZXJpZiI+5bm0PHNwYW4gbGFuZz0iRU4tVVMiPjk8L3NwYW4+5pyIPHNwYW4gbGFuZz0iRU4t
VVMiPjk8L3NwYW4+5pelPHNwYW4gbGFuZz0iRU4tVVMiPg0KIDIxOjQxPGJyPg0KPC9zcGFuPjxi
PuaUtuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1V
UyI+IEZlbmdjaG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSZndDs7
IG5ldG1vZEBpZXRmLm9yZzxicj4NCjwvc3Bhbj48Yj7mioTpgIE8c3BhbiBsYW5nPSJFTi1VUyI+
Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBZYW5nYW5nICZsdDt5YW5nYW5nQGh1YXdl
aS5jb20mZ3Q7PGJyPg0KPC9zcGFuPjxiPuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFu
PjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IFJFOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBs
ZW1lbnRhdGlvbiBhYm91dA0KPC9zcGFuPuKAmDxzcGFuIGxhbmc9IkVOLVVTIj53aGVuPC9zcGFu
PuKAmTxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPC9k
aXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4
dC1hbGlnbjpsZWZ0Ij48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5IaSBGcmFuayw8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1HQiIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1V
UyI+TXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgYmVoYXZpb3VyIGlzIGFz
IGZvbGxvd3MuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1
YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6RU4tVVMiPkZvciDigJxzY2VuZSAx4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBp
cyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0
ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1H
QiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPkZv
ciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRo
ZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhh
cyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+TXkgaW50ZXJwcmV0YXRpb24gaXMg
dGhhdCB0aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFy
eSBpbnRlbmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuJm5ic3A7IEUuZy4gaWYgdGhlIFJQQyB3
YXMgZGVmaW5lZCBzb21ldGhpbmcgbGlrZSBiZWxvdywgdGhlbg0KIHRoZSDigJh3aGVu4oCZIHJ1
bGUgaW4gOC4zLjEgd291bGQgZW5mb3JjZSB0aGF0IGEgemlwLWNvZGUgY2FuIG9ubHkgYmUgcHJv
dmlkZWQgaWYgdGhlIGNvdW50cnkgaXMgdGhlIFVTQS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGln
bjpsZWZ0Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6RU4tR0IiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBycGMgcm9j
ay10aGUtaG91c2UgezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48c3BhbiBsYW5nPSJFTi1HQiIg
c3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVv
dDs7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnB1dCB7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFs
aWduOmxlZnQiPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazttc28tZmFyZWFzdC1s
YW5ndWFnZTpFTi1HQiI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwO2xlYWYgY291bnRyeSB7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQi
PjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTom
cXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpF
Ti1HQiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHR5cGUgc3RyaW5nOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0
Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
RU4tR0IiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyB9PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
YWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQiPjxzcGFuIGxhbmc9IkVOLUdCIiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90
Oztjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlYWYgemlwLWNv
ZGUgezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJs
ZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6
YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0IiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3aGVuIOKA
nC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQiPjxzcGFu
IGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtD
b3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHR5cGUgc3RyaW5nOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48c3Bh
biBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tR0Ii
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyB9PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249
ImxlZnQiIHN0eWxlPSJ0ZXh0LWFsaWduOmxlZnQiPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv
cjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1HQiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLUdC
Ij4mbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5UaGFua3Ms
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVT
Ij5Sb2I8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1s
YW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1m
YXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2
IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3BhZGRpbmc6
MGNtIDBjbSAwY20gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl
ci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGlnbjpsZWZ0Ij48
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkZyb206PC9zcGFu
PjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiBuZXRtb2Qg
Jmx0OzxhIGhyZWY9Im1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZyI+bmV0bW9kLWJvdW5j
ZXNAaWV0Zi5vcmc8L2E+Jmd0Ow0KPGI+T24gQmVoYWxmIE9mIDwvYj5GZW5nY2hvbmcgKGZyYW5r
KTxicj4NCjxiPlNlbnQ6PC9iPiAwNiBTZXB0ZW1iZXIgMjAxOSAwODoxOTxicj4NCjxiPlRvOjwv
Yj4gPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyI+bmV0bW9kQGlldGYub3JnPC9hPjxi
cj4NCjxiPkNjOjwvYj4gWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVhd2Vp
LmNvbSI+eWFuZ2FuZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gW25l
dG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmTxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBh
bGlnbj0ibGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PHNwYW4gbGFuZz0iRU4tR0IiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIj5IaSBhbGwsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBSRkM3OTUwIHNlY3RvbiA4
LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0IHdoZW48L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt
ZmFtaWx5OuWui+S9kyI+77yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8aDMgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvO21zby1saW5lLWhlaWdodC1hbHQ6MHB0Ij4NCjxiPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDtmb250LWZhbWlseTrlrovkvZMiPkluIHNl
Y3Rpb24gPGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlv
bi04LjIiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPjguMjwvc3Bhbj48L2E+PC9zcGFuPjwvYj48
YSBuYW1lPSJzZWN0aW9uLTguMiI+PC9hPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpi
bGFjayI+LiZuYnNwOyBDb25maWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9uczxvOnA+PC9vOnA+
PC9zcGFuPjwvYj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImxlZnQiIHN0eWxl
PSJ0ZXh0LWFsaWduOmxlZnQiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseTrlrovkvZM7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyBvJm5ic3A7
IElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhh
dCBhbnk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0i
bGVmdCIgc3R5bGU9InRleHQtYWxpZ246bGVmdCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OuWui+S9kztjb2xvcjpibGFjayI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG5vZGUncyAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24g
YmVjb21lcyBmYWxzZSwgdGhlbiB0aGUgbm9kZSBpbiB0aGUgZGF0YTxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJsZWZ0IiBzdHlsZT0idGV4dC1hbGln
bjpsZWZ0Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m
YW1pbHk65a6L5L2TO2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
dHJlZSB3aXRoIHRoZSAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0
aGUgc2VydmVyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoNCBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OjE0LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206MTQuNXB0O21hcmdp
bi1sZWZ0OjBjbTttc28tbGluZS1oZWlnaHQtYWx0OjBwdDtwYWdlLWJyZWFrLWFmdGVyOmF2b2lk
Ij4NCjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpIExpZ2h0JnF1b3Q7LHNhbnMtc2VyaWYiPkluDQo8YSBocmVmPSJo
dHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4xIj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90
Oztjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246bm9uZSI+OC4zLjE8L3NwYW4+PC9hPjwvc3Bh
bj48L2I+PGEgbmFtZT0ic2VjdGlvbi04LjMuMSI+PC9hPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90
Oztjb2xvcjpibGFjayI+LiZuYnNwOw0KIFBheWxvYWQgUGFyc2luZzxvOnA+PC9vOnA+PC9zcGFu
PjwvYj48L2g0Pg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4w
cHQ7Zm9udC1mYW1pbHk65a6L5L2TO2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJ
ZiBkYXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90OyBpcyBwcmVzZW50
IGFuZCB0aGUgJnF1b3Q7d2hlbiZxdW90OzxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk65a6L
5L2TO2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uZGl0aW9u
IGV2YWx1YXRlcyB0byAmcXVvdDtmYWxzZSZxdW90OywgdGhlIHNlcnZlciBNVVNUIHJlcGx5IHdp
dGggYW48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OuWui+S9kztjb2xvcjpibGFjayI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAm
bHQ7ZXJyb3ItdGFnJmd0OyBpbiB0aGUgJmx0O3JwYy1lcnJvciZndDsuPG86cD48L286cD48L3Nw
YW4+PC9wcmU+DQo8aDQgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDoxNC4wcHQ7bWFyZ2luLXJp
Z2h0OjBjbTttYXJnaW4tYm90dG9tOjE0LjVwdDttYXJnaW4tbGVmdDowY207bXNvLWxpbmUtaGVp
Z2h0LWFsdDowcHQ7cGFnZS1icmVhay1hZnRlcjphdm9pZCI+DQo8Yj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSBMaWdo
dCZxdW90OyxzYW5zLXNlcmlmIj5Jbg0KPGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9o
dG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMiI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNv
cmF0aW9uOm5vbmUiPjguMy4yPC9zcGFuPjwvYT48L3NwYW4+PC9iPjxhIG5hbWU9InNlY3Rpb24t
OC4zLjIiPjwvYT48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPi4mbmJzcDsN
CiBORVRDT05GICZsdDtlZGl0LWNvbmZpZyZndDsgUHJvY2Vzc2luZzxvOnA+PC9vOnA+PC9zcGFu
PjwvYj48L2g0Pg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4w
cHQ7Zm9udC1mYW1pbHk65a6L5L2TO2NvbG9yOmJsYWNrIj5Nb2RpZmljYXRpb24gcmVxdWVzdHMg
Zm9yIG5vZGVzIHRhZ2dlZCB3aXRoICZxdW90O3doZW4mcXVvdDssIGFuZCB0aGUgJnF1b3Q7d2hl
biZxdW90OzxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk65a6L5L2TO2NvbG9yOmJsYWNrIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAmcXVv
dDtmYWxzZSZxdW90Oy4mbmJzcDsgSW4gdGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1Q8bzpwPjwv
bzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2ZvbnQtZmFtaWx5OuWui+S9kztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHJlcGx5IHdpdGggYW4gJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7
ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48bzpwPjwvbzpwPjwv
c3Bhbj48L3ByZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+WUFORyBtb2R1bGU8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OuWui+S9
kyI+77yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+bW9kdWxlIGZvbyB7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyBuYW1lc3BhY2Ug4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iPmh0dHA6
Ly9mb28uY29tPC9hPuKAnTs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7IHByZWZpeCDigJxmb2/igJ07PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtaW5k
ZW50OjE1Ljc1cHQiPjxzcGFuIGxhbmc9IkVOLVVTIj5MZWFmIGEge+KApn08bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0idGV4dC1pbmRlbnQ6MTUuNzVw
dCI+PHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYiB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtaW5kZW50OjE1Ljc1cHQiPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsgV2hlbiDigJxhID0gMTDigJ07PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9InRleHQtaW5kZW50OjE1Ljc1cHQiPjxzcGFuIGxh
bmc9IkVOLVVTIj59PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiPn08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDMgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMy41cHQ7Zm9udC1mYW1pbHk65a6L5L2T
Ij5TY2VuZSAxOg0KPG86cD48L286cD48L3NwYW4+PC9iPjwvaDM+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0OyA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jmx0O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZs
dDthIHhtbG5zPSDigJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0cDovL2Zvby5jb208L2E+
4oCdJmd0OzMmbHQ7L2EmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jmx0Oy9lZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAz
LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0OjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7ZWRpdC1j
b25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZu
YnNwOyAmbHQ7L3RhcmdldCZndDsgPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtjb25maWcm
Z3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCc
PGEgaHJlZj0iaHR0cDovL2Zvby5jb20iPmh0dHA6Ly9mb28uY29tPC9hPuKAnSZndDsxMCZsdDsv
YSZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtiIHhtbG5zPSDi
gJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzUmbHQ7
L2ImZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0
LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5B
Y2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2
YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRp
dGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3du
LWVsZW1lbnTigJkgZXJyb3IuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JcyBpdCBl
eHBlY3RlZCBieSB1c2VyPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMyBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEzLjVwdDtmb250LWZhbWlseTrlrovkvZMiPlNj
ZW5lIDI6PG86cD48L286cD48L3NwYW4+PC9iPjwvaDM+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZs
dDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0OyA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0
O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHht
bG5zPSDigJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0
OzEwJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZs
dDsvZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMTAuPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIGxhbmc9IkVOLVVTIj5UaGUgc2Vjb25kIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZp
ZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7
ICZsdDsvdGFyZ2V0Jmd0OyA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHhtbG5zPSDigJw8YSBo
cmVmPSJodHRwOi8vZm9vLmNvbSI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzMmbHQ7L2EmZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YiB4bWxucz0g4oCcPGEg
aHJlZj0iaHR0cDovL2Zvby5jb20iPmh0dHA6Ly9mb28uY29tPC9hPuKAnSZndDs1Jmx0Oy9iJmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25m
aWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5BY2NvcmRpbmcgOC4zLjEsIGlu
IHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUg
ZGF0YXN0b3JlIGlzIDEwLCBzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRl
ZCB0byB0cnVlLCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyByZXF1ZXN0IGluIHBheWxvYWQgcGFy
c2luZyBwaGFzZS4NCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3Np
bmcgcGhhc2UsIGlmIGxlYWYgYeKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5
LCB0aGUgYeKAmXMgdmFsdWUgd2lsbCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcyB3aGVu
IGNvbmRpdGlvbiB3aWxsIGJlIGZhbHNlLCB3aGVuIHNlcnZlciBwcm9jZXNzIGLigJlzIG1vZGlm
aWNhdGlvbiwNCiBiIHdpbGwgYmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0
LWNvbmZpZyByZXF1ZXN0IHdpbGwgZmFpbC4gPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0
Ij5JZiBsZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgc2VydmVy
IHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGLigJlzIHdoZW4gY29uZGl0
aW9uIGlzIHRydWUsIGFuZCB3aGVuIHNlcnZlciBwcm9jZXNzIGHigJlzIG1vZGlmaWNhdGlvbiAs
IHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsDQogYW5kIGLigJlzIHdoZW4gY29u
ZGl0aW9uIHdpbGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbCBiZSBkZWxldGVk
IGF1dG9tYXRpY2FsbHksIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgYmUgT0suPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
NC4wcHQiPkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nlc3MgdGhpcyBzaXR1YXRpb24/PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0
bWw+DQo=

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_--

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Tue, 10 Sep 2019 01:59:55 GMT";
 modification-date="Tue, 10 Sep 2019 01:59:55 GMT"
Content-ID: <image001.png@01D567BD.4DAA1650>
Content-Transfer-Encoding: base64

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
YII=

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2BB86dggemm513mbxchi_--


From nobody Mon Sep  9 19:10:14 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6DED71200C3 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:10:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 P8k6k06AC9jY for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:10:10 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7D3A3120089 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:10:09 -0700 (PDT)
Received: from LHREML711-CAH.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 09B1BB93C5277CEEF410 for <netmod@ietf.org>; Tue, 10 Sep 2019 03:10:06 +0100 (IST)
Received: from DGGEMM424-HUB.china.huawei.com (10.1.198.41) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 10 Sep 2019 03:10:04 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by dggemm424-hub.china.huawei.com ([10.1.198.41]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 10:09:56 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: Andy Bierman <andy@yumaworks.com>, "Rob Wilton (rwilton)" <rwilton@cisco.com>
CC: "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVZxRY9YCq6AlKlkifU9HZTydEwqcjD5kAgAEZNBA=
Date: Tue, 10 Sep 2019 02:09:56 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com>
In-Reply-To: <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/related; boundary="_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/wdG9H91IvrFNJo4QhfMdxpnKxzI>
Subject: [netmod] =?utf-8?b?562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50?= =?utf-8?b?YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:10:14 -0000

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_"

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgYW5keSwNCg0KWW91IG9ubHkgdGFsayBhYm91dCB0aGUgY29uc3RyYWludHMgb24gcnBjIG9w
ZXJhdGlvbuKAmXMgcGFyYW1ldGVyPw0KDQpEbyB5b3UgaGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBt
eSBxdWVzdGlvbj8NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCuWNjuS4uuaK
gOacr+aciemZkOWFrOWPuCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KW0NvbXBhbnlf
bG9nb10NCuS4quS6uuetvuWQje+8muWGr+WGsg0K5omL44CA44CA5py677yaMTM3NzY2MTI5ODMN
CueUteWtkOmCruS7tu+8mmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tDQrlhazlj7jnvZHlnYDv
vJp3d3cuaHVhd2VpLmNvbQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCu+7vyDm
nKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzk
u4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4Tj
gILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9
huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8
ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM
6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu
5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50
aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMgaW50ZW5kZWQgb25seSBmb3Ig
dGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1
c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1
ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQpkaXNjbG9zdXJlLCBy
ZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUg
aW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlz
IGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQpwaG9uZSBvciBl
bWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hku7bkuro6IEFuZHkgQmllcm1h
biBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgx
MOaXpSAxOjE0DQrmlLbku7bkuro6IFJvYiBXaWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2Nv
LmNvbT4NCuaKhOmAgTogRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPjsgbmV0bW9kQGlldGYub3JnOyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQrkuLvp
opg6IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3
aGVu4oCZDQoNCkhpLA0KDQpOb25lIG9mIHRoZSBvcGVyYXRpb25zIHRoYXQgYWNjZXB0IG9yIHJl
dHVybiBkYXRhc3RvcmUgY29udGVudHMgZXhwb3NlIHRoZSBkYXRhc3RvcmUgb2JqZWN0cw0KaW4g
dGhlIFJQQyBwYXJhbWV0ZXJzLiAgVGhleSBhcmUgYWx3YXlzIGFueXhtbCBvciBhbnlkYXRhLiBU
aGlzIG1lYW5zIHRoYXQNCnRoZXJlIGFyZSBubyBkZXNjZW5kYW50IGRhdGEgbm9kZXMgZGVmaW5l
ZCBhdCBhbGwgYWNjb3JkaW5nIHRvIHRoZSBSUEMgb3BlcmF0aW9uDQphbmQgdGhlcmVmb3JlIHRo
ZSBjb25zdHJhaW50cyBvbiB0aG9zZSBub2RlcyBkbyBub3QgZXhpc3QgaW4gdGhlIFJQQyBvcGVy
YXRpb24gZWl0aGVyLg0KDQoNCg0KT24gTW9uLCBTZXAgOSwgMjAxOSBhdCA2OjQxIEFNIFJvYiBX
aWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2NvLmNvbTxtYWlsdG86cndpbHRvbkBjaXNjby5j
b20+PiB3cm90ZToNCkhpIEZyYW5rLA0KDQpNeSBpbnRlcnByZXRhdGlvbiBvZiB3aGF0IHRoZSBl
eHBlY3RlZCBiZWhhdmlvdXIgaXMgYXMgZm9sbG93cy4NCg0KRm9yIOKAnHNjZW5lIDHigJ0sIHRo
ZSBjb25maWcgY2hhbmdlIGlzIGFjY2VwdGVkIGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29u
ZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRpdC1jb25maWcgaGFzIGJlZW4gYXBwbGllZCBpcyB2
YWxpZC4NCg0KRm9yIOKAnHNjZW5lIDLigJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIHJlamVjdGVk
IGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRp
dC1jb25maWcgaGFzIGJlZW4gYXBwbGllZCBpcyBpbnZhbGlkLg0KDQpNeSBpbnRlcnByZXRhdGlv
biBpcyB0aGF0IHRoZSBibG9jayBvZiB0ZXh0IGluIDguMy4xIHBheWxvYWQgcGFyc2luZyBpcyBw
cmltYXJ5IGludGVuZGVkIHRvIHJlZmVyIHRvIFJGQyBpbnB1dC4gIEUuZy4gaWYgdGhlIFJQQyB3
YXMgZGVmaW5lZCBzb21ldGhpbmcgbGlrZSBiZWxvdywgdGhlbiB0aGUg4oCYd2hlbuKAmSBydWxl
IGluIDguMy4xIHdvdWxkIGVuZm9yY2UgdGhhdCBhIHppcC1jb2RlIGNhbiBvbmx5IGJlIHByb3Zp
ZGVkIGlmIHRoZSBjb3VudHJ5IGlzIHRoZSBVU0EuDQoNCiAgICAgICBycGMgcm9jay10aGUtaG91
c2Ugew0KICAgICAgICAgaW5wdXQgew0KICAgICAgICAgICBsZWFmIGNvdW50cnkgew0KICAgICAg
ICAgICAgIHR5cGUgc3RyaW5nOw0KICAgICAgICAgICB9DQogICAgICAgICAgIGxlYWYgemlwLWNv
ZGUgew0KICAgICAgICAgICAgIHdoZW4g4oCcLi4vY291bnRyeSA9IOKAmHVzYeKAmeKAnTsNCiAg
ICAgICAgICAgICB0eXBlIHN0cmluZzsNCiAgICAgICAgICAgfQ0KICAgICAgICAgfQ0KICAgICAg
IH0NCg0KVGhhbmtzLA0KUm9iDQoNCg0KDQpGcm9tOiBuZXRtb2QgPG5ldG1vZC1ib3VuY2VzQGll
dGYub3JnPG1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZz4+IE9uIEJlaGFsZiBPZiBGZW5n
Y2hvbmcgKGZyYW5rKQ0KU2VudDogMDYgU2VwdGVtYmVyIDIwMTkgMDg6MTkNClRvOiBuZXRtb2RA
aWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCkNjOiBZYW5nYW5nIDx5YW5nYW5nQGh1
YXdlaS5jb208bWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbT4+DQpTdWJqZWN0OiBbbmV0bW9kXSBQ
bGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQoNCkhpIGFsbCwN
Cg0KSW4gUkZDNzk1MCBzZWN0b24gOCwgc2V2ZXJhbCBkZXNjcmlwdGlvbiBhYm91dCB3aGVu77ya
DQpJbiBzZWN0aW9uIDguMjxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0
aW9uLTguMj4uICBDb25maWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9ucw0KICAgbyAgSWYgYSBy
ZXF1ZXN0IG1vZGlmaWVzIGEgY29uZmlndXJhdGlvbiBkYXRhIG5vZGUgc3VjaCB0aGF0IGFueQ0K
ICAgICAgbm9kZSdzICJ3aGVuIiBleHByZXNzaW9uIGJlY29tZXMgZmFsc2UsIHRoZW4gdGhlIG5v
ZGUgaW4gdGhlIGRhdGENCiAgICAgIHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Npb24gaXMg
ZGVsZXRlZCBieSB0aGUgc2VydmVyLg0KSW4gOC4zLjE8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9o
dG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMT4uICBQYXlsb2FkIFBhcnNpbmcNCg0KICAgbyAgSWYg
ZGF0YSBmb3IgYSBub2RlIHRhZ2dlZCB3aXRoICJ3aGVuIiBpcyBwcmVzZW50IGFuZCB0aGUgIndo
ZW4iDQoNCiAgICAgIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gImZhbHNlIiwgdGhlIHNlcnZlciBN
VVNUIHJlcGx5IHdpdGggYW4NCg0KICAgICAgInVua25vd24tZWxlbWVudCIgPGVycm9yLXRhZz4g
aW4gdGhlIDxycGMtZXJyb3I+Lg0KDQpJbiA4LjMuMjxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0
bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4yPi4gIE5FVENPTkYgPGVkaXQtY29uZmlnPiBQcm9jZXNz
aW5nDQoNCk1vZGlmaWNhdGlvbiByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGggIndoZW4i
LCBhbmQgdGhlICJ3aGVuIg0KDQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIu
ICBJbiB0aGlzIGNhc2UsIHRoZSBzZXJ2ZXIgTVVTVA0KDQogICAgICByZXBseSB3aXRoIGFuICJ1
bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPi4NCg0KWUFORyBt
b2R1bGXvvJoNCm1vZHVsZSBmb28gew0KICAgbmFtZXNwYWNlIOKAnGh0dHA6Ly9mb28uY29t4oCd
Ow0KICAgcHJlZml4IOKAnGZvb+KAnTsNCkxlYWYgYSB74oCmfQ0KTGVhZiBiIHsNCiAgV2hlbiDi
gJxhID0gMTDigJ07DQp9DQp9DQpTY2VuZSAxOg0KVGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVl
c3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8
L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23i
gJ0+MzwvYT4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NClRoaXMgcmVxdWVzdCB3aWxs
IHNldCBhID0gMy4NCg0KVGhlIHNlY29uZCByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRh
cmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAg
ICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgICAgPGIgeG1sbnM9
IOKAnGh0dHA6Ly9mb28uY29t4oCdPjU8L2I+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+
DQoNCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGHi
gJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMyxzbyBsZWFmIGLigJlzIHdoZW4g
Y29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwgc2VydmVyIHdpbGwgcmVwb3J0IOKAmHVu
a25vd24tZWxlbWVudOKAmSBlcnJvci4NCklzIGl0IGV4cGVjdGVkIGJ5IHVzZXI/DQpTY2VuZSAy
Og0KVGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFy
Z2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAg
ICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MTA8L2E+DQogICA8L2NvbmZpZz4NCjwv
ZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDEwLg0KDQpUaGUgc2Vjb25k
IHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+
DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zv
by5jb23igJ0+MzwvYT4NCiAgICAgIDxiIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT41PC9i
Pg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KQWNjb3JkaW5nIDguMy4xLCBpbiBycGMg
cGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFz
dG9yZSBpcyAxMCwgc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8g
dHJ1ZSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNpbmcg
cGhhc2UuDQoNCkluIGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwgaWYgbGVh
ZiBh4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRoZSBh4oCZcyB2YWx1
ZSB3aWxsIGJlIGNoYW5nZWQgdG8gMywgc28gdGhlIGLigJlzIHdoZW4gY29uZGl0aW9uIHdpbGwg
YmUgZmFsc2UsIHdoZW4gc2VydmVyIHByb2Nlc3MgYuKAmXMgbW9kaWZpY2F0aW9uLCBiIHdpbGwg
YmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdp
bGwgZmFpbC4NCklmIGxlYWYgYuKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5
LCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyBtb2RpZmljYXRpb24gLGJlY2F1c2UgYuKAmXMgd2hl
biBjb25kaXRpb24gaXMgdHJ1ZSwgYW5kIHdoZW4gc2VydmVyIHByb2Nlc3MgYeKAmXMgbW9kaWZp
Y2F0aW9uICwgdGhpcyBtb2RpZmljYXRpb24gd2lsbCBiZSBhY2NlcHRlZCwgYW5kIGLigJlzIHdo
ZW4gY29uZGl0aW9uIHdpbGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbCBiZSBk
ZWxldGVkIGF1dG9tYXRpY2FsbHksIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwgYmUgT0su
DQoNCkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nlc3MgdGhpcyBzaXR1YXRpb24/DQoNCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpuZXRtb2QgbWFpbGluZyBs
aXN0DQpuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCmh0dHBzOi8vd3d3
LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kDQo=

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTrlvq7ova/pm4Xpu5E7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEg
MSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlvq7ova/pm4Xpu5EiOw0KCXBh
bm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpw
Lk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJ
bWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6
5a6L5L2TO30NCmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiLm
oIfpopggMyBDaGFyIjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6
MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglm
b250LXNpemU6MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQpoNA0KCXttc28tc3R5bGUt
cHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQgQ2hhciI7DQoJbXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCgltc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh
bWlseTrlrovkvZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJp
b3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6
dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6
OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJ
e21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzl
vI8gQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0Kc3Bhbi4zQ2hhcg0KCXttc28tc3R5
bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0
eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250LWZhbWlseTrlrovkvZM7DQoJZm9udC13ZWlnaHQ6
Ym9sZDt9DQpzcGFuLjRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiLmoIfpopggNCBDaGFyIjsNCglt
c28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQiOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0K
c3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUtbmFtZToiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7
DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJIVE1MIOmihOiuvuag
vOW8jyI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs
c2Fucy1zZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHls
ZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30N
CkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIu
MHB0IDkwLjBwdCA3Mi4wcHQgOTAuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3Jk
U2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBl
ZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0t
LT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4N
CjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1s
PjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxpbms9ImJsdWUiIHZs
aW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SGkgYW5k
eSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+WW91IG9ubHkgdGFsayBhYm91dCB0aGUgY29uc3RyYWludHMgb24gcnBj
IG9wZXJhdGlvbuKAmXMgcGFyYW1ldGVyPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5EbyB5b3UgaGF2ZSBhbnkgb3Bp
bmlvbiBhYm91dCBteSBxdWVzdGlvbj88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249
ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0i
Y2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJjb2xvcjojMUY0OTdEIj7ljY7kuLrmioDmnK/mnInpmZDlhazlj7g8c3BhbiBsYW5nPSJFTi1V
UyI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuPG86cD48L286cD48L3NwYW4+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29s
b3I6IzFGNDk3RCI+PGltZyB3aWR0aD0iMTAyIiBoZWlnaHQ9IjMyIiBpZD0i5Zu+54mHX3gwMDIw
XzIiIHNyYz0iY2lkOmltYWdlMDAxLnBuZ0AwMUQ1NjdCRS5GNUQ2RjQ1MCIgYWx0PSJDb21wYW55
X2xvZ28iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IHN0eWxlPSJjb2xvcjojMUY0OTdEIj7kuKrkurrnrb7lkI3vvJrlhq/lhrI8c3BhbiBsYW5nPSJF
Ti1VUyI+PGJyPg0KPC9zcGFuPuaJi+OAgOOAgOacuu+8mjxzcGFuIGxhbmc9IkVOLVVTIj4xMzc3
NjYxMjk4Mzxicj4NCjwvc3Bhbj7nlLXlrZDpgq7ku7bvvJo8c3BhbiBsYW5nPSJFTi1VUyI+ZnJh
bmsuZmVuZ2Nob25nQGh1YXdlaS5jb208YnI+DQo8L3NwYW4+5YWs5Y+4572R5Z2A77yaPHNwYW4g
bGFuZz0iRU4tVVMiPnd3dy5odWF3ZWkuY29tPG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4N
CjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246
Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPg0KPGhyIHNp
emU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdE
Ij7vu788L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij4NCjwvc3Bh
bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuacrOmCruS7tuWPiuWF
tumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemA
gee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgTwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVv
dDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuatouS7u+S9leWFtuS7luS6uuS7peS7
u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOaz
hOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rTwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huac
rOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWI
oOmZpOacrOmCruS7tu+8gTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdy
YXkiPjxicj4NClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRl
bnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoDQo8YnI+DQppcyBpbnRlbmRlZCBv
bmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92
ZS4gQW55IHVzZSBvZiB0aGUNCjxicj4NCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4g
YW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwN
Cjxicj4NCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVy
c29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCA8YnI+DQpyZWNpcGllbnQocykgaXMgcHJvaGli
aXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkg
dGhlIHNlbmRlciBieQ0KPGJyPg0KcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0
ZSBpdCE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hku7bkuro8
c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVv
dDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0N
Cjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R6YCB5pe26Ze0PHNwYW4g
bGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8c3BhbiBsYW5n
PSJFTi1VUyI+OTwvc3Bhbj7mnIg8c3BhbiBsYW5nPSJFTi1VUyI+MTA8L3NwYW4+5pelPHNwYW4g
bGFuZz0iRU4tVVMiPg0KIDE6MTQ8YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0i
RU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUm9iIFdpbHRvbiAocndpbHRv
bikgJmx0O3J3aWx0b25AY2lzY28uY29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7mioTpgIE8c3BhbiBs
YW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBGZW5nY2hvbmcgKGZy
YW5rKSAmbHQ7ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20mZ3Q7OyBuZXRtb2RAaWV0Zi5vcmc7
IFlhbmdhbmcgJmx0O3lhbmdhbmdAaHVhd2VpLmNvbSZndDs8YnI+DQo8L3NwYW4+PGI+5Li76aKY
PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUmU6IFtu
ZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNw
YW4gbGFuZz0iRU4tVVMiPndoZW48L3NwYW4+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5IaSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIj5Ob25lIG9mIHRoZSBvcGVyYXRpb25zIHRoYXQgYWNjZXB0IG9yIHJldHVy
biBkYXRhc3RvcmUgY29udGVudHMgZXhwb3NlIHRoZSBkYXRhc3RvcmUgb2JqZWN0czxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIj5pbiB0aGUgUlBDIHBhcmFtZXRlcnMuJm5ic3A7IFRoZXkgYXJlIGFsd2F5
cyBhbnl4bWwgb3IgYW55ZGF0YS4gVGhpcyBtZWFucyB0aGF0PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
PnRoZXJlIGFyZSBubyBkZXNjZW5kYW50IGRhdGEgbm9kZXMgZGVmaW5lZCBhdCBhbGwgYWNjb3Jk
aW5nIHRvIHRoZSBSUEMgb3BlcmF0aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPmFuZCB0aGVyZWZv
cmUgdGhlIGNvbnN0cmFpbnRzIG9uIHRob3NlIG5vZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBD
IG9wZXJhdGlvbiBlaXRoZXIuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2lsdG9uIChyd2ls
dG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lzY28uY29tIj5yd2lsdG9uQGNpc2Nv
LmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2Nr
cXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7
cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6
MGNtIj4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkhpIEZyYW5rLDwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPk15IGlu
dGVycHJldGF0aW9uIG9mIHdoYXQgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBpcyBhcyBmb2xsb3dz
Ljwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPkZvciDigJxzY2VuZSAx4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyBhY2Nl
cHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhl
IGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQuPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Rm9yIOKA
nHNjZW5lIDLigJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIHJlamVjdGVkIGJlY2F1c2UgdGhlIHJl
c3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRpdC1jb25maWcgaGFzIGJl
ZW4gYXBwbGllZCBpcyBpbnZhbGlkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPk15IGludGVycHJldGF0aW9uIGlzIHRo
YXQgdGhlIGJsb2NrIG9mIHRleHQgaW4gOC4zLjEgcGF5bG9hZCBwYXJzaW5nIGlzIHByaW1hcnkg
aW50ZW5kZWQgdG8gcmVmZXIgdG8gUkZDIGlucHV0LiZuYnNwOyBFLmcuIGlmIHRoZSBSUEMgd2Fz
DQogZGVmaW5lZCBzb21ldGhpbmcgbGlrZSBiZWxvdywgdGhlbiB0aGUg4oCYd2hlbuKAmSBydWxl
IGluIDguMy4xIHdvdWxkIGVuZm9yY2UgdGhhdCBhIHppcC1jb2RlIGNhbiBvbmx5IGJlIHByb3Zp
ZGVkIGlmIHRoZSBjb3VudHJ5IGlzIHRoZSBVU0EuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9
IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVv
dDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHJwYyByb2NrLXRoZS1ob3VzZSB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdC
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy
aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlucHV0IHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3
JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7bGVhZiBjb3VudHJ5IHs8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgdHlwZSBzdHJp
bmc7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEw
LjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IH08L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
bGVhZiB6aXAtY29kZSB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv
cjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHdoZW4g4oCcLi4vY291bnRyeSA9IOKAmHVzYeKAmeKA
nTs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgdHlwZSBzdHJpbmc7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdC
IiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZx
dW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0Ii
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1
b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh
Y2siPiZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+VGhh
bmtzLDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPlJvYjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9y
ZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDQuMHB0Ij4NCjxk
aXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4w
cHQ7cGFkZGluZzozLjBwdCAwY20gMGNtIDBjbSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+RnJvbTo8L3NwYW4+
PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+IG5ldG1vZCAm
bHQ7PGEgaHJlZj0ibWFpbHRvOm5ldG1vZC1ib3VuY2VzQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFu
ayI+bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc8L2E+Jmd0Ow0KPGI+T24gQmVoYWxmIE9mIDwvYj5G
ZW5nY2hvbmcgKGZyYW5rKTxicj4NCjxiPlNlbnQ6PC9iPiAwNiBTZXB0ZW1iZXIgMjAxOSAwODox
OTxicj4NCjxiPlRvOjwvYj4gPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0
PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT48YnI+DQo8Yj5DYzo8L2I+IFlhbmdhbmcgJmx0
OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55YW5n
YW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBbbmV0bW9kXSBQbGVh
c2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZPC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiI+Jm5ic3A7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SGkgYWxs
LDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBSRkM3OTUwIHNlY3RvbiA4LCBzZXZlcmFsIGRlc2NyaXB0
aW9uIGFib3V0IHdoZW48L3NwYW4+77yaPHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+SW4gc2VjdGlvbiA8YSBocmVmPSJodHRw
czovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMiIgdGFyZ2V0PSJfYmxh
bmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291
cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPjguMjwvc3Bhbj48L2E+PC9zcGFuPjxhIG5hbWU9
Im1fNTUyMzIzMTAxMjE3ODU4NjY2N19zZWN0aW9uLTguMiI+PC9hPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZx
dW90Oztjb2xvcjpibGFjayI+LiZuYnNwOyBDb25maWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9u
czwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9oMz4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJZiBhIHJlcXVlc3QgbW9kaWZp
ZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNoIHRoYXQgYW55PC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG5vZGUncyAmcXVvdDt3aGVuJnF1b3Q7IGV4
cHJlc3Npb24gYmVjb21lcyBmYWxzZSwgdGhlbiB0aGUgbm9kZSBpbiB0aGUgZGF0YTwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0cmVlIHdpdGggdGhlICZxdW90
O3doZW4mcXVvdDsgZXhwcmVzc2lvbiBpcyBkZWxldGVkIGJ5IHRoZSBzZXJ2ZXIuPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDQ+PHNwYW4gbGFuZz0i
RU4tVVMiPkluIDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3Nl
Y3Rpb24tOC4zLjEiIHRhcmdldD0iX2JsYW5rIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO3RleHQt
ZGVjb3JhdGlvbjpub25lIj44LjMuMTwvc3Bhbj48L2E+PC9zcGFuPjxhIG5hbWU9Im1fNTUyMzIz
MTAxMjE3ODU4NjY2N19zZWN0aW9uLTguMy4xIj48L2E+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2Nv
bG9yOmJsYWNrIj4uJm5ic3A7IFBheWxvYWQgUGFyc2luZzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1H
QiI+PG86cD48L286cD48L3NwYW4+PC9oND4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJZiBk
YXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90OyBpcyBwcmVzZW50IGFu
ZCB0aGUgJnF1b3Q7d2hlbiZxdW90Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286
cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRp
dGlvbiBldmFsdWF0ZXMgdG8gJnF1b3Q7ZmFsc2UmcXVvdDssIHRoZSBzZXJ2ZXIgTVVTVCByZXBs
eSB3aXRoIGFuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3By
ZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9y
OmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dW5rbm93bi1lbGVt
ZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPGg0PjxzcGFu
IGxhbmc9IkVOLVVTIj5JbiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZj
Nzk1MCNzZWN0aW9uLTguMy4yIiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9udC1z
aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFj
azt0ZXh0LWRlY29yYXRpb246bm9uZSI+OC4zLjI8L3NwYW4+PC9hPjwvc3Bhbj48YSBuYW1lPSJt
XzU1MjMyMzEwMTIxNzg1ODY2Njdfc2VjdGlvbi04LjMuMiI+PC9hPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZx
dW90Oztjb2xvcjpibGFjayI+LiZuYnNwOyBORVRDT05GICZsdDtlZGl0LWNvbmZpZyZndDsNCiBQ
cm9jZXNzaW5nPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L2g0
Pg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6
YmxhY2siPk1vZGlmaWNhdGlvbiByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGggJnF1b3Q7
d2hlbiZxdW90OywgYW5kIHRoZSAmcXVvdDt3aGVuJnF1b3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVO
LUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAmcXVvdDtmYWxzZSZxdW90Oy4mbmJzcDsg
SW4gdGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1Q8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyByZXBseSB3aXRoIGFuICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFn
Jmd0OyBpbiB0aGUgJmx0O3JwYy1lcnJvciZndDsuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+WUFORyBt
b2R1bGU8L3NwYW4+77yaPHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPm1vZHVsZSBmb28gezwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7IG5hbWVzcGFjZSDi
gJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29t
PC9hPuKAnTs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyBw
cmVmaXgg4oCcZm9v4oCdOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNw
YW4gbGFuZz0iRU4tVVMiPkxlYWYgYSB74oCmfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1
Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYiB7PC9zcGFuPjxzcGFuIGxhbmc9IkVO
LUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4dC1p
bmRlbnQ6MTUuNzVwdCI+DQo8c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7IFdoZW4g4oCcYSA9IDEw
4oCdOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4t
VVMiPn08L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPn08L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+
U2NlbmUgMTogPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gz
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVk
aXQtY29uZmlnIHJlcXVlc3Q6PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7
ZWRpdC1jb25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsgJmx0O3RhcmdldCZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L3RhcmdldCZndDsNCjwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2Nv
bmZpZyZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20i
IHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7MyZsdDsvYSZndDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZn
dDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGlzIHJlcXVlc3Qgd2lsbCBzZXQg
YSA9IDMuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBzZWNvbmQgcmVxdWVzdDo8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0Ozwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZs
dDtjYW5kaWRhdGUvJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7
Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1H
QiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHhtbG5zPSDi
gJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29t
PC9hPuKAnSZndDsxMCZsdDsvYSZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YiB4bWxucz0g4oCcPGEgaHJlZj0i
aHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7
NSZsdDsvYiZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyAmbHQ7L2NvbmZpZyZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsv
ZWRpdC1jb25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0
Ij5BY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZ
cyB2YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNv
bmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsDQogc2VydmVyIHdpbGwgcmVwb3J0IOKAmHVu
a25vd24tZWxlbWVudOKAmSBlcnJvci48L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JcyBpdCBleHBlY3RlZCBieSB1c2VyPzwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9
IkVOLVVTIj5TY2VuZSAyOjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3Nw
YW4+PC9oMz4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBm
aXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Ojwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jmx0O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+
Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQm
Z3Q7DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNw
OyZsdDtjb25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9IOKAnDxhIGhyZWY9Imh0dHA6Ly9m
b28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzEwJmx0Oy9h
Jmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsv
Y29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNv
bmZpZyZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3
aWxsIHNldCBhID0gMTAuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBzZWNvbmQgcmVxdWVzdDo8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0Ozwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICZsdDtjYW5kaWRhdGUvJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdC
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDth
IHhtbG5zPSDigJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6
Ly9mb28uY29tPC9hPuKAnSZndDszJmx0Oy9hJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtiIHhtbG5zPSDigJw8
YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29tPC9h
PuKAnSZndDs1Jmx0Oy9iJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jmx0Oy9lZGl0LWNvbmZpZyZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5BY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2Fk
IHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlz
IDEwLCBzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0bw0KIHRydWUs
IHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNl
LiA8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQu
MHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTQuMHB0Ij5JbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlm
IGxlYWYgYeKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMg
dmFsdWUgd2lsbCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcw0KIHdoZW4gY29uZGl0aW9u
IHdpbGwgYmUgZmFsc2UsIHdoZW4gc2VydmVyIHByb2Nlc3MgYuKAmXMgbW9kaWZpY2F0aW9uLCBi
IHdpbGwgYmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyByZXF1
ZXN0IHdpbGwgZmFpbC4NCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxNC4wcHQiPklmIGxlYWYgYuKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3Nl
ZCBmaXJzdGx5LCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyBtb2RpZmljYXRpb24gLGJlY2F1c2Ug
YuKAmXMgd2hlbiBjb25kaXRpb24gaXMgdHJ1ZSwgYW5kIHdoZW4gc2VydmVyDQogcHJvY2VzcyBh
4oCZcyBtb2RpZmljYXRpb24gLCB0aGlzIG1vZGlmaWNhdGlvbiB3aWxsIGJlIGFjY2VwdGVkLCBh
bmQgYuKAmXMgd2hlbiBjb25kaXRpb24gd2lsbCBiZSBldmFsdWF0ZWQgdG8gZmFsc2UsIGxlYWYg
YiB3aWxsIGJlIGRlbGV0ZWQgYXV0b21hdGljYWxseSwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qg
d2lsbCBiZSBPSy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTQuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTQuMHB0Ij5Ib3cgc2VydmVyIHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0
dWF0aW9uPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLUdCIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0K
PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+X19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX188YnI+DQpuZXRtb2QgbWFpbGlu
ZyBsaXN0PGJyPg0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxh
bmsiPm5ldG1vZEBpZXRmLm9yZzwvYT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3Lmll
dGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2JvZHk+DQo8L2h0bWw+DQo=

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_--

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Tue, 10 Sep 2019 02:09:56 GMT";
 modification-date="Tue, 10 Sep 2019 02:09:56 GMT"
Content-ID: <image001.png@01D567BE.F5D6F450>
Content-Transfer-Encoding: base64

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
YII=

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8dggemm513mbxchi_--


From nobody Mon Sep  9 19:19:49 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B50DE1200F5 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:19:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 QNNEqO1f57B3 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:19:43 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 032B3120024 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:19:43 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id 7so14721751ljw.7 for <netmod@ietf.org>; Mon, 09 Sep 2019 19:19:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=EhOQpFe7vfPmmeIG1NpRpp1menQ5Z+xMJ8qOLY8Russ=; b=IiIkNrf4dwzIYuSa3TbCi0dAJQ3d1bR7gtlNNLeJzJmsSlGhT7iPvwlmsU5Ml+5hZH Z2FZt0dVQYcvONHxpxV4nGxsJXnaRY2eRqO4lx7Au0q/e1QOcKCZZXOAlO4waEaQ1UAT hE6Yubyd2onSm7gOzmCV49pfdEYAWp+Wcp2HqjBeC34ZvVRSSvcDLvXuUMmFG0WWYtWX AbWVUkeAnooieEt8EClBhhDXdvS00MpdGu3+POsP3GJPYwTqKDHnH7/gxzD0aANn7hz6 03lGZiVAxxGG0p2ND0UhA5bqUW0hxQW9xhhoqGWhpuaAh1TsAmXaSwxVO4T7sZ+bwceT Cg9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=EhOQpFe7vfPmmeIG1NpRpp1menQ5Z+xMJ8qOLY8Russ=; b=kbY6vmjfNl76S+mKPK6UB213QOPgW/5MhtVrGKJWOHdWFeGTFlQjClwYKkGivohG1r bm/b55CiH5eQLjxHJ9lr3sVK3m6GL/ANHJw0uT/42c7OrFmjVMqLLt2/4Sf7hc92qlEF X7KB9iAZT/3I8l3jslY1JQ0ZrGMUlBhdWvytaXurkT9Elc16ZNHX3J7diHz5HM93PlH1 0/+Z/znn4XrdfubN/p9aS8F3zT4T84QzaD1Sum6CNvVpAMDacy/3K3JTnoteMNz9WTsm +4IQMTfwV8gefGznAoYbYvwYAQTfcUr+BUSPPJKiPkUyhm74Oxeiamkepq4Ey2D1of2t jWjA==
X-Gm-Message-State: APjAAAVND0VE0OiRsIDXAseJ/A+qFxHipE/5brkbPsjkvHdIMwhm7tKB UwBCGavzejXHRc+oFBsPzKCG473o4gYolbor3VOzGg==
X-Google-Smtp-Source: APXvYqwZXfYYS5pZ9MiNonRD0bME/IsFgpEcNbrkhIL7CjP9QjEqlGNtA7vc+5srYrfhPLyxwnhpTBYTA9RpgbP17/s=
X-Received: by 2002:a2e:3102:: with SMTP id x2mr9581525ljx.218.1568081981089;  Mon, 09 Sep 2019 19:19:41 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 9 Sep 2019 19:19:29 -0700
Message-ID: <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>
Cc: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="00000000000076665b0592298949"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/10Ij1Lw6XWvZF6ZpFIauC4QMjtk>
Subject: Re: [netmod]  =?utf-8?q?Please_clarify_implementation_about_=E2=80=98?= =?utf-8?b?d2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:19:48 -0000

--00000000000076665b0592298949
Content-Type: multipart/alternative; boundary="0000000000007666520592298948"

--0000000000007666520592298948
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <frank.fengchong@huawei.co=
m>
wrote:

> Hi andy,
>
>
>
> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>
>
>
> Do you have any opinion about my question?
>

8.3.1 does not apply to leaf 'b'.
The RPC parameter is called 'config'.
It has no when-stmts to evaluate.
Rob is correct.
His example shows what 8.3.1 would cover.

Andy



>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 1:14
> *=E6=94=B6=E4=BB=B6=E4=BA=BA:* Rob Wilton (rwilton) <rwilton@cisco.com>
> *=E6=8A=84=E9=80=81:* Fengchong (frank) <frank.fengchong@huawei.com>; net=
mod@ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
> Hi,
>
>
>
> None of the operations that accept or return datastore contents expose th=
e
> datastore objects
>
> in the RPC parameters.  They are always anyxml or anydata. This means tha=
t
>
> there are no descendant data nodes defined at all according to the RPC
> operation
>
> and therefore the constraints on those nodes do not exist in the RPC
> operation either.
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>

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

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Sep 9, 2019 at 7:10 PM Fengch=
ong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_bl=
ank">frank.fengchong@huawei.com</a>&gt; wrote:<br></div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex">





<div lang=3D"ZH-CN">
<div class=3D"m_-1746658151094362872gmail-m_-4542574847536570289WordSection=
1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?</span></p></div></div></blockquote><div><br></div><div>8.3.=
1 does not apply to leaf &#39;b&#39;.</div><div>The RPC parameter is called=
 &#39;config&#39;.</div><div>It has no when-stmts to evaluate.</div><div>Ro=
b is correct.</div><div>His example shows what 8.3.1 would cover.</div><div=
><br></div><div>Andy</div><div><br></div><div>=C2=A0</div><blockquote class=
=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rg=
b(204,204,204);padding-left:1ex"><div lang=3D"ZH-CN"><div class=3D"m_-17466=
58151094362872gmail-m_-4542574847536570289WordSection1"><p class=3D"MsoNorm=
al"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans=
-serif;color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8<span lang=3D"EN-U=
S"> Huawei Technologies Co., Ltd.<u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img width=3D"102" height=3D"32" id=3D"m_-1746658151094362872gmail-m_-45425=
74847536570289=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d18f310f04cff311" al=
t=3D"Company_logo"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2<span lang=3D"EN-US"><br>
</span>=E6=89=8B=E3=80=80=E3=80=80=E6=9C=BA=EF=BC=9A<span lang=3D"EN-US">13=
776612983<br>
</span>=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengcho=
ng@huawei.com</a><br>
</span>=E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a><u></u>=
<u></u></span></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
=EF=BB=BF</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:A=
rial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US" style=
=3D"color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA<span=
 lang=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:=
11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Andy Bie=
rman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@y=
umaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<span lang=
=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> 2019</span><s=
pan style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">=E5=B9=B4<span lang=3D"EN-US">9</span>=E6=9C=88<span lang=
=3D"EN-US">10</span>=E6=97=A5<span lang=3D"EN-US">
 1:14<br>
</span><b>=E6=94=B6=E4=BB=B6=E4=BA=BA<span lang=3D"EN-US">:</span></b><span=
 lang=3D"EN-US"> Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.c=
om" target=3D"_blank">rwilton@cisco.com</a>&gt;<br>
</span><b>=E6=8A=84=E9=80=81<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com"=
 target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; <a href=3D"mailto:ne=
tmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Yangang &lt;<a href=
=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@huawei.com</a>&gt;=
<br>
</span><b>=E4=B8=BB=E9=A2=98<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Re: [netmod] Please clarify implementation about
</span>=E2=80=98<span lang=3D"EN-US">when</span>=E2=80=99<span lang=3D"EN-U=
S"><u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects<u></u><u></u>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt; wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the result=
 of the config datastore after the edit-config has been applied is valid.</=
span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the result=
 of the config datastore after the edit-config has been applied is invalid.=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0 E.g. if the RPC was
 defined something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.=
1 would enforce that a zip-code can only be provided if the country is the =
USA.</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-GB"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-GB"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-GB"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-GB"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-GB"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about =E2=80=98when=
=E2=80=99</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,</span><span lang=3D"EN-=
GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span>=EF=BC=9A<span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><a name=3D"m_-1746658151094362872_m_-4542574847536=
570289_m_5523231012178586667_section-8.2"></a><span lang=3D"EN-US" style=3D=
"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0 Co=
nfiguration Data Modifications</span><span lang=3D"EN-GB"><u></u><u></u></s=
pan></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-GB"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><a name=3D"m_-1746658151094=
362872_m_-4542574847536570289_m_5523231012178586667_section-8.3.1"></a><spa=
n lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&quot=
;;color:black">.=C2=A0 Payload Parsing</span><span lang=3D"EN-GB"><u></u><u=
></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_-1746658151094=
362872_m_-4542574847536570289_m_5523231012178586667_section-8.3.2"></a><spa=
n lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&quot=
;;color:black">.=C2=A0 NETCONF &lt;edit-config&gt;
 Processing</span><span lang=3D"EN-GB"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-GB"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span>=EF=BC=9A<spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {</span><span lang=
=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace =E2=80=
=9C<a href=3D"http://foo.com" target=3D"_blank">http://foo.com</a>=E2=80=9D=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix =E2=80=9Cfo=
o=E2=80=9D;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {=E2=80=A6}</span><span lang=3D"EN-GB"><u></u><=
u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When =E2=80=9Ca =3D 10=E2=80=9D;</span><span la=
ng=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}</span><span lang=3D"EN-GB"><u=
></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: </span><span lang=3D"EN-GB"><u></u><u></u=
></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false,
 server will report =E2=80=98unknown-element=E2=80=99 error.</span><span la=
ng=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:</span><span lang=3D"EN-GB"><u></u><u></u>=
</span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 10, so leaf b=E2=80=99s when condition is evaluated to
 true, server will accept this request in payload parsing phase. </span><sp=
an lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a=E2=80=99s modification is proc=
essed firstly, the a=E2=80=99s value will be changed to 3, so the b=E2=80=
=99s
 when condition will be false, when server process b=E2=80=99s modification=
, b will be treated as unknown-element, the edit-config request will fail.
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b=E2=80=99s modification is processed firstly, server will accept this mo=
dification ,because b=E2=80=99s when condition is true, and when server
 process a=E2=80=99s modification , this modification will be accepted, and=
 b=E2=80=99s when condition will be evaluated to false, leaf b will be dele=
ted automatically, the edit-config request will be OK.</span><span lang=3D"=
EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-GB"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>

</blockquote></div></div>

--0000000000007666520592298948--

--00000000000076665b0592298949
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d18f310f04cff311>
X-Attachment-Id: 16d18f310f04cff311

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
YII=
--00000000000076665b0592298949--


From nobody Mon Sep  9 19:40:16 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 96B1C120180 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:40:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 C0JzYlZxndSW for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:40:11 -0700 (PDT)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B48861200F5 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:40:10 -0700 (PDT)
Received: by mail-lj1-x232.google.com with SMTP id y23so14758626lje.9 for <netmod@ietf.org>; Mon, 09 Sep 2019 19:40:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=dAzEE4DByJ28dlxHhZ0YS9yAoItXLPlGmJzkHWrhNGQ=; b=D0cXu1Q9+8ZH6odQet8afATwN4cCb3psE0FiPtogtqcbNy6J7P4YCroQsYAOliUM9d nfzGO7keLs67NNrgova2pl3auxQQezUNLVZZRb6SG8ycgqkM0z2uWw6PnfyIOMrmGpVG xeGC1IFZ3ghBbKDCXU0tK4JOUOQYkd42iCIL/GndWFrvNhn2xnVvKahO+3qOGUX2mHgL 28V4vgSkSa7uEsXO2RftReodQxZgk98dreWuiuEfAEQgIqBM4KdTk8A/FSRAta3oNzs6 wT1XqVEnD2Q8saSpIZKVrMw5R9To8xBHllpS4YRFAzTDDJo+FvpB69sbvEaZkEt0Afw1 J6kw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=dAzEE4DByJ28dlxHhZ0YS9yAoItXLPlGmJzkHWrhNGQ=; b=ohHC1UBdOfbfsvczzaZzlfUsB5USjGjh2qj00XvuJ+TgrCExeGNif6BLGA/HWefhZ4 4WM1UJKyh67+e0/v9Gmi/6WDXJ3lNKUGYl0q8H8J+pGMbGin/6Vy8kyhfOPGJaGZTOv+ fmJuz9Sp84F7R2Glw/zvDfi6nzDMjLeCumCgr2nSxrCPTJTfL1iokcUgWj9+2v0kw7ev l/aAL19bYbN0nE8WTGyEJ/Rhg8MICfyI11AdtR22b9V7h2SxlEBUC79ZuYNK10ZFtV2I 7VCs1+rRZg9v7m6UGKblT/nKbeshCYJqV3Az24jsxtYmSYBIxIx5Y0eQVus0Z5kOJ1oD q3Yg==
X-Gm-Message-State: APjAAAUU6xd0WlluQSIQlWvuZ8q4QOIHg6Apha698/WOAu33qFOzKa10 U7lIUfs5Qhq09pVwscK3omYYISVwBw9K6/Yh7mu9ag==
X-Google-Smtp-Source: APXvYqyyXYxZYqDryVl8GydWehuM4+bKjOhSn4x2eU9CzeHgH4S+McP3HO0gU9mWC2ccRR7j33PchMNj+JAX0x+cI1Y=
X-Received: by 2002:a2e:3102:: with SMTP id x2mr9620886ljx.218.1568083208756;  Mon, 09 Sep 2019 19:40:08 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 9 Sep 2019 19:39:57 -0700
Message-ID: <CABCOCHQb8UubX=Evte0oCc6HE5wrToqqaCfh81mxfkGRhdEB4Q@mail.gmail.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>
Cc: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="000000000000a302e7059229d21f"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/IQUB7iFJU6FAknNmLmNaTb0KxX8>
Subject: Re: [netmod]  =?utf-8?q?Please_clarify_implementation_about_=E2=80=98?= =?utf-8?b?d2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:40:15 -0000

--000000000000a302e7059229d21f
Content-Type: multipart/alternative; boundary="000000000000a302e6059229d21e"

--000000000000a302e6059229d21e
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

I see you are asking about when the server removes data nodes with false
when-stmts.
Our server would accept scene 1 and reject scene 2.
The when-stmts are evaluated against the desired datastore (same as leafref
validation)
after all the modifications are considered.

Andy


On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <frank.fengchong@huawei.co=
m>
wrote:

> Hi andy,
>
>
>
> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>
>
>
> Do you have any opinion about my question?
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 1:14
> *=E6=94=B6=E4=BB=B6=E4=BA=BA:* Rob Wilton (rwilton) <rwilton@cisco.com>
> *=E6=8A=84=E9=80=81:* Fengchong (frank) <frank.fengchong@huawei.com>; net=
mod@ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
> Hi,
>
>
>
> None of the operations that accept or return datastore contents expose th=
e
> datastore objects
>
> in the RPC parameters.  They are always anyxml or anydata. This means tha=
t
>
> there are no descendant data nodes defined at all according to the RPC
> operation
>
> and therefore the constraints on those nodes do not exist in the RPC
> operation either.
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>

--000000000000a302e6059229d21e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr">Hi,<div><br></div><div>I see you are aski=
ng about when the server removes data nodes with false when-stmts.</div><di=
v>Our server would accept scene 1 and reject scene 2.</div><div>The when-st=
mts are evaluated against the desired datastore (same as leafref validation=
)</div><div>after all the modifications are considered.</div><div><br></div=
><div>Andy</div><div><br></div></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr" class=3D"gmail_attr">On Mon, Sep 9, 2019 at 7:10 PM Fengchong (fr=
ank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">fr=
ank.fengchong@huawei.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail=
_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204=
,204);padding-left:1ex">





<div lang=3D"ZH-CN">
<div class=3D"m_-1359070722188171360gmail-m_-4542574847536570289WordSection=
1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8<span lang=3D"EN-U=
S"> Huawei Technologies Co., Ltd.<u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img width=3D"102" height=3D"32" id=3D"m_-1359070722188171360gmail-m_-45425=
74847536570289=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d1906902c4cff311" al=
t=3D"Company_logo"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2<span lang=3D"EN-US"><br>
</span>=E6=89=8B=E3=80=80=E3=80=80=E6=9C=BA=EF=BC=9A<span lang=3D"EN-US">13=
776612983<br>
</span>=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengcho=
ng@huawei.com</a><br>
</span>=E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a><u></u>=
<u></u></span></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
=EF=BB=BF</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:A=
rial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US" style=
=3D"color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA<span=
 lang=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:=
11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Andy Bie=
rman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@y=
umaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<span lang=
=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> 2019</span><s=
pan style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">=E5=B9=B4<span lang=3D"EN-US">9</span>=E6=9C=88<span lang=
=3D"EN-US">10</span>=E6=97=A5<span lang=3D"EN-US">
 1:14<br>
</span><b>=E6=94=B6=E4=BB=B6=E4=BA=BA<span lang=3D"EN-US">:</span></b><span=
 lang=3D"EN-US"> Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.c=
om" target=3D"_blank">rwilton@cisco.com</a>&gt;<br>
</span><b>=E6=8A=84=E9=80=81<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com"=
 target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; <a href=3D"mailto:ne=
tmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Yangang &lt;<a href=
=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@huawei.com</a>&gt;=
<br>
</span><b>=E4=B8=BB=E9=A2=98<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Re: [netmod] Please clarify implementation about
</span>=E2=80=98<span lang=3D"EN-US">when</span>=E2=80=99<span lang=3D"EN-U=
S"><u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects<u></u><u></u>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt; wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the result=
 of the config datastore after the edit-config has been applied is valid.</=
span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the result=
 of the config datastore after the edit-config has been applied is invalid.=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0 E.g. if the RPC was
 defined something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.=
1 would enforce that a zip-code can only be provided if the country is the =
USA.</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-GB"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-GB"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-GB"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-GB"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-GB"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about =E2=80=98when=
=E2=80=99</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,</span><span lang=3D"EN-=
GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span>=EF=BC=9A<span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><a name=3D"m_-1359070722188171360_m_-4542574847536=
570289_m_5523231012178586667_section-8.2"></a><span lang=3D"EN-US" style=3D=
"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0 Co=
nfiguration Data Modifications</span><span lang=3D"EN-GB"><u></u><u></u></s=
pan></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-GB"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><a name=3D"m_-1359070722188=
171360_m_-4542574847536570289_m_5523231012178586667_section-8.3.1"></a><spa=
n lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&quot=
;;color:black">.=C2=A0 Payload Parsing</span><span lang=3D"EN-GB"><u></u><u=
></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_-1359070722188=
171360_m_-4542574847536570289_m_5523231012178586667_section-8.3.2"></a><spa=
n lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&quot=
;;color:black">.=C2=A0 NETCONF &lt;edit-config&gt;
 Processing</span><span lang=3D"EN-GB"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-GB"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span>=EF=BC=9A<spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {</span><span lang=
=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace =E2=80=
=9C<a href=3D"http://foo.com" target=3D"_blank">http://foo.com</a>=E2=80=9D=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix =E2=80=9Cfo=
o=E2=80=9D;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {=E2=80=A6}</span><span lang=3D"EN-GB"><u></u><=
u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {</span><span lang=3D"EN-GB"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When =E2=80=9Ca =3D 10=E2=80=9D;</span><span la=
ng=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}</span><span lang=3D"EN-GB"><u=
></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: </span><span lang=3D"EN-GB"><u></u><u></u=
></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false,
 server will report =E2=80=98unknown-element=E2=80=99 error.</span><span la=
ng=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:</span><span lang=3D"EN-GB"><u></u><u></u>=
</span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;</span><span lang=3D"EN-GB"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 10, so leaf b=E2=80=99s when condition is evaluated to
 true, server will accept this request in payload parsing phase. </span><sp=
an lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a=E2=80=99s modification is proc=
essed firstly, the a=E2=80=99s value will be changed to 3, so the b=E2=80=
=99s
 when condition will be false, when server process b=E2=80=99s modification=
, b will be treated as unknown-element, the edit-config request will fail.
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b=E2=80=99s modification is processed firstly, server will accept this mo=
dification ,because b=E2=80=99s when condition is true, and when server
 process a=E2=80=99s modification , this modification will be accepted, and=
 b=E2=80=99s when condition will be evaluated to false, leaf b will be dele=
ted automatically, the edit-config request will be OK.</span><span lang=3D"=
EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-GB"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-GB"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-G=
B"><u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>

</blockquote></div></div>

--000000000000a302e6059229d21e--

--000000000000a302e7059229d21f
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d1906902c4cff311>
X-Attachment-Id: 16d1906902c4cff311

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
YII=
--000000000000a302e7059229d21f--


From nobody Mon Sep  9 19:40:39 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 33682120048 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:40:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 9zaOuXStRX9x for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:40:33 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3E1DD120020 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:40:33 -0700 (PDT)
Received: from lhreml707-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 271CB2141B2342321A6F for <netmod@ietf.org>; Tue, 10 Sep 2019 03:40:31 +0100 (IST)
Received: from DGGEMM402-HUB.china.huawei.com (10.3.20.210) by lhreml707-cah.china.huawei.com (10.201.108.48) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 10 Sep 2019 03:40:30 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by DGGEMM402-HUB.china.huawei.com ([10.3.20.210]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 10:40:19 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVZxRY9YCq6AlKlkifU9HZTydEwqcjD5kAgAEZNBD//39HgIAAiQWw
Date: Tue, 10 Sep 2019 02:40:19 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com>
In-Reply-To: <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/related; boundary="_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/BbqAhdElSLyvK4k-VZHGy9h9JrU>
Subject: [netmod] =?utf-8?b?562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50?= =?utf-8?b?YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:40:37 -0000

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_"

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5keSwNCldoZXRoZXIgYWxsIGNvbnN0cmFpbnRzIG9uIGNvbnRlbnQgaW4gPGNvbmZpZz4gcGFy
YW1ldGVyIHdpbGwgbm90IGJlIGV2YWx1YXRlZCBpbiBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIGZv
ciBleGFtcGxlLCBhIGxlYWbigJlzIHZhbHVlIGV4Y2VlZCByYW5nZT8NCk5ldGNvbmYgc2VydmVy
IHNob3VsZCB0cmVhdCBpdCBhcyBhIGJsb2NrIGRhdGE/DQoNCkFub3RoZXIgcXVlc3Rpb246DQoN
CkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UsIHdoZXRoZXIgY29uc3RyYWludHMgb24g
Y29udGVudCBpbiA8Y29uZmlnPiBwYXJhbWV0ZXIgbmVlZHMgYmUgZXZhbHVhdGVkPw0KSWYgeWVz
LCB3aGVuICBjb25maWd1cmF0aW9uIG1vZGlmaWNhdGlvbiBjYXVzZSB3aGVuIGNvbmRpdGlvbiBp
cyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoZSBub2RlIHRhZ2dlZCB3aGVuIHdpbGwgYmUgYXV0b21h
dGljYWxseSBkZWxldGVkIGJ5IHN5c3RlbS4NClRoZW4sIGluIHNjZW5lIDIsIHdoZXRoZXIgZGlm
ZmVyZW50IHJlc3VsdCB3b3VsZCBvY2N1ciBhY2NvcmRpbmcgZGlmZmVyZW50IHByb2Nlc3Mgb3Jk
ZXI/DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQrljY7kuLrmioDmnK/mnInp
mZDlhazlj7ggSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCltDb21wYW55X2xvZ29dDQrk
uKrkurrnrb7lkI3vvJrlhq/lhrINCuaJi+OAgOOAgOacuu+8mjEzNzc2NjEyOTgzDQrnlLXlrZDp
gq7ku7bvvJpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbQ0K5YWs5Y+4572R5Z2A77yad3d3Lmh1
YXdlaS5jb20NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQrvu78g5pys6YKu5Lu2
5Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO
5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBDQrm
raLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDk
uo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7k
u7bkuK0NCueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOer
i+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQ0K
VGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBpbmZv
cm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCmlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJz
b24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRo
ZQ0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1
dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KZGlzY2xvc3VyZSwgcmVwcm9kdWN0
aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVuZGVk
DQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwg
aW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KcGhvbmUgb3IgZW1haWwgaW1t
ZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCg0K5Y+R5Lu25Lq6OiBBbmR5IEJpZXJtYW4gW21haWx0
bzphbmR5QHl1bWF3b3Jrcy5jb21dDQrlj5HpgIHml7bpl7Q6IDIwMTnlubQ55pyIMTDml6UgMTA6
MTkNCuaUtuS7tuS6ujogRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPg0K5oqE6YCBOiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb20+OyBu
ZXRtb2RAaWV0Zi5vcmc7IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbT4NCuS4u+mimDogUmU6
IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkN
Cg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzoxMCBQTSBGZW5nY2hvbmcgKGZyYW5rKSA8
ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPj4gd3JvdGU6DQpIaSBhbmR5LA0KDQpZb3Ugb25seSB0YWxrIGFib3V0IHRoZSBjb25zdHJh
aW50cyBvbiBycGMgb3BlcmF0aW9u4oCZcyBwYXJhbWV0ZXI/DQoNCkRvIHlvdSBoYXZlIGFueSBv
cGluaW9uIGFib3V0IG15IHF1ZXN0aW9uPw0KDQo4LjMuMSBkb2VzIG5vdCBhcHBseSB0byBsZWFm
ICdiJy4NClRoZSBSUEMgcGFyYW1ldGVyIGlzIGNhbGxlZCAnY29uZmlnJy4NCkl0IGhhcyBubyB3
aGVuLXN0bXRzIHRvIGV2YWx1YXRlLg0KUm9iIGlzIGNvcnJlY3QuDQpIaXMgZXhhbXBsZSBzaG93
cyB3aGF0IDguMy4xIHdvdWxkIGNvdmVyLg0KDQpBbmR5DQoNCg0KDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9s
b2dpZXMgQ28uLCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrm
iYvjgIDjgIDmnLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25n
QGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4572R
5Z2A77yad3d3Lmh1YXdlaS5jb208aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7k
uLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDk
uK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7
u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOaz
hOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC
5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa
55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0
dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3
aGljaA0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRk
cmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWlu
ZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3Rh
bCBvciBwYXJ0aWFsDQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24p
IGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9o
aWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlm
eSB0aGUgc2VuZGVyIGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0
IQ0KDQrlj5Hku7bkuro6IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbTxt
YWlsdG86YW5keUB5dW1hd29ya3MuY29tPl0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgxMOaX
pSAxOjE0DQrmlLbku7bkuro6IFJvYiBXaWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2NvLmNv
bTxtYWlsdG86cndpbHRvbkBjaXNjby5jb20+Pg0K5oqE6YCBOiBGZW5nY2hvbmcgKGZyYW5rKSA8
ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPj47IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPjsgWWFuZ2FuZyA8
eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0K5Li76aKYOiBS
ZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKA
mQ0KDQpIaSwNCg0KTm9uZSBvZiB0aGUgb3BlcmF0aW9ucyB0aGF0IGFjY2VwdCBvciByZXR1cm4g
ZGF0YXN0b3JlIGNvbnRlbnRzIGV4cG9zZSB0aGUgZGF0YXN0b3JlIG9iamVjdHMNCmluIHRoZSBS
UEMgcGFyYW1ldGVycy4gIFRoZXkgYXJlIGFsd2F5cyBhbnl4bWwgb3IgYW55ZGF0YS4gVGhpcyBt
ZWFucyB0aGF0DQp0aGVyZSBhcmUgbm8gZGVzY2VuZGFudCBkYXRhIG5vZGVzIGRlZmluZWQgYXQg
YWxsIGFjY29yZGluZyB0byB0aGUgUlBDIG9wZXJhdGlvbg0KYW5kIHRoZXJlZm9yZSB0aGUgY29u
c3RyYWludHMgb24gdGhvc2Ugbm9kZXMgZG8gbm90IGV4aXN0IGluIHRoZSBSUEMgb3BlcmF0aW9u
IGVpdGhlci4NCg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2lsdG9u
IChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0b25AY2lzY28uY29tPj4g
d3JvdGU6DQpIaSBGcmFuaywNCg0KTXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhwZWN0
ZWQgYmVoYXZpb3VyIGlzIGFzIGZvbGxvd3MuDQoNCkZvciDigJxzY2VuZSAx4oCdLCB0aGUgY29u
ZmlnIGNoYW5nZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBk
YXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQu
DQoNCkZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNh
dXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29u
ZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCg0KTXkgaW50ZXJwcmV0YXRpb24gaXMg
dGhhdCB0aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFy
eSBpbnRlbmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuICBFLmcuIGlmIHRoZSBSUEMgd2FzIGRl
ZmluZWQgc29tZXRoaW5nIGxpa2UgYmVsb3csIHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4
LjMuMSB3b3VsZCBlbmZvcmNlIHRoYXQgYSB6aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBp
ZiB0aGUgY291bnRyeSBpcyB0aGUgVVNBLg0KDQogICAgICAgcnBjIHJvY2stdGhlLWhvdXNlIHsN
CiAgICAgICAgIGlucHV0IHsNCiAgICAgICAgICAgbGVhZiBjb3VudHJ5IHsNCiAgICAgICAgICAg
ICB0eXBlIHN0cmluZzsNCiAgICAgICAgICAgfQ0KICAgICAgICAgICBsZWFmIHppcC1jb2RlIHsN
CiAgICAgICAgICAgICB3aGVuIOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07DQogICAgICAg
ICAgICAgdHlwZSBzdHJpbmc7DQogICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgICB9DQoN
ClRoYW5rcywNClJvYg0KDQoNCg0KRnJvbTogbmV0bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRmLm9y
ZzxtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+PiBPbiBCZWhhbGYgT2YgRmVuZ2Nob25n
IChmcmFuaykNClNlbnQ6IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5DQpUbzogbmV0bW9kQGlldGYu
b3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+DQpDYzogWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWku
Y29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0KU3ViamVjdDogW25ldG1vZF0gUGxlYXNl
IGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSBhbGwsDQoNCklu
IFJGQzc5NTAgc2VjdG9uIDgsIHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbu+8mg0KSW4g
c2VjdGlvbiA4LjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04
LjI+LiAgQ29uZmlndXJhdGlvbiBEYXRhIE1vZGlmaWNhdGlvbnMNCiAgIG8gIElmIGEgcmVxdWVz
dCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnkNCiAgICAg
IG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGlu
IHRoZSBkYXRhDQogICAgICB0cmVlIHdpdGggdGhlICJ3aGVuIiBleHByZXNzaW9uIGlzIGRlbGV0
ZWQgYnkgdGhlIHNlcnZlci4NCkluIDguMy4xPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9y
ZmM3OTUwI3NlY3Rpb24tOC4zLjE+LiAgUGF5bG9hZCBQYXJzaW5nDQoNCiAgIG8gIElmIGRhdGEg
Zm9yIGEgbm9kZSB0YWdnZWQgd2l0aCAid2hlbiIgaXMgcHJlc2VudCBhbmQgdGhlICJ3aGVuIg0K
DQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIsIHRoZSBzZXJ2ZXIgTVVTVCBy
ZXBseSB3aXRoIGFuDQoNCiAgICAgICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRo
ZSA8cnBjLWVycm9yPi4NCg0KSW4gOC4zLjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm
Yzc5NTAjc2VjdGlvbi04LjMuMj4uICBORVRDT05GIDxlZGl0LWNvbmZpZz4gUHJvY2Vzc2luZw0K
DQpNb2RpZmljYXRpb24gcmVxdWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICJ3aGVuIiwgYW5k
IHRoZSAid2hlbiINCg0KICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLiAgSW4g
dGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1QNCg0KICAgICAgcmVwbHkgd2l0aCBhbiAidW5rbm93
bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoNCllBTkcgbW9kdWxl
77yaDQptb2R1bGUgZm9vIHsNCiAgIG5hbWVzcGFjZSDigJxodHRwOi8vZm9vLmNvbeKAnTsNCiAg
IHByZWZpeCDigJxmb2/igJ07DQpMZWFmIGEge+KApn0NCkxlYWYgYiB7DQogIFdoZW4g4oCcYSA9
IDEw4oCdOw0KfQ0KfQ0KU2NlbmUgMToNClRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0K
PGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJn
ZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjM8
L2E+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBzZXQg
YSA9IDMuDQoNClRoZSBzZWNvbmQgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+
DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxh
IHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT4xMDwvYT4NCiAgICAgIDxiIHhtbG5zPSDigJxo
dHRwOi8vZm9vLmNvbeKAnT41PC9iPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KDQpB
Y2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2
YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRp
dGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3du
LWVsZW1lbnTigJkgZXJyb3IuDQpJcyBpdCBleHBlY3RlZCBieSB1c2VyPw0KU2NlbmUgMjoNClRo
ZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4N
CiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEg
eG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgPC9jb25maWc+DQo8L2VkaXQt
Y29uZmlnPg0KVGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAxMC4NCg0KVGhlIHNlY29uZCByZXF1
ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAg
PC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t
4oCdPjM8L2E+DQogICAgICA8YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+NTwvYj4NCiAg
IDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxv
YWQgcGFyc2luZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUg
aXMgMTAsIHNvIGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRydWUs
IHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNl
Lg0KDQpJbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlmIGxlYWYgYeKA
mXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMgdmFsdWUgd2ls
bCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGZh
bHNlLCB3aGVuIHNlcnZlciBwcm9jZXNzIGLigJlzIG1vZGlmaWNhdGlvbiwgYiB3aWxsIGJlIHRy
ZWF0ZWQgYXMgdW5rbm93bi1lbGVtZW50LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGZh
aWwuDQpJZiBsZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgc2Vy
dmVyIHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGLigJlzIHdoZW4gY29u
ZGl0aW9uIGlzIHRydWUsIGFuZCB3aGVuIHNlcnZlciBwcm9jZXNzIGHigJlzIG1vZGlmaWNhdGlv
biAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVuIGNv
bmRpdGlvbiB3aWxsIGJlIGV2YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRl
ZCBhdXRvbWF0aWNhbGx5LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLg0KDQpI
b3cgc2VydmVyIHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0dWF0aW9uPw0KDQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KbmV0bW9kIG1haWxpbmcgbGlzdA0K
bmV0bW9kQGlldGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+DQpodHRwczovL3d3dy5pZXRm
Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0K

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTrlvq7ova/pm4Xpu5E7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEg
MSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlvq7ova/pm4Xpu5EiOw0KCXBh
bm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpw
Lk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJ
bWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6
5a6L5L2TO30NCmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiLm
oIfpopggMyBDaGFyIjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6
MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglm
b250LXNpemU6MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQpoNA0KCXttc28tc3R5bGUt
cHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQgQ2hhciI7DQoJbXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCgltc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh
bWlseTrlrovkvZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJp
b3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6
dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6
OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJ
e21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzl
vI8gQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0Kc3Bhbi4zQ2hhcg0KCXttc28tc3R5
bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0
eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250LWZhbWlseTrlrovkvZM7DQoJZm9udC13ZWlnaHQ6
Ym9sZDt9DQpzcGFuLjRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiLmoIfpopggNCBDaGFyIjsNCglt
c28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQiOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0K
c3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUtbmFtZToiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7
DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJIVE1MIOmihOiuvuag
vOW8jyI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs
c2Fucy1zZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHls
ZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30N
CkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIu
MHB0IDkwLjBwdCA3Mi4wcHQgOTAuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3Jk
U2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBl
ZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0t
LT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4N
CjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1s
PjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxpbms9ImJsdWUiIHZs
aW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+QW5keSw8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPldoZXRoZXIgYWxsIGNvbnN0cmFpbnRzIG9u
IGNvbnRlbnQgaW4gJmx0O2NvbmZpZyZndDsgcGFyYW1ldGVyIHdpbGwgbm90IGJlIGV2YWx1YXRl
ZCBpbiBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIGZvciBleGFtcGxlLCBhIGxlYWbigJlzIHZhbHVl
IGV4Y2VlZCByYW5nZT88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPk5ldGNvbmYgc2Vy
dmVyIHNob3VsZCB0cmVhdCBpdCBhcyBhIGJsb2NrIGRhdGE/PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkFub3RoZXIg
cXVlc3Rpb246PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UsIHdo
ZXRoZXIgY29uc3RyYWludHMgb24gY29udGVudCBpbiAmbHQ7Y29uZmlnJmd0OyBwYXJhbWV0ZXIg
bmVlZHMgYmUgZXZhbHVhdGVkPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SWYgeWVz
LCB3aGVuICZuYnNwO2NvbmZpZ3VyYXRpb24gbW9kaWZpY2F0aW9uIGNhdXNlIHdoZW4gY29uZGl0
aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwgdGhlIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBh
dXRvbWF0aWNhbGx5IGRlbGV0ZWQgYnkgc3lzdGVtLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw
LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RCI+VGhlbiwgaW4gc2NlbmUgMiwgd2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9j
Y3VyIGFjY29yZGluZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj88bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1z
b05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRo
PSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7ljY7kuLrmioDmnK/mnInpmZDlhazlj7g8
c3BhbiBsYW5nPSJFTi1VUyI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuPG86cD48L286
cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PGltZyB3aWR0aD0iMTAyIiBoZWlnaHQ9IjMyIiBp
ZD0i5Zu+54mHX3gwMDIwXzIiIHNyYz0iY2lkOmltYWdlMDAxLnBuZ0AwMUQ1NjdDMy44MTYwREMz
MCIgYWx0PSJDb21wYW55X2xvZ28iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7kuKrkurrnrb7lkI3vvJrlhq/l
hrI8c3BhbiBsYW5nPSJFTi1VUyI+PGJyPg0KPC9zcGFuPuaJi+OAgOOAgOacuu+8mjxzcGFuIGxh
bmc9IkVOLVVTIj4xMzc3NjYxMjk4Mzxicj4NCjwvc3Bhbj7nlLXlrZDpgq7ku7bvvJo8c3BhbiBs
YW5nPSJFTi1VUyI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208YnI+DQo8L3NwYW4+5YWs5Y+4
572R5Z2A77yaPHNwYW4gbGFuZz0iRU4tVVMiPnd3dy5odWF3ZWkuY29tPG86cD48L286cD48L3Nw
YW4+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5
bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMx
RjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bh
bj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJjb2xvcjojMUY0OTdEIj7vu788L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjpncmF5Ij4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXki
PuacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8
jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7
hOOAguemgTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtm
b250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4N
Cjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuatouS7u+S9
leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmD
qOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rTwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWls
eTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPueahOS/oeaBr+OAguWmguae
nOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuef
peWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMg
Y29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoDQo8YnI+
DQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNz
IGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCjxicj4NCmluZm9ybWF0aW9uIGNvbnRh
aW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRv
dGFsIG9yIHBhcnRpYWwNCjxicj4NCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2Vt
aW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCA8YnI+DQpyZWNpcGll
bnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3Is
IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KPGJyPg0KcGhvbmUgb3IgZW1haWwgaW1tZWRp
YXRlbHkgYW5kIGRlbGV0ZSBpdCE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xv
cjojMUY0OTdEIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl
cmlmIj7lj5Hku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvl
vq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlA
eXVtYXdvcmtzLmNvbV0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R
6YCB5pe26Ze0PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v
6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlm
Ij7lubQ8c3BhbiBsYW5nPSJFTi1VUyI+OTwvc3Bhbj7mnIg8c3BhbiBsYW5nPSJFTi1VUyI+MTA8
L3NwYW4+5pelPHNwYW4gbGFuZz0iRU4tVVMiPg0KIDEwOjE5PGJyPg0KPC9zcGFuPjxiPuaUtuS7
tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IEZl
bmdjaG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSZndDs8YnI+DQo8
L3NwYW4+PGI+5oqE6YCBPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9
IkVOLVVTIj4gUm9iIFdpbHRvbiAocndpbHRvbikgJmx0O3J3aWx0b25AY2lzY28uY29tJmd0Ozsg
bmV0bW9kQGlldGYub3JnOyBZYW5nYW5nICZsdDt5YW5nYW5nQGh1YXdlaS5jb20mZ3Q7PGJyPg0K
PC9zcGFuPjxiPuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5n
PSJFTi1VUyI+IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91
dA0KPC9zcGFuPuKAmDxzcGFuIGxhbmc9IkVOLVVTIj53aGVuPC9zcGFuPuKAmTxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPk9uIE1vbiwgU2VwIDksIDIw
MTkgYXQgNzoxMCBQTSBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5r
LmZlbmdjaG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25nQGh1
YXdlaS5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxi
bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu
MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJp
Z2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5IaSBhbmR5LDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPllv
dSBvbmx5IHRhbGsgYWJvdXQgdGhlIGNvbnN0cmFpbnRzIG9uIHJwYyBvcGVyYXRpb27igJlzIHBh
cmFtZXRlcj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5EbyB5b3UgaGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBteSBxdWVz
dGlvbj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj44LjMuMSBkb2Vz
IG5vdCBhcHBseSB0byBsZWFmICdiJy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIFJQQyBwYXJh
bWV0ZXIgaXMgY2FsbGVkICdjb25maWcnLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5JdCBoYXMgbm8g
d2hlbi1zdG10cyB0byBldmFsdWF0ZS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+Um9iIGlzIGNvcnJl
Y3QuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkhpcyBleGFtcGxlIHNob3dzIHdoYXQgOC4zLjEgd291
bGQgY292ZXIuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij5BbmR5PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4m
bmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJi
b3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBj
bSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5
bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwv
c3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMx
RjQ5N0QiPuWNjuS4uuaKgOacr+aciemZkOWFrOWPuDxzcGFuIGxhbmc9IkVOLVVTIj4gSHVhd2Vp
IFRlY2hub2xvZ2llcyBDby4sIEx0ZC48L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PGltZyBib3JkZXI9IjAiIHdpZHRoPSIxMDIi
IGhlaWdodD0iMzIiIGlkPSJtXy0xNzQ2NjU4MTUxMDk0MzYyODcyZ21haWwtbV8tNDU0MjU3NDg0
NzUzNjU3MDI4OeWbvueJh194MDAyMF8yIiBzcmM9ImNpZDppbWFnZTAwMS5wbmdAMDFENTY3QzMu
ODE2MERDMzAiIGFsdD0iQ29tcGFueV9sb2dvIj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9
ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuetvuWQje+8muWGr+WGsjxzcGFuIGxhbmc9IkVOLVVTIj48
YnI+DQo8L3NwYW4+5omL44CA44CA5py677yaPHNwYW4gbGFuZz0iRU4tVVMiPjEzNzc2NjEyOTgz
PGJyPg0KPC9zcGFuPueUteWtkOmCruS7tu+8mjxzcGFuIGxhbmc9IkVOLVVTIj48YSBocmVmPSJt
YWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5m
ZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT48YnI+DQo8L3NwYW4+5YWs5Y+4572R5Z2A77yaPHNwYW4g
bGFuZz0iRU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxh
bmsiPnd3dy5odWF3ZWkuY29tPC9hPjwvc3Bhbj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRl
ciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNv
bG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4N
Cjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJjb2xvcjojMUY0OTdEIj7vu788L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjpncmF5Ij4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9y
OmdyYXkiPuacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/
oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaI
lue+pOe7hOOAguemgTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3
LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXki
Pjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuat
ouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6
juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7
tuS4rTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250
LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwv
c3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPueahOS/oeaBr+OA
guWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7
tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gTwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNo
bWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNo
DQo8YnI+DQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBh
ZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCjxicj4NCmluZm9ybWF0aW9u
IGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQg
dG8sIHRvdGFsIG9yIHBhcnRpYWwNCjxicj4NCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3Ig
ZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCA8YnI+DQpy
ZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4g
ZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KPGJyPg0KcGhvbmUgb3IgZW1haWwg
aW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buR
JnF1b3Q7LHNhbnMtc2VyaWYiPuWPkeS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwv
c3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4NCiBBbmR5IEJpZXJt
YW4gW21haWx0bzo8YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9i
bGFuayI+YW5keUB5dW1hd29ya3MuY29tPC9hPl0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDss
c2Fucy1zZXJpZiI+5Y+R6YCB5pe26Ze0PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFu
PjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZx
dW90OyxzYW5zLXNlcmlmIj7lubQ8c3BhbiBsYW5nPSJFTi1VUyI+OTwvc3Bhbj7mnIg8c3BhbiBs
YW5nPSJFTi1VUyI+MTA8L3NwYW4+5pelPHNwYW4gbGFuZz0iRU4tVVMiPg0KIDE6MTQ8YnI+DQo8
L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxh
bmc9IkVOLVVTIj4gUm9iIFdpbHRvbiAocndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0bzpyd2ls
dG9uQGNpc2NvLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnJ3aWx0b25AY2lzY28uY29tPC9hPiZndDs8
YnI+DQo8L3NwYW4+PGI+5oqE6YCBPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFu
IGxhbmc9IkVOLVVTIj4gRmVuZ2Nob25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0Bo
dWF3ZWkuY29tPC9hPiZndDs7DQo8YSBocmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJn
ZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9hPjsgWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFp
bHRvOnlhbmdhbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNv
bTwvYT4mZ3Q7PGJyPg0KPC9zcGFuPjxiPuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFu
PjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBs
ZW1lbnRhdGlvbiBhYm91dA0KPC9zcGFuPuKAmDxzcGFuIGxhbmc9IkVOLVVTIj53aGVuPC9zcGFu
PuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48
L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiPkhpLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5Ob25l
IG9mIHRoZSBvcGVyYXRpb25zIHRoYXQgYWNjZXB0IG9yIHJldHVybiBkYXRhc3RvcmUgY29udGVu
dHMgZXhwb3NlIHRoZSBkYXRhc3RvcmUgb2JqZWN0czxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPmlu
IHRoZSBSUEMgcGFyYW1ldGVycy4mbmJzcDsgVGhleSBhcmUgYWx3YXlzIGFueXhtbCBvciBhbnlk
YXRhLiBUaGlzIG1lYW5zIHRoYXQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj50aGVyZSBhcmUgbm8g
ZGVzY2VuZGFudCBkYXRhIG5vZGVzIGRlZmluZWQgYXQgYWxsIGFjY29yZGluZyB0byB0aGUgUlBD
IG9wZXJhdGlvbjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPmFuZCB0aGVyZWZvcmUgdGhlIGNvbnN0
cmFpbnRzIG9uIHRob3NlIG5vZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBDIG9wZXJhdGlvbiBl
aXRoZXIuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyI+T24gTW9uLCBTZXAgOSwgMjAxOSBhdCA2OjQxIEFNIFJvYiBXaWx0b24gKHJ3aWx0b24p
ICZsdDs8YSBocmVmPSJtYWlsdG86cndpbHRvbkBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5y
d2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICND
Q0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDtt
YXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij5IaSBGcmFuayw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5NeSBpbnRlcnByZXRh
dGlvbiBvZiB3aGF0IHRoZSBleHBlY3RlZCBiZWhhdmlvdXIgaXMgYXMgZm9sbG93cy48L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJz
cDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij5Gb3Ig4oCcc2NlbmUgMeKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVj
YXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNv
bmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZhbGlkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkZvciDigJxzY2VuZSAy
4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2Yg
dGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxp
ZWQgaXMgaW52YWxpZC48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0Ii
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5NeSBpbnRlcnByZXRhdGlvbiBpcyB0aGF0IHRoZSBi
bG9jayBvZiB0ZXh0IGluIDguMy4xIHBheWxvYWQgcGFyc2luZyBpcyBwcmltYXJ5IGludGVuZGVk
IHRvIHJlZmVyIHRvIFJGQyBpbnB1dC4mbmJzcDsgRS5nLiBpZiB0aGUgUlBDIHdhcw0KIGRlZmlu
ZWQgc29tZXRoaW5nIGxpa2UgYmVsb3csIHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4LjMu
MSB3b3VsZCBlbmZvcmNlIHRoYXQgYSB6aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0
aGUgY291bnRyeSBpcyB0aGUgVVNBLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmll
ciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBycGMgcm9jay10aGUtaG91c2Ugezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1H
QiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcm
cXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyBpbnB1dCB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHls
ZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztj
b2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwO2xlYWYgY291bnRyeSB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVy
IE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHR5cGUgc3RyaW5nOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlYWYgemlw
LWNvZGUgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyB3aGVuIOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHR5cGUgc3RyaW5nOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9
ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyB9PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv
cjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IH08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlRoYW5rcyw8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5S
b2I8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0
OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRp
diBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRp
bmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkZyb206PC9zcGFuPjwvYj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiBuZXRtb2QgJmx0OzxhIGhy
ZWY9Im1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1v
ZC1ib3VuY2VzQGlldGYub3JnPC9hPiZndDsNCjxiPk9uIEJlaGFsZiBPZiA8L2I+RmVuZ2Nob25n
IChmcmFuayk8YnI+DQo8Yj5TZW50OjwvYj4gMDYgU2VwdGVtYmVyIDIwMTkgMDg6MTk8YnI+DQo8
Yj5Ubzo8L2I+IDxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5r
Ij5uZXRtb2RAaWV0Zi5vcmc8L2E+PGJyPg0KPGI+Q2M6PC9iPiBZYW5nYW5nICZsdDs8YSBocmVm
PSJtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWFuZ2FuZ0BodWF3
ZWkuY29tPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gW25ldG1vZF0gUGxlYXNlIGNsYXJp
ZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+SGkgYWxsLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkluIFJGQzc5NTAgc2Vj
dG9uIDgsIHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbjwvc3Bhbj7vvJo8c3BhbiBsYW5n
PSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5J
biBzZWN0aW9uIDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3Nl
Y3Rpb24tOC4yIiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBw
dDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+OC4yPC9z
cGFuPjwvYT48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7
IENvbmZpZ3VyYXRpb24gRGF0YSBNb2RpZmljYXRpb25zPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZu
YnNwOyBvJm5ic3A7IElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBu
b2RlIHN1Y2ggdGhhdCBhbnk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgbm9kZSdzICZxdW90O3doZW4mcXVvdDsgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0
aGVuIHRoZSBub2RlIGluIHRoZSBkYXRhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7IHRyZWUgd2l0aCB0aGUgJnF1b3Q7d2hlbiZxdW90OyBleHByZXNzaW9uIGlz
IGRlbGV0ZWQgYnkgdGhlIHNlcnZlci48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxoND48c3BhbiBsYW5nPSJFTi1VUyI+SW4gPGEgaHJlZj0iaHR0cHM6
Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMSIgdGFyZ2V0PSJfYmxh
bmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291
cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmUiPjguMy4xPC9z
cGFuPjwvYT48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7
IFBheWxvYWQgUGFyc2luZzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw
YW4+PC9oND4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0
O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJZiBkYXRhIGZvciBhIG5vZGUgdGFn
Z2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90OyBpcyBwcmVzZW50IGFuZCB0aGUgJnF1b3Q7d2hlbiZx
dW90Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8
cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFj
ayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8g
JnF1b3Q7ZmFsc2UmcXVvdDssIHRoZSBzZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJv
ci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPGg0PjxzcGFuIGxhbmc9IkVOLVVTIj5JbiA8
YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4y
IiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh
bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246
bm9uZSI+OC4zLjI8L3NwYW4+PC9hPjwvc3Bhbj48YSBuYW1lPSJtXy0xNzQ2NjU4MTUxMDk0MzYy
ODcyX21fLTQ1NDI1NzQ4NDc1MzY1Ij48L2E+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJs
YWNrIj4uJm5ic3A7IE5FVENPTkYNCiAmbHQ7ZWRpdC1jb25maWcmZ3Q7IFByb2Nlc3Npbmc8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDQ+DQo8cHJlPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+TW9kaWZp
Y2F0aW9uIHJlcXVlc3RzIGZvciBub2RlcyB0YWdnZWQgd2l0aCAmcXVvdDt3aGVuJnF1b3Q7LCBh
bmQgdGhlICZxdW90O3doZW4mcXVvdDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25k
aXRpb24gZXZhbHVhdGVzIHRvICZxdW90O2ZhbHNlJnF1b3Q7LiZuYnNwOyBJbiB0aGlzIGNhc2Us
IHRoZSBzZXJ2ZXIgTVVTVDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw
YW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBw
dDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJlcGx5IHdpdGgg
YW4gJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAm
bHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+WUFORyBtb2R1bGU8L3NwYW4+77yaPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiPm1vZHVsZSBmb28gezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyBuYW1lc3BhY2Ug4oCcPGEgaHJl
Zj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ07
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7IHByZWZpeCDigJxmb2/igJ07PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4g
bGFuZz0iRU4tVVMiPkxlYWYgYSB74oCmfTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVudDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIj5M
ZWFmIGIgezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0
LWluZGVudDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsgV2hlbiDigJxhID0g
MTDigJ07PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQt
aW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPn08bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj59PG86cD48L286
cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5TY2VuZSAxOiA8bzpwPjwvbzpw
Pjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+
VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJz
cDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmln
Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g
4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNv
bTwvYT7igJ0mZ3Q7MyZsdDsvYSZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcm
Z3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGlzIHJlcXVlc3Qgd2ls
bCBzZXQgYSA9IDMuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0Ojxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0O3Rhcmdl
dCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0
ZS8mZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzEwJmx0Oy9hJmd0OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YiB4bWxucz0g4oCcPGEgaHJlZj0i
aHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7
NSZsdDsvYiZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+
Jmx0Oy9lZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjE0LjBwdCI+QWNjb3JkaW5nIDguMy4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNl
LCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYgYuKA
mXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLA0KIHNlcnZlciB3aWxsIHJl
cG9ydCDigJh1bmtub3duLWVsZW1lbnTigJkgZXJyb3IuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+SXMgaXQgZXhwZWN0ZWQgYnkgdXNl
cj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMz48
c3BhbiBsYW5nPSJFTi1VUyI+U2NlbmUgMjo8bzpwPjwvbzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmln
IHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm
bHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zv
by5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7MTAmbHQ7L2Em
Z3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRp
dC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAxMC48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj5UaGUgc2Vjb25kIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29u
ZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7
Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4
bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8v
Zm9vLmNvbTwvYT7igJ0mZ3Q7MyZsdDsvYSZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzUmbHQ7L2ImZ3Q7PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+
Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPkFjY29yZGluZyA4LjMuMSwgaW4gcnBj
IHBheWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRh
c3RvcmUgaXMgMTAsIHNvIGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRv
DQogdHJ1ZSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNp
bmcgcGhhc2UuIDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxNC4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQiPkluIGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBw
aGFzZSwgaWYgbGVhZiBh4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRo
ZSBh4oCZcyB2YWx1ZSB3aWxsIGJlIGNoYW5nZWQgdG8gMywgc28gdGhlIGLigJlzDQogd2hlbiBj
b25kaXRpb24gd2lsbCBiZSBmYWxzZSwgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBi4oCZcyBtb2RpZmlj
YXRpb24sIGIgd2lsbCBiZSB0cmVhdGVkIGFzIHVua25vd24tZWxlbWVudCwgdGhlIGVkaXQtY29u
ZmlnIHJlcXVlc3Qgd2lsbCBmYWlsLg0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+SWYgbGVhZiBi4oCZcyBtb2RpZmljYXRpb24gaXMg
cHJvY2Vzc2VkIGZpcnN0bHksIHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIG1vZGlmaWNhdGlvbiAs
YmVjYXVzZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyB0cnVlLCBhbmQgd2hlbiBzZXJ2ZXINCiBw
cm9jZXNzIGHigJlzIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNj
ZXB0ZWQsIGFuZCBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGV2YWx1YXRlZCB0byBmYWxz
ZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRlZCBhdXRvbWF0aWNhbGx5LCB0aGUgZWRpdC1jb25maWcg
cmVxdWVzdCB3aWxsIGJlIE9LLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nlc3Mg
dGhpcyBzaXR1YXRpb24/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fXzxicj4NCm5ldG1vZCBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBo
cmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYu
b3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGlu
Zm8vbmV0bW9kIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9uZXRtb2Q8L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9ibG9ja3F1b3RlPg0K
PC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_--

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Tue, 10 Sep 2019 02:40:19 GMT";
 modification-date="Tue, 10 Sep 2019 02:40:19 GMT"
Content-ID: <image001.png@01D567C3.8160DC30>
Content-Transfer-Encoding: base64

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
YII=

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4dggemm513mbxchi_--


From nobody Mon Sep  9 19:50:17 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 37A88120025 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:50:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 P0OOpY8fn_gf for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:50:12 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9FC32120020 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:50:11 -0700 (PDT)
Received: from lhreml709-cah.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id EF8B1F1C90D594FD0F08 for <netmod@ietf.org>; Tue, 10 Sep 2019 03:50:09 +0100 (IST)
Received: from lhreml728-chm.china.huawei.com (10.201.108.79) by lhreml709-cah.china.huawei.com (10.201.108.32) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 10 Sep 2019 03:50:09 +0100
Received: from lhreml728-chm.china.huawei.com (10.201.108.79) by lhreml728-chm.china.huawei.com (10.201.108.79) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 10 Sep 2019 03:50:09 +0100
Received: from DGGEMM403-HUB.china.huawei.com (10.3.20.211) by lhreml728-chm.china.huawei.com (10.201.108.79) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Tue, 10 Sep 2019 03:50:08 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by DGGEMM403-HUB.china.huawei.com ([10.3.20.211]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 10:50:01 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVZxRY9YCq6AlKlkifU9HZTydEwqcjD5kAgAEZNBD//4T/gIAAhv8A
Date: Tue, 10 Sep 2019 02:50:00 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8@dggemm513-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQb8UubX=Evte0oCc6HE5wrToqqaCfh81mxfkGRhdEB4Q@mail.gmail.com>
In-Reply-To: <CABCOCHQb8UubX=Evte0oCc6HE5wrToqqaCfh81mxfkGRhdEB4Q@mail.gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/related; boundary="_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/lhgu6TApLwTM6ivJVYoLbHwImAA>
Subject: [netmod] =?utf-8?b?562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50?= =?utf-8?b?YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:50:15 -0000

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_"

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5keSwNCg0KRG8geW91IHRoaW5rIHdoZW4gY29uZGl0aW9ucyBzaG91bGQgYmUgZXZhbHVhdGVk
IGR1cmluZyB2YWxpZGF0aW9uIHBoYXNlLCBmb3IgZXhhbXBsZSB3aGVuIHVzZXIgaXNzdWVzIHZh
bGlkYXRlIG9wZXJhdGlvbiBvciBlZGl0LWNvbmZpZyBvcGVyYXRpb24gd2l0aCDigJh0ZXN0LXRo
ZW4tc2V04oCZIHRlc3Qtb3B0aW9uPw0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
Xw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQu
DQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDmnLrvvJox
Mzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20NCuWF
rOWPuOe9keWdgO+8mnd3dy5odWF3ZWkuY29tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXw0K77u/IOacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWv
huS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6
uuaIlue+pOe7hOOAguemgQ0K5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So
77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB
5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQrnmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobm
nKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbl
iKDpmaTmnKzpgq7ku7bvvIENClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFp
biBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoDQppcyBpbnRlbmRl
ZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBh
Ym92ZS4gQW55IHVzZSBvZiB0aGUNCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55
IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCmRp
c2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhl
ciB0aGFuIHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSBy
ZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkN
CnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhDQoNCuWPkeS7tuS6ujog
QW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29ya3MuY29tXQ0K5Y+R6YCB5pe26Ze0OiAy
MDE55bm0OeaciDEw5pelIDEwOjQwDQrmlLbku7bkuro6IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCuaKhOmAgTogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3
aWx0b25AY2lzY28uY29tPjsgbmV0bW9kQGlldGYub3JnOyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdl
aS5jb20+DQrkuLvpopg6IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlv
biBhYm91dCDigJh3aGVu4oCZDQoNCkhpLA0KDQpJIHNlZSB5b3UgYXJlIGFza2luZyBhYm91dCB3
aGVuIHRoZSBzZXJ2ZXIgcmVtb3ZlcyBkYXRhIG5vZGVzIHdpdGggZmFsc2Ugd2hlbi1zdG10cy4N
Ck91ciBzZXJ2ZXIgd291bGQgYWNjZXB0IHNjZW5lIDEgYW5kIHJlamVjdCBzY2VuZSAyLg0KVGhl
IHdoZW4tc3RtdHMgYXJlIGV2YWx1YXRlZCBhZ2FpbnN0IHRoZSBkZXNpcmVkIGRhdGFzdG9yZSAo
c2FtZSBhcyBsZWFmcmVmIHZhbGlkYXRpb24pDQphZnRlciBhbGwgdGhlIG1vZGlmaWNhdGlvbnMg
YXJlIGNvbnNpZGVyZWQuDQoNCkFuZHkNCg0KDQpPbiBNb24sIFNlcCA5LCAyMDE5IGF0IDc6MTAg
UE0gRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+IHdyb3RlOg0KSGkgYW5keSwNCg0KWW91IG9ubHkg
dGFsayBhYm91dCB0aGUgY29uc3RyYWludHMgb24gcnBjIG9wZXJhdGlvbuKAmXMgcGFyYW1ldGVy
Pw0KDQpEbyB5b3UgaGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBteSBxdWVzdGlvbj8NCg0KX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCuWNjuS4uuaKgOacr+aciemZkOWFrOWPuCBIdWF3
ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0KW0NvbXBhbnlfbG9nb10NCuS4quS6uuetvuWQje+8
muWGr+WGsg0K5omL44CA44CA5py677yaMTM3NzY2MTI5ODMNCueUteWtkOmCruS7tu+8mmZyYW5r
LmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4N
CuWFrOWPuOe9keWdgO+8mnd3dy5odWF3ZWkuY29tPGh0dHA6Ly93d3cuaHVhd2VpLmNvbT4NCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQrvu78g5pys6YKu5Lu25Y+K5YW26ZmE5Lu2
5ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK
6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBDQrmraLku7vkvZXlhbbk
u5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbp
g6jliIblnLDms4TpnLLjgIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK0NCueahOS/
oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaI
lumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQ0KVGhpcyBlLW1haWwg
YW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9t
IEhVQVdFSSwgd2hpY2gNCmlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5
IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZQ0KaW5mb3JtYXRp
b24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRl
ZCB0bywgdG90YWwgb3IgcGFydGlhbA0KZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNz
ZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVuZGVkDQpyZWNpcGllbnQo
cykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBs
ZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5k
IGRlbGV0ZSBpdCENCg0K5Y+R5Lu25Lq6OiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3
b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT5dDQrlj5HpgIHml7bpl7Q6IDIwMTnl
ubQ55pyIMTDml6UgMToxNA0K5pS25Lu25Lq6OiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRv
bkBjaXNjby5jb208bWFpbHRvOnJ3aWx0b25AY2lzY28uY29tPj4NCuaKhOmAgTogRmVuZ2Nob25n
IChmcmFuaykgPGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hv
bmdAaHVhd2VpLmNvbT4+OyBuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47
IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4N
CuS4u+mimDogUmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0
IOKAmHdoZW7igJkNCg0KSGksDQoNCk5vbmUgb2YgdGhlIG9wZXJhdGlvbnMgdGhhdCBhY2NlcHQg
b3IgcmV0dXJuIGRhdGFzdG9yZSBjb250ZW50cyBleHBvc2UgdGhlIGRhdGFzdG9yZSBvYmplY3Rz
DQppbiB0aGUgUlBDIHBhcmFtZXRlcnMuICBUaGV5IGFyZSBhbHdheXMgYW55eG1sIG9yIGFueWRh
dGEuIFRoaXMgbWVhbnMgdGhhdA0KdGhlcmUgYXJlIG5vIGRlc2NlbmRhbnQgZGF0YSBub2RlcyBk
ZWZpbmVkIGF0IGFsbCBhY2NvcmRpbmcgdG8gdGhlIFJQQyBvcGVyYXRpb24NCmFuZCB0aGVyZWZv
cmUgdGhlIGNvbnN0cmFpbnRzIG9uIHRob3NlIG5vZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBD
IG9wZXJhdGlvbiBlaXRoZXIuDQoNCg0KDQpPbiBNb24sIFNlcCA5LCAyMDE5IGF0IDY6NDEgQU0g
Um9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNp
c2NvLmNvbT4+IHdyb3RlOg0KSGkgRnJhbmssDQoNCk15IGludGVycHJldGF0aW9uIG9mIHdoYXQg
dGhlIGV4cGVjdGVkIGJlaGF2aW91ciBpcyBhcyBmb2xsb3dzLg0KDQpGb3Ig4oCcc2NlbmUgMeKA
nSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRo
ZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVk
IGlzIHZhbGlkLg0KDQpGb3Ig4oCcc2NlbmUgMuKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgcmVq
ZWN0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRo
ZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuDQoNCk15IGludGVycHJl
dGF0aW9uIGlzIHRoYXQgdGhlIGJsb2NrIG9mIHRleHQgaW4gOC4zLjEgcGF5bG9hZCBwYXJzaW5n
IGlzIHByaW1hcnkgaW50ZW5kZWQgdG8gcmVmZXIgdG8gUkZDIGlucHV0LiAgRS5nLiBpZiB0aGUg
UlBDIHdhcyBkZWZpbmVkIHNvbWV0aGluZyBsaWtlIGJlbG93LCB0aGVuIHRoZSDigJh3aGVu4oCZ
IHJ1bGUgaW4gOC4zLjEgd291bGQgZW5mb3JjZSB0aGF0IGEgemlwLWNvZGUgY2FuIG9ubHkgYmUg
cHJvdmlkZWQgaWYgdGhlIGNvdW50cnkgaXMgdGhlIFVTQS4NCg0KICAgICAgIHJwYyByb2NrLXRo
ZS1ob3VzZSB7DQogICAgICAgICBpbnB1dCB7DQogICAgICAgICAgIGxlYWYgY291bnRyeSB7DQog
ICAgICAgICAgICAgdHlwZSBzdHJpbmc7DQogICAgICAgICAgIH0NCiAgICAgICAgICAgbGVhZiB6
aXAtY29kZSB7DQogICAgICAgICAgICAgd2hlbiDigJwuLi9jb3VudHJ5ID0g4oCYdXNh4oCZ4oCd
Ow0KICAgICAgICAgICAgIHR5cGUgc3RyaW5nOw0KICAgICAgICAgICB9DQogICAgICAgICB9DQog
ICAgICAgfQ0KDQpUaGFua3MsDQpSb2INCg0KDQoNCkZyb206IG5ldG1vZCA8bmV0bW9kLWJvdW5j
ZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZC1ib3VuY2VzQGlldGYub3JnPj4gT24gQmVoYWxmIE9m
IEZlbmdjaG9uZyAoZnJhbmspDQpTZW50OiAwNiBTZXB0ZW1iZXIgMjAxOSAwODoxOQ0KVG86IG5l
dG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPg0KQ2M6IFlhbmdhbmcgPHlhbmdh
bmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4NClN1YmplY3Q6IFtuZXRt
b2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkNCg0KSGkg
YWxsLA0KDQpJbiBSRkM3OTUwIHNlY3RvbiA4LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0IHdo
ZW7vvJoNCkluIHNlY3Rpb24gOC4yPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUw
I3NlY3Rpb24tOC4yPi4gIENvbmZpZ3VyYXRpb24gRGF0YSBNb2RpZmljYXRpb25zDQogICBvICBJ
ZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNoIHRoYXQg
YW55DQogICAgICBub2RlJ3MgIndoZW4iIGV4cHJlc3Npb24gYmVjb21lcyBmYWxzZSwgdGhlbiB0
aGUgbm9kZSBpbiB0aGUgZGF0YQ0KICAgICAgdHJlZSB3aXRoIHRoZSAid2hlbiIgZXhwcmVzc2lv
biBpcyBkZWxldGVkIGJ5IHRoZSBzZXJ2ZXIuDQpJbiA4LjMuMTxodHRwczovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4xPi4gIFBheWxvYWQgUGFyc2luZw0KDQogICBv
ICBJZiBkYXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGggIndoZW4iIGlzIHByZXNlbnQgYW5kIHRo
ZSAid2hlbiINCg0KICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLCB0aGUgc2Vy
dmVyIE1VU1QgcmVwbHkgd2l0aCBhbg0KDQogICAgICAidW5rbm93bi1lbGVtZW50IiA8ZXJyb3It
dGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoNCkluIDguMy4yPGh0dHBzOi8vdG9vbHMuaWV0Zi5v
cmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjI+LiAgTkVUQ09ORiA8ZWRpdC1jb25maWc+IFBy
b2Nlc3NpbmcNCg0KTW9kaWZpY2F0aW9uIHJlcXVlc3RzIGZvciBub2RlcyB0YWdnZWQgd2l0aCAi
d2hlbiIsIGFuZCB0aGUgIndoZW4iDQoNCiAgICAgIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gImZh
bHNlIi4gIEluIHRoaXMgY2FzZSwgdGhlIHNlcnZlciBNVVNUDQoNCiAgICAgIHJlcGx5IHdpdGgg
YW4gInVua25vd24tZWxlbWVudCIgPGVycm9yLXRhZz4gaW4gdGhlIDxycGMtZXJyb3I+Lg0KDQpZ
QU5HIG1vZHVsZe+8mg0KbW9kdWxlIGZvbyB7DQogICBuYW1lc3BhY2Ug4oCcaHR0cDovL2Zvby5j
b23igJ07DQogICBwcmVmaXgg4oCcZm9v4oCdOw0KTGVhZiBhIHvigKZ9DQpMZWFmIGIgew0KICBX
aGVuIOKAnGEgPSAxMOKAnTsNCn0NCn0NClNjZW5lIDE6DQpUaGUgZmlyc3QgZWRpdC1jb25maWcg
cmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4N
CiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRwOi8vZm9v
LmNvbeKAnT4zPC9hPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KVGhpcyByZXF1ZXN0
IHdpbGwgc2V0IGEgPSAzLg0KDQpUaGUgc2Vjb25kIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQog
ICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+
DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MTA8L2E+DQogICAgICA8YiB4
bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+NTwvYj4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNv
bmZpZz4NCg0KQWNjb3JkaW5nIDguMy4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0
aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYgYuKAmXMg
d2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCBzZXJ2ZXIgd2lsbCByZXBvcnQg
4oCYdW5rbm93bi1lbGVtZW504oCZIGVycm9yLg0KSXMgaXQgZXhwZWN0ZWQgYnkgdXNlcj8NClNj
ZW5lIDI6DQpUaGUgZmlyc3QgZWRpdC1jb25maWcgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAg
IDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4N
CiAgICAgIDxhIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT4xMDwvYT4NCiAgIDwvY29uZmln
Pg0KPC9lZGl0LWNvbmZpZz4NClRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMTAuDQoNClRoZSBz
ZWNvbmQgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlk
YXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRw
Oi8vZm9vLmNvbeKAnT4zPC9hPg0KICAgICAgPGIgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCd
PjU8L2I+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQpBY2NvcmRpbmcgOC4zLjEsIGlu
IHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUg
ZGF0YXN0b3JlIGlzIDEwLCBzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRl
ZCB0byB0cnVlLCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyByZXF1ZXN0IGluIHBheWxvYWQgcGFy
c2luZyBwaGFzZS4NCg0KSW4gZWRpdC1jb25maWcgcmVxdWVzdCBwcm9jZXNzaW5nIHBoYXNlLCBp
ZiBsZWFmIGHigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgdGhlIGHigJlz
IHZhbHVlIHdpbGwgYmUgY2hhbmdlZCB0byAzLCBzbyB0aGUgYuKAmXMgd2hlbiBjb25kaXRpb24g
d2lsbCBiZSBmYWxzZSwgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBi4oCZcyBtb2RpZmljYXRpb24sIGIg
d2lsbCBiZSB0cmVhdGVkIGFzIHVua25vd24tZWxlbWVudCwgdGhlIGVkaXQtY29uZmlnIHJlcXVl
c3Qgd2lsbCBmYWlsLg0KSWYgbGVhZiBi4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZp
cnN0bHksIHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIG1vZGlmaWNhdGlvbiAsYmVjYXVzZSBi4oCZ
cyB3aGVuIGNvbmRpdGlvbiBpcyB0cnVlLCBhbmQgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBh4oCZcyBt
b2RpZmljYXRpb24gLCB0aGlzIG1vZGlmaWNhdGlvbiB3aWxsIGJlIGFjY2VwdGVkLCBhbmQgYuKA
mXMgd2hlbiBjb25kaXRpb24gd2lsbCBiZSBldmFsdWF0ZWQgdG8gZmFsc2UsIGxlYWYgYiB3aWxs
IGJlIGRlbGV0ZWQgYXV0b21hdGljYWxseSwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qgd2lsbCBi
ZSBPSy4NCg0KSG93IHNlcnZlciBzaG91bGQgcHJvY2VzcyB0aGlzIHNpdHVhdGlvbj8NCg0KX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCm5ldG1vZCBtYWls
aW5nIGxpc3QNCm5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPg0KaHR0cHM6
Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2QNCg==

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk65a6L5L2TOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAx
IDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTpDYWxpYnJpOw0KCXBhbm9zZS0x
OjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk65b6u6L2v
6ZuF6buROw0KCXBhbm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCkBmb250LWZhY2UNCgl7
Zm9udC1mYW1pbHk6IlxA5a6L5L2TIjsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IlxA5b6u6L2v6ZuF6buRIjsNCglwYW5vc2UtMToy
IDExIDUgMyAyIDIgNCAyIDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3Jt
YWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1i
b3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9
DQpoMw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDMg
Q2hhciI7DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCglt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXpl
OjEzLjVwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0KaDQNCgl7bXNvLXN0eWxlLXByaW9yaXR5
Ojk7DQoJbXNvLXN0eWxlLWxpbms6Iuagh+mimCA0IENoYXIiOw0KCW1zby1tYXJnaW4tdG9wLWFs
dDphdXRvOw0KCW1hcmdpbi1yaWdodDowY207DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87
DQoJbWFyZ2luLWxlZnQ6MGNtOw0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L
5L2TO30NCmE6bGluaywgc3Bhbi5Nc29IeXBlcmxpbmsNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5
Ow0KCWNvbG9yOmJsdWU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQphOnZpc2l0ZWQs
IHNwYW4uTXNvSHlwZXJsaW5rRm9sbG93ZWQNCgl7bXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCWNv
bG9yOnB1cnBsZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCnByZQ0KCXttc28tc3R5
bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwg6aKE6K6+5qC85byPIENoYXIi
Ow0KCW1hcmdpbjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4w
cHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30NCnNwYW4uM0NoYXINCgl7bXNvLXN0eWxlLW5hbWU6
Iuagh+mimCAzIENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5r
OiLmoIfpopggMyI7DQoJZm9udC1mYW1pbHk65a6L5L2TOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0K
c3Bhbi40Q2hhcg0KCXttc28tc3R5bGUtbmFtZToi5qCH6aKYIDQgQ2hhciI7DQoJbXNvLXN0eWxl
LXByaW9yaXR5Ojk7DQoJbXNvLXN0eWxlLWxpbms6Iuagh+mimCA0IjsNCglmb250LWZhbWlseToi
Q2FsaWJyaSBMaWdodCIsc2Fucy1zZXJpZjsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4uSFRN
TENoYXINCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwg6aKE6K6+5qC85byPIENoYXIiOw0KCW1zby1z
dHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzlvI8iOw0K
CWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0Kc3Bhbi5FbWFpbFN0eWxlMjENCgl7bXNvLXN0
eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkiLHNhbnMtc2Vy
aWY7DQoJY29sb3I6IzFGNDk3RDt9DQouTXNvQ2hwRGVmYXVsdA0KCXttc28tc3R5bGUtdHlwZTpl
eHBvcnQtb25seTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjt9DQpAcGFnZSBX
b3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA5MC4w
cHQgNzIuMHB0IDkwLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24x
O30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRz
IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp
ZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1h
cCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRp
Zl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IlpILUNOIiBsaW5rPSJibHVlIiB2bGluaz0icHVy
cGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkFuZHksPG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPkRvIHlvdSB0aGluayB3aGVuIGNvbmRpdGlvbnMgc2hvdWxkIGJlIGV2YWx1YXRlZCBkdXJp
bmcgdmFsaWRhdGlvbiBwaGFzZSwgZm9yIGV4YW1wbGUgd2hlbiB1c2VyIGlzc3VlcyB2YWxpZGF0
ZSBvcGVyYXRpb24gb3IgZWRpdC1jb25maWcgb3BlcmF0aW9uDQogd2l0aCDigJh0ZXN0LXRoZW4t
c2V04oCZIHRlc3Qtb3B0aW9uPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4m
bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2Vu
dGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50
ZXIiPg0KPC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImNv
bG9yOiMxRjQ5N0QiPuWNjuS4uuaKgOacr+aciemZkOWFrOWPuDxzcGFuIGxhbmc9IkVOLVVTIj4g
SHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC48bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjoj
MUY0OTdEIj48aW1nIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIiIGlkPSLlm77niYdfeDAwMjBfMiIg
c3JjPSJjaWQ6aW1hZ2UwMDEucG5nQDAxRDU2N0M0LkUyNDRGQTgwIiBhbHQ9IkNvbXBhbnlfbG9n
byI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5
bGU9ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuetvuWQje+8muWGr+WGsjxzcGFuIGxhbmc9IkVOLVVT
Ij48YnI+DQo8L3NwYW4+5omL44CA44CA5py677yaPHNwYW4gbGFuZz0iRU4tVVMiPjEzNzc2NjEy
OTgzPGJyPg0KPC9zcGFuPueUteWtkOmCruS7tu+8mjxzcGFuIGxhbmc9IkVOLVVTIj5mcmFuay5m
ZW5nY2hvbmdAaHVhd2VpLmNvbTxicj4NCjwvc3Bhbj7lhazlj7jnvZHlnYDvvJo8c3BhbiBsYW5n
PSJFTi1VUyI+d3d3Lmh1YXdlaS5jb208bzpwPjwvbzpwPjwvc3Bhbj48L3NwYW4+PC9wPg0KPGRp
diBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50
ZXIiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+DQo8aHIgc2l6ZT0i
MSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPg0KPC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPu+7
vzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZh
bWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPg0KPC9zcGFuPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5pys6YKu5Lu25Y+K5YW26ZmE
5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ
5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Fy
aWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V
5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy
44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitPC9zcGFuPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6Ny41cHQ7Y29sb3I6Z3JheSI+55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu
5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk
5pys6YKu5Lu277yBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+
PGJyPg0KVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlh
bCBpbmZvcm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCjxicj4NCmlzIGludGVuZGVkIG9ubHkg
Zm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBB
bnkgdXNlIG9mIHRoZQ0KPGJyPg0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkg
d2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KPGJy
Pg0KZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25z
IG90aGVyIHRoYW4gdGhlIGludGVuZGVkIDxicj4NCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVk
LiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUg
c2VuZGVyIGJ5DQo8YnI+DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0
ITwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuWPkeS7tuS6ujxzcGFu
IGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90Oyxz
YW5zLXNlcmlmIj4gQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29ya3MuY29tXQ0KPGJy
Pg0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5HpgIHml7bpl7Q8c3BhbiBsYW5n
PSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1z
ZXJpZiI+IDIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDxzcGFuIGxhbmc9IkVO
LVVTIj45PC9zcGFuPuaciDxzcGFuIGxhbmc9IkVOLVVTIj4xMDwvc3Bhbj7ml6U8c3BhbiBsYW5n
PSJFTi1VUyI+DQogMTA6NDA8YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0iRU4t
VVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gRmVuZ2Nob25nIChmcmFuaykgJmx0
O2ZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7mioTpgIE8c3Bh
biBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBSb2IgV2lsdG9u
IChyd2lsdG9uKSAmbHQ7cndpbHRvbkBjaXNjby5jb20mZ3Q7OyBuZXRtb2RAaWV0Zi5vcmc7IFlh
bmdhbmcgJmx0O3lhbmdhbmdAaHVhd2VpLmNvbSZndDs8YnI+DQo8L3NwYW4+PGI+5Li76aKYPHNw
YW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUmU6IFtuZXRt
b2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNwYW4g
bGFuZz0iRU4tVVMiPndoZW48L3NwYW4+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SGksPG86cD48L286cD48L3NwYW4+PC9wPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+SSBzZWUgeW91IGFyZSBhc2tpbmcgYWJvdXQgd2hlbiB0aGUgc2Vy
dmVyIHJlbW92ZXMgZGF0YSBub2RlcyB3aXRoIGZhbHNlIHdoZW4tc3RtdHMuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPk91ciBzZXJ2ZXIgd291bGQgYWNjZXB0IHNjZW5lIDEgYW5kIHJlamVjdCBzY2Vu
ZSAyLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgd2hlbi1zdG10cyBhcmUgZXZhbHVhdGVkIGFn
YWluc3QgdGhlIGRlc2lyZWQgZGF0YXN0b3JlIChzYW1lIGFzIGxlYWZyZWYgdmFsaWRhdGlvbik8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyI+YWZ0ZXIgYWxsIHRoZSBtb2RpZmljYXRpb25zIGFyZSBjb25z
aWRlcmVkLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
QW5keTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzoxMCBQTSBG
ZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3
ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+Jmd0
OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNt
IDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5IaSBhbmR5LDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPllvdSBvbmx5IHRhbGsgYWJv
dXQgdGhlIGNvbnN0cmFpbnRzIG9uIHJwYyBvcGVyYXRpb27igJlzIHBhcmFtZXRlcj88L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJz
cDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj5EbyB5b3UgaGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBteSBxdWVzdGlvbj88L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xh
c3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEi
IHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuWNjuS4uuaKgOacr+aciemZ
kOWFrOWPuDxzcGFuIGxhbmc9IkVOLVVTIj4gSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC48
L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFG
NDk3RCI+PGltZyBib3JkZXI9IjAiIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIiIGlkPSJtXy0xMzU5
MDcwNzIyMTg4MTcxMzYwZ21haWwtbV8tNDU0MjU3NDg0NzUzNjU3MDI4OeWbvueJh194MDAyMF8y
IiBzcmM9ImNpZDppbWFnZTAwMS5wbmdAMDFENTY3QzQuRTI0NEZBODAiIGFsdD0iQ29tcGFueV9s
b2dvIj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuet
vuWQje+8muWGr+WGsjxzcGFuIGxhbmc9IkVOLVVTIj48YnI+DQo8L3NwYW4+5omL44CA44CA5py6
77yaPHNwYW4gbGFuZz0iRU4tVVMiPjEzNzc2NjEyOTgzPGJyPg0KPC9zcGFuPueUteWtkOmCruS7
tu+8mjxzcGFuIGxhbmc9IkVOLVVTIj48YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1
YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT48
YnI+DQo8L3NwYW4+5YWs5Y+4572R5Z2A77yaPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Imh0
dHA6Ly93d3cuaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5odWF3ZWkuY29tPC9hPjwv
c3Bhbj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxk
aXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2Vu
dGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9
IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7v
u788L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij4NCjwvc3Bhbj48
c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuacrOmCruS7tuWPiuWFtumZ
hOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7
meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgTwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtB
cmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9
leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmc
suOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rTwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjcuNXB0O2NvbG9yOmdyYXkiPueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmC
ruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZ
pOacrOmCruS7tu+8gTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3
LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXki
Pjxicj4NClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRp
YWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoDQo8YnI+DQppcyBpbnRlbmRlZCBvbmx5
IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4g
QW55IHVzZSBvZiB0aGUNCjxicj4NCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55
IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCjxi
cj4NCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29u
cyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCA8YnI+DQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRl
ZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhl
IHNlbmRlciBieQ0KPGJyPg0KcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBp
dCE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuWPkeS7
tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7
kSZxdW90OyxzYW5zLXNlcmlmIj4NCiBBbmR5IEJpZXJtYW4gW21haWx0bzo8YSBocmVmPSJtYWls
dG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+YW5keUB5dW1hd29ya3MuY29t
PC9hPl0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R6YCB5pe26Ze0
PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1
b3Q7LHNhbnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8c3Bh
biBsYW5nPSJFTi1VUyI+OTwvc3Bhbj7mnIg8c3BhbiBsYW5nPSJFTi1VUyI+MTA8L3NwYW4+5pel
PHNwYW4gbGFuZz0iRU4tVVMiPg0KIDE6MTQ8YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4g
bGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUm9iIFdpbHRvbiAo
cndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbSIgdGFyZ2V0PSJf
YmxhbmsiPnJ3aWx0b25AY2lzY28uY29tPC9hPiZndDs8YnI+DQo8L3NwYW4+PGI+5oqE6YCBPHNw
YW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gRmVuZ2Nob25n
IChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIg
dGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPiZndDs7DQo8YSBo
cmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYu
b3JnPC9hPjsgWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbSIg
dGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0KPC9zcGFuPjxi
PuS4u+mimDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+
IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dA0KPC9zcGFu
PuKAmDxzcGFuIGxhbmc9IkVOLVVTIj53aGVuPC9zcGFuPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkhpLDxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4m
bmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5Ob25lIG9mIHRoZSBvcGVyYXRpb25zIHRoYXQg
YWNjZXB0IG9yIHJldHVybiBkYXRhc3RvcmUgY29udGVudHMgZXhwb3NlIHRoZSBkYXRhc3RvcmUg
b2JqZWN0czxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPmluIHRoZSBSUEMgcGFyYW1ldGVycy4mbmJz
cDsgVGhleSBhcmUgYWx3YXlzIGFueXhtbCBvciBhbnlkYXRhLiBUaGlzIG1lYW5zIHRoYXQ8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj50aGVyZSBhcmUgbm8gZGVzY2VuZGFudCBkYXRhIG5vZGVzIGRl
ZmluZWQgYXQgYWxsIGFjY29yZGluZyB0byB0aGUgUlBDIG9wZXJhdGlvbjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPmFuZCB0aGVyZWZvcmUgdGhlIGNvbnN0cmFpbnRzIG9uIHRob3NlIG5vZGVzIGRv
IG5vdCBleGlzdCBpbiB0aGUgUlBDIG9wZXJhdGlvbiBlaXRoZXIuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+T24gTW9uLCBTZXAgOSwgMjAx
OSBhdCA2OjQxIEFNIFJvYiBXaWx0b24gKHJ3aWx0b24pICZsdDs8YSBocmVmPSJtYWlsdG86cndp
bHRvbkBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5yd2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7
IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9
ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20g
MGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1y
aWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5I
aSBGcmFuayw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5NeSBpbnRlcnByZXRhdGlvbiBvZiB3aGF0IHRoZSBleHBlY3Rl
ZCBiZWhhdmlvdXIgaXMgYXMgZm9sbG93cy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Gb3Ig4oCcc2NlbmUgMeKAnSwg
dGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBj
b25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlz
IHZhbGlkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPkZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBp
cyByZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0
ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC48L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij5NeSBpbnRlcnByZXRhdGlvbiBpcyB0aGF0IHRoZSBibG9jayBvZiB0ZXh0IGluIDguMy4xIHBh
eWxvYWQgcGFyc2luZyBpcyBwcmltYXJ5IGludGVuZGVkIHRvIHJlZmVyIHRvIFJGQyBpbnB1dC4m
bmJzcDsgRS5nLiBpZiB0aGUgUlBDIHdhcw0KIGRlZmluZWQgc29tZXRoaW5nIGxpa2UgYmVsb3cs
IHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4LjMuMSB3b3VsZCBlbmZvcmNlIHRoYXQgYSB6
aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0aGUgY291bnRyeSBpcyB0aGUgVVNBLjwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQi
PiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBycGMgcm9jay10aGUtaG91c2Ug
ezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpbnB1dCB7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xlYWYgY291
bnRyeSB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7IHR5cGUgc3RyaW5nOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBO
ZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5l
dyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlYWYgemlwLWNvZGUgezwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB3aGVuIOKA
nC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5l
dyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHR5cGUgc3RyaW5nOzwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh
bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nv
dXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsgJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7fTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQiPlRoYW5rcyw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Sb2I8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4m
bmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxk
aXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGlu
ZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9y
ZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPiBuZXRtb2QgJmx0OzxhIGhyZWY9Im1haWx0bzpuZXRtb2QtYm91bmNl
c0BpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZC1ib3VuY2VzQGlldGYub3JnPC9hPiZn
dDsNCjxiPk9uIEJlaGFsZiBPZiA8L2I+RmVuZ2Nob25nIChmcmFuayk8YnI+DQo8Yj5TZW50Ojwv
Yj4gMDYgU2VwdGVtYmVyIDIwMTkgMDg6MTk8YnI+DQo8Yj5Ubzo8L2I+IDxhIGhyZWY9Im1haWx0
bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2RAaWV0Zi5vcmc8L2E+PGJy
Pg0KPGI+Q2M6PC9iPiBZYW5nYW5nICZsdDs8YSBocmVmPSJtYWlsdG86eWFuZ2FuZ0BodWF3ZWku
Y29tIiB0YXJnZXQ9Il9ibGFuayI+eWFuZ2FuZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8Yj5T
dWJqZWN0OjwvYj4gW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg
4oCYd2hlbuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SGkgYWxsLDxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiPkluIFJGQzc5NTAgc2VjdG9uIDgsIHNldmVyYWwgZGVzY3JpcHRp
b24gYWJvdXQgd2hlbjwvc3Bhbj7vvJo8c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBzZWN0aW9uIDxhIGhyZWY9Imh0dHBz
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4yIiB0YXJnZXQ9Il9ibGFu
ayI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3Vy
aWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+OC4yPC9zcGFuPjwvYT48L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJp
ZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7IENvbmZpZ3VyYXRpb24gRGF0YSBNb2Rp
ZmljYXRpb25zPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gz
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyBvJm5ic3A7IElmIGEgcmVxdWVz
dCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnk8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9y
OmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbm9kZSdzICZxdW90O3doZW4m
cXVvdDsgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluIHRoZSBkYXRh
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBw
dDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHRyZWUgd2l0aCB0
aGUgJnF1b3Q7d2hlbiZxdW90OyBleHByZXNzaW9uIGlzIGRlbGV0ZWQgYnkgdGhlIHNlcnZlci48
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoND48c3Bh
biBsYW5nPSJFTi1VUyI+SW4gPGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm
Yzc5NTAjc2VjdGlvbi04LjMuMSIgdGFyZ2V0PSJfYmxhbmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh
Y2s7dGV4dC1kZWNvcmF0aW9uOm5vbmUiPjguMy4xPC9zcGFuPjwvYT48L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJp
ZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7IFBheWxvYWQgUGFyc2luZzwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9oND4NCjxwcmU+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsgbyZuYnNwOyBJZiBkYXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90
OyBpcyBwcmVzZW50IGFuZCB0aGUgJnF1b3Q7d2hlbiZxdW90Ozwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gJnF1b3Q7ZmFsc2UmcXVvdDssIHRoZSBz
ZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJnF1
b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBj
LWVycm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cHJlPg0KPGg0PjxzcGFuIGxhbmc9IkVOLVVTIj5JbiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmll
dGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4yIiB0YXJnZXQ9Il9ibGFuayI+DQo8c3Bh
biBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZx
dW90Oztjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246bm9uZSI+OC4zLjI8L3NwYW4+PC9hPjwv
c3Bhbj48YSBuYW1lPSJtXy0xMzU5MDcwNzIyMTg4MTcxMzYwX21fLTQ1NDI1NzQ4NDc1MzY1Ij48
L2E+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7IE5FVENPTkYNCiAm
bHQ7ZWRpdC1jb25maWcmZ3Q7IFByb2Nlc3Npbmc8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvaDQ+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+TW9kaWZpY2F0aW9uIHJlcXVlc3RzIGZvciBub2Rl
cyB0YWdnZWQgd2l0aCAmcXVvdDt3aGVuJnF1b3Q7LCBhbmQgdGhlICZxdW90O3doZW4mcXVvdDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25kaXRpb24gZXZhbHVhdGVzIHRvICZxdW90
O2ZhbHNlJnF1b3Q7LiZuYnNwOyBJbiB0aGlzIGNhc2UsIHRoZSBzZXJ2ZXIgTVVTVDwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJlcGx5IHdpdGggYW4gJnF1b3Q7dW5rbm93bi1lbGVtZW50
JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+WUFORyBtb2R1bGU8
L3NwYW4+77yaPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPm1vZHVsZSBmb28gezxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyBuYW1lc3BhY2Ug4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdl
dD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ07PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7IHBy
ZWZpeCDigJxmb2/igJ07PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYSB74oCm
fTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVu
dDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIj5MZWFmIGIgezxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVudDoxNS43NXB0Ij4NCjxzcGFu
IGxhbmc9IkVOLVVTIj4mbmJzcDsgV2hlbiDigJxhID0gMTDigJ07PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4g
bGFuZz0iRU4tVVMiPn08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj59PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFu
IGxhbmc9IkVOLVVTIj5TY2VuZSAxOiA8bzpwPjwvbzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJl
cXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAm
bHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7
Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5j
b20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7MyZsdDsvYSZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNv
bmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj5UaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDMuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZn
dDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5i
c3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZp
ZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9
IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5j
b208L2E+4oCdJmd0OzEwJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmbHQ7YiB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0i
X2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7NSZsdDsvYiZndDs8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNvbmZpZyZndDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+QWNjb3JkaW5nIDgu
My4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2Fu
ZGlkYXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZh
bHVhdGVkIHRvIGZhbHNlLA0KIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3duLWVsZW1lbnTi
gJkgZXJyb3IuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjE0LjBwdCI+SXMgaXQgZXhwZWN0ZWQgYnkgdXNlcj88L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+U2NlbmUg
Mjo8bzpwPjwvbzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2Vk
aXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbHQ7Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAm
bHQ7YSB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5o
dHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7MTAmbHQ7L2EmZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7
ICZsdDsvY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhp
cyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAxMC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgc2Vj
b25kIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZu
YnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7
DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0g4oCcPGEgaHJlZj0iaHR0cDov
L2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT7igJ0mZ3Q7MyZsdDsv
YSZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9
IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5j
b208L2E+4oCdJmd0OzUmbHQ7L2ImZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmln
Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxNC4wcHQiPkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwg
dGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMTAsIHNvIGxlYWYgYuKA
mXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvDQogdHJ1ZSwgc2VydmVyIHdpbGwgYWNj
ZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNpbmcgcGhhc2UuIDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPiZuYnNwOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPklu
IGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwgaWYgbGVhZiBh4oCZcyBtb2Rp
ZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRoZSBh4oCZcyB2YWx1ZSB3aWxsIGJlIGNo
YW5nZWQgdG8gMywgc28gdGhlIGLigJlzDQogd2hlbiBjb25kaXRpb24gd2lsbCBiZSBmYWxzZSwg
d2hlbiBzZXJ2ZXIgcHJvY2VzcyBi4oCZcyBtb2RpZmljYXRpb24sIGIgd2lsbCBiZSB0cmVhdGVk
IGFzIHVua25vd24tZWxlbWVudCwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qgd2lsbCBmYWlsLg0K
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBw
dCI+SWYgbGVhZiBi4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHNlcnZl
ciB3aWxsIGFjY2VwdCB0aGlzIG1vZGlmaWNhdGlvbiAsYmVjYXVzZSBi4oCZcyB3aGVuIGNvbmRp
dGlvbiBpcyB0cnVlLCBhbmQgd2hlbiBzZXJ2ZXINCiBwcm9jZXNzIGHigJlzIG1vZGlmaWNhdGlv
biAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVuIGNv
bmRpdGlvbiB3aWxsIGJlIGV2YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRl
ZCBhdXRvbWF0aWNhbGx5LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPiZu
YnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
NC4wcHQiPkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nlc3MgdGhpcyBzaXR1YXRpb24/PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzxi
cj4NCm5ldG1vZCBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86bmV0bW9kQGlldGYu
b3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9hPjxicj4NCjxhIGhyZWY9Imh0
dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kIiB0YXJnZXQ9Il9ibGFu
ayI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2Q8L2E+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0K
PC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_--

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Tue, 10 Sep 2019 02:50:00 GMT";
 modification-date="Tue, 10 Sep 2019 02:50:00 GMT"
Content-ID: <image001.png@01D567C4.E244FA80>
Content-Transfer-Encoding: base64

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
YII=

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2CBF8dggemm513mbxchi_--


From nobody Mon Sep  9 19:56:48 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 25E12120020 for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:56:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 2zbZIVQJVKlw for <netmod@ietfa.amsl.com>; Mon,  9 Sep 2019 19:56:43 -0700 (PDT)
Received: from mail-lj1-x232.google.com (mail-lj1-x232.google.com [IPv6:2a00:1450:4864:20::232]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 929C2120048 for <netmod@ietf.org>; Mon,  9 Sep 2019 19:56:42 -0700 (PDT)
Received: by mail-lj1-x232.google.com with SMTP id a22so14843465ljd.0 for <netmod@ietf.org>; Mon, 09 Sep 2019 19:56:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=K97qk7MJnd+ttNabVqyzLGB5t8cQZ5jckH1PCKuU/3k=; b=t5e1vdjvJDjlRuTKFOReB9GurrkxQhjOXVzwrYIgtvkVYpL6sMTGBIEVrpgKhNT+6E KPO3UHIyqKc6zdW1kXQhFO1wL31SG+zhRQiiaDC2zIWuPhfoJkFxG4TQhoTAnsRwsw4U UVAm1soOjwind/+bEiE2QuXf23mCCGQ6F5VGt528EeKyzLZrlaF77VXI0fYDJVzf4Iqi 6S7rVMek0cEqPN7JK3aeSFgF101Yy1qKnTGwmKMGCol7n+4ofHJ0E5ANgp1tR3Dyyl+m myssFZQuRdhBkQVSX1Stl8NY6lwSIaAwfLuMgdHwEHkiWI9FcQD2EhmUtD5VF2W33afZ l0nA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=K97qk7MJnd+ttNabVqyzLGB5t8cQZ5jckH1PCKuU/3k=; b=DTw7/Z30nu7xMpkk0rDPTyV2HmEA96Xf4aN2DS8QybJYbtMkaKGMTuhlp0Qo9i2osW +qspNrDBkBdZCGgRnN2aLGSP+/Hsq3PgqkEGwjisRQriKCI43hwlFRJ4mysp0bxM4Uk+ NxWPwzG+FyGrnlrF3DyaVrFuM2LKeZCFHo7Tefz97QF7JGBMyvCcn2rdBTjFeTTvwRep oJykqUWyPQZZhYmJbUMNd0TeaIMyuHWMLgsnQlZJmj0YQbsSGr0p5v7Cu7y29RZb0uYG yMEEDMmX/6IfFqspIHMNLBi/3AE56e1fAa/+AWc9kAM65PKkcFBcd1cgjoJLD3bs2881 Z+zw==
X-Gm-Message-State: APjAAAXeUQKkI0mPREtLl7dCAo7yGM8qzcjgw5YLpFuBNiFp7Ql2oWRa WJNGJDo3t9uSkUYIk8fdxODro1LyH5dmbbNeYe0SEw==
X-Google-Smtp-Source: APXvYqxytJlSUatBnTRNSeAXkqTX66cyCdAlqXFMYyVDdsGqUJUK4btjbMcgJ84wGL3XYX/3yiLfmXF3zISLo/BUmAk=
X-Received: by 2002:a2e:990d:: with SMTP id v13mr11199297lji.146.1568084200668;  Mon, 09 Sep 2019 19:56:40 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Mon, 9 Sep 2019 19:56:29 -0700
Message-ID: <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>
Cc: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="000000000000c2672b05922a0d83"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/YFzbmNhAiTf6TCqYnjRSHee7VVQ>
Subject: Re: [netmod]  =?utf-8?q?Please_clarify_implementation_about_=E2=80=98?= =?utf-8?b?d2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Sep 2019 02:56:47 -0000

--000000000000c2672b05922a0d83
Content-Type: multipart/alternative; boundary="000000000000c2672a05922a0d82"

--000000000000c2672a05922a0d82
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <frank.fengchong@huawei.co=
m>
wrote:

> Andy,
>
> Whether all constraints on content in <config> parameter will not be
> evaluated in payload parsing phase, for example, a leaf=E2=80=99s value e=
xceed
> range?
>
> Netconf server should treat it as a block data?
>
>
>

Field validation and datastore validation are 2 different things.
when-stmt processing is neither. It is by far the hardest part of an
automated server to get right.


> Another question:
>
>
>
> In edit-config processing phase, whether constraints on content in
> <config> parameter needs be evaluated?
>
> If yes, when  configuration modification cause when condition is evaluate=
d
> to false, the node tagged when will be automatically deleted by system.
>
> Then, in scene 2, whether different result would occur according differen=
t
> process order?
>
>

Since the <config> parameter is anyxml, the YANG constraints defined on
datastore contents
are not enforced as part of RPC input validation.

It would be nice if NETCONF defined behavior for providing <config> data
that will get deleted
immediately by the server.  We have a CLI parameter for this since some
vendors want to
treat this as an error and other just silently delete nodes.  Note that
when-stmt can silently
delete existing nodes not included in the edit. (Lada does not agree this
is how it should work,
so we need yang-next to decide. Maybe NETCONF needs a --force parameter for
this purpose.)


Andy



> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 10:19
> *=E6=94=B6=E4=BB=B6=E4=BA=BA:* Fengchong (frank) <frank.fengchong@huawei.=
com>
> *=E6=8A=84=E9=80=81:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@ie=
tf.org; Yangang <
> yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
> frank.fengchong@huawei.com> wrote:
>
> Hi andy,
>
>
>
> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>
>
>
> Do you have any opinion about my question?
>
>
>
> 8.3.1 does not apply to leaf 'b'.
>
> The RPC parameter is called 'config'.
>
> It has no when-stmts to evaluate.
>
> Rob is correct.
>
> His example shows what 8.3.1 would cover.
>
>
>
> Andy
>
>
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 1:14
> *=E6=94=B6=E4=BB=B6=E4=BA=BA:* Rob Wilton (rwilton) <rwilton@cisco.com>
> *=E6=8A=84=E9=80=81:* Fengchong (frank) <frank.fengchong@huawei.com>; net=
mod@ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
> Hi,
>
>
>
> None of the operations that accept or return datastore contents expose th=
e
> datastore objects
>
> in the RPC parameters.  They are always anyxml or anydata. This means tha=
t
>
> there are no descendant data nodes defined at all according to the RPC
> operation
>
> and therefore the constraints on those nodes do not exist in the RPC
> operation either.
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>

--000000000000c2672a05922a0d82
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Mon, Sep 9, 2019 at 7:40 PM Fengch=
ong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com">frank.fengcho=
ng@huawei.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi=
ng-left:1ex">





<div lang=3D"ZH-CN">
<div class=3D"gmail-m_-7080609217597534168WordSection1">
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Andy,<u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether all constraints on =
content in &lt;config&gt; parameter will not be evaluated in payload parsin=
g phase, for example, a leaf=E2=80=99s value exceed range?<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Netconf server should treat=
 it as a block data?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0</span></p></d=
iv></div></blockquote><div><br></div><div>Field validation and datastore va=
lidation are 2 different things.</div><div>when-stmt processing is neither.=
 It is by far the hardest part of an automated server to get right.</div><d=
iv>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang=
=3D"ZH-CN"><div class=3D"gmail-m_-7080609217597534168WordSection1"><p class=
=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:C=
alibri,sans-serif;color:rgb(31,73,125)"><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Another question:<u></u><u>=
</u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">In edit-config processing p=
hase, whether constraints on content in &lt;config&gt; parameter needs be e=
valuated?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If yes, when =C2=A0configur=
ation modification cause when condition is evaluated to false, the node tag=
ged when will be automatically deleted by system.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Then, in scene 2, whether d=
ifferent result would occur according different process order?<u></u><u></u=
></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u></span></p></div></d=
iv></blockquote><div><br></div><div><br></div><div>Since the &lt;config&gt;=
 parameter is anyxml, the YANG constraints defined on datastore contents</d=
iv><div>are not enforced as part of RPC input validation.</div><div><br></d=
iv><div>It would be nice if NETCONF defined behavior for providing &lt;conf=
ig&gt; data that will get deleted</div><div>immediately by the server.=C2=
=A0 We have a CLI parameter for this since some vendors want to</div><div>t=
reat this as an error and other just silently delete nodes.=C2=A0 Note that=
 when-stmt can silently</div><div>delete existing nodes not included in the=
 edit. (Lada does not agree this is how it should work,</div><div>so we nee=
d yang-next to decide. Maybe NETCONF needs a --force parameter for this pur=
pose.)</div><div><br></div><div><br></div><div>Andy</div><div><br></div><di=
v><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang=3D"=
ZH-CN"><div class=3D"gmail-m_-7080609217597534168WordSection1"><p class=3D"=
MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calib=
ri,sans-serif;color:rgb(31,73,125)">=C2=A0<u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8<span lang=3D"EN-U=
S"> Huawei Technologies Co., Ltd.<u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img width=3D"102" height=3D"32" id=3D"gmail-m_-7080609217597534168=E5=9B=
=BE=E7=89=87_x0020_2" src=3D"cid:16d1912b02f4cff311" alt=3D"Company_logo"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2<span lang=3D"EN-US"><br>
</span>=E6=89=8B=E3=80=80=E3=80=80=E6=9C=BA=EF=BC=9A<span lang=3D"EN-US">13=
776612983<br>
</span>=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengcho=
ng@huawei.com</a><br>
</span>=E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a><u></u>=
<u></u></span></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
=EF=BB=BF</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:A=
rial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US" style=
=3D"color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA<span=
 lang=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:=
11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Andy Bie=
rman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@y=
umaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<span lang=
=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> 2019</span><s=
pan style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">=E5=B9=B4<span lang=3D"EN-US">9</span>=E6=9C=88<span lang=
=3D"EN-US">10</span>=E6=97=A5<span lang=3D"EN-US">
 10:19<br>
</span><b>=E6=94=B6=E4=BB=B6=E4=BA=BA<span lang=3D"EN-US">:</span></b><span=
 lang=3D"EN-US"> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@hu=
awei.com" target=3D"_blank">frank.fengchong@huawei.com</a>&gt;<br>
</span><b>=E6=8A=84=E9=80=81<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" targe=
t=3D"_blank">rwilton@cisco.com</a>&gt;; <a href=3D"mailto:netmod@ietf.org" =
target=3D"_blank">netmod@ietf.org</a>; Yangang &lt;<a href=3D"mailto:yangan=
g@huawei.com" target=3D"_blank">yangang@huawei.com</a>&gt;<br>
</span><b>=E4=B8=BB=E9=A2=98<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Re: [netmod] Please clarify implementation about
</span>=E2=80=98<span lang=3D"EN-US">when</span>=E2=80=99<span lang=3D"EN-U=
S"><u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:10 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt; wrote:<u></u><u></u></span><=
/p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?</span><span lang=3D"EN-US"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">8.3.1 does not apply to leaf &#=
39;b&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The RPC parameter is called &#3=
9;config&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It has no when-stmts to evaluat=
e.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Rob is correct.<u></u><u></u></=
span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">His example shows what 8.3.1 wo=
uld cover.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8<span lang=3D"EN-U=
S"> Huawei Technologies Co., Ltd.</span></span><span lang=3D"EN-US"><u></u>=
<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" id=3D"gmail-m_-70806092175975=
34168m_-1746658151094362872gmail-m_-4542574847536570289=E5=9B=BE=E7=89=87_x=
0020_2" src=3D"cid:16d1912b02f4cff311" alt=3D"Company_logo"></span><span la=
ng=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2<span lang=3D"EN-US"><br>
</span>=E6=89=8B=E3=80=80=E3=80=80=E6=9C=BA=EF=BC=9A<span lang=3D"EN-US">13=
776612983<br>
</span>=E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengcho=
ng@huawei.com</a><br>
</span>=E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9A<span lang=3D"EN-US"><a=
 href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a></span>=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
=EF=BB=BF</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:A=
rial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA<span=
 lang=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:=
11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<span lang=
=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> 2019</span><s=
pan style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">=E5=B9=B4<span lang=3D"EN-US">9</span>=E6=9C=88<span lang=
=3D"EN-US">10</span>=E6=97=A5<span lang=3D"EN-US">
 1:14<br>
</span><b>=E6=94=B6=E4=BB=B6=E4=BA=BA<span lang=3D"EN-US">:</span></b><span=
 lang=3D"EN-US"> Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.c=
om" target=3D"_blank">rwilton@cisco.com</a>&gt;<br>
</span><b>=E6=8A=84=E9=80=81<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com"=
 target=3D"_blank">frank.fengchong@huawei.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b>=E4=B8=BB=E9=A2=98<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Re: [netmod] Please clarify implementation about
</span>=E2=80=98<span lang=3D"EN-US">when</span>=E2=80=99</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects<u></u><u></u>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt; wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the result=
 of the config datastore after the edit-config has been applied is valid.</=
span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For =
=E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the result=
 of the config datastore after the edit-config has been applied is invalid.=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0 E.g. if the RPC was
 defined something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.=
1 would enforce that a zip-code can only be provided if the country is the =
USA.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-US"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-US"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-US"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-US"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-US"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about =E2=80=98when=
=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0</span><span lang=3D"EN-U=
S"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span>=EF=BC=9A<span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 Configuration Data Modi=
fications</span><span lang=3D"EN-US"><u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><span lang=3D"EN-US" style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0=
 Payload Parsing</span><span lang=3D"EN-US"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_-7080609217597=
534168_m_-1746658151094362872_m_-45425748475365"></a><span lang=3D"EN-US" s=
tyle=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=
=C2=A0 NETCONF
 &lt;edit-config&gt; Processing</span><span lang=3D"EN-US"><u></u><u></u></=
span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-US"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span>=EF=BC=9A<spa=
n lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace =E2=80=
=9C<a href=3D"http://foo.com" target=3D"_blank">http://foo.com</a>=E2=80=9D=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix =E2=80=9Cfo=
o=E2=80=9D;<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {=E2=80=A6}<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When =E2=80=9Ca =3D 10=E2=80=9D;<u></u><u></u><=
/span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: <u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false,
 server will report =E2=80=98unknown-element=E2=80=99 error.</span><span la=
ng=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:<u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;10&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;3&lt;/a&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D =E2=80=9C<a href=3D"http://foo.com" target=3D"_blank">http:/=
/foo.com</a>=E2=80=9D&gt;5&lt;/b&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in candidate=
 datastore is 10, so leaf b=E2=80=99s when condition is evaluated to
 true, server will accept this request in payload parsing phase. </span><sp=
an lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a=E2=80=99s modification is proc=
essed firstly, the a=E2=80=99s value will be changed to 3, so the b=E2=80=
=99s
 when condition will be false, when server process b=E2=80=99s modification=
, b will be treated as unknown-element, the edit-config request will fail.
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b=E2=80=99s modification is processed firstly, server will accept this mo=
dification ,because b=E2=80=99s when condition is true, and when server
 process a=E2=80=99s modification , this modification will be accepted, and=
 b=E2=80=99s when condition will be evaluated to false, leaf b will be dele=
ted automatically, the edit-config request will be OK.</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-US"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div></div>

--000000000000c2672a05922a0d82--

--000000000000c2672b05922a0d83
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d1912b02f4cff311>
X-Attachment-Id: 16d1912b02f4cff311

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
YII=
--000000000000c2672b05922a0d83--


From nobody Tue Sep 10 17:03:51 2019
Return-Path: <kaduk@mit.edu>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0706B120074; Tue, 10 Sep 2019 17:03:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 uEAKcKY1clu8; Tue, 10 Sep 2019 17:03:45 -0700 (PDT)
Received: from outgoing.mit.edu (outgoing-auth-1.mit.edu [18.9.28.11]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id CF6A8120013; Tue, 10 Sep 2019 17:03:44 -0700 (PDT)
Received: from kduck.mit.edu ([24.16.140.251]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id x8B03c6W016279 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 10 Sep 2019 20:03:41 -0400
Date: Tue, 10 Sep 2019 19:03:38 -0500
From: Benjamin Kaduk <kaduk@mit.edu>
To: Kent Watsen <kent+ietf@watsen.net>
Cc: The IESG <iesg@ietf.org>, "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, "netmod@ietf.org" <netmod@ietf.org>
Message-ID: <20190911000337.GQ18198@kduck.mit.edu>
References: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com> <0100016d0372debf-16e6e132-b334-41b3-ad9c-953fd9314963-000000@email.amazonses.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <0100016d0372debf-16e6e132-b334-41b3-ad9c-953fd9314963-000000@email.amazonses.com>
User-Agent: Mutt/1.10.1 (2018-07-13)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/0icg3aA4-ZSOSLETMnF5FKzZOyA>
Subject: Re: [netmod] Benjamin Kaduk's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Sep 2019 00:03:49 -0000

On Thu, Sep 05, 2019 at 10:02:03PM +0000, Kent Watsen wrote:
> Hi Ben,
> 
> Thank you for your review.  Comments below.
> 
> Update @ https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10 <https://tools.ietf.org/html/draft-ietf-netmod-artwork-folding-10>
> 
> Kent // as co-author
> 
> 
> > On Sep 5, 2019, at 2:07 AM, Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
> > 
> > Benjamin Kaduk has entered the following ballot position for
> > draft-ietf-netmod-artwork-folding-09: Discuss
> > 
> > When responding, please keep the subject line intact and reply to all
> > email addresses included in the To and CC lines. (Feel free to cut this
> > introductory paragraph, however.)
> > 
> > 
> > Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
> > for more information about IESG DISCUSS and COMMENT positions.
> > 
> > 
> > The document, along with other ballot positions, can be found here:
> > https://datatracker.ietf.org/doc/draft-ietf-netmod-artwork-folding/
> > 
> > 
> > 
> > ----------------------------------------------------------------------
> > DISCUSS:
> > ----------------------------------------------------------------------
> > 
> > I think the procedures described herein are incomplete without a footer
> > to terminate the un-folding process.  Otherwise, it seems that the
> > described algorithms would leave the two-line header for the second and
> > subsequent instances of folded text in a single document.  (If we tried
> > to just blindly remove all instances of the header without seeking
> > boundaries, then we would misreconstruct content when different folding
> > algorithms are used in the same document with the single-backslash
> > algorithm occurring first.)
> 
> Are you referring to when an RFC contains multiple inclusions and one is
> trying to unfold them all at once?   That's not the intention here, as

Yes, that was what I was thinking; sorry for missing or misinterpreting the
notes in Sections 7.2/8.2.

> noted in paragraph 3 in both sections 7.2 and 8.2.  FWIW, this sounds
> like the framing problem that the WG discussed with the conclusion that
> extracting from plain-text is dead, now that XML is the required
> submission format, and XML provides a superior framing mechanism than any
> footer we could add.
> 
> BTW, yes, each text inclusion in a single RFC may independently be folded
> using either the '\' or '\\' strategy, with the recommendation that '\'
> always be tried first and '\\' only used when '\' fails.
> 
> If referring to a single text content instance, could you provide an
> example illustrating the concern?
> 
> 
> 
> 
> > I don't think it's proper to refer to a script that requires bash
> > specifically as a "POSIX shell script".  I did not attmept to check
> > whether any bash-specific features are used or this requirements stems
> > solely from the shebang line, though.
> 
> I just changed "POSIX" to "Bash" in the title for Appendix A.
> 
> Not that it matters, but "--posix" is passed into `bash` on the first
> line of the script  ;)
> 
> 
> 
> > I think the shell script does need to use double-quotes around some
> > variable expansions, especially "$infile" and "$outfile", to work
> > properly for filenames containing spaces.  We do quote "$infile" when
> > we're checking that it exists, just not (most of the time) when we
> > actually use it!
> 
> Updated.
> 
> 
> 
> > In addition to the above, I also share Alissa's (and Mirja's) concerns,
> > but feel that Discuss is more appropriate than Abstain, so we can
> > discuss what the best way to get this content published is.  For it's
> > fine content, and we should see it published; it's just not immediately
> > clear to me what the right way to do so is.
> 
> Agreed.   For now, I've changed it to Informational, but I think there
> remains a discussion around if the draft should be re-rerun through the
> IAB stream.   My responses today to Alissa's Abstain and Suresh Discuss
> dig into this.  Is it okay to use those threads for this item?

Please do; this point was mostly intended to make sure that we didn't
inadvertently approve the document while those discussions were still going
on.

> 
> > ----------------------------------------------------------------------
> > COMMENT:
> > ----------------------------------------------------------------------
> > 
> > Section 4.1
> > 
> >   Automated folding of long lines is needed in order to support draft
> >   compilations that entail a) validation of source input files (e.g.,
> >   XML, JSON, ABNF, ASN.1) and/or b) dynamic generation of output, using
> >   a tool that doesn't observe line lengths, that is stitched into the
> >   final document to be submitted.
> > 
> > I don't think the intended meaning of "source input files" will be
> > clear to all readers just from this text.  Some discussion of how RFCs
> > can consider source code, data structures, generated output, etc., that
> > have standalone representations and natural formats, and the need to
> > display their contents in the RFC format that has different
> > requirements might be helpful context for this paragraph and the next.
> 
> Is the updated text more understandable?

Yes, thanks

> 
> 
> > Section 7.1.2
> > 
> > For some reason my mental model of "RFC style" does not use the word
> > "really" in this way, and prefers alternatives like "very" or
> > "exceptionally".  (Also in Section 8.1.2.)
> 
> s/Really/Exceptionally/ in both cases.
> 
> 
> > Section 7.2.1
> > 
> >   1.  Determine where the fold will occur.  This location MUST be
> >   before or at the desired maximum column, and MUST NOT be chosen such
> >   that the character immediately after the fold is a space (' ')
> >   character.  For forced foldings, the location is between the
> > 
> > This is a rather awkward natural line break.  I suggest an RFC Editor
> > note to make sure that the punctuation around the space character all
> > appears on the same line.
> 
> RFC Editor note added, near the top of the draft.
> 
> 
> 
> >   3.  On the following line, insert any number of space (' ')
> >   characters.
> > 
> > I'm not sure I'd characterize the procedure as "complete" when it
> > leaves the value of the output subject to implementation choice such as
> > this.  (Note that the next paragraph talks about the resulting
> > "arbitrary number of space" characters, and would presumably also need
> > to be adjusted if this text was adjusted.) We also don't seem to bound
> > this number of spaces to be fewer than the target line length, which
> > only matters in some weirdly pedantic sense.
> 
> Added "subject to the resulting line not exceeding the desired maximum"
> to both locations in the draft.
> 
> 
> 
> > Section 7.2.2
> > 
> >   Scan the beginning of the text content for the header described in
> >   Section 7.1.1.  If the header is not present, starting on the first
> >   line of the text content, exit (this text contents does not need to
> >   be unfolded).
> > 
> > I'm not sure I understand what "starting on the first line of the text
> > content" is intended to mean.  (Also in 8.2.2.)
> 
> I think you are saying that it seems overly prescriptive, given that the
> previous sentence says "beginning" and "header", it defies logic that the
> header might not start on the first line and, by this text calling it
> out, it suggests something special is going on.   Is this what you mean?
> To be clear, the only intention here is to catch the case whereby there
> might be, e.g., some blank lines preceding the header.   Do you think the
> "starting on the first line of the text content" fragment should be
> removed?

I think I was too confused by the text to be complaining that it was overly
prescriptive :(
I guess my complaint is that it seems ambiguous whether this is "the
procedure says: start on the first line of text content, and check for the
header" or "If the header is not present [anywhere in the content], start
on the first line of content, and exit".  That is, I think the order in
which the clauses appear confuses me, with perhaps some exacerbation by
verb tense.  I support being able to cope with some blank lines preceding
the header!

> > Section 8.2.1
> > 
> >   If this text content needs to and can be folded, insert the header
> >   described in Section 8.1.1, ensuring that any additional printable
> >   characters surrounding the header do not result in a line exceeding
> >   the desired maximum.
> > 
> > We discussed above some cases when text could not be folded using the
> > algorithm from Section 7.2.1; in what case could text not be folded
> > with this algorithm?  Just the case when the implementation doesn't
> > support forced folding?
> 
> Yes, that's the only case known.   But what does this have to do with
> Section 8.2.1?  Are you keying off of the "needs to" part?   Is it okay?

I was just trying to check that we have given the reader enough information
to ascertain the "can be folded" result.

> > Section 10
> > 
> > We should warn against implementations scanning past the end of a
> > buffer (containing the entire contents of a file) when checking what's
> > in the beginning of the next line -- if a file ends with a backslash
> > and "end of line" but no further content, we could perform an out of
> > bounds access if the code assumes it is safe to check for the next
> > line's initial content.
> 
> Both Sections 7.2.2 and 8.2.2 describe conditions to determine when
> unfolding occurs. AFIACT, in both cases, the unfolding algorithm stays
> within the bounds of those conditions.  

These procedures are fine if you're operating in a context where you
interact with the text corpus via "get next line" operations.  But I don't
think we have limited ourselves to such contexts; consider the case where I
(foolishly) write text-processing code in C, and read(2) the text in
question into a memory buffer.  I'm on my own for linebreak detection, and
if I start peeking past escape characters, it's not so hard to imagine that
I could fail to check for "end of buffer" and trigger undefined behavior.

> For instance, given the input sequence [ '\' '\n' EOF] , the 7.2.2
> algorithm would replace it with [ EOF ] and the 8.2.2 algorithm wouldn't
> even attempt to unfold it since the condition of the next line containing
> a second '\' character isn't met.
> 
> Is this Security Consideration needed?

Well, it's a nonblocking comment.  So if the above description seems
totally implausible to you, I can accept it not being included in the
document.

> 
> 
> > Section 12.2
> > 
> > I think that RFC 7991 could be normative, since we say "per RFC 7991"
> > to describe some requirements on behavior.  Likewise for RFC 7994,
> > whose character encoding requirements we incorporate by reference.
> 
> Given that this format may be used in contexts outside the IETF, it seems
> that understanding RFC 7991 is optional.  Agreed?

For most of the occurrences of 7991 references, I agree with you.  The only
one that makes me think otherwise is in Section 7.1.2:

   The character encoding is the same as described in Section 2 of
   [RFC7994], except that, per [RFC7991], tab characters are prohibited.

which is a statement of behavior that defers to an external specification.

> 
> 
> > Appendix A
> > 
> > I could perhaps argue that we should include a reference to POSIX for
> > "POSIX shell script" but find it somewhat hard to believe that this
> > would be a problem in practice.  It's also moot since we require bash
> > specifically, so we'd need to reference bash instead of POSIX.
> 
> Per above, "POSIX" is now "Bash" in the title.   I added an Informative
> reference for Bash.

Thanks!

> 
> >   copy/paste the script for local use.  As should be evident by the
> >   lack of the mandatory header described in Section 7.1.1, these
> >   backslashes do not designate a folded line, such as described in
> >   Section 7.
> > 
> > It perhaps should be, but I think currently is not -- we only talk
> > about using the two-line header to detect instances of folding, without
> > mention of a requirement to be contained within <CODE BEGINS>/<CODE
> > ENDS> or similar.
> 
> Correct.  The 2-line header is missing.  That <CODE BEGINS>/<CODE ENDS>
> appears is secondary.  Is there anything to be done here?

In light of the previous discussion about extracting artwork individually
from the document, probably not.
Though it seems the -10 has added a line-wrapping header to the script,
which seems to be inadvertent, if I understand correctly.

> > It seems that my perception of "common shell style" diverges from that
> > presented in this document, which is not necessarily problematic.
> > (Things like what diagnostics go to stdout vs. stderr, use or ">
> > /dev/null" vs ">> /dev/null", etc.)
> 
> I fixed one "> /dev/null" case.

Heh, I was trying to say that I prefer to always write "> /dev/null", while
acknowledging that my preference is irrelevant for this document.  I'm glad
it helped to fix a consistency nit, though!

> As for style, we could review line by line but, for the cases where
> output is directed to /dev/null/, it's unclear where the output is
> needed, only the exit code status ever seems to matter.  
> 
> 
> >     printf "Usage: rfcfold [-s <strategy>] [-c <col>] [-r] -i <infile>"
> >     printf " -o <outfile>\n"
> > 
> > This summary usage line doesn't mention -d, -q, or -h.  (Maybe it
> > doesn't have to, of course.)
> 
> Added.
> 
> 
> >     # ensure input file doesn't contain a TAB grep $'\t' $infile >>
> >     /dev/null 2>&1
> > 
> > (`grep -q` is a thing, here and elsewhere.)
> 
> Added.
> 
> 
> >     # unfold wip file "$SED" '{H;$!d};x;s/^\n//;s/\\\n *//g'
> >     $temp_dir/wip > $outfile
> > 
> > [I don't remember why the s/^\n// is needed; similarly for the
> > unfold_it_2() case.]
> 
> Erik responded to this point already.
> 
> 
> >     if [[ $strategy -eq 2 ]]; then min_supported=`expr ${#hdr_txt_2} +
> >     8` else min_supported=`expr ${#hdr_txt_1} + 8` fi
> > 
> > On the face of it this seems like it will produce "folded" output that
> > exceeds the line length, when we give min_supported of 54, use
> > autodetection of strategy, and have input that is incompatible with
> > fold_it_1().
> 
> Fixed off-by-one error.
> 
> 
> 
> >     process_input $@
> > 
> > Need double-quotes around "$@" to properly handle arguments with
> > embedded spaces.
> 
> Added.

Thanks!

I'll try to find time to look at the new script with an eye for quoting,
and update my position in the datatracker; please start complaining if I
haven't done so and the other threads about where/how to publish have come
to a conclusion.

-Ben


From nobody Tue Sep 10 17:58:50 2019
Return-Path: <internet-drafts@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id B0D521207FC; Tue, 10 Sep 2019 17:58:41 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.101.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: netmod@ietf.org
Message-ID: <156816352160.22365.5278354083213675388@ietfa.amsl.com>
Date: Tue, 10 Sep 2019 17:58:41 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/dv5ErV-pbXOrLK1PeiGd9tVmRyw>
Subject: [netmod] I-D Action: draft-ietf-netmod-factory-default-03.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Sep 2019 00:58:43 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Modeling WG of the IETF.

        Title           : Factory Default Setting
        Authors         : Qin Wu
                          Balazs Lengyel
                          Ye Niu
	Filename        : draft-ietf-netmod-factory-default-03.txt
	Pages           : 11
	Date            : 2019-09-10

Abstract:
   This document defines a method to reset a server to its factory-
   default content.  The reset operation may be used e.g. during initial
   zero-touch configuration or when the existing configuration has major
   errors, so re-starting the configuration process from scratch is the
   best option.

   A new factory-reset RPC is defined.  Several methods of documenting
   the factory-default content are specified.

   Optionally a new "factory-default" read-only datastore is defined,
   that contains the data that will be copied over to the running
   datastore at reset.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netmod-factory-default/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-netmod-factory-default-03
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-factory-default-03

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-factory-default-03


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

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


From nobody Tue Sep 10 18:05:44 2019
Return-Path: <bill.wu@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8BF851200E0 for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 18:05:43 -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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 D2iF0U87vdyn for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 18:05:41 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 66884120232 for <netmod@ietf.org>; Tue, 10 Sep 2019 18:05:41 -0700 (PDT)
Received: from lhreml704-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 43DC48ADCEDB647CEC66 for <netmod@ietf.org>; Wed, 11 Sep 2019 02:05:38 +0100 (IST)
Received: from DGGEML404-HUB.china.huawei.com (10.3.17.39) by lhreml704-cah.china.huawei.com (10.201.108.45) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 11 Sep 2019 02:05:37 +0100
Received: from DGGEML511-MBX.china.huawei.com ([169.254.1.20]) by DGGEML404-HUB.china.huawei.com ([fe80::b177:a243:7a69:5ab8%31]) with mapi id 14.03.0439.000; Wed, 11 Sep 2019 09:05:34 +0800
From: Qin Wu <bill.wu@huawei.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: [netmod] I-D Action: draft-ietf-netmod-factory-default-03.txt
Thread-Index: AdVoPP6GsPpUVszOSBa5zS0I7FodWw==
Date: Wed, 11 Sep 2019 01:05:34 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAA92F6FB9@dggeml511-mbx.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.31.203]
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/5cN9b-Mcb2-_NLjmTDdooYjTPpY>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-factory-default-03.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Sep 2019 01:05:43 -0000

di0wMyBpcyBwb3N0ZWQsIHRoZSBtYWluIGNoYW5nZSBpcyB0byB1cGRhdGUgc2VjdXJpdHkgc2Vj
dGlvbiB0byBhZGRyZXNzIGNvbW1lbnRzIHJhaXNlZCBpbiBsYXN0IElFVEYgbWVldGluZy4NCmh0
dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2h0bWwvZHJhZnQtaWV0Zi1uZXRtb2QtZmFj
dG9yeS1kZWZhdWx0LTAzDQoNCi1RaW4NCi0tLS0t08q8/tStvP4tLS0tLQ0Kt6K8/sjLOiBuZXRt
b2QgW21haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZ10gtPqx7SBpbnRlcm5ldC1kcmFmdHNA
aWV0Zi5vcmcNCreiy83KsbzkOiAyMDE5xOo51MIxMcjVIDg6NTkNCsrVvP7IyzogaS1kLWFubm91
bmNlQGlldGYub3JnDQqzrcvNOiBuZXRtb2RAaWV0Zi5vcmcNCtb3zOI6IFtuZXRtb2RdIEktRCBB
Y3Rpb246IGRyYWZ0LWlldGYtbmV0bW9kLWZhY3RvcnktZGVmYXVsdC0wMy50eHQNCg0KDQpBIE5l
dyBJbnRlcm5ldC1EcmFmdCBpcyBhdmFpbGFibGUgZnJvbSB0aGUgb24tbGluZSBJbnRlcm5ldC1E
cmFmdHMgZGlyZWN0b3JpZXMuDQpUaGlzIGRyYWZ0IGlzIGEgd29yayBpdGVtIG9mIHRoZSBOZXR3
b3JrIE1vZGVsaW5nIFdHIG9mIHRoZSBJRVRGLg0KDQogICAgICAgIFRpdGxlICAgICAgICAgICA6
IEZhY3RvcnkgRGVmYXVsdCBTZXR0aW5nDQogICAgICAgIEF1dGhvcnMgICAgICAgICA6IFFpbiBX
dQ0KICAgICAgICAgICAgICAgICAgICAgICAgICBCYWxhenMgTGVuZ3llbA0KICAgICAgICAgICAg
ICAgICAgICAgICAgICBZZSBOaXUNCglGaWxlbmFtZSAgICAgICAgOiBkcmFmdC1pZXRmLW5ldG1v
ZC1mYWN0b3J5LWRlZmF1bHQtMDMudHh0DQoJUGFnZXMgICAgICAgICAgIDogMTENCglEYXRlICAg
ICAgICAgICAgOiAyMDE5LTA5LTEwDQoNCkFic3RyYWN0Og0KICAgVGhpcyBkb2N1bWVudCBkZWZp
bmVzIGEgbWV0aG9kIHRvIHJlc2V0IGEgc2VydmVyIHRvIGl0cyBmYWN0b3J5LQ0KICAgZGVmYXVs
dCBjb250ZW50LiAgVGhlIHJlc2V0IG9wZXJhdGlvbiBtYXkgYmUgdXNlZCBlLmcuIGR1cmluZyBp
bml0aWFsDQogICB6ZXJvLXRvdWNoIGNvbmZpZ3VyYXRpb24gb3Igd2hlbiB0aGUgZXhpc3Rpbmcg
Y29uZmlndXJhdGlvbiBoYXMgbWFqb3INCiAgIGVycm9ycywgc28gcmUtc3RhcnRpbmcgdGhlIGNv
bmZpZ3VyYXRpb24gcHJvY2VzcyBmcm9tIHNjcmF0Y2ggaXMgdGhlDQogICBiZXN0IG9wdGlvbi4N
Cg0KICAgQSBuZXcgZmFjdG9yeS1yZXNldCBSUEMgaXMgZGVmaW5lZC4gIFNldmVyYWwgbWV0aG9k
cyBvZiBkb2N1bWVudGluZw0KICAgdGhlIGZhY3RvcnktZGVmYXVsdCBjb250ZW50IGFyZSBzcGVj
aWZpZWQuDQoNCiAgIE9wdGlvbmFsbHkgYSBuZXcgImZhY3RvcnktZGVmYXVsdCIgcmVhZC1vbmx5
IGRhdGFzdG9yZSBpcyBkZWZpbmVkLA0KICAgdGhhdCBjb250YWlucyB0aGUgZGF0YSB0aGF0IHdp
bGwgYmUgY29waWVkIG92ZXIgdG8gdGhlIHJ1bm5pbmcNCiAgIGRhdGFzdG9yZSBhdCByZXNldC4N
Cg0KDQpUaGUgSUVURiBkYXRhdHJhY2tlciBzdGF0dXMgcGFnZSBmb3IgdGhpcyBkcmFmdCBpczoN
Cmh0dHBzOi8vZGF0YXRyYWNrZXIuaWV0Zi5vcmcvZG9jL2RyYWZ0LWlldGYtbmV0bW9kLWZhY3Rv
cnktZGVmYXVsdC8NCg0KVGhlcmUgYXJlIGFsc28gaHRtbGl6ZWQgdmVyc2lvbnMgYXZhaWxhYmxl
IGF0Og0KaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL2RyYWZ0LWlldGYtbmV0bW9kLWZhY3Rv
cnktZGVmYXVsdC0wMw0KaHR0cHM6Ly9kYXRhdHJhY2tlci5pZXRmLm9yZy9kb2MvaHRtbC9kcmFm
dC1pZXRmLW5ldG1vZC1mYWN0b3J5LWRlZmF1bHQtMDMNCg0KQSBkaWZmIGZyb20gdGhlIHByZXZp
b3VzIHZlcnNpb24gaXMgYXZhaWxhYmxlIGF0Og0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjZGlm
Zj91cmwyPWRyYWZ0LWlldGYtbmV0bW9kLWZhY3RvcnktZGVmYXVsdC0wMw0KDQoNClBsZWFzZSBu
b3RlIHRoYXQgaXQgbWF5IHRha2UgYSBjb3VwbGUgb2YgbWludXRlcyBmcm9tIHRoZSB0aW1lIG9m
IHN1Ym1pc3Npb24gdW50aWwgdGhlIGh0bWxpemVkIHZlcnNpb24gYW5kIGRpZmYgYXJlIGF2YWls
YWJsZSBhdCB0b29scy5pZXRmLm9yZy4NCg0KSW50ZXJuZXQtRHJhZnRzIGFyZSBhbHNvIGF2YWls
YWJsZSBieSBhbm9ueW1vdXMgRlRQIGF0Og0KZnRwOi8vZnRwLmlldGYub3JnL2ludGVybmV0LWRy
YWZ0cy8NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
Cm5ldG1vZCBtYWlsaW5nIGxpc3QNCm5ldG1vZEBpZXRmLm9yZw0KaHR0cHM6Ly93d3cuaWV0Zi5v
cmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2QNCg==


From nobody Tue Sep 10 18:30:37 2019
Return-Path: <frank.fengchong@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A349F1200E0 for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 18:30:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 z9SvhCZl9ynE for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 18:30:31 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 62AB91207FC for <netmod@ietf.org>; Tue, 10 Sep 2019 18:30:30 -0700 (PDT)
Received: from lhreml707-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 966A48F400FC120598DA for <netmod@ietf.org>; Wed, 11 Sep 2019 02:30:28 +0100 (IST)
Received: from lhreml726-chm.china.huawei.com (10.201.108.77) by lhreml707-cah.china.huawei.com (10.201.108.48) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 11 Sep 2019 02:30:27 +0100
Received: from lhreml726-chm.china.huawei.com (10.201.108.77) by lhreml726-chm.china.huawei.com (10.201.108.77) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Sep 2019 02:30:27 +0100
Received: from DGGEMM404-HUB.china.huawei.com (10.3.20.212) by lhreml726-chm.china.huawei.com (10.201.108.77) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Wed, 11 Sep 2019 02:30:27 +0100
Received: from DGGEMM513-MBX.china.huawei.com ([169.254.1.120]) by DGGEMM404-HUB.china.huawei.com ([10.3.20.212]) with mapi id 14.03.0439.000; Wed, 11 Sep 2019 09:28:55 +0800
From: "Fengchong (frank)" <frank.fengchong@huawei.com>
To: Andy Bierman <andy@yumaworks.com>
CC: "Rob Wilton (rwilton)" <rwilton@cisco.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg?= =?utf-8?B?4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVZxRY9YCq6AlKlkifU9HZTydEwqcjD5kAgAEZNBD//39HgIAAiQWw//+BUYCAAfcTwA==
Date: Wed, 11 Sep 2019 01:28:54 +0000
Message-ID: <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com>
In-Reply-To: <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com>
Accept-Language: en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.40.226]
Content-Type: multipart/related; boundary="_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DZVxazKHIwzinMKG3Q8ZreqYXzw>
Subject: [netmod] =?utf-8?b?562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50?= =?utf-8?b?YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Sep 2019 01:30:36 -0000

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_"

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

QW5keSwNCg0KV2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9jY3VyIGFjY29yZGluZyBk
aWZmZXJlbnQgcHJvY2VzcyBvcmRlcj8NCkFjY29yZGluZyA4LjMuMg0KaWYgc2VydmVyIHByb2Nl
c3Mg4oCYYT0gM+KAmSBmaXJzdGx5LCBiIHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0gYW5kIGJl
Y29tZXMgYSBub24tZXhpc3Qgc2NoZW1hIG5vZGUsIGFuZCB0aGVuICB3aGVuIOKAmGI9NeKAmSBp
cyBwcm9jZXNzZWQgLCBzZXJ2ZXIgd2lsbCByZXBvcnQgYSDigJh1bmtub3duLWVsZW1lbnTigJkg
ZXJyb3IuDQpCdXQgaWYgc2VydmVyIHByb2Nlc3Mg4oCYYj014oCZIGZpcnN0bHksIGl0IHdpbGwg
YmUgYWNjZXB0ZWQgYnkgc2VydmVyLCBhbmQgdGhlbiB3aGVuIOKAmGE9M+KAmSBpcyBwcm9jZXNz
ZWQsIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5c3RlbSwgYnV0IHJlcG9ydCBPSy4NCg0KSWYgc2Vj
IDguMy4yIGlzIG5vdCByaWdodC4gV2hhdCBpcyB0aGUgcmlnaHQ/DQpXaGVuIG5vZGUgYSBhbmQg
bm9kZSBiIGluIHRoZSBzYW1lIHJlcXVlc3QsIGFuZCBiIHRhZ2dlZCB3aGVuIGNvbmRpdGlvbiwg
YeKAmXMgdmFsdWUgd2lsbCBjYXVzZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZh
bHNlLCB3aGljaCBpcyBtb3JlIHByaW9yPw0KQWNjb3JkaW5nIHlvdSBhbmQgUm9i4oCZcyBpbnRl
cnByZXRhdGlvbiAsIG1heWJlIG5vZGUg4oCZYeKAmSBpcyBtb3JlIHByaW9yPyBJZiB5ZXMsIHdo
eSBub2RlIOKAmGLigJkgc2hvdWxkIGJlIHByb2Nlc3NlZCBsYXRlcj8NCg0KSSB0aGluayB3aGV0
aGVyIGluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UgdGhlIGNvbmZpZ3VyYXRpb24gdGFn
Z2VkIHdoZW4gc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQgYW5kIGJlIGRlbGF5ZWQgdG8gY29tbWl0
IG9yIHZhbGlkYXRlPw0KV2hlbiBjb21taXQgb3IgdmFsaWRhdGUgb3BlcmF0aW9uIGlzIGlzc3Vl
ZCwgIHRoZSBkYXRhIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBldmFsdWF0ZWQsIGFuZCBpZiBp
dOKAmXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB0aGlzIGRhdGEgd2lsbCBiZSBkZWxldGVkIGJ5IHN5
c3RlbSBpbW1lZGlhdGVseSwgc2VydmVyIHNob3VsZCBub3QgcmVwb3J0IGFueSBlcnJvci4NCg0K
DQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs
5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6
562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDmnLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu2
77yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20NCuWFrOWPuOe9keWdgO+8mnd3dy5odWF3ZWku
Y29tDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K77u/IOacrOmCruS7tuWPiuWF
tumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemA
gee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgQ0K5q2i5Lu7
5L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo
6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25Lit
DQrnmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPn
lLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIENClRoaXMg
ZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRp
b24gZnJvbSBIVUFXRUksIHdoaWNoDQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9y
IGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCmlu
Zm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90
IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwg
b3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZA0KcmVj
aXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVy
cm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCnBob25lIG9yIGVtYWlsIGltbWVkaWF0
ZWx5IGFuZCBkZWxldGUgaXQhDQoNCuWPkeS7tuS6ujogQW5keSBCaWVybWFuIFttYWlsdG86YW5k
eUB5dW1hd29ya3MuY29tXQ0K5Y+R6YCB5pe26Ze0OiAyMDE55bm0OeaciDEw5pelIDEwOjU2DQrm
lLbku7bkuro6IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4N
CuaKhOmAgTogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPjsgbmV0bW9k
QGlldGYub3JnOyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQrkuLvpopg6IFJlOiBbbmV0
bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQoNCg0K
DQpPbiBNb24sIFNlcCA5LCAyMDE5IGF0IDc6NDAgUE0gRmVuZ2Nob25nIChmcmFuaykgPGZyYW5r
LmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+
IHdyb3RlOg0KQW5keSwNCldoZXRoZXIgYWxsIGNvbnN0cmFpbnRzIG9uIGNvbnRlbnQgaW4gPGNv
bmZpZz4gcGFyYW1ldGVyIHdpbGwgbm90IGJlIGV2YWx1YXRlZCBpbiBwYXlsb2FkIHBhcnNpbmcg
cGhhc2UsIGZvciBleGFtcGxlLCBhIGxlYWbigJlzIHZhbHVlIGV4Y2VlZCByYW5nZT8NCk5ldGNv
bmYgc2VydmVyIHNob3VsZCB0cmVhdCBpdCBhcyBhIGJsb2NrIGRhdGE/DQoNCg0KRmllbGQgdmFs
aWRhdGlvbiBhbmQgZGF0YXN0b3JlIHZhbGlkYXRpb24gYXJlIDIgZGlmZmVyZW50IHRoaW5ncy4N
CndoZW4tc3RtdCBwcm9jZXNzaW5nIGlzIG5laXRoZXIuIEl0IGlzIGJ5IGZhciB0aGUgaGFyZGVz
dCBwYXJ0IG9mIGFuIGF1dG9tYXRlZCBzZXJ2ZXIgdG8gZ2V0IHJpZ2h0Lg0KDQpBbm90aGVyIHF1
ZXN0aW9uOg0KDQpJbiBlZGl0LWNvbmZpZyBwcm9jZXNzaW5nIHBoYXNlLCB3aGV0aGVyIGNvbnN0
cmFpbnRzIG9uIGNvbnRlbnQgaW4gPGNvbmZpZz4gcGFyYW1ldGVyIG5lZWRzIGJlIGV2YWx1YXRl
ZD8NCklmIHllcywgd2hlbiAgY29uZmlndXJhdGlvbiBtb2RpZmljYXRpb24gY2F1c2Ugd2hlbiBj
b25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB0aGUgbm9kZSB0YWdnZWQgd2hlbiB3aWxs
IGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCBieSBzeXN0ZW0uDQpUaGVuLCBpbiBzY2VuZSAyLCB3
aGV0aGVyIGRpZmZlcmVudCByZXN1bHQgd291bGQgb2NjdXIgYWNjb3JkaW5nIGRpZmZlcmVudCBw
cm9jZXNzIG9yZGVyPw0KDQoNClNpbmNlIHRoZSA8Y29uZmlnPiBwYXJhbWV0ZXIgaXMgYW55eG1s
LCB0aGUgWUFORyBjb25zdHJhaW50cyBkZWZpbmVkIG9uIGRhdGFzdG9yZSBjb250ZW50cw0KYXJl
IG5vdCBlbmZvcmNlZCBhcyBwYXJ0IG9mIFJQQyBpbnB1dCB2YWxpZGF0aW9uLg0KDQpJdCB3b3Vs
ZCBiZSBuaWNlIGlmIE5FVENPTkYgZGVmaW5lZCBiZWhhdmlvciBmb3IgcHJvdmlkaW5nIDxjb25m
aWc+IGRhdGEgdGhhdCB3aWxsIGdldCBkZWxldGVkDQppbW1lZGlhdGVseSBieSB0aGUgc2VydmVy
LiAgV2UgaGF2ZSBhIENMSSBwYXJhbWV0ZXIgZm9yIHRoaXMgc2luY2Ugc29tZSB2ZW5kb3JzIHdh
bnQgdG8NCnRyZWF0IHRoaXMgYXMgYW4gZXJyb3IgYW5kIG90aGVyIGp1c3Qgc2lsZW50bHkgZGVs
ZXRlIG5vZGVzLiAgTm90ZSB0aGF0IHdoZW4tc3RtdCBjYW4gc2lsZW50bHkNCmRlbGV0ZSBleGlz
dGluZyBub2RlcyBub3QgaW5jbHVkZWQgaW4gdGhlIGVkaXQuIChMYWRhIGRvZXMgbm90IGFncmVl
IHRoaXMgaXMgaG93IGl0IHNob3VsZCB3b3JrLA0Kc28gd2UgbmVlZCB5YW5nLW5leHQgdG8gZGVj
aWRlLiBNYXliZSBORVRDT05GIG5lZWRzIGEgLS1mb3JjZSBwYXJhbWV0ZXIgZm9yIHRoaXMgcHVy
cG9zZS4pDQoNCg0KQW5keQ0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
CuWNjuS4uuaKgOacr+aciemZkOWFrOWPuCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLg0K
W0NvbXBhbnlfbG9nb10NCuS4quS6uuetvuWQje+8muWGr+WGsg0K5omL44CA44CA5py677yaMTM3
NzY2MTI5ODMNCueUteWtkOmCruS7tu+8mmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0
bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCuWFrOWPuOe9keWdgO+8mnd3dy5odWF3ZWku
Y29tPGh0dHA6Ly93d3cuaHVhd2VpLmNvbT4NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQrvu78g5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G
5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq6
5oiW576k57uE44CC56aBDQrmraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjv
vIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbjgIHm
iJbmlaPlj5HvvInmnKzpgq7ku7bkuK0NCueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huac
rOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWI
oOmZpOacrOmCruS7tu+8gQ0KVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWlu
IGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCmlzIGludGVuZGVk
IG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFi
b3ZlLiBBbnkgdXNlIG9mIHRoZQ0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkg
d2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KZGlz
Y2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVy
IHRoYW4gdGhlIGludGVuZGVkDQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJl
Y2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0K
cGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCg0K5Y+R5Lu25Lq6OiBB
bmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdv
cmtzLmNvbT5dDQrlj5HpgIHml7bpl7Q6IDIwMTnlubQ55pyIMTDml6UgMTA6MTkNCuaUtuS7tuS6
ujogRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1haWx0bzpm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+DQrmioTpgIE6IFJvYiBXaWx0b24gKHJ3aWx0b24p
IDxyd2lsdG9uQGNpc2NvLmNvbTxtYWlsdG86cndpbHRvbkBjaXNjby5jb20+PjsgbmV0bW9kQGll
dGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+OyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5j
b208bWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbT4+DQrkuLvpopg6IFJlOiBbbmV0bW9kXSBQbGVh
c2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQoNCg0KDQpPbiBNb24s
IFNlcCA5LCAyMDE5IGF0IDc6MTAgUE0gRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9u
Z0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+IHdyb3RlOg0K
SGkgYW5keSwNCg0KWW91IG9ubHkgdGFsayBhYm91dCB0aGUgY29uc3RyYWludHMgb24gcnBjIG9w
ZXJhdGlvbuKAmXMgcGFyYW1ldGVyPw0KDQpEbyB5b3UgaGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBt
eSBxdWVzdGlvbj8NCg0KOC4zLjEgZG9lcyBub3QgYXBwbHkgdG8gbGVhZiAnYicuDQpUaGUgUlBD
IHBhcmFtZXRlciBpcyBjYWxsZWQgJ2NvbmZpZycuDQpJdCBoYXMgbm8gd2hlbi1zdG10cyB0byBl
dmFsdWF0ZS4NClJvYiBpcyBjb3JyZWN0Lg0KSGlzIGV4YW1wbGUgc2hvd3Mgd2hhdCA4LjMuMSB3
b3VsZCBjb3Zlci4NCg0KQW5keQ0KDQoNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18NCuWNjuS4uuaKgOacr+aciemZkOWFrOWPuCBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRk
Lg0KW0NvbXBhbnlfbG9nb10NCuS4quS6uuetvuWQje+8muWGr+WGsg0K5omL44CA44CA5py677ya
MTM3NzY2MTI5ODMNCueUteWtkOmCruS7tu+8mmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPG1h
aWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCuWFrOWPuOe9keWdgO+8mnd3dy5odWF3
ZWkuY29tPGh0dHA6Ly93d3cuaHVhd2VpLmNvbT4NCl9fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fDQrvu78g5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d
5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq
5Lq65oiW576k57uE44CC56aBDQrmraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/n
lKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbj
gIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK0NCueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6
huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5
tuWIoOmZpOacrOmCruS7tu+8gQ0KVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250
YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCmlzIGludGVu
ZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVk
IGFib3ZlLiBBbnkgdXNlIG9mIHRoZQ0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBh
bnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0K
ZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90
aGVyIHRoYW4gdGhlIGludGVuZGVkDQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91
IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBi
eQ0KcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCg0K5Y+R5Lu25Lq6
OiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVt
YXdvcmtzLmNvbT5dDQrlj5HpgIHml7bpl7Q6IDIwMTnlubQ55pyIMTDml6UgMToxNA0K5pS25Lu2
5Lq6OiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0
b25AY2lzY28uY29tPj4NCuaKhOmAgTogRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdjaG9u
Z0BodWF3ZWkuY29tPG1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4+OyBuZXRtb2RA
aWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2Vp
LmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4NCuS4u+mimDogUmU6IFtuZXRtb2RdIFBs
ZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkNCg0KSGksDQoNCk5v
bmUgb2YgdGhlIG9wZXJhdGlvbnMgdGhhdCBhY2NlcHQgb3IgcmV0dXJuIGRhdGFzdG9yZSBjb250
ZW50cyBleHBvc2UgdGhlIGRhdGFzdG9yZSBvYmplY3RzDQppbiB0aGUgUlBDIHBhcmFtZXRlcnMu
ICBUaGV5IGFyZSBhbHdheXMgYW55eG1sIG9yIGFueWRhdGEuIFRoaXMgbWVhbnMgdGhhdA0KdGhl
cmUgYXJlIG5vIGRlc2NlbmRhbnQgZGF0YSBub2RlcyBkZWZpbmVkIGF0IGFsbCBhY2NvcmRpbmcg
dG8gdGhlIFJQQyBvcGVyYXRpb24NCmFuZCB0aGVyZWZvcmUgdGhlIGNvbnN0cmFpbnRzIG9uIHRo
b3NlIG5vZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBDIG9wZXJhdGlvbiBlaXRoZXIuDQoNCg0K
DQpPbiBNb24sIFNlcCA5LCAyMDE5IGF0IDY6NDEgQU0gUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3
aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbT4+IHdyb3RlOg0KSGkgRnJh
bmssDQoNCk15IGludGVycHJldGF0aW9uIG9mIHdoYXQgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBp
cyBhcyBmb2xsb3dzLg0KDQpGb3Ig4oCcc2NlbmUgMeKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMg
YWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVy
IHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZhbGlkLg0KDQpGb3Ig4oCcc2Nl
bmUgMuKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0
IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBh
cHBsaWVkIGlzIGludmFsaWQuDQoNCk15IGludGVycHJldGF0aW9uIGlzIHRoYXQgdGhlIGJsb2Nr
IG9mIHRleHQgaW4gOC4zLjEgcGF5bG9hZCBwYXJzaW5nIGlzIHByaW1hcnkgaW50ZW5kZWQgdG8g
cmVmZXIgdG8gUkZDIGlucHV0LiAgRS5nLiBpZiB0aGUgUlBDIHdhcyBkZWZpbmVkIHNvbWV0aGlu
ZyBsaWtlIGJlbG93LCB0aGVuIHRoZSDigJh3aGVu4oCZIHJ1bGUgaW4gOC4zLjEgd291bGQgZW5m
b3JjZSB0aGF0IGEgemlwLWNvZGUgY2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgdGhlIGNvdW50cnkg
aXMgdGhlIFVTQS4NCg0KICAgICAgIHJwYyByb2NrLXRoZS1ob3VzZSB7DQogICAgICAgICBpbnB1
dCB7DQogICAgICAgICAgIGxlYWYgY291bnRyeSB7DQogICAgICAgICAgICAgdHlwZSBzdHJpbmc7
DQogICAgICAgICAgIH0NCiAgICAgICAgICAgbGVhZiB6aXAtY29kZSB7DQogICAgICAgICAgICAg
d2hlbiDigJwuLi9jb3VudHJ5ID0g4oCYdXNh4oCZ4oCdOw0KICAgICAgICAgICAgIHR5cGUgc3Ry
aW5nOw0KICAgICAgICAgICB9DQogICAgICAgICB9DQogICAgICAgfQ0KDQpUaGFua3MsDQpSb2IN
Cg0KDQoNCkZyb206IG5ldG1vZCA8bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc8bWFpbHRvOm5ldG1v
ZC1ib3VuY2VzQGlldGYub3JnPj4gT24gQmVoYWxmIE9mIEZlbmdjaG9uZyAoZnJhbmspDQpTZW50
OiAwNiBTZXB0ZW1iZXIgMjAxOSAwODoxOQ0KVG86IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0
bW9kQGlldGYub3JnPg0KQ2M6IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFu
Z2FuZ0BodWF3ZWkuY29tPj4NClN1YmplY3Q6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxl
bWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkNCg0KSGkgYWxsLA0KDQpJbiBSRkM3OTUwIHNlY3Rv
biA4LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0IHdoZW7vvJoNCkluIHNlY3Rpb24gOC4yPGh0
dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4yPi4gIENvbmZpZ3Vy
YXRpb24gRGF0YSBNb2RpZmljYXRpb25zDQogICBvICBJZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBj
b25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNoIHRoYXQgYW55DQogICAgICBub2RlJ3MgIndoZW4i
IGV4cHJlc3Npb24gYmVjb21lcyBmYWxzZSwgdGhlbiB0aGUgbm9kZSBpbiB0aGUgZGF0YQ0KICAg
ICAgdHJlZSB3aXRoIHRoZSAid2hlbiIgZXhwcmVzc2lvbiBpcyBkZWxldGVkIGJ5IHRoZSBzZXJ2
ZXIuDQpJbiA4LjMuMTxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9u
LTguMy4xPi4gIFBheWxvYWQgUGFyc2luZw0KDQogICBvICBJZiBkYXRhIGZvciBhIG5vZGUgdGFn
Z2VkIHdpdGggIndoZW4iIGlzIHByZXNlbnQgYW5kIHRoZSAid2hlbiINCg0KICAgICAgY29uZGl0
aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLCB0aGUgc2VydmVyIE1VU1QgcmVwbHkgd2l0aCBhbg0K
DQogICAgICAidW5rbm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4u
DQoNCkluIDguMy4yPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24t
OC4zLjI+LiAgTkVUQ09ORiA8ZWRpdC1jb25maWc+IFByb2Nlc3NpbmcNCg0KTW9kaWZpY2F0aW9u
IHJlcXVlc3RzIGZvciBub2RlcyB0YWdnZWQgd2l0aCAid2hlbiIsIGFuZCB0aGUgIndoZW4iDQoN
CiAgICAgIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gImZhbHNlIi4gIEluIHRoaXMgY2FzZSwgdGhl
IHNlcnZlciBNVVNUDQoNCiAgICAgIHJlcGx5IHdpdGggYW4gInVua25vd24tZWxlbWVudCIgPGVy
cm9yLXRhZz4gaW4gdGhlIDxycGMtZXJyb3I+Lg0KDQpZQU5HIG1vZHVsZe+8mg0KbW9kdWxlIGZv
byB7DQogICBuYW1lc3BhY2Ug4oCcaHR0cDovL2Zvby5jb23igJ07DQogICBwcmVmaXgg4oCcZm9v
4oCdOw0KTGVhZiBhIHvigKZ9DQpMZWFmIGIgew0KICBXaGVuIOKAnGEgPSAxMOKAnTsNCn0NCn0N
ClNjZW5lIDE6DQpUaGUgZmlyc3QgZWRpdC1jb25maWcgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4N
CiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZp
Zz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT4zPC9hPg0KICAgPC9jb25m
aWc+DQo8L2VkaXQtY29uZmlnPg0KVGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAzLg0KDQpUaGUg
c2Vjb25kIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRp
ZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0
cDovL2Zvby5jb23igJ0+MTA8L2E+DQogICAgICA8YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23i
gJ0+NTwvYj4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NCg0KQWNjb3JkaW5nIDguMy4x
LCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlk
YXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVh
dGVkIHRvIGZhbHNlLCBzZXJ2ZXIgd2lsbCByZXBvcnQg4oCYdW5rbm93bi1lbGVtZW504oCZIGVy
cm9yLg0KSXMgaXQgZXhwZWN0ZWQgYnkgdXNlcj8NClNjZW5lIDI6DQpUaGUgZmlyc3QgZWRpdC1j
b25maWcgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlk
YXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRw
Oi8vZm9vLmNvbeKAnT4xMDwvYT4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NClRoaXMg
cmVxdWVzdCB3aWxsIHNldCBhID0gMTAuDQoNClRoZSBzZWNvbmQgcmVxdWVzdDoNCjxlZGl0LWNv
bmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAg
PGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT4zPC9hPg0KICAg
ICAgPGIgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjU8L2I+DQogICA8L2NvbmZpZz4NCjwv
ZWRpdC1jb25maWc+DQpBY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhh
c2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDEwLCBzbyBsZWFm
IGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlLCBzZXJ2ZXIgd2lsbCBh
Y2NlcHQgdGhpcyByZXF1ZXN0IGluIHBheWxvYWQgcGFyc2luZyBwaGFzZS4NCg0KSW4gZWRpdC1j
b25maWcgcmVxdWVzdCBwcm9jZXNzaW5nIHBoYXNlLCBpZiBsZWFmIGHigJlzIG1vZGlmaWNhdGlv
biBpcyBwcm9jZXNzZWQgZmlyc3RseSwgdGhlIGHigJlzIHZhbHVlIHdpbGwgYmUgY2hhbmdlZCB0
byAzLCBzbyB0aGUgYuKAmXMgd2hlbiBjb25kaXRpb24gd2lsbCBiZSBmYWxzZSwgd2hlbiBzZXJ2
ZXIgcHJvY2VzcyBi4oCZcyBtb2RpZmljYXRpb24sIGIgd2lsbCBiZSB0cmVhdGVkIGFzIHVua25v
d24tZWxlbWVudCwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qgd2lsbCBmYWlsLg0KSWYgbGVhZiBi
4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHNlcnZlciB3aWxsIGFjY2Vw
dCB0aGlzIG1vZGlmaWNhdGlvbiAsYmVjYXVzZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyB0cnVl
LCBhbmQgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBh4oCZcyBtb2RpZmljYXRpb24gLCB0aGlzIG1vZGlm
aWNhdGlvbiB3aWxsIGJlIGFjY2VwdGVkLCBhbmQgYuKAmXMgd2hlbiBjb25kaXRpb24gd2lsbCBi
ZSBldmFsdWF0ZWQgdG8gZmFsc2UsIGxlYWYgYiB3aWxsIGJlIGRlbGV0ZWQgYXV0b21hdGljYWxs
eSwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qgd2lsbCBiZSBPSy4NCg0KSG93IHNlcnZlciBzaG91
bGQgcHJvY2VzcyB0aGlzIHNpdHVhdGlvbj8NCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCm5ldG1vZCBtYWlsaW5nIGxpc3QNCm5ldG1vZEBpZXRmLm9y
ZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPg0KaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9s
aXN0aW5mby9uZXRtb2QNCg==

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNhbGlicmk7DQoJ
cGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eTrlvq7ova/pm4Xpu5E7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEg
MSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlvq7ova/pm4Xpu5EiOw0KCXBh
bm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpw
Lk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJ
bWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6
5a6L5L2TO30NCmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiLm
oIfpopggMyBDaGFyIjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6
MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglm
b250LXNpemU6MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQpoNA0KCXttc28tc3R5bGUt
cHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQgQ2hhciI7DQoJbXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCgltc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZh
bWlseTrlrovkvZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJp
b3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6
dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6
OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJ
e21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzl
vI8gQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0Kc3Bhbi4zQ2hhcg0KCXttc28tc3R5
bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0
eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250LWZhbWlseTrlrovkvZM7DQoJZm9udC13ZWlnaHQ6
Ym9sZDt9DQpzcGFuLjRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiLmoIfpopggNCBDaGFyIjsNCglt
c28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQiOw0KCWZvbnQt
ZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOw0KCWZvbnQtd2VpZ2h0OmJvbGQ7fQ0K
c3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUtbmFtZToiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7
DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHlsZS1saW5rOiJIVE1MIOmihOiuvuag
vOW8jyI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs
c2Fucy1zZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHls
ZS10eXBlOmV4cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30N
CkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIu
MHB0IDkwLjBwdCA3Mi4wcHQgOTAuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3Jk
U2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBl
ZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0t
LT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4N
CjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1s
PjwhW2VuZGlmXS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxpbms9ImJsdWUiIHZs
aW5rPSJwdXJwbGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QW5keSw8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj5XaGV0aGVyIGRpZmZlcmVudCByZXN1bHQgd291bGQgb2NjdXIgYWNjb3JkaW5n
IGRpZmZlcmVudCBwcm9jZXNzIG9yZGVyPw0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0QiPkFjY29yZGluZyA4LjMuMjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5pZiBz
ZXJ2ZXIgcHJvY2VzcyDigJhhPSAz4oCZIGZpcnN0bHksIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5
c3RlbSBhbmQgYmVjb21lcyBhIG5vbi1leGlzdA0KIHNjaGVtYSBub2RlLCBhbmQgdGhlbiAmbmJz
cDt3aGVuIOKAmGI9NeKAmSBpcyBwcm9jZXNzZWQgLCBzZXJ2ZXIgd2lsbCByZXBvcnQgYSDigJh1
bmtub3duLWVsZW1lbnTigJkgZXJyb3IuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Qi
PkJ1dCBpZiBzZXJ2ZXIgcHJvY2VzcyDigJhiPTXigJkgZmlyc3RseSwgaXQgd2lsbCBiZSBhY2Nl
cHRlZCBieSBzZXJ2ZXIsIGFuZCB0aGVuIHdoZW4g4oCYYT0z4oCZDQogaXMgcHJvY2Vzc2VkLCBi
IHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0sIGJ1dCByZXBvcnQgT0suPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij5JZiBzZWMgOC4zLjIgaXMgbm90IHJpZ2h0LiBXaGF0IGlzIHRoZSByaWdodD88bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+V2hlbiBub2RlIGEgYW5kIG5vZGUgYiBpbiB0aGUgc2Ft
ZSByZXF1ZXN0LCBhbmQgYiB0YWdnZWQgd2hlbiBjb25kaXRpb24sIGHigJlzIHZhbHVlIHdpbGwN
CiBjYXVzZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB3aGljaCBpcyBt
b3JlIHByaW9yPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5BY2NvcmRpbmcgeW91
IGFuZCBSb2LigJlzIGludGVycHJldGF0aW9uICwgbWF5YmUgbm9kZSDigJlh4oCZIGlzIG1vcmUg
cHJpb3I/IElmIHllcywgd2h5IG5vZGUNCiDigJhi4oCZIHNob3VsZCBiZSBwcm9jZXNzZWQgbGF0
ZXI/IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+SSB0aGluayB3aGV0aGVyIGluIGVkaXQtY29uZmlnIHByb2Nl
c3NpbmcgcGhhc2UgdGhlIGNvbmZpZ3VyYXRpb24gdGFnZ2VkIHdoZW4gc2hvdWxkIG5vdA0KIGJl
IGV2YWx1YXRlZCBhbmQgYmUgZGVsYXllZCB0byBjb21taXQgb3IgdmFsaWRhdGU/PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPldoZW4gY29tbWl0IG9yIHZhbGlkYXRlIG9wZXJhdGlv
biBpcyBpc3N1ZWQsJm5ic3A7IHRoZSBkYXRhIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBldmFs
dWF0ZWQsDQogYW5kIGlmIGl04oCZcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoaXMgZGF0YSB3aWxs
IGJlIGRlbGV0ZWQgYnkgc3lzdGVtIGltbWVkaWF0ZWx5LCBzZXJ2ZXIgc2hvdWxkIG5vdCByZXBv
cnQgYW55IGVycm9yLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNl
bnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4NCjxociBz
aXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Y2O5Li65oqA5pyv
5pyJ6ZmQ5YWs5Y+4PHNwYW4gbGFuZz0iRU4tVVMiPiBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwg
THRkLjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxpbWcgd2lkdGg9IjEwMiIg
aGVpZ2h0PSIzMiIgaWQ9IuWbvueJh194MDAyMF8yIiBzcmM9ImNpZDppbWFnZTAwMS5wbmdAMDFE
NTY4N0YuRjYxMzFBNDAiIGFsdD0iQ29tcGFueV9sb2dvIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Liq5Lq6
562+5ZCN77ya5Yav5YayPHNwYW4gbGFuZz0iRU4tVVMiPjxicj4NCjwvc3Bhbj7miYvjgIDjgIDm
nLrvvJo8c3BhbiBsYW5nPSJFTi1VUyI+MTM3NzY2MTI5ODM8YnI+DQo8L3NwYW4+55S15a2Q6YKu
5Lu277yaPHNwYW4gbGFuZz0iRU4tVVMiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPGJyPg0K
PC9zcGFuPuWFrOWPuOe9keWdgO+8mjxzcGFuIGxhbmc9IkVOLVVTIj53d3cuaHVhd2VpLmNvbTxv
OnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWdu
PSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJjb2xvcjojMUY0OTdEIj4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNl
bnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+77u/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6Z3JheSI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVw
dDtjb2xvcjpncmF5Ij7mnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTk
v53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTk
uKrkurrmiJbnvqTnu4TjgILnpoE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpn
cmF5Ij7mraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjvvIjljIXmi6zkvYbk
uI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbjgIHmiJbmlaPlj5HvvInm
nKzpgq7ku7bkuK08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48
YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7nmoTk
v6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53m
iJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJp
YWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQpUaGlzIGUtbWFpbCBhbmQgaXRz
IGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJ
LCB3aGljaA0KPGJyPg0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkg
d2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQo8YnI+DQppbmZv
cm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBs
aW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQo8YnI+DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rp
b24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQg
PGJyPg0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1t
YWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCjxicj4NCnBob25lIG9y
IGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48
bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5Em
cXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9z
cGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4g
W21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb21dDQo8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPuWPkemAgeaXtumXtDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48
L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gMjAxOTwvc3Bhbj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVv
dDssc2Fucy1zZXJpZiI+5bm0PHNwYW4gbGFuZz0iRU4tVVMiPjk8L3NwYW4+5pyIPHNwYW4gbGFu
Zz0iRU4tVVMiPjEwPC9zcGFuPuaXpTxzcGFuIGxhbmc9IkVOLVVTIj4NCiAxMDo1Njxicj4NCjwv
c3Bhbj48Yj7mlLbku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFu
Zz0iRU4tVVMiPiBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b20mZ3Q7PGJyPg0KPC9zcGFuPjxiPuaKhOmAgTxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwv
Yj48c3BhbiBsYW5nPSJFTi1VUyI+IFJvYiBXaWx0b24gKHJ3aWx0b24pICZsdDtyd2lsdG9uQGNp
c2NvLmNvbSZndDs7IG5ldG1vZEBpZXRmLm9yZzsgWWFuZ2FuZyAmbHQ7eWFuZ2FuZ0BodWF3ZWku
Y29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7kuLvpopg8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48
L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBSZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVt
ZW50YXRpb24gYWJvdXQNCjwvc3Bhbj7igJg8c3BhbiBsYW5nPSJFTi1VUyI+d2hlbjwvc3Bhbj7i
gJk8c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4m
bmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyI+T24gTW9uLCBTZXAgOSwgMjAxOSBhdCA3OjQwIFBNIEZlbmdj
aG9uZyAoZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b20iPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVy
LWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdp
bi1sZWZ0OjQuOHB0O21hcmdpbi1yaWdodDowY20iPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
QW5keSw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj5XaGV0aGVyIGFsbCBjb25zdHJhaW50cyBvbiBjb250ZW50IGluICZsdDtjb25maWcm
Z3Q7IHBhcmFtZXRlciB3aWxsIG5vdCBiZSBldmFsdWF0ZWQgaW4gcGF5bG9hZA0KIHBhcnNpbmcg
cGhhc2UsIGZvciBleGFtcGxlLCBhIGxlYWbigJlzIHZhbHVlIGV4Y2VlZCByYW5nZT88L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5OZXRj
b25mIHNlcnZlciBzaG91bGQgdHJlYXQgaXQgYXMgYSBibG9jayBkYXRhPzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rp
dj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkZpZWxkIHZhbGlkYXRpb24gYW5k
IGRhdGFzdG9yZSB2YWxpZGF0aW9uIGFyZSAyIGRpZmZlcmVudCB0aGluZ3MuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPndoZW4tc3RtdCBwcm9jZXNzaW5nIGlzIG5laXRoZXIuIEl0IGlzIGJ5IGZhciB0
aGUgaGFyZGVzdCBwYXJ0IG9mIGFuIGF1dG9tYXRlZCBzZXJ2ZXIgdG8gZ2V0IHJpZ2h0LjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxi
bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu
MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJp
Z2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5Bbm90aGVyIHF1ZXN0aW9uOjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZu
YnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UsIHdoZXRoZXIgY29uc3RyYWlu
dHMgb24gY29udGVudCBpbiAmbHQ7Y29uZmlnJmd0OyBwYXJhbWV0ZXINCiBuZWVkcyBiZSBldmFs
dWF0ZWQ/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+SWYgeWVzLCB3aGVuICZuYnNwO2NvbmZpZ3VyYXRpb24gbW9kaWZpY2F0aW9uIGNh
dXNlIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwgdGhlDQogbm9kZSB0YWdn
ZWQgd2hlbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCBieSBzeXN0ZW0uPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+VGhlbiwg
aW4gc2NlbmUgMiwgd2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9jY3VyIGFjY29yZGlu
ZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxh
bmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+U2luY2UgdGhlICZsdDtjb25m
aWcmZ3Q7IHBhcmFtZXRlciBpcyBhbnl4bWwsIHRoZSBZQU5HIGNvbnN0cmFpbnRzIGRlZmluZWQg
b24gZGF0YXN0b3JlIGNvbnRlbnRzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPmFyZSBub3QgZW5mb3Jj
ZWQgYXMgcGFydCBvZiBSUEMgaW5wdXQgdmFsaWRhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkl0IHdvdWxkIGJlIG5pY2UgaWYgTkVUQ09ORiBk
ZWZpbmVkIGJlaGF2aW9yIGZvciBwcm92aWRpbmcgJmx0O2NvbmZpZyZndDsgZGF0YSB0aGF0IHdp
bGwgZ2V0IGRlbGV0ZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+aW1tZWRpYXRlbHkgYnkgdGhlIHNl
cnZlci4mbmJzcDsgV2UgaGF2ZSBhIENMSSBwYXJhbWV0ZXIgZm9yIHRoaXMgc2luY2Ugc29tZSB2
ZW5kb3JzIHdhbnQgdG88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+dHJlYXQgdGhpcyBhcyBhbiBlcnJv
ciBhbmQgb3RoZXIganVzdCBzaWxlbnRseSBkZWxldGUgbm9kZXMuJm5ic3A7IE5vdGUgdGhhdCB3
aGVuLXN0bXQgY2FuIHNpbGVudGx5PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPmRlbGV0ZSBleGlzdGlu
ZyBub2RlcyBub3QgaW5jbHVkZWQgaW4gdGhlIGVkaXQuIChMYWRhIGRvZXMgbm90IGFncmVlIHRo
aXMgaXMgaG93IGl0IHNob3VsZCB3b3JrLDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5zbyB3ZSBuZWVk
IHlhbmctbmV4dCB0byBkZWNpZGUuIE1heWJlIE5FVENPTkYgbmVlZHMgYSAtLWZvcmNlIHBhcmFt
ZXRlciBmb3IgdGhpcyBwdXJwb3NlLik8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5BbmR5PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpw
Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk
ZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFy
Z2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246
Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhy
IHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuWNjuS4uuaK
gOacr+aciemZkOWFrOWPuDxzcGFuIGxhbmc9IkVOLVVTIj4gSHVhd2VpIFRlY2hub2xvZ2llcyBD
by4sIEx0ZC48L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Y29sb3I6IzFGNDk3RCI+PGltZyBib3JkZXI9IjAiIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIiIGlk
PSJnbWFpbC1tXy03MDgwNjA5MjE3NTk3NTM0MTY45Zu+54mHX3gwMDIwXzIiIHNyYz0iY2lkOmlt
YWdlMDAxLnBuZ0AwMUQ1Njg3Ri5GNjEzMUE0MCIgYWx0PSJDb21wYW55X2xvZ28iPjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Liq5Lq6562+5ZCN77ya5Yav5Yay
PHNwYW4gbGFuZz0iRU4tVVMiPjxicj4NCjwvc3Bhbj7miYvjgIDjgIDmnLrvvJo8c3BhbiBsYW5n
PSJFTi1VUyI+MTM3NzY2MTI5ODM8YnI+DQo8L3NwYW4+55S15a2Q6YKu5Lu277yaPHNwYW4gbGFu
Zz0iRU4tVVMiPjxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFy
Z2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj7l
hazlj7jnvZHlnYDvvJo8c3BhbiBsYW5nPSJFTi1VUyI+PGEgaHJlZj0iaHR0cDovL3d3dy5odWF3
ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3Lmh1YXdlaS5jb208L2E+PC9zcGFuPjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBjbGFzcz0iTXNv
Tm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEw
MCUiIGFsaWduPSJjZW50ZXIiPg0KPC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPu+7vzwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtB
cmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O
5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A
5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
Ny41cHQ7Y29sb3I6Z3JheSI+5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So
77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB
5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29s
b3I6Z3JheSI+55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo
56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yB
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KVGhpcyBl
LW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlv
biBmcm9tIEhVQVdFSSwgd2hpY2gNCjxicj4NCmlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJz
b24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRo
ZQ0KPGJyPg0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRp
bmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KPGJyPg0KZGlzY2xvc3Vy
ZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4g
dGhlIGludGVuZGVkIDxicj4NCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVj
ZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQo8
YnI+DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0ITwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PHNwYW4gbGFu
Zz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMt
c2VyaWYiPg0KIEFuZHkgQmllcm1hbiBbbWFpbHRvOjxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3
b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5hbmR5QHl1bWF3b3Jrcy5jb208L2E+XQ0KPGJyPg0K
PC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5HpgIHml7bpl7Q8c3BhbiBsYW5nPSJF
Ti1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJp
ZiI+IDIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDxzcGFuIGxhbmc9IkVOLVVT
Ij45PC9zcGFuPuaciDxzcGFuIGxhbmc9IkVOLVVTIj4xMDwvc3Bhbj7ml6U8c3BhbiBsYW5nPSJF
Ti1VUyI+DQogMTA6MTk8YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMi
Pjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gRmVuZ2Nob25nIChmcmFuaykgJmx0Ozxh
IGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsi
PmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8L3NwYW4+PGI+5oqE6YCB
PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUm9iIFdp
bHRvbiAocndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbSIgdGFy
Z2V0PSJfYmxhbmsiPnJ3aWx0b25AY2lzY28uY29tPC9hPiZndDs7DQo8YSBocmVmPSJtYWlsdG86
bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9hPjsgWWFu
Z2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxh
bmsiPnlhbmdhbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0KPC9zcGFuPjxiPuS4u+mimDxzcGFu
IGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IFJlOiBbbmV0bW9k
XSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dA0KPC9zcGFuPuKAmDxzcGFuIGxh
bmc9IkVOLVVTIj53aGVuPC9zcGFuPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZu
YnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+T24gTW9uLCBTZXAgOSwgMjAxOSBhdCA3OjEwIFBN
IEZlbmdjaG9uZyAoZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1
YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4m
Z3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5
bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzow
Y20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdp
bi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij5IaSBhbmR5LDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPllvdSBvbmx5IHRhbGsgYWJvdXQgdGhlIGNvbnN0cmFpbnRz
IG9uIHJwYyBvcGVyYXRpb27igJlzIHBhcmFtZXRlcj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5EbyB5b3UgaGF2ZSBh
bnkgb3BpbmlvbiBhYm91dCBteSBxdWVzdGlvbj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+OC4zLjEgZG9lcyBub3QgYXBwbHkgdG8gbGVhZiAnYicuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+VGhlIFJQQyBwYXJhbWV0ZXIgaXMgY2FsbGVkICdjb25maWcnLjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPkl0IGhhcyBubyB3aGVuLXN0bXRzIHRvIGV2YWx1YXRlLjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPlJvYiBpcyBjb3JyZWN0LjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiPkhpcyBleGFtcGxlIHNob3dzIHdoYXQgOC4zLjEgd291bGQgY292ZXIuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+QW5keTxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2Jv
cmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDtt
YXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2lu
LWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05v
cm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIx
MDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuWNjuS4uuaKgOacr+aciemZkOWFrOWPuDxz
cGFuIGxhbmc9IkVOLVVTIj4gSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC48L3NwYW4+PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PGlt
ZyBib3JkZXI9IjAiIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIiIGlkPSJnbWFpbC1tXy03MDgwNjA5
MjE3NTk3NTM0MTY4bV8tMTc0NjY1ODE1MTA5NDM2Mjg3MmdtYWlsLW1fLTQ1NDI1NzQ4NDc1MzY1
NzAyODnlm77niYdfeDAwMjBfMiIgc3JjPSJjaWQ6aW1hZ2UwMDEucG5nQDAxRDU2ODdGLkY2MTMx
QTQwIiBhbHQ9IkNvbXBhbnlfbG9nbyI+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xv
cjojMUY0OTdEIj7kuKrkurrnrb7lkI3vvJrlhq/lhrI8c3BhbiBsYW5nPSJFTi1VUyI+PGJyPg0K
PC9zcGFuPuaJi+OAgOOAgOacuu+8mjxzcGFuIGxhbmc9IkVOLVVTIj4xMzc3NjYxMjk4Mzxicj4N
Cjwvc3Bhbj7nlLXlrZDpgq7ku7bvvJo8c3BhbiBsYW5nPSJFTi1VUyI+PGEgaHJlZj0ibWFpbHRv
OmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2No
b25nQGh1YXdlaS5jb208L2E+PGJyPg0KPC9zcGFuPuWFrOWPuOe9keWdgO+8mjxzcGFuIGxhbmc9
IkVOLVVTIj48YSBocmVmPSJodHRwOi8vd3d3Lmh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj53
d3cuaHVhd2VpLmNvbTwvYT48L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0
eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjoj
MUY0OTdEIj4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3Nw
YW4+PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iY29sb3I6IzFGNDk3RCI+77u/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6Z3JheSI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5
Ij7mnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/v
vIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTn
u4TjgILnpoE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+
DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mraLku7vk
vZXlhbbku5bkurrku6Xku7vkvZXlvaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajp
g6jmiJbpg6jliIblnLDms4TpnLLjgIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK08
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7nmoTkv6Hmga/jgILlpoLm
npzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrn
n6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRz
IGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJy
Pg0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVz
cyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250
YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0
b3RhbCBvciBwYXJ0aWFsDQo8YnI+DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3Nl
bWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBp
ZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9y
LCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVk
aWF0ZWx5IGFuZCBkZWxldGUgaXQhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90
OyxzYW5zLXNlcmlmIj7lj5Hku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+
PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+DQogQW5keSBCaWVybWFuIFtt
YWlsdG86PGEgaHJlZj0ibWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbSIgdGFyZ2V0PSJfYmxhbmsi
PmFuZHlAeXVtYXdvcmtzLmNvbTwvYT5dDQo8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMt
c2VyaWYiPuWPkemAgeaXtumXtDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gMjAxOTwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDss
c2Fucy1zZXJpZiI+5bm0PHNwYW4gbGFuZz0iRU4tVVMiPjk8L3NwYW4+5pyIPHNwYW4gbGFuZz0i
RU4tVVMiPjEwPC9zcGFuPuaXpTxzcGFuIGxhbmc9IkVOLVVTIj4NCiAxOjE0PGJyPg0KPC9zcGFu
PjxiPuaUtuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJF
Ti1VUyI+IFJvYiBXaWx0b24gKHJ3aWx0b24pICZsdDs8YSBocmVmPSJtYWlsdG86cndpbHRvbkBj
aXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5yd2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7PGJyPg0K
PC9zcGFuPjxiPuaKhOmAgTxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5n
PSJFTi1VUyI+IEZlbmdjaG9uZyAoZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVu
Z2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2Vp
LmNvbTwvYT4mZ3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJf
YmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT47IFlhbmdhbmcgJmx0OzxhIGhyZWY9Im1haWx0bzp5
YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55YW5nYW5nQGh1YXdlaS5jb208L2E+
Jmd0Ozxicj4NCjwvc3Bhbj48Yj7kuLvpopg8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+
PHNwYW4gbGFuZz0iRU4tVVMiPiBSZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50
YXRpb24gYWJvdXQNCjwvc3Bhbj7igJg8c3BhbiBsYW5nPSJFTi1VUyI+d2hlbjwvc3Bhbj7igJk8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5I
aSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Tm9uZSBvZiB0
aGUgb3BlcmF0aW9ucyB0aGF0IGFjY2VwdCBvciByZXR1cm4gZGF0YXN0b3JlIGNvbnRlbnRzIGV4
cG9zZSB0aGUgZGF0YXN0b3JlIG9iamVjdHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5pbiB0aGUg
UlBDIHBhcmFtZXRlcnMuJm5ic3A7IFRoZXkgYXJlIGFsd2F5cyBhbnl4bWwgb3IgYW55ZGF0YS4g
VGhpcyBtZWFucyB0aGF0PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+dGhlcmUgYXJlIG5vIGRlc2Nl
bmRhbnQgZGF0YSBub2RlcyBkZWZpbmVkIGF0IGFsbCBhY2NvcmRpbmcgdG8gdGhlIFJQQyBvcGVy
YXRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5hbmQgdGhlcmVmb3JlIHRoZSBjb25zdHJhaW50
cyBvbiB0aG9zZSBub2RlcyBkbyBub3QgZXhpc3QgaW4gdGhlIFJQQyBvcGVyYXRpb24gZWl0aGVy
LjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZu
YnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
Pk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2lsdG9uIChyd2lsdG9uKSAmbHQ7
PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lzY28uY29tIiB0YXJnZXQ9Il9ibGFuayI+cndpbHRv
bkBjaXNjby5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0ND
IDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2lu
LXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+SGkgRnJhbmssPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVO
LVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+TXkgaW50ZXJwcmV0YXRpb24g
b2Ygd2hhdCB0aGUgZXhwZWN0ZWQgYmVoYXZpb3VyIGlzIGFzIGZvbGxvd3MuPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
Rm9yIOKAnHNjZW5lIDHigJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIGFjY2VwdGVkIGJlY2F1c2Ug
dGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRpdC1jb25maWcg
aGFzIGJlZW4gYXBwbGllZCBpcyB2YWxpZC48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Gb3Ig4oCcc2NlbmUgMuKAnSwg
dGhlIGNvbmZpZyBjaGFuZ2UgaXMgcmVqZWN0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBj
b25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlz
IGludmFsaWQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+TXkgaW50ZXJwcmV0YXRpb24gaXMgdGhhdCB0aGUgYmxvY2sg
b2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFyeSBpbnRlbmRlZCB0byBy
ZWZlciB0byBSRkMgaW5wdXQuJm5ic3A7IEUuZy4gaWYgdGhlIFJQQyB3YXMNCiBkZWZpbmVkIHNv
bWV0aGluZyBsaWtlIGJlbG93LCB0aGVuIHRoZSDigJh3aGVu4oCZIHJ1bGUgaW4gOC4zLjEgd291
bGQgZW5mb3JjZSB0aGF0IGEgemlwLWNvZGUgY2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgdGhlIGNv
dW50cnkgaXMgdGhlIFVTQS48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3
JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
cnBjIHJvY2stdGhlLWhvdXNlIHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0
eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7
O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgaW5wdXQgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDtsZWFmIGNvdW50cnkgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1H
QiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcm
cXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsZWFmIHppcC1jb2Rl
IHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgd2hlbiDigJwuLi9jb3VudHJ5ID0g4oCYdXNh4oCZ4oCdOzwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0
eXBlIHN0cmluZzs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250
LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJs
YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsgfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh
Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7ICZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5UaGFua3MsPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Um9iPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xp
ZCBibHVlIDEuNXB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5
bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMu
MHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4gbmV0bW9kICZsdDs8YSBocmVmPSJt
YWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2QtYm91
bmNlc0BpZXRmLm9yZzwvYT4mZ3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkZlbmdjaG9uZyAoZnJh
bmspPGJyPg0KPGI+U2VudDo8L2I+IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5PGJyPg0KPGI+VG86
PC9iPiA8YSBocmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0
bW9kQGlldGYub3JnPC9hPjxicj4NCjxiPkNjOjwvYj4gWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFp
bHRvOnlhbmdhbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNv
bTwvYT4mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGlt
cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLUdCIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiPkhpIGFsbCw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBSRkM3OTUwIHNlY3RvbiA4
LCBzZXZlcmFsIGRlc2NyaXB0aW9uIGFib3V0IHdoZW48L3NwYW4+77yaPHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+SW4gc2Vj
dGlvbiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9u
LTguMiIgdGFyZ2V0PSJfYmxhbmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPjguMjwvc3Bhbj48
L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+LiZuYnNwOyBDb25m
aWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9uczwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9oMz4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsg
byZuYnNwOyBJZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBz
dWNoIHRoYXQgYW55PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
IG5vZGUncyAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24gYmVjb21lcyBmYWxzZSwgdGhlbiB0
aGUgbm9kZSBpbiB0aGUgZGF0YTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyB0cmVlIHdpdGggdGhlICZxdW90O3doZW4mcXVvdDsgZXhwcmVzc2lvbiBpcyBkZWxl
dGVkIGJ5IHRoZSBzZXJ2ZXIuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8aDQ+PHNwYW4gbGFuZz0iRU4tVVMiPkluIDxhIGhyZWY9Imh0dHBzOi8vdG9v
bHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjEiIHRhcmdldD0iX2JsYW5rIj4N
CjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIg
TmV3JnF1b3Q7O2NvbG9yOmJsYWNrO3RleHQtZGVjb3JhdGlvbjpub25lIj44LjMuMTwvc3Bhbj48
L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250
LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+LiZuYnNwOyBQYXls
b2FkIFBhcnNpbmc8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
aDQ+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xv
cjpibGFjayI+Jm5ic3A7Jm5ic3A7IG8mbmJzcDsgSWYgZGF0YSBmb3IgYSBub2RlIHRhZ2dlZCB3
aXRoICZxdW90O3doZW4mcXVvdDsgaXMgcHJlc2VudCBhbmQgdGhlICZxdW90O3doZW4mcXVvdDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25kaXRpb24gZXZhbHVhdGVzIHRvICZxdW90
O2ZhbHNlJnF1b3Q7LCB0aGUgc2VydmVyIE1VU1QgcmVwbHkgd2l0aCBhbjwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7ICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFn
Jmd0OyBpbiB0aGUgJmx0O3JwYy1lcnJvciZndDsuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxoND48c3BhbiBsYW5nPSJFTi1VUyI+SW4gPGEgaHJl
Zj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMiIgdGFy
Z2V0PSJfYmxhbmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmUi
PjguMy4yPC9zcGFuPjwvYT48L3NwYW4+PGEgbmFtZT0ibV8tNzA4MDYwOTIxNzU5NzUzNDE2OF9t
Xy0xNzQ2NjU4MTUxMDk0MyI+PC9hPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+
LiZuYnNwOyBORVRDT05GDQogJmx0O2VkaXQtY29uZmlnJmd0OyBQcm9jZXNzaW5nPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2g0Pg0KPHByZT48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPk1vZGlmaWNhdGlv
biByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGggJnF1b3Q7d2hlbiZxdW90OywgYW5kIHRo
ZSAmcXVvdDt3aGVuJnF1b3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uZGl0aW9u
IGV2YWx1YXRlcyB0byAmcXVvdDtmYWxzZSZxdW90Oy4mbmJzcDsgSW4gdGhpcyBjYXNlLCB0aGUg
c2VydmVyIE1VU1Q8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29s
b3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXBseSB3aXRoIGFuICZx
dW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFnJmd0OyBpbiB0aGUgJmx0O3Jw
Yy1lcnJvciZndDsuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3ByZT4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiPllBTkcgbW9kdWxlPC9zcGFuPu+8mjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5t
b2R1bGUgZm9vIHs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgbmFtZXNwYWNlIOKAnDxhIGhyZWY9Imh0
dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdOzxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiPiZuYnNwOyZuYnNwOyBwcmVmaXgg4oCcZm9v4oCdOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVudDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9
IkVOLVVTIj5MZWFmIGEge+KApn08bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG87dGV4dC1pbmRlbnQ6MTUuNzVwdCI+DQo8c3BhbiBsYW5nPSJFTi1VUyI+TGVhZiBi
IHs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4dC1pbmRl
bnQ6MTUuNzVwdCI+DQo8c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7IFdoZW4g4oCcYSA9IDEw4oCd
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVu
dDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIj59PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+fTxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+U2NlbmUgMTogPG86cD48L286cD48L3Nw
YW4+PC9oMz4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBm
aXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZs
dDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9IOKAnDxh
IGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+
4oCdJmd0OzMmbHQ7L2EmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0Ozxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyByZXF1ZXN0IHdpbGwgc2V0
IGEgPSAzLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBzZWNvbmQgcmVxdWVzdDo8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
Ij4mbHQ7ZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtjYW5kaWRhdGUvJmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L3RhcmdldCZndDsNCjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZu
YnNwOyZuYnNwOyZsdDtjb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICZsdDthIHhtbG5zPSDigJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJf
YmxhbmsiPmh0dHA6Ly9mb28uY29tPC9hPuKAnSZndDsxMCZsdDsvYSZndDs8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9IOKAnDxhIGhyZWY9Imh0dHA6
Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzUmbHQ7
L2ImZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsv
ZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
NC4wcHQiPkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwgdGhl
IGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMyxzbyBsZWFmIGLigJlzIHdo
ZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwNCiBzZXJ2ZXIgd2lsbCByZXBvcnQg
4oCYdW5rbm93bi1lbGVtZW504oCZIGVycm9yLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPklzIGl0IGV4cGVjdGVkIGJ5IHVzZXI/PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDM+PHNwYW4g
bGFuZz0iRU4tVVMiPlNjZW5lIDI6PG86cD48L286cD48L3NwYW4+PC9oMz4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1
ZXN0OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0
O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2Nh
bmRpZGF0ZS8mZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29t
IiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+4oCdJmd0OzEwJmx0Oy9hJmd0Ozxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7L2VkaXQtY29u
ZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMTAuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDtlZGl0LWNvbmZpZyZn
dDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5i
c3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZp
ZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9
IOKAnDxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5j
b208L2E+4oCdJmd0OzMmbHQ7L2EmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7
Jm5ic3A7ICZsdDtiIHhtbG5zPSDigJw8YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJf
YmxhbmsiPmh0dHA6Ly9mb28uY29tPC9hPuKAnSZndDs1Jmx0Oy9iJmd0OzxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNw
OyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7L2VkaXQtY29uZmlnJmd0OzxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5BY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXls
b2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3Jl
IGlzIDEwLCBzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0bw0KIHRy
dWUsIHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBo
YXNlLiA8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTQuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTQuMHB0Ij5JbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2Us
IGlmIGxlYWYgYeKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKA
mXMgdmFsdWUgd2lsbCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcw0KIHdoZW4gY29uZGl0
aW9uIHdpbGwgYmUgZmFsc2UsIHdoZW4gc2VydmVyIHByb2Nlc3MgYuKAmXMgbW9kaWZpY2F0aW9u
LCBiIHdpbGwgYmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyBy
ZXF1ZXN0IHdpbGwgZmFpbC4NCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQiPklmIGxlYWYgYuKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nl
c3NlZCBmaXJzdGx5LCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyBtb2RpZmljYXRpb24gLGJlY2F1
c2UgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgdHJ1ZSwgYW5kIHdoZW4gc2VydmVyDQogcHJvY2Vz
cyBh4oCZcyBtb2RpZmljYXRpb24gLCB0aGlzIG1vZGlmaWNhdGlvbiB3aWxsIGJlIGFjY2VwdGVk
LCBhbmQgYuKAmXMgd2hlbiBjb25kaXRpb24gd2lsbCBiZSBldmFsdWF0ZWQgdG8gZmFsc2UsIGxl
YWYgYiB3aWxsIGJlIGRlbGV0ZWQgYXV0b21hdGljYWxseSwgdGhlIGVkaXQtY29uZmlnIHJlcXVl
c3Qgd2lsbCBiZSBPSy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTQuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5Ib3cgc2VydmVyIHNob3VsZCBwcm9jZXNzIHRoaXMg
c2l0dWF0aW9uPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX188YnI+DQpuZXRtb2QgbWFpbGluZyBsaXN0PGJyPg0KPGEgaHJlZj0i
bWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwv
YT48YnI+DQo8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25l
dG1vZCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGlu
Zm8vbmV0bW9kPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvYmxvY2txdW90ZT4NCjwvZGl2
Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0K
PC9odG1sPg0K

--_000_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_--

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Wed, 11 Sep 2019 01:28:54 GMT";
 modification-date="Wed, 11 Sep 2019 01:28:54 GMT"
Content-ID: <image001.png@01D5687F.F6131A40>
Content-Transfer-Encoding: base64

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
YII=

--_004_5756FB984666AD4BB8E1D63E2E3AA3D001F2D325dggemm513mbxchi_--


From nobody Tue Sep 10 19:33:28 2019
Return-Path: <bill.wu@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C07F51200C4 for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 19:33:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 wKGnYOIZZsQv for <netmod@ietfa.amsl.com>; Tue, 10 Sep 2019 19:33:22 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E2DAD120086 for <netmod@ietf.org>; Tue, 10 Sep 2019 19:33:21 -0700 (PDT)
Received: from lhreml703-cah.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 97279ED1AE92C502C352 for <netmod@ietf.org>; Wed, 11 Sep 2019 03:33:19 +0100 (IST)
Received: from lhreml715-chm.china.huawei.com (10.201.108.66) by lhreml703-cah.china.huawei.com (10.201.108.44) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 11 Sep 2019 03:33:19 +0100
Received: from lhreml715-chm.china.huawei.com (10.201.108.66) by lhreml715-chm.china.huawei.com (10.201.108.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 11 Sep 2019 03:33:18 +0100
Received: from DGGEML402-HUB.china.huawei.com (10.3.17.38) by lhreml715-chm.china.huawei.com (10.201.108.66) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA) id 15.1.1713.5 via Frontend Transport; Wed, 11 Sep 2019 03:33:18 +0100
Received: from DGGEML511-MBX.china.huawei.com ([169.254.1.20]) by DGGEML402-HUB.china.huawei.com ([fe80::fca6:7568:4ee3:c776%31]) with mapi id 14.03.0439.000; Wed, 11 Sep 2019 10:33:07 +0800
From: Qin Wu <bill.wu@huawei.com>
To: "Fengchong (frank)" <frank.fengchong@huawei.com>, Andy Bierman <andy@yumaworks.com>
CC: "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRp?= =?utf-8?B?b24gYWJvdXQg4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVaECVSUEqZuhkwkumKBBZYV51w6clvobg
Date: Wed, 11 Sep 2019 02:33:06 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com>
In-Reply-To: <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.31.203]
Content-Type: multipart/related; boundary="_004_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/DGAYLZiCCcr13weDyBss79UcHJA>
Subject: [netmod] =?utf-8?b?562U5aSNOiAg562U5aSNOiAgUGxlYXNlIGNsYXJpZnkg?= =?utf-8?q?implementation_about_=E2=80=98when=E2=80=99?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 11 Sep 2019 02:33:27 -0000

--_004_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_
Content-Type: multipart/alternative;
 boundary="_000_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_"

--_000_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

V2h5IHByb2Nlc3Npbmcgb3JkZXIgbWF0dGVyPyBNeSBpbnRlcnByZXRhdGlvbiBpcyBib3RoIGxl
YWYgbm9kZSB2YWx1ZXMgKGkuZS4sbGVhZiBhLCBsZWFmIGIpIHNob3VsZCBiZSB2YWxpZGF0ZWQg
dG9nZXRoZXIgYW5kIGNvbW1pdCBhcyBhIHdob2xlLA0KUkZDNjI0MSBzYWlkOg0K4oCcDQpJZiB0
aGUgZGV2aWNlIGlzIHVuYWJsZSB0byBjb21taXQgYWxsIG9mIHRoZSBjaGFuZ2VzIGluIHRoZQ0K
ICAgICAgICAgY2FuZGlkYXRlIGNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlLCB0aGVuIHRoZSBydW5u
aW5nDQogICAgICAgICBjb25maWd1cmF0aW9uIE1VU1QgcmVtYWluIHVuY2hhbmdlZC4NCuKAnQ0K
U28gdmFsaWRhdGUgdGhlIGxlYWYgbm9kZSB2YWx1ZSBpbiB0aGUgZWRpdC1jb25maWcgcmVxdWVz
dCAobWVzc2FnZSBjb250ZW50IHZhbGlkYXRpb24pIGlzIG5vdCBpbXBvcnRhbnQsIHZhbGlkYXRl
IHRoZSBsZWFmIG5vZGUgdmFsdWUgdGhhdCBpcyBhcHBsaWVkIHRvIDxydW5uaW5nPiAoZGF0YXN0
b3JlIHZhbGlkYXRpb24pIGlzIHRoZSBrZXkuDQoNCg0KSSB0aGluayB3aGF0IHlvdSB3YW50IHRv
IHJhaXNlIGlzIHRoZSBzZXJ2ZXIgc2hvdWxkIGhvbGQgb24gdG8gc2VuZCByZXBseSB3aXRoIGFu
ICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPiBkdXJpbmcg
cGF5bG9hZCBwYXJzaW5nIHBoYXNlIGFuZCBORVRDT05GIDxlZGl0LWNvbmZpZz4NCg0KUHJvY2Vz
c2luZyB1bnRpbCBhbGwgdmFsaWRhdGlvbiBjb21wbGV0ZSwgb3RoZXJ3aXNlIGl0IHNlZW1zIHNl
cnZlciB3aWxsDQoNClNlbmQgbXVsdGlwbGUgcnBseSB3aXRoICJ1bmtub3duLWVsZW1lbnQiIDxl
cnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPiB3aGljaCBzZWVtcyBub3QgcmVhc29uYWJsZS4N
Cg0KDQoNCi1RaW4NCuWPkeS7tuS6ujogbmV0bW9kIFttYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0
Zi5vcmddIOS7o+ihqCBGZW5nY2hvbmcgKGZyYW5rKQ0K5Y+R6YCB5pe26Ze0OiAyMDE55bm0Oeac
iDEx5pelIDk6MjkNCuaUtuS7tuS6ujogQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb20+
DQrmioTpgIE6IG5ldG1vZEBpZXRmLm9yZzsgWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPg0K
5Li76aKYOiBbbmV0bW9kXSDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFi
b3V0IOKAmHdoZW7igJkNCg0KQW5keSwNCg0KV2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxk
IG9jY3VyIGFjY29yZGluZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj8NCkFjY29yZGluZyA4LjMu
Mg0KaWYgc2VydmVyIHByb2Nlc3Mg4oCYYT0gM+KAmSBmaXJzdGx5LCBiIHdpbGwgYmUgZGVsZXRl
ZCBieSBzeXN0ZW0gYW5kIGJlY29tZXMgYSBub24tZXhpc3Qgc2NoZW1hIG5vZGUsIGFuZCB0aGVu
ICB3aGVuIOKAmGI9NeKAmSBpcyBwcm9jZXNzZWQgLCBzZXJ2ZXIgd2lsbCByZXBvcnQgYSDigJh1
bmtub3duLWVsZW1lbnTigJkgZXJyb3IuDQpCdXQgaWYgc2VydmVyIHByb2Nlc3Mg4oCYYj014oCZ
IGZpcnN0bHksIGl0IHdpbGwgYmUgYWNjZXB0ZWQgYnkgc2VydmVyLCBhbmQgdGhlbiB3aGVuIOKA
mGE9M+KAmSBpcyBwcm9jZXNzZWQsIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5c3RlbSwgYnV0IHJl
cG9ydCBPSy4NCg0KSWYgc2VjIDguMy4yIGlzIG5vdCByaWdodC4gV2hhdCBpcyB0aGUgcmlnaHQ/
DQpXaGVuIG5vZGUgYSBhbmQgbm9kZSBiIGluIHRoZSBzYW1lIHJlcXVlc3QsIGFuZCBiIHRhZ2dl
ZCB3aGVuIGNvbmRpdGlvbiwgYeKAmXMgdmFsdWUgd2lsbCBjYXVzZSBi4oCZcyBjb25kaXRpb24g
aXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB3aGljaCBpcyBtb3JlIHByaW9yPw0KQWNjb3JkaW5nIHlv
dSBhbmQgUm9i4oCZcyBpbnRlcnByZXRhdGlvbiAsIG1heWJlIG5vZGUg4oCZYeKAmSBpcyBtb3Jl
IHByaW9yPyBJZiB5ZXMsIHdoeSBub2RlIOKAmGLigJkgc2hvdWxkIGJlIHByb2Nlc3NlZCBsYXRl
cj8NCg0KSSB0aGluayB3aGV0aGVyIGluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UgdGhl
IGNvbmZpZ3VyYXRpb24gdGFnZ2VkIHdoZW4gc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQgYW5kIGJl
IGRlbGF5ZWQgdG8gY29tbWl0IG9yIHZhbGlkYXRlPw0KV2hlbiBjb21taXQgb3IgdmFsaWRhdGUg
b3BlcmF0aW9uIGlzIGlzc3VlZCwgIHRoZSBkYXRhIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBl
dmFsdWF0ZWQsIGFuZCBpZiBpdOKAmXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB0aGlzIGRhdGEgd2ls
bCBiZSBkZWxldGVkIGJ5IHN5c3RlbSBpbW1lZGlhdGVseSwgc2VydmVyIHNob3VsZCBub3QgcmVw
b3J0IGFueSBlcnJvci4NCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K5Y2O
5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQpbQ29t
cGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDmnLrvvJoxMzc3NjYx
Mjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZy
YW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4572R5Z2A77yad3d3Lmh1YXdlaS5jb208
aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N
Cu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hm
ga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbn
vqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWM
heaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaV
o+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu
5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk
5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29u
ZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMgaW50ZW5kZWQgb25s
eSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUu
IEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkg
KGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQpkaXNjbG9z
dXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhh
biB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2
ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQpwaG9u
ZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hku7bkuro6IEFuZHkg
Qmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NCuWPkemAgeaXtumXtDogMjAxOeW5
tDnmnIgxMOaXpSAxMDo1Ng0K5pS25Lu25Lq6OiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVu
Z2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj4NCuaK
hOmAgTogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2ls
dG9uQGNpc2NvLmNvbT4+OyBuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47
IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4N
CuS4u+mimDogUmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0
IOKAmHdoZW7igJkNCg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzo0MCBQTSBGZW5nY2hv
bmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdj
aG9uZ0BodWF3ZWkuY29tPj4gd3JvdGU6DQpBbmR5LA0KV2hldGhlciBhbGwgY29uc3RyYWludHMg
b24gY29udGVudCBpbiA8Y29uZmlnPiBwYXJhbWV0ZXIgd2lsbCBub3QgYmUgZXZhbHVhdGVkIGlu
IHBheWxvYWQgcGFyc2luZyBwaGFzZSwgZm9yIGV4YW1wbGUsIGEgbGVhZuKAmXMgdmFsdWUgZXhj
ZWVkIHJhbmdlPw0KTmV0Y29uZiBzZXJ2ZXIgc2hvdWxkIHRyZWF0IGl0IGFzIGEgYmxvY2sgZGF0
YT8NCg0KDQpGaWVsZCB2YWxpZGF0aW9uIGFuZCBkYXRhc3RvcmUgdmFsaWRhdGlvbiBhcmUgMiBk
aWZmZXJlbnQgdGhpbmdzLg0Kd2hlbi1zdG10IHByb2Nlc3NpbmcgaXMgbmVpdGhlci4gSXQgaXMg
YnkgZmFyIHRoZSBoYXJkZXN0IHBhcnQgb2YgYW4gYXV0b21hdGVkIHNlcnZlciB0byBnZXQgcmln
aHQuDQoNCkFub3RoZXIgcXVlc3Rpb246DQoNCkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhh
c2UsIHdoZXRoZXIgY29uc3RyYWludHMgb24gY29udGVudCBpbiA8Y29uZmlnPiBwYXJhbWV0ZXIg
bmVlZHMgYmUgZXZhbHVhdGVkPw0KSWYgeWVzLCB3aGVuICBjb25maWd1cmF0aW9uIG1vZGlmaWNh
dGlvbiBjYXVzZSB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoZSBub2Rl
IHRhZ2dlZCB3aGVuIHdpbGwgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIGJ5IHN5c3RlbS4NClRo
ZW4sIGluIHNjZW5lIDIsIHdoZXRoZXIgZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBvY2N1ciBhY2Nv
cmRpbmcgZGlmZmVyZW50IHByb2Nlc3Mgb3JkZXI/DQoNCg0KU2luY2UgdGhlIDxjb25maWc+IHBh
cmFtZXRlciBpcyBhbnl4bWwsIHRoZSBZQU5HIGNvbnN0cmFpbnRzIGRlZmluZWQgb24gZGF0YXN0
b3JlIGNvbnRlbnRzDQphcmUgbm90IGVuZm9yY2VkIGFzIHBhcnQgb2YgUlBDIGlucHV0IHZhbGlk
YXRpb24uDQoNCkl0IHdvdWxkIGJlIG5pY2UgaWYgTkVUQ09ORiBkZWZpbmVkIGJlaGF2aW9yIGZv
ciBwcm92aWRpbmcgPGNvbmZpZz4gZGF0YSB0aGF0IHdpbGwgZ2V0IGRlbGV0ZWQNCmltbWVkaWF0
ZWx5IGJ5IHRoZSBzZXJ2ZXIuICBXZSBoYXZlIGEgQ0xJIHBhcmFtZXRlciBmb3IgdGhpcyBzaW5j
ZSBzb21lIHZlbmRvcnMgd2FudCB0bw0KdHJlYXQgdGhpcyBhcyBhbiBlcnJvciBhbmQgb3RoZXIg
anVzdCBzaWxlbnRseSBkZWxldGUgbm9kZXMuICBOb3RlIHRoYXQgd2hlbi1zdG10IGNhbiBzaWxl
bnRseQ0KZGVsZXRlIGV4aXN0aW5nIG5vZGVzIG5vdCBpbmNsdWRlZCBpbiB0aGUgZWRpdC4gKExh
ZGEgZG9lcyBub3QgYWdyZWUgdGhpcyBpcyBob3cgaXQgc2hvdWxkIHdvcmssDQpzbyB3ZSBuZWVk
IHlhbmctbmV4dCB0byBkZWNpZGUuIE1heWJlIE5FVENPTkYgbmVlZHMgYSAtLWZvcmNlIHBhcmFt
ZXRlciBmb3IgdGhpcyBwdXJwb3NlLikNCg0KDQpBbmR5DQoNCg0KDQpfX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9s
b2dpZXMgQ28uLCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrm
iYvjgIDjgIDmnLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25n
QGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4572R
5Z2A77yad3d3Lmh1YXdlaS5jb208aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7k
uLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDk
uK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7
u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOaz
hOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC
5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa
55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0
dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3
aGljaA0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRk
cmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWlu
ZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3Rh
bCBvciBwYXJ0aWFsDQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24p
IGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9o
aWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlm
eSB0aGUgc2VuZGVyIGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0
IQ0KDQrlj5Hku7bkuro6IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbTxt
YWlsdG86YW5keUB5dW1hd29ya3MuY29tPl0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgxMOaX
pSAxMDoxOQ0K5pS25Lu25Lq6OiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1
YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj4NCuaKhOmAgTogUm9i
IFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNpc2Nv
LmNvbT4+OyBuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47IFlhbmdhbmcg
PHlhbmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4NCuS4u+mimDog
UmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7i
gJkNCg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzoxMCBQTSBGZW5nY2hvbmcgKGZyYW5r
KSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3
ZWkuY29tPj4gd3JvdGU6DQpIaSBhbmR5LA0KDQpZb3Ugb25seSB0YWxrIGFib3V0IHRoZSBjb25z
dHJhaW50cyBvbiBycGMgb3BlcmF0aW9u4oCZcyBwYXJhbWV0ZXI/DQoNCkRvIHlvdSBoYXZlIGFu
eSBvcGluaW9uIGFib3V0IG15IHF1ZXN0aW9uPw0KDQo4LjMuMSBkb2VzIG5vdCBhcHBseSB0byBs
ZWFmICdiJy4NClRoZSBSUEMgcGFyYW1ldGVyIGlzIGNhbGxlZCAnY29uZmlnJy4NCkl0IGhhcyBu
byB3aGVuLXN0bXRzIHRvIGV2YWx1YXRlLg0KUm9iIGlzIGNvcnJlY3QuDQpIaXMgZXhhbXBsZSBz
aG93cyB3aGF0IDguMy4xIHdvdWxkIGNvdmVyLg0KDQpBbmR5DQoNCg0KDQpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNo
bm9sb2dpZXMgQ28uLCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5Yay
DQrmiYvjgIDjgIDmnLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2No
b25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4
572R5Z2A77yad3d3Lmh1YXdlaS5jb208aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInl
jY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDl
nYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7
peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWc
sOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC
5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu2
6YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRz
IGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJ
LCB3aGljaA0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2Ug
YWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250
YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0
b3RhbCBvciBwYXJ0aWFsDQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRp
b24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBw
cm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5v
dGlmeSB0aGUgc2VuZGVyIGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRl
IGl0IQ0KDQrlj5Hku7bkuro6IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNv
bTxtYWlsdG86YW5keUB5dW1hd29ya3MuY29tPl0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgx
MOaXpSAxOjE0DQrmlLbku7bkuro6IFJvYiBXaWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2Nv
LmNvbTxtYWlsdG86cndpbHRvbkBjaXNjby5jb20+Pg0K5oqE6YCBOiBGZW5nY2hvbmcgKGZyYW5r
KSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3
ZWkuY29tPj47IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPjsgWWFuZ2Fu
ZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0K5Li76aKY
OiBSZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hl
buKAmQ0KDQpIaSwNCg0KTm9uZSBvZiB0aGUgb3BlcmF0aW9ucyB0aGF0IGFjY2VwdCBvciByZXR1
cm4gZGF0YXN0b3JlIGNvbnRlbnRzIGV4cG9zZSB0aGUgZGF0YXN0b3JlIG9iamVjdHMNCmluIHRo
ZSBSUEMgcGFyYW1ldGVycy4gIFRoZXkgYXJlIGFsd2F5cyBhbnl4bWwgb3IgYW55ZGF0YS4gVGhp
cyBtZWFucyB0aGF0DQp0aGVyZSBhcmUgbm8gZGVzY2VuZGFudCBkYXRhIG5vZGVzIGRlZmluZWQg
YXQgYWxsIGFjY29yZGluZyB0byB0aGUgUlBDIG9wZXJhdGlvbg0KYW5kIHRoZXJlZm9yZSB0aGUg
Y29uc3RyYWludHMgb24gdGhvc2Ugbm9kZXMgZG8gbm90IGV4aXN0IGluIHRoZSBSUEMgb3BlcmF0
aW9uIGVpdGhlci4NCg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2ls
dG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0b25AY2lzY28uY29t
Pj4gd3JvdGU6DQpIaSBGcmFuaywNCg0KTXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhw
ZWN0ZWQgYmVoYXZpb3VyIGlzIGFzIGZvbGxvd3MuDQoNCkZvciDigJxzY2VuZSAx4oCdLCB0aGUg
Y29uZmlnIGNoYW5nZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZp
ZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFs
aWQuDQoNCkZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBi
ZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQt
Y29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCg0KTXkgaW50ZXJwcmV0YXRpb24g
aXMgdGhhdCB0aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJp
bWFyeSBpbnRlbmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuICBFLmcuIGlmIHRoZSBSUEMgd2Fz
IGRlZmluZWQgc29tZXRoaW5nIGxpa2UgYmVsb3csIHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBp
biA4LjMuMSB3b3VsZCBlbmZvcmNlIHRoYXQgYSB6aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRl
ZCBpZiB0aGUgY291bnRyeSBpcyB0aGUgVVNBLg0KDQogICAgICAgcnBjIHJvY2stdGhlLWhvdXNl
IHsNCiAgICAgICAgIGlucHV0IHsNCiAgICAgICAgICAgbGVhZiBjb3VudHJ5IHsNCiAgICAgICAg
ICAgICB0eXBlIHN0cmluZzsNCiAgICAgICAgICAgfQ0KICAgICAgICAgICBsZWFmIHppcC1jb2Rl
IHsNCiAgICAgICAgICAgICB3aGVuIOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07DQogICAg
ICAgICAgICAgdHlwZSBzdHJpbmc7DQogICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgICB9
DQoNClRoYW5rcywNClJvYg0KDQoNCg0KRnJvbTogbmV0bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRm
Lm9yZzxtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+PiBPbiBCZWhhbGYgT2YgRmVuZ2No
b25nIChmcmFuaykNClNlbnQ6IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5DQpUbzogbmV0bW9kQGll
dGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+DQpDYzogWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3
ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0KU3ViamVjdDogW25ldG1vZF0gUGxl
YXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSBhbGwsDQoN
CkluIFJGQzc5NTAgc2VjdG9uIDgsIHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbu+8mg0K
SW4gc2VjdGlvbiA4LjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlv
bi04LjI+LiAgQ29uZmlndXJhdGlvbiBEYXRhIE1vZGlmaWNhdGlvbnMNCiAgIG8gIElmIGEgcmVx
dWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnkNCiAg
ICAgIG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2Rl
IGluIHRoZSBkYXRhDQogICAgICB0cmVlIHdpdGggdGhlICJ3aGVuIiBleHByZXNzaW9uIGlzIGRl
bGV0ZWQgYnkgdGhlIHNlcnZlci4NCkluIDguMy4xPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRt
bC9yZmM3OTUwI3NlY3Rpb24tOC4zLjE+LiAgUGF5bG9hZCBQYXJzaW5nDQoNCiAgIG8gIElmIGRh
dGEgZm9yIGEgbm9kZSB0YWdnZWQgd2l0aCAid2hlbiIgaXMgcHJlc2VudCBhbmQgdGhlICJ3aGVu
Ig0KDQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIsIHRoZSBzZXJ2ZXIgTVVT
VCByZXBseSB3aXRoIGFuDQoNCiAgICAgICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGlu
IHRoZSA8cnBjLWVycm9yPi4NCg0KSW4gOC4zLjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1s
L3JmYzc5NTAjc2VjdGlvbi04LjMuMj4uICBORVRDT05GIDxlZGl0LWNvbmZpZz4gUHJvY2Vzc2lu
Zw0KDQpNb2RpZmljYXRpb24gcmVxdWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICJ3aGVuIiwg
YW5kIHRoZSAid2hlbiINCg0KICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLiAg
SW4gdGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1QNCg0KICAgICAgcmVwbHkgd2l0aCBhbiAidW5r
bm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoNCllBTkcgbW9k
dWxl77yaDQptb2R1bGUgZm9vIHsNCiAgIG5hbWVzcGFjZSDigJxodHRwOi8vZm9vLmNvbeKAnTsN
CiAgIHByZWZpeCDigJxmb2/igJ07DQpMZWFmIGEge+KApn0NCkxlYWYgYiB7DQogIFdoZW4g4oCc
YSA9IDEw4oCdOw0KfQ0KfQ0KU2NlbmUgMToNClRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0
Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90
YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCd
PjM8L2E+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBz
ZXQgYSA9IDMuDQoNClRoZSBzZWNvbmQgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJn
ZXQ+DQogICAgICA8Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAg
IDxhIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKAnT4xMDwvYT4NCiAgICAgIDxiIHhtbG5zPSDi
gJxodHRwOi8vZm9vLmNvbeKAnT41PC9iPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0K
DQpBY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZ
cyB2YWx1ZSBpbiBjYW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNv
bmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtu
b3duLWVsZW1lbnTigJkgZXJyb3IuDQpJcyBpdCBleHBlY3RlZCBieSB1c2VyPw0KU2NlbmUgMjoN
ClRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdl
dD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAg
PGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgPC9jb25maWc+DQo8L2Vk
aXQtY29uZmlnPg0KVGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAxMC4NCg0KVGhlIHNlY29uZCBy
ZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0K
ICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28u
Y29t4oCdPjM8L2E+DQogICAgICA8YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+NTwvYj4N
CiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBh
eWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3Rv
cmUgaXMgMTAsIHNvIGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRy
dWUsIHNlcnZlciB3aWxsIGFjY2VwdCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBo
YXNlLg0KDQpJbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlmIGxlYWYg
YeKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMgdmFsdWUg
d2lsbCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJl
IGZhbHNlLCB3aGVuIHNlcnZlciBwcm9jZXNzIGLigJlzIG1vZGlmaWNhdGlvbiwgYiB3aWxsIGJl
IHRyZWF0ZWQgYXMgdW5rbm93bi1lbGVtZW50LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxs
IGZhaWwuDQpJZiBsZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwg
c2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGLigJlzIHdoZW4g
Y29uZGl0aW9uIGlzIHRydWUsIGFuZCB3aGVuIHNlcnZlciBwcm9jZXNzIGHigJlzIG1vZGlmaWNh
dGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVu
IGNvbmRpdGlvbiB3aWxsIGJlIGV2YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVs
ZXRlZCBhdXRvbWF0aWNhbGx5LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLg0K
DQpIb3cgc2VydmVyIHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0dWF0aW9uPw0KDQpfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KbmV0bW9kIG1haWxpbmcgbGlz
dA0KbmV0bW9kQGlldGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+DQpodHRwczovL3d3dy5p
ZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0K

--_000_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0
IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJDYWxpYnJpIExp
Z2h0IjsNCglwYW5vc2UtMToyIDE1IDMgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2Zv
bnQtZmFtaWx5OkNhbGlicmk7DQoJcGFub3NlLTE6MiAxNSA1IDIgMiAyIDQgMyAyIDQ7fQ0KQGZv
bnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAx
IDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseTrlvq7ova/pm4Xpu5E7DQoJcGFu
b3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToi
XEDlvq7ova/pm4Xpu5EiOw0KCXBhbm9zZS0xOjIgMTEgNSAzIDIgMiA0IDIgMiA0O30NCi8qIFN0
eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1hbCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9y
bWFsDQoJe21hcmdpbjowY207DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZTox
Mi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30NCmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5
Ow0KCW1zby1zdHlsZS1saW5rOiLmoIfpopggMyBDaGFyIjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0K
CW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9
kzt9DQpoNA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKY
IDQgQ2hhciI7DQoJbXNvLW1hcmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsN
Cgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVy
bGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29y
YXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0K
CXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlv
bjp1bmRlcmxpbmU7fQ0KcHJlDQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUt
bGluazoiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90
dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0K
c3Bhbi4zQ2hhcg0KCXttc28tc3R5bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJbXNvLXN0eWxl
LXByaW9yaXR5Ojk7DQoJbXNvLXN0eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250LWZhbWlseTrl
rovkvZM7DQoJZm9udC13ZWlnaHQ6Ym9sZDt9DQpzcGFuLjRDaGFyDQoJe21zby1zdHlsZS1uYW1l
OiLmoIfpopggNCBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGlu
azoi5qCH6aKYIDQiOw0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IixzYW5zLXNlcmlmOw0K
CWZvbnQtd2VpZ2h0OmJvbGQ7fQ0Kc3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUtbmFtZToiSFRN
TCDpooTorr7moLzlvI8gQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1zby1zdHls
ZS1saW5rOiJIVE1MIOmihOiuvuagvOW8jyI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIgTmV3Ijt9
DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZh
bWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxT
dHlsZTIyDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJD
YWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOiMxRjQ5N0Q7fQ0KLk1zb0NocERlZmF1bHQNCgl7
bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDt9DQpAcGFnZSBX
b3JkU2VjdGlvbjENCgl7c2l6ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA5MC4w
cHQgNzIuMHB0IDkwLjBwdDt9DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24x
O30NCi0tPjwvc3R5bGU+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRz
IHY6ZXh0PSJlZGl0IiBzcGlkbWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtp
ZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1h
cCB2OmV4dD0iZWRpdCIgZGF0YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRp
Zl0tLT4NCjwvaGVhZD4NCjxib2R5IGxhbmc9IlpILUNOIiBsaW5rPSJibHVlIiB2bGluaz0icHVy
cGxlIj4NCjxkaXYgY2xhc3M9IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPldoeSBwcm9jZXNzaW5n
IG9yZGVyIG1hdHRlcj8gTXkgaW50ZXJwcmV0YXRpb24gaXMgYm90aCBsZWFmIG5vZGUgdmFsdWVz
IChpLmUuLGxlYWYgYSwgbGVhZiBiKSBzaG91bGQgYmUgdmFsaWRhdGVkIHRvZ2V0aGVyIGFuZCBj
b21taXQgYXMgYSB3aG9sZSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPlJGQzYyNDEg
c2FpZDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPuKAnDxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWluZGVudDoyMS4wcHQiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SWYgdGhlIGRldmljZSBp
cyB1bmFibGUgdG8gY29tbWl0IGFsbCBvZiB0aGUgY2hhbmdlcyBpbiB0aGU8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyBjYW5kaWRhdGUgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUsIHRoZW4gdGhlIHJ1
bm5pbmc8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25maWd1cmF0aW9uIE1VU1QgcmVtYWluIHVu
Y2hhbmdlZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPuKAnTxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+U28gdmFsaWRhdGUgdGhlIGxlYWYgbm9kZSB2YWx1ZSBpbiB0aGUg
ZWRpdC1jb25maWcgcmVxdWVzdCAobWVzc2FnZSBjb250ZW50IHZhbGlkYXRpb24pIGlzIG5vdCBp
bXBvcnRhbnQsIHZhbGlkYXRlIHRoZSBsZWFmIG5vZGUgdmFsdWUgdGhhdCBpcyBhcHBsaWVkDQog
dG8gJmx0O3J1bm5pbmcmZ3Q7IChkYXRhc3RvcmUgdmFsaWRhdGlvbikgaXMgdGhlIGtleS48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4N
CjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JIHRoaW5r
IHdoYXQgeW91IHdhbnQgdG8gcmFpc2UgaXMgdGhlIHNlcnZlciBzaG91bGQgaG9sZCBvbiB0byBz
ZW5kIHJlcGx5IHdpdGggYW4gJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10
YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0OyBkdXJpbmcgcGF5bG9hZCBwYXJzaW5nIHBo
YXNlIGFuZCBORVRDT05GICZsdDtlZGl0LWNvbmZpZyZndDsgPG86cD48L286cD48L3NwYW4+PC9w
cmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+UHJv
Y2Vzc2luZyB1bnRpbCBhbGwgdmFsaWRhdGlvbiBjb21wbGV0ZSwgb3RoZXJ3aXNlIGl0IHNlZW1z
IHNlcnZlciB3aWxsIDxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPlNlbmQgbXVsdGlwbGUgcnBseSB3aXRoICZx
dW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFnJmd0OyBpbiB0aGUgJmx0O3Jw
Yy1lcnJvciZndDsgd2hpY2ggc2VlbXMgbm90IHJlYXNvbmFibGUuPG86cD48L286cD48L3NwYW4+
PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+LVFpbjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPGRp
dj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBw
dDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxiPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7
kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48
L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IG5ldG1vZCBbbWFp
bHRvOm5ldG1vZC1ib3VuY2VzQGlldGYub3JnXQ0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl
cmlmIj7ku6PooaggPC9zcGFuPg0KPC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJp
ZiI+RmVuZ2Nob25nIChmcmFuayk8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYi
PuWPkemAgeaXtumXtDxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+
rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gMjAxOTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1z
ZXJpZiI+5bm0PHNwYW4gbGFuZz0iRU4tVVMiPjk8L3NwYW4+5pyIPHNwYW4gbGFuZz0iRU4tVVMi
PjExPC9zcGFuPuaXpTxzcGFuIGxhbmc9IkVOLVVTIj4NCiA5OjI5PGJyPg0KPC9zcGFuPjxiPuaU
tuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+
IEFuZHkgQmllcm1hbiAmbHQ7YW5keUB5dW1hd29ya3MuY29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7m
ioTpgIE8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBu
ZXRtb2RAaWV0Zi5vcmc7IFlhbmdhbmcgJmx0O3lhbmdhbmdAaHVhd2VpLmNvbSZndDs8YnI+DQo8
L3NwYW4+PGI+5Li76aKYPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9
IkVOLVVTIj4gW25ldG1vZF0gPC9zcGFuPuetlOWkjTxzcGFuIGxhbmc9IkVOLVVTIj46IFBsZWFz
ZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNwYW4gbGFuZz0iRU4t
VVMiPndoZW48L3NwYW4+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
c3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+QW5keSw8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjoj
MUY0OTdEIj5XaGV0aGVyIGRpZmZlcmVudCByZXN1bHQgd291bGQgb2NjdXIgYWNjb3JkaW5nIGRp
ZmZlcmVudCBwcm9jZXNzIG9yZGVyPw0KPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Qi
PkFjY29yZGluZyA4LjMuMjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5pZiBzZXJ2
ZXIgcHJvY2VzcyDigJhhPSAz4oCZIGZpcnN0bHksIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5c3Rl
bSBhbmQgYmVjb21lcyBhIG5vbi1leGlzdA0KIHNjaGVtYSBub2RlLCBhbmQgdGhlbiAmbmJzcDt3
aGVuIOKAmGI9NeKAmSBpcyBwcm9jZXNzZWQgLCBzZXJ2ZXIgd2lsbCByZXBvcnQgYSDigJh1bmtu
b3duLWVsZW1lbnTigJkgZXJyb3IuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkJ1
dCBpZiBzZXJ2ZXIgcHJvY2VzcyDigJhiPTXigJkgZmlyc3RseSwgaXQgd2lsbCBiZSBhY2NlcHRl
ZCBieSBzZXJ2ZXIsIGFuZCB0aGVuIHdoZW4g4oCYYT0z4oCZDQogaXMgcHJvY2Vzc2VkLCBiIHdp
bGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0sIGJ1dCByZXBvcnQgT0suPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5J
ZiBzZWMgOC4zLjIgaXMgbm90IHJpZ2h0LiBXaGF0IGlzIHRoZSByaWdodD88bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+V2hlbiBub2RlIGEgYW5kIG5vZGUgYiBpbiB0aGUgc2FtZSBy
ZXF1ZXN0LCBhbmQgYiB0YWdnZWQgd2hlbiBjb25kaXRpb24sIGHigJlzIHZhbHVlIHdpbGwNCiBj
YXVzZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB3aGljaCBpcyBtb3Jl
IHByaW9yPzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5BY2NvcmRpbmcgeW91IGFu
ZCBSb2LigJlzIGludGVycHJldGF0aW9uICwgbWF5YmUgbm9kZSDigJlh4oCZIGlzIG1vcmUgcHJp
b3I/IElmIHllcywgd2h5IG5vZGUNCiDigJhi4oCZIHNob3VsZCBiZSBwcm9jZXNzZWQgbGF0ZXI/
IDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+SSB0aGluayB3aGV0aGVyIGluIGVkaXQtY29uZmlnIHByb2Nlc3Np
bmcgcGhhc2UgdGhlIGNvbmZpZ3VyYXRpb24gdGFnZ2VkIHdoZW4gc2hvdWxkIG5vdA0KIGJlIGV2
YWx1YXRlZCBhbmQgYmUgZGVsYXllZCB0byBjb21taXQgb3IgdmFsaWRhdGU/PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPldoZW4gY29tbWl0IG9yIHZhbGlkYXRlIG9wZXJhdGlvbiBp
cyBpc3N1ZWQsJm5ic3A7IHRoZSBkYXRhIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBldmFsdWF0
ZWQsDQogYW5kIGlmIGl04oCZcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoaXMgZGF0YSB3aWxsIGJl
IGRlbGV0ZWQgYnkgc3lzdGVtIGltbWVkaWF0ZWx5LCBzZXJ2ZXIgc2hvdWxkIG5vdCByZXBvcnQg
YW55IGVycm9yLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+PG86cD4mbmJzcDs8L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2
IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRl
ciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4NCjxociBzaXpl
PSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Y2O5Li65oqA5pyv5pyJ
6ZmQ5YWs5Y+4PHNwYW4gbGFuZz0iRU4tVVMiPiBIdWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRk
LjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxpbWcgd2lkdGg9IjEwMiIgaGVp
Z2h0PSIzMiIgaWQ9IuWbvueJh194MDAyMF8yIiBzcmM9ImNpZDppbWFnZTAwMS5wbmdAMDFENTY4
OEIuNTJEOUI1ODAiIGFsdD0iQ29tcGFueV9sb2dvIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Liq5Lq6562+
5ZCN77ya5Yav5YayPHNwYW4gbGFuZz0iRU4tVVMiPjxicj4NCjwvc3Bhbj7miYvjgIDjgIDmnLrv
vJo8c3BhbiBsYW5nPSJFTi1VUyI+MTM3NzY2MTI5ODM8YnI+DQo8L3NwYW4+55S15a2Q6YKu5Lu2
77yaPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVh
d2VpLmNvbSI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+PGJyPg0KPC9zcGFuPuWFrOWP
uOe9keWdgO+8mjxzcGFuIGxhbmc9IkVOLVVTIj48YSBocmVmPSJodHRwOi8vd3d3Lmh1YXdlaS5j
b20iPnd3dy5odWF3ZWkuY29tPC9hPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8ZGl2
IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRl
ciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj4NCjxociBzaXplPSIx
IiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+77u/
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+DQo8L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mnKzpgq7ku7blj4rlhbbpmYTk
u7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nk
uIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoE8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJp
YWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXl
vaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLj
gIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK08L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZTo3LjVwdDtjb2xvcjpncmF5Ij7nmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7k
u7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTm
nKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48
YnI+DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFs
IGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJyPg0KaXMgaW50ZW5kZWQgb25seSBm
b3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFu
eSB1c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3
YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQo8YnI+
DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMg
b3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQu
IElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBz
ZW5kZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQh
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PHNwYW4g
bGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPiBBbmR5IEJpZXJtYW4gWzxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5j
b20iPm1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb208L2E+XQ0KPGJyPg0KPC9zcGFuPjxiPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZx
dW90OyxzYW5zLXNlcmlmIj7lj5HpgIHml7bpl7Q8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48
L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IDIwMTk8L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF
6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDxzcGFuIGxhbmc9IkVOLVVTIj45PC9zcGFuPuaciDxz
cGFuIGxhbmc9IkVOLVVTIj4xMDwvc3Bhbj7ml6U8c3BhbiBsYW5nPSJFTi1VUyI+DQogMTA6NTY8
YnI+DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxz
cGFuIGxhbmc9IkVOLVVTIj4gRmVuZ2Nob25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+
Jmd0Ozxicj4NCjwvc3Bhbj48Yj7mioTpgIE8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+
PHNwYW4gbGFuZz0iRU4tVVMiPiBSb2IgV2lsdG9uIChyd2lsdG9uKSAmbHQ7PGEgaHJlZj0ibWFp
bHRvOnJ3aWx0b25AY2lzY28uY29tIj5yd2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJl
Zj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyI+bmV0bW9kQGlldGYub3JnPC9hPjsgWWFuZ2FuZyAm
bHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbSI+eWFuZ2FuZ0BodWF3ZWkuY29t
PC9hPiZndDs8YnI+DQo8L3NwYW4+PGI+5Li76aKYPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+
PC9iPjxzcGFuIGxhbmc9IkVOLVVTIj4gUmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxl
bWVudGF0aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNwYW4gbGFuZz0iRU4tVVMiPndoZW48L3NwYW4+
4oCZPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gbGFuZz0iRU4tVVMiPk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzo0MCBQTSBGZW5n
Y2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl
ci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2LjBwdDttYXJn
aW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207bWFyZ2luLWJv
dHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5BbmR5LDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPldoZXRoZXIgYWxs
IGNvbnN0cmFpbnRzIG9uIGNvbnRlbnQgaW4gJmx0O2NvbmZpZyZndDsgcGFyYW1ldGVyIHdpbGwg
bm90IGJlIGV2YWx1YXRlZCBpbiBwYXlsb2FkDQogcGFyc2luZyBwaGFzZSwgZm9yIGV4YW1wbGUs
IGEgbGVhZuKAmXMgdmFsdWUgZXhjZWVkIHJhbmdlPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJy
aSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPk5ldGNvbmYgc2VydmVyIHNob3VsZCB0
cmVhdCBpdCBhcyBhIGJsb2NrIGRhdGE/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNw
OzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+RmllbGQgdmFsaWRhdGlvbiBhbmQgZGF0YXN0b3JlIHZhbGlkYXRp
b24gYXJlIDIgZGlmZmVyZW50IHRoaW5ncy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+d2hlbi1zdG10
IHByb2Nlc3NpbmcgaXMgbmVpdGhlci4gSXQgaXMgYnkgZmFyIHRoZSBoYXJkZXN0IHBhcnQgb2Yg
YW4gYXV0b21hdGVkIHNlcnZlciB0byBnZXQgcmlnaHQuPG86cD48L286cD48L3NwYW4+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPiZu
YnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJv
cmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNt
IDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdo
dDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5Bbm90
aGVyIHF1ZXN0aW9uOjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2Us
IHdoZXRoZXIgY29uc3RyYWludHMgb24gY29udGVudCBpbiAmbHQ7Y29uZmlnJmd0OyBwYXJhbWV0
ZXINCiBuZWVkcyBiZSBldmFsdWF0ZWQ/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SWYgeWVzLCB3aGVuICZuYnNwO2NvbmZpZ3VyYXRp
b24gbW9kaWZpY2F0aW9uIGNhdXNlIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxz
ZSwgdGhlDQogbm9kZSB0YWdnZWQgd2hlbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCBi
eSBzeXN0ZW0uPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+VGhlbiwgaW4gc2NlbmUgMiwgd2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdv
dWxkIG9jY3VyIGFjY29yZGluZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj88L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Js
b2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
PjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+
U2luY2UgdGhlICZsdDtjb25maWcmZ3Q7IHBhcmFtZXRlciBpcyBhbnl4bWwsIHRoZSBZQU5HIGNv
bnN0cmFpbnRzIGRlZmluZWQgb24gZGF0YXN0b3JlIGNvbnRlbnRzPG86cD48L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPmFyZSBub3QgZW5mb3JjZWQgYXMgcGFydCBvZiBSUEMgaW5wdXQgdmFsaWRhdGlvbi48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPkl0IHdvdWxkIGJl
IG5pY2UgaWYgTkVUQ09ORiBkZWZpbmVkIGJlaGF2aW9yIGZvciBwcm92aWRpbmcgJmx0O2NvbmZp
ZyZndDsgZGF0YSB0aGF0IHdpbGwgZ2V0IGRlbGV0ZWQ8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+aW1t
ZWRpYXRlbHkgYnkgdGhlIHNlcnZlci4mbmJzcDsgV2UgaGF2ZSBhIENMSSBwYXJhbWV0ZXIgZm9y
IHRoaXMgc2luY2Ugc29tZSB2ZW5kb3JzIHdhbnQgdG88bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+dHJl
YXQgdGhpcyBhcyBhbiBlcnJvciBhbmQgb3RoZXIganVzdCBzaWxlbnRseSBkZWxldGUgbm9kZXMu
Jm5ic3A7IE5vdGUgdGhhdCB3aGVuLXN0bXQgY2FuIHNpbGVudGx5PG86cD48L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiPmRlbGV0ZSBleGlzdGluZyBub2RlcyBub3QgaW5jbHVkZWQgaW4gdGhlIGVkaXQuIChMYWRh
IGRvZXMgbm90IGFncmVlIHRoaXMgaXMgaG93IGl0IHNob3VsZCB3b3JrLDxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIj5zbyB3ZSBuZWVkIHlhbmctbmV4dCB0byBkZWNpZGUuIE1heWJlIE5FVENPTkYgbmVl
ZHMgYSAtLWZvcmNlIHBhcmFtZXRlciBmb3IgdGhpcyBwdXJwb3NlLik8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFu
PjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIj5BbmR5PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNt
IDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4t
cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNl
bnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4NCjxociBz
aXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7ljY7kuLrmioDm
nK/mnInpmZDlhazlj7g8c3BhbiBsYW5nPSJFTi1VUyI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28u
LCBMdGQuPC9zcGFuPjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNv
bG9yOiMxRjQ5N0QiPjxpbWcgYm9yZGVyPSIwIiB3aWR0aD0iMTAyIiBoZWlnaHQ9IjMyIiBpZD0i
Z21haWwtbV8tNzA4MDYwOTIxNzU5NzUzNDE2OOWbvueJh194MDAyMF8yIiBzcmM9ImNpZDppbWFn
ZTAwMS5wbmdAMDFENTY4OEIuNTJEOUI1ODAiIGFsdD0iQ29tcGFueV9sb2dvIj48L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuetvuWQje+8muWGr+WGsjxz
cGFuIGxhbmc9IkVOLVVTIj48YnI+DQo8L3NwYW4+5omL44CA44CA5py677yaPHNwYW4gbGFuZz0i
RU4tVVMiPjEzNzc2NjEyOTgzPGJyPg0KPC9zcGFuPueUteWtkOmCruS7tu+8mjxzcGFuIGxhbmc9
IkVOLVVTIj48YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdl
dD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT48YnI+DQo8L3NwYW4+5YWs
5Y+4572R5Z2A77yaPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVhd2Vp
LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5odWF3ZWkuY29tPC9hPjwvc3Bhbj48L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05v
cm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAl
IiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7vu788L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJp
YWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2NvbG9yOmdyYXkiPuacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWNjuS4
uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWdgOS4
reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcu
NXB0O2NvbG9yOmdyYXkiPuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8
iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaI
luaVo+WPke+8ieacrOmCruS7tuS4rTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOmdyYXkiPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9y
OmdyYXkiPueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOer
i+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gTwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWls
eTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPjxicj4NClRoaXMgZS1t
YWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24g
ZnJvbSBIVUFXRUksIHdoaWNoDQo8YnI+DQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29u
IG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUN
Cjxicj4NCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5n
LCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCjxicj4NCmRpc2Nsb3N1cmUs
IHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRo
ZSBpbnRlbmRlZCA8YnI+DQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2Vp
dmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KPGJy
Pg0KcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCE8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuWPkeS7tuS6ujxzcGFuIGxhbmc9
IkVOLVVTIj46PC9zcGFuPjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl
cmlmIj4NCiBBbmR5IEJpZXJtYW4gW21haWx0bzo8YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29y
a3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+YW5keUB5dW1hd29ya3MuY29tPC9hPl0NCjxicj4NCjwv
c3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvl
vq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R6YCB5pe26Ze0PHNwYW4gbGFuZz0iRU4t
VVMiPjo8L3NwYW4+PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYi
PiAyMDE5PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8c3BhbiBsYW5nPSJFTi1VUyI+
OTwvc3Bhbj7mnIg8c3BhbiBsYW5nPSJFTi1VUyI+MTA8L3NwYW4+5pelPHNwYW4gbGFuZz0iRU4t
VVMiPg0KIDEwOjE5PGJyPg0KPC9zcGFuPjxiPuaUtuS7tuS6ujxzcGFuIGxhbmc9IkVOLVVTIj46
PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IEZlbmdjaG9uZyAoZnJhbmspICZsdDs8YSBo
cmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5m
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0KPC9zcGFuPjxiPuaKhOmAgTxz
cGFuIGxhbmc9IkVOLVVTIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyI+IFJvYiBXaWx0
b24gKHJ3aWx0b24pICZsdDs8YSBocmVmPSJtYWlsdG86cndpbHRvbkBjaXNjby5jb20iIHRhcmdl
dD0iX2JsYW5rIj5yd2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOm5l
dG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT47IFlhbmdh
bmcgJmx0OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5r
Ij55YW5nYW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj7kuLvpopg8c3BhbiBs
YW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBSZTogW25ldG1vZF0g
UGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQNCjwvc3Bhbj7igJg8c3BhbiBsYW5n
PSJFTi1VUyI+d2hlbjwvc3Bhbj7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzoxMCBQTSBG
ZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3
ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+Jmd0
OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNt
IDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4t
cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
SGkgYW5keSw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5Zb3Ugb25seSB0YWxrIGFib3V0IHRoZSBjb25zdHJhaW50cyBv
biBycGMgb3BlcmF0aW9u4oCZcyBwYXJhbWV0ZXI/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+RG8geW91IGhhdmUgYW55
IG9waW5pb24gYWJvdXQgbXkgcXVlc3Rpb24/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPjguMy4xIGRvZXMgbm90IGFwcGx5IHRvIGxlYWYgJ2InLjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPlRoZSBSUEMgcGFyYW1ldGVyIGlzIGNhbGxlZCAnY29uZmlnJy48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5JdCBoYXMgbm8gd2hlbi1zdG10cyB0byBldmFsdWF0ZS48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5Sb2IgaXMgY29ycmVjdC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
Ij5IaXMgZXhhbXBsZSBzaG93cyB3aGF0IDguMy4xIHdvdWxkIGNvdmVyLjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkFuZHk8bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3Jk
ZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFy
Z2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1i
b3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3Jt
YWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAw
JSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7ljY7kuLrmioDmnK/mnInpmZDlhazlj7g8c3Bh
biBsYW5nPSJFTi1VUyI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuPC9zcGFuPjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxpbWcg
Ym9yZGVyPSIwIiB3aWR0aD0iMTAyIiBoZWlnaHQ9IjMyIiBpZD0iZ21haWwtbV8tNzA4MDYwOTIx
NzU5NzUzNDE2OG1fLTE3NDY2NTgxNTEwOTQzNjI4NzJnbWFpbC1tXy00NTQyNTc0ODQ3NTM2NTcw
Mjg55Zu+54mHX3gwMDIwXzIiIHNyYz0iY2lkOmltYWdlMDAxLnBuZ0AwMUQ1Njg4Qi41MkQ5QjU4
MCIgYWx0PSJDb21wYW55X2xvZ28iPjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBzdHlsZT0iY29sb3I6
IzFGNDk3RCI+5Liq5Lq6562+5ZCN77ya5Yav5YayPHNwYW4gbGFuZz0iRU4tVVMiPjxicj4NCjwv
c3Bhbj7miYvjgIDjgIDmnLrvvJo8c3BhbiBsYW5nPSJFTi1VUyI+MTM3NzY2MTI5ODM8YnI+DQo8
L3NwYW4+55S15a2Q6YKu5Lu277yaPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Im1haWx0bzpm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9u
Z0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj7lhazlj7jnvZHlnYDvvJo8c3BhbiBsYW5nPSJF
Ti1VUyI+PGEgaHJlZj0iaHR0cDovL3d3dy5odWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3
Lmh1YXdlaS5jb208L2E+PC9zcGFuPjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPGRpdiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHls
ZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFG
NDk3RCI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPg0KPC9zcGFu
PjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImNvbG9yOiMxRjQ5N0QiPu+7vzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OmdyYXkiPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+
5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM
5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE
44CC56aBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0K
PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5q2i5Lu75L2V
5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo
5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+55qE5L+h5oGv44CC5aaC5p6c
5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l
5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBj
b250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCjxicj4N
CmlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3Mg
aXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZQ0KPGJyPg0KaW5mb3JtYXRpb24gY29udGFp
bmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90
YWwgb3IgcGFydGlhbA0KPGJyPg0KZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1p
bmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVuZGVkIDxicj4NCnJlY2lwaWVu
dChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwg
cGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQo8YnI+DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlh
dGVseSBhbmQgZGVsZXRlIGl0ITwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDss
c2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9zcGFuPjwv
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPg0KIEFuZHkgQmllcm1hbiBbbWFp
bHRvOjxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5h
bmR5QHl1bWF3b3Jrcy5jb208L2E+XQ0KPGJyPg0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl
cmlmIj7lj5HpgIHml7bpl7Q8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L3NwYW4+PC9iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IDIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPuW5tDxzcGFuIGxhbmc9IkVOLVVTIj45PC9zcGFuPuaciDxzcGFuIGxhbmc9IkVO
LVVTIj4xMDwvc3Bhbj7ml6U8c3BhbiBsYW5nPSJFTi1VUyI+DQogMToxNDxicj4NCjwvc3Bhbj48
Yj7mlLbku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4t
VVMiPiBSb2IgV2lsdG9uIChyd2lsdG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lz
Y28uY29tIiB0YXJnZXQ9Il9ibGFuayI+cndpbHRvbkBjaXNjby5jb208L2E+Jmd0Ozxicj4NCjwv
c3Bhbj48Yj7mioTpgIE8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0i
RU4tVVMiPiBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdj
aG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b208L2E+Jmd0OzsNCjxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2Js
YW5rIj5uZXRtb2RAaWV0Zi5vcmc8L2E+OyBZYW5nYW5nICZsdDs8YSBocmVmPSJtYWlsdG86eWFu
Z2FuZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWFuZ2FuZ0BodWF3ZWkuY29tPC9hPiZn
dDs8YnI+DQo8L3NwYW4+PGI+5Li76aKYPHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxz
cGFuIGxhbmc9IkVOLVVTIj4gUmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0
aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNwYW4gbGFuZz0iRU4tVVMiPndoZW48L3NwYW4+4oCZPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SGks
PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPk5vbmUgb2YgdGhl
IG9wZXJhdGlvbnMgdGhhdCBhY2NlcHQgb3IgcmV0dXJuIGRhdGFzdG9yZSBjb250ZW50cyBleHBv
c2UgdGhlIGRhdGFzdG9yZSBvYmplY3RzPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+aW4gdGhlIFJQ
QyBwYXJhbWV0ZXJzLiZuYnNwOyBUaGV5IGFyZSBhbHdheXMgYW55eG1sIG9yIGFueWRhdGEuIFRo
aXMgbWVhbnMgdGhhdDxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPnRoZXJlIGFyZSBubyBkZXNjZW5k
YW50IGRhdGEgbm9kZXMgZGVmaW5lZCBhdCBhbGwgYWNjb3JkaW5nIHRvIHRoZSBSUEMgb3BlcmF0
aW9uPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+YW5kIHRoZXJlZm9yZSB0aGUgY29uc3RyYWludHMg
b24gdGhvc2Ugbm9kZXMgZG8gbm90IGV4aXN0IGluIHRoZSBSUEMgb3BlcmF0aW9uIGVpdGhlci48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJz
cDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5P
biBNb24sIFNlcCA5LCAyMDE5IGF0IDY6NDEgQU0gUm9iIFdpbHRvbiAocndpbHRvbikgJmx0Ozxh
IGhyZWY9Im1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnJ3aWx0b25A
Y2lzY28uY29tPC9hPiZndDsgd3JvdGU6PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAx
LjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10
b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPkhpIEZyYW5rLDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1H
QiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPk15IGludGVycHJldGF0aW9uIG9m
IHdoYXQgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBpcyBhcyBmb2xsb3dzLjwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkZv
cg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij7igJw8c3BhbiBsYW5nPSJF
Ti1HQiI+c2NlbmUgMTwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1HQiI+LCB0aGUgY29uZmlnIGNo
YW5nZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3Rv
cmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQuPC9zcGFu
Pjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQiPkZvcg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij7i
gJw8c3BhbiBsYW5nPSJFTi1HQiI+c2NlbmUgMjwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1HQiI+
LCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhl
IGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQg
aXMgaW52YWxpZC48L3NwYW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+TXkgaW50ZXJwcmV0YXRpb24gaXMgdGhhdCB0
aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFyeSBpbnRl
bmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuJm5ic3A7IEUuZy4gaWYgdGhlIFJQQyB3YXMNCiBk
ZWZpbmVkIHNvbWV0aGluZyBsaWtlIGJlbG93LCB0aGVuIHRoZSA8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQiPuKAmDxzcGFuIGxhbmc9IkVOLUdCIj53aGVuPC9zcGFuPuKAmTxz
cGFuIGxhbmc9IkVOLUdCIj4gcnVsZSBpbiA4LjMuMSB3b3VsZCBlbmZvcmNlIHRoYXQgYSB6aXAt
Y29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0aGUgY291bnRyeSBpcyB0aGUgVVNBLjwvc3Bh
bj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250
LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJs
YWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcnBjIHJvY2stdGhlLWhv
dXNlIHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6
MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW5wdXQgezwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZu
YnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtsZWFm
IGNvdW50cnkgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6Ymxh
Y2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJp
ZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmll
ciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsZWFmIHppcC1jb2RlIHs8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgd2hl
biDigJwuLi9jb3VudHJ5ID0g4oCYdXNh4oCZ4oCdOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmll
ciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVv
dDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwO308L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0Ii
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5UaGFua3MsPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVT
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Um9iPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0O3Bh
ZGRpbmc6MGNtIDBjbSAwY20gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25l
O2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNt
Ij4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij4gbmV0bW9kICZsdDs8YSBocmVmPSJtYWlsdG86bmV0bW9kLWJv
dW5jZXNAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2QtYm91bmNlc0BpZXRmLm9yZzwv
YT4mZ3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkZlbmdjaG9uZyAoZnJhbmspPGJyPg0KPGI+U2Vu
dDo8L2I+IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5PGJyPg0KPGI+VG86PC9iPiA8YSBocmVmPSJt
YWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9h
Pjxicj4NCjxiPkNjOjwvYj4gWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVh
d2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0K
PGI+U3ViamVjdDo8L2I+IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFi
b3V0IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+4oCYPHNwYW4gbGFuZz0i
RU4tVVMiPndoZW48L3NwYW4+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1HQiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5I
aSBhbGwsPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SW4gUkZDNzk1MCBzZWN0b24gOCwgc2V2ZXJh
bCBkZXNjcmlwdGlvbiBhYm91dCB3aGVuPC9zcGFuPu+8mjxzcGFuIGxhbmc9IkVOLVVTIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8aDM+PHNwYW4gbGFuZz0iRU4tVVMiPkluIHNlY3Rpb24gPGEg
aHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjIiIHRh
cmdldD0iX2JsYW5rIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj44LjI8L3NwYW4+PC9hPjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPi4mbmJzcDsgQ29uZmlndXJhdGlv
biBEYXRhIE1vZGlmaWNhdGlvbnM8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvaDM+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7IG8mbmJzcDsg
SWYgYSByZXF1ZXN0IG1vZGlmaWVzIGEgY29uZmlndXJhdGlvbiBkYXRhIG5vZGUgc3VjaCB0aGF0
IGFueTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBub2RlJ3Mg
JnF1b3Q7d2hlbiZxdW90OyBleHByZXNzaW9uIGJlY29tZXMgZmFsc2UsIHRoZW4gdGhlIG5vZGUg
aW4gdGhlIGRhdGE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
dHJlZSB3aXRoIHRoZSAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0
aGUgc2VydmVyLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPGg0PjxzcGFuIGxhbmc9IkVOLVVTIj5JbiA8YSBocmVmPSJodHRwczovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4xIiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90
Oztjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246bm9uZSI+OC4zLjE8L3NwYW4+PC9hPjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPi4mbmJzcDsgUGF5bG9hZCBQYXJz
aW5nPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L2g0Pg0KPHBy
ZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2si
PiZuYnNwOyZuYnNwOyBvJm5ic3A7IElmIGRhdGEgZm9yIGEgbm9kZSB0YWdnZWQgd2l0aCAmcXVv
dDt3aGVuJnF1b3Q7IGlzIHByZXNlbnQgYW5kIHRoZSAmcXVvdDt3aGVuJnF1b3Q7PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAmcXVvdDtmYWxzZSZx
dW90OywgdGhlIHNlcnZlciBNVVNUIHJlcGx5IHdpdGggYW48L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmcXVvdDt1bmtub3duLWVsZW1lbnQmcXVvdDsgJmx0O2Vycm9yLXRhZyZndDsgaW4g
dGhlICZsdDtycGMtZXJyb3ImZ3Q7Ljwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286
cD48L3NwYW4+PC9wcmU+DQo8aDQ+PHNwYW4gbGFuZz0iRU4tVVMiPkluIDxhIGhyZWY9Imh0dHBz
Oi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4zLjIiIHRhcmdldD0iX2Js
YW5rIj4NCjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nv
dXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO3RleHQtZGVjb3JhdGlvbjpub25lIj44LjMuMjwv
c3Bhbj48L2E+PC9zcGFuPjxhIG5hbWU9Im1fLTcwODA2MDkyMTc1OTc1MzQxNjhfbV8tMTc0NjY1
ODE1MTA5NDMiPjwvYT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPi4mbmJzcDsg
TkVUQ09ORg0KICZsdDtlZGl0LWNvbmZpZyZndDsgUHJvY2Vzc2luZzwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9oND4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj5Nb2RpZmljYXRpb24gcmVxdWVz
dHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICZxdW90O3doZW4mcXVvdDssIGFuZCB0aGUgJnF1b3Q7
d2hlbiZxdW90Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9w
cmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xv
cjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0
ZXMgdG8gJnF1b3Q7ZmFsc2UmcXVvdDsuJm5ic3A7IEluIHRoaXMgY2FzZSwgdGhlIHNlcnZlciBN
VVNUPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxw
cmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNr
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmVwbHkgd2l0aCBhbiAmcXVvdDt1bmtu
b3duLWVsZW1lbnQmcXVvdDsgJmx0O2Vycm9yLXRhZyZndDsgaW4gdGhlICZsdDtycGMtZXJyb3Im
Z3Q7Ljwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5Z
QU5HIG1vZHVsZTwvc3Bhbj7vvJo8c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+bW9kdWxlIGZv
byB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7IG5hbWVzcGFjZQ0KPC9zcGFuPuKAnDxzcGFuIGxhbmc9
IkVOLVVTIj48YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9m
b28uY29tPC9hPjwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1VUyI+OzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZu
YnNwOyBwcmVmaXgNCjwvc3Bhbj7igJw8c3BhbiBsYW5nPSJFTi1VUyI+Zm9vPC9zcGFuPuKAnTxz
cGFuIGxhbmc9IkVOLVVTIj47PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYSB7
PC9zcGFuPuKApjxzcGFuIGxhbmc9IkVOLVVTIj59PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4t
VVMiPkxlYWYgYiB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
O3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyBXaGVuIDwv
c3Bhbj7igJw8c3BhbiBsYW5nPSJFTi1VUyI+YSA9IDEwPC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVO
LVVTIj47PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvO3RleHQt
aW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPn08bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj59PG86cD48L286
cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5TY2VuZSAxOiA8bzpwPjwvbzpw
Pjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+
VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJz
cDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29uZmln
Jmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0N
Cjwvc3Bhbj7igJw8c3BhbiBsYW5nPSJFTi1VUyI+PGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRh
cmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT48L3NwYW4+4oCdPHNwYW4gbGFuZz0iRU4t
VVMiPiZndDszJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbHQ7L2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3aWxsIHNl
dCBhID0gMy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgc2Vjb25kIHJlcXVlc3Q6PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jmx0O2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZn
dDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbHQ7Y29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmbHQ7YSB4bWxucz0NCjwvc3Bhbj7igJw8c3BhbiBsYW5nPSJFTi1VUyI+PGEgaHJl
Zj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT48L3Nw
YW4+4oCdPHNwYW4gbGFuZz0iRU4tVVMiPiZndDsxMCZsdDsvYSZndDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9DQo8L3NwYW4+4oCcPHNwYW4gbGFu
Zz0iRU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDov
L2Zvby5jb208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7NSZsdDsvYiZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNv
bmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+
QWNjb3JkaW5nIDguMy4xLCBpbiBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYTwvc3Bh
bj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPnMg
dmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZQ0KIGlzIDMsc28gbGVhZiBiPC9zcGFuPuKAmTxz
cGFuIGxhbmc9IkVOLVVTIj5zIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwg
c2VydmVyIHdpbGwgcmVwb3J0DQo8L3NwYW4+4oCYPHNwYW4gbGFuZz0iRU4tVVMiPnVua25vd24t
ZWxlbWVudDwvc3Bhbj7igJk8c3BhbiBsYW5nPSJFTi1VUyI+IGVycm9yLjwvc3Bhbj48L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JcyBp
dCBleHBlY3RlZCBieSB1c2VyPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5TY2VuZSAyOjxvOnA+PC9vOnA+PC9z
cGFuPjwvaDM+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUg
Zmlyc3QgZWRpdC1jb25maWcgcmVxdWVzdDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7ZWRpdC1jb25maWcmZ3Q7PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7ICZsdDtjYW5kaWRhdGUvJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAm
bHQ7L3RhcmdldCZndDsNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtjb25maWcmZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHhtbG5zPQ0KPC9z
cGFuPuKAnDxzcGFuIGxhbmc9IkVOLVVTIj48YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0
PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29tPC9hPjwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1VUyI+
Jmd0OzEwJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbHQ7L2VkaXQtY29uZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3aWxsIHNldCBh
ID0gMTAuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0OjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZsdDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgJmx0O2EgeG1sbnM9DQo8L3NwYW4+4oCcPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9
Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+PC9zcGFu
PuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7MyZsdDsvYSZndDs8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9DQo8L3NwYW4+4oCcPHNwYW4gbGFuZz0i
RU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zv
by5jb208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7NSZsdDsvYiZndDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNvbmZp
ZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+QWNjb3JkaW5nIDguMy4xLCBp
biBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjE0LjBwdCI+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPnMgdmFsdWUgaW4gY2FuZGlkYXRl
IGRhdGFzdG9yZQ0KIGlzIDEwLCBzbyBsZWFmIGI8L3NwYW4+4oCZPHNwYW4gbGFuZz0iRU4tVVMi
PnMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRydWUsIHNlcnZlciB3aWxsIGFjY2Vw
dCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNlLg0KPC9zcGFuPjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPiZuYnNw
Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4w
cHQiPkluIGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwgaWYgbGVhZiBhPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij7igJk8c3BhbiBsYW5nPSJFTi1VUyI+
cyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkDQogZmlyc3RseSwgdGhlIGE8L3NwYW4+4oCZPHNw
YW4gbGFuZz0iRU4tVVMiPnMgdmFsdWUgd2lsbCBiZSBjaGFuZ2VkIHRvIDMsIHNvIHRoZSBiPC9z
cGFuPuKAmTxzcGFuIGxhbmc9IkVOLVVTIj5zIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZmFsc2Us
IHdoZW4gc2VydmVyIHByb2Nlc3MgYjwvc3Bhbj7igJk8c3BhbiBsYW5nPSJFTi1VUyI+cyBtb2Rp
ZmljYXRpb24sIGIgd2lsbCBiZSB0cmVhdGVkIGFzIHVua25vd24tZWxlbWVudCwgdGhlIGVkaXQt
Y29uZmlnDQogcmVxdWVzdCB3aWxsIGZhaWwuIDwvc3Bhbj48L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5JZiBsZWFmIGI8L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPuKAmTxzcGFuIGxhbmc9IkVOLVVTIj5zIG1vZGlm
aWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgbW9k
aWZpY2F0aW9uDQogLGJlY2F1c2UgYjwvc3Bhbj7igJk8c3BhbiBsYW5nPSJFTi1VUyI+cyB3aGVu
IGNvbmRpdGlvbiBpcyB0cnVlLCBhbmQgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBhPC9zcGFuPuKAmTxz
cGFuIGxhbmc9IkVOLVVTIj5zIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwg
YmUgYWNjZXB0ZWQsIGFuZCBiPC9zcGFuPuKAmTxzcGFuIGxhbmc9IkVOLVVTIj5zIHdoZW4gY29u
ZGl0aW9uIHdpbGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbA0KIGJlIGRlbGV0
ZWQgYXV0b21hdGljYWxseSwgdGhlIGVkaXQtY29uZmlnIHJlcXVlc3Qgd2lsbCBiZSBPSy48L3Nw
YW4+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0
LjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjE0LjBwdCI+SG93IHNlcnZlciBzaG91bGQgcHJvY2VzcyB0aGlzIHNpdHVhdGlvbj88
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fPGJyPg0KbmV0bW9kIG1haWxpbmcgbGlzdDxicj4NCjxhIGhyZWY9Im1haWx0bzpuZXRt
b2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2RAaWV0Zi5vcmc8L2E+PGJyPg0KPGEg
aHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2QiIHRhcmdl
dD0iX2JsYW5rIj5odHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZDwv
YT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0K
PC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwv
YmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg==

--_000_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_--

--_004_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Wed, 11 Sep 2019 02:33:06 GMT";
 modification-date="Wed, 11 Sep 2019 02:33:06 GMT"
Content-ID: <image001.png@01D5688B.52D9B580>
Content-Transfer-Encoding: base64

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
YII=

--_004_B8F9A780D330094D99AF023C5877DABAA92F70D5dggeml511mbxchi_--


From nobody Sun Sep 15 04:31:34 2019
Return-Path: <auerswal@unix-ag.uni-kl.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id CCF27120026; Sun, 15 Sep 2019 04:31:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.196
X-Spam-Level: 
X-Spam-Status: No, score=-4.196 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, MAY_BE_FORGED=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 lDmqME6mIzI5; Sun, 15 Sep 2019 04:31:24 -0700 (PDT)
Received: from mailgw1.uni-kl.de (mailgw1.uni-kl.de [IPv6:2001:638:208:120::220]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 6682E12000F; Sun, 15 Sep 2019 04:31:24 -0700 (PDT)
Received: from [172.20.10.2] (x2e720334.dyn.telefonica.de [46.114.3.52] (may be forged)) (authenticated bits=0) by mailgw1.uni-kl.de (8.14.4/8.14.4/Debian-8+deb8u2) with ESMTP id x8FBVAws156849 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);  Sun, 15 Sep 2019 13:31:20 +0200
To: Benjamin Kaduk <kaduk@mit.edu>, Kent Watsen <kent+ietf@watsen.net>
Cc: "netmod-chairs@ietf.org" <netmod-chairs@ietf.org>, draft-ietf-netmod-artwork-folding@ietf.org, The IESG <iesg@ietf.org>, "netmod@ietf.org" <netmod@ietf.org>
References: <156766366671.22774.7481795788724573201.idtracker@ietfa.amsl.com> <0100016d0372debf-16e6e132-b334-41b3-ad9c-953fd9314963-000000@email.amazonses.com> <20190911000337.GQ18198@kduck.mit.edu>
From: Erik Auerswald <auerswal@unix-ag.uni-kl.de>
Message-ID: <2df2e7e9-0580-ec1f-07a8-dbad7b72db70@unix-ag.uni-kl.de>
Date: Sun, 15 Sep 2019 13:31:09 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
MIME-Version: 1.0
In-Reply-To: <20190911000337.GQ18198@kduck.mit.edu>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-GB
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/FXzgWS3lPr2REhhCTKU5sqBjqUw>
Subject: Re: [netmod] Benjamin Kaduk's Discuss on draft-ietf-netmod-artwork-folding-09: (with DISCUSS and COMMENT)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 15 Sep 2019 11:31:27 -0000

Hi Ben,

comments regarding just the security considerations below.

On 11.09.19 02:03, Benjamin Kaduk wrote:
> On Thu, Sep 05, 2019 at 10:02:03PM +0000, Kent Watsen wrote:
>>> On Sep 5, 2019, at 2:07 AM, Benjamin Kaduk via Datatracker <noreply@ietf.org> wrote:
>>> [...]
>>> Section 10
>>>
>>> We should warn against implementations scanning past the end of a
>>> buffer (containing the entire contents of a file) when checking what's
>>> in the beginning of the next line -- if a file ends with a backslash
>>> and "end of line" but no further content, we could perform an out of
>>> bounds access if the code assumes it is safe to check for the next
>>> line's initial content.

In a way that is like requiring any IS-IS draft to warn not to blindly
trust the received length value.

I do understand your concern.  All input needs to be handled safely.

For example, the "heartbleed" vulnerability was caused by blindly
trusting a length value received from the network.

But validating input and checking buffer boundaries are general
programming concepts and I do not think it useful to single out one (or
a few) and treat them specially in one I-D, but not others. This could
create the impression that checking buffer boundaries is important here,
but not in those other places.  And mentioning just the buffer
boundaries ignores the short read that is quite likely to occur at end
of file (the garbage left in the buffer after the last byte read must be
ignored as well, or content integrity is violated, which might change
the meaning of the I-D or add a vulnerability to the code inside the
I-D[1]).

>> Both Sections 7.2.2 and 8.2.2 describe conditions to determine when
>> unfolding occurs. AFIACT, in both cases, the unfolding algorithm stays
>> within the bounds of those conditions.
> 
> These procedures are fine if you're operating in a context where you
> interact with the text corpus via "get next line" operations.  But I don't
> think we have limited ourselves to such contexts; consider the case where I
> (foolishly) write text-processing code in C, and read(2) the text in
> question into a memory buffer.  I'm on my own for linebreak detection, and
> if I start peeking past escape characters, it's not so hard to imagine that
> I could fail to check for "end of buffer" and trigger undefined behavior.

This is true whenever something similar to C and read(2) is used to fill
a fixed size buffer with some bytes.  This can create many problems,
e.g., splitting UTF-8 characters, or reading less than the buffer size
(short read, not only possible on EOF).  All of those need to be handled
correctly.  This holds all the time, not just when implementing the
folding algorithms from this I-D.

Reading more than one byte at a time is an optimization only, it is not
needed for correct function.

This optimization is dangerous, because it adds significant complexity. 
Despite this it is used all the time without handling all the corner
cases, so again, I do understand your concerns.

>> For instance, given the input sequence [ '\' '\n' EOF] , the 7.2.2
>> algorithm would replace it with [ EOF ] and the 8.2.2 algorithm wouldn't
>> even attempt to unfold it since the condition of the next line containing
>> a second '\' character isn't met.
>>
>> Is this Security Consideration needed?
> 
> Well, it's a nonblocking comment.  So if the above description seems
> totally implausible to you, I can accept it not being included in the
> document.

As I see it, the gist of your comment is "implementing the algorithm
incorrectly might result in security vulnerabilities, depending on the
implementation details."  But is this a helpful security consideration?
I do not think so.

Thanks,
Erik

[1] Knowing the buffer size (e.g., after probing) could enable to create
     input data that creates an XML injection which could result in an
     attack on some tool to process I-Ds reachable via Internet.  This is
     kind of a contrived example, but not completely implausible.


From nobody Fri Sep 20 06:24:01 2019
Return-Path: <dfedyk@labn.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 139001200C3 for <netmod@ietfa.amsl.com>; Fri, 20 Sep 2019 06:24:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.625
X-Spam-Level: 
X-Spam-Status: No, score=-2.625 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.026, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (768-bit key) header.d=labn.net
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 AJu0irS5i3Sg for <netmod@ietfa.amsl.com>; Fri, 20 Sep 2019 06:23:58 -0700 (PDT)
Received: from gproxy6-pub.mail.unifiedlayer.com (outbound-ss-348.hostmonster.com [74.220.202.212]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 328F5120024 for <netmod@ietf.org>; Fri, 20 Sep 2019 06:23:58 -0700 (PDT)
Received: from cmgw10.unifiedlayer.com (unknown [10.9.0.10]) by gproxy6.mail.unifiedlayer.com (Postfix) with ESMTP id 00ABB1E08BE for <netmod@ietf.org>; Fri, 20 Sep 2019 07:23:39 -0600 (MDT)
Received: from box313.bluehost.com ([69.89.31.113]) by cmsmtp with ESMTP id BIssi5Rc3awnoBIssiLd6Q; Fri, 20 Sep 2019 07:23:38 -0600
X-Authority-Reason: nr=8
X-Authority-Analysis: v=2.3 cv=V9xTL9vi c=1 sm=1 tr=0 a=h1BC+oY+fLhyFmnTBx92Jg==:117 a=h1BC+oY+fLhyFmnTBx92Jg==:17 a=DAwyPP_o2Byb1YXLmDAA:9 a=G5z4KiUBrY_248OUbIQA:9 a=byM0q-JwBf9Ob5qq:21 a=QQwHU-k5PcfrtbK8:21 a=x-TTg3k61sHEMACEjG8A:9
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=labn.net; s=default; h=Content-Type:MIME-Version:Message-ID:Date:Subject:To:From: Sender:Reply-To:Cc:Content-Transfer-Encoding:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe: List-Post:List-Owner:List-Archive; bh=RHVFMHImGgDs/Rrp7E7yRqkgw5n+YWjQXR+39NDFl98=; b=BjnI4LJg1I3Df6M9KADUREtbDM eiw+zbiCtik8tPFDYMQttC5NntPUpWn5uaEhdZsS2RNwovfWCqM0WwJPH/4Tbo5/trV4xAryD0ksH nE9oQGHg8EZqvx8IWYaN16UQl;
Received: from [109.144.218.212] (port=12737 helo=FedykLabn) by box313.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from <dfedyk@labn.net>) id 1iBIss-002hIH-EK for netmod@ietf.org; Fri, 20 Sep 2019 07:23:38 -0600
From: "Don Fedyk" <dfedyk@labn.net>
To: <netmod@ietf.org>
Date: Fri, 20 Sep 2019 09:23:36 -0400
Message-ID: <000801d56fb6$9d76fe90$d864fbb0$@labn.net>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_0009_01D56F95.166621E0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AdVvtb220WVlpvm3Rs2epRVdtzLyQQ==
Content-Language: en-us
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - box313.bluehost.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - labn.net
X-BWhitelist: no
X-Source-IP: 109.144.218.212
X-Source-L: No
X-Exim-ID: 1iBIss-002hIH-EK
X-Source: 
X-Source-Args: 
X-Source-Dir: 
X-Source-Sender: (FedykLabn) [109.144.218.212]:12737
X-Source-Auth: dfedyk@labn.net
X-Email-Count: 1
X-Source-Cap: bGFibm1vYmk7bGFibm1vYmk7Ym94MzEzLmJsdWVob3N0LmNvbQ==
X-Local-Domain: yes
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/1gnxfg-WEbhe36qmMNVEqJ2UC9g>
Subject: [netmod] Comments on draft-ietf-netmod-sub-intf-vlan-model-05
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 20 Sep 2019 13:24:00 -0000

This is a multipart message in MIME format.

------=_NextPart_000_0009_01D56F95.166621E0
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: 7bit

Some comments on the draft :

 

On the content of the draft L3 Section:  

Overall the draft assumes quite a bit of knowledge about L3 service
configuration.  I don't know where L3 service to interfaces in the IETF
models.  I'd guess it is routing to interfaces and IP forwarding based on
routing but if it is defined, pointers in the draft would help.  From what I
understand this draft allows a L3 service interface to terminate to an
Ethernet with any combination of 2 VLAN tags.  The draft does not state it
but I assume this encapsulation is symmetric.  (Symmetrical/Asymmetrical is
only mentioned for L2).   Note the implied service context (what you get
when you strip the tags) allows for symmetric traffic . For  L3 this is
typically MPLS or IP 5 tuple etc. 

 

On the layer 2 section:  

For the L2VPN case there is already a YANG file that describes the Service
VLAN tagging.   I'm trying to figure you what your draft brings to this
case.  It seems to me this draft allows (more) flexible tagging for the
unqualified/unqualified learning VPNs.  By allowing translation and possibly
carrying more tags a single VLAN can carry more diverse traffic.  However
there are subtleties in doing VLAN translation.  Without examples of
applications I'm left guessing how this is intended to be applied.  Also it
is not as easy for me to understand the service context as with L3 above.
How do you identify untagged traffic (or is it a tag swapping model?) In L2
VPNs the classic case of qualified learning (also called independent VLAN
learning in IEEE) removes the (one) outer tag and carries the second tag in
the MPLS frame.  The MPLS label stack is the context for the service. The
second tag is assumed unique in the qualified domain. In Unqualified
learning (or shared VLAN learning) removing the one outer tag and means the
possibility collisions in the second tag space - no unique context is
maintained this is where VLAN translation has typically been used.  In both
cases the second tag is not changed.  One application of your draft implies
to me that you support he same models but the second tag can be changed. Can
you support both unqualified and qualified with the flexible tagging and
does it change any of the established capabilities?  Or something else?  It
would be really great clarify.   Some text on applicability with concrete
L2VPN examples would help and what it offers over the current L2VPN Yang. 

 

 

Therefore my suggestion is that the draft say something to the effect that: 

.             The draft is limited to the a port/service interface/access
model

.             The draft is agnostic to the full range of the Ethernet
functions that rely on the IEEE 802.1 component model. 

.             The draft uses Ethernet compatible Tagging to allow bridging
in between endpoints or interworking with bridges in a with a subset
functionality.*

 

*Note the draft is adding some other functionally that is
outside/alternative to the IEEE 802.1 functions but it interworks with
Ethernet on a subset. 

I think you do have to revisit some the language around compatibility with
compliant bridges with respect to the above points. 

 

 

Best regards

Don


------=_NextPart_000_0009_01D56F95.166621E0
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-microsoft-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=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii"><meta name=3DGenerator content=3D"Microsoft Word 15 =
(filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0in;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
@page WordSection1
	{size:8.5in 11.0in;
	margin:1.0in 1.0in 1.0in 1.0in;}
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=3DEN-US =
link=3D"#0563C1" vlink=3D"#954F72"><div class=3DWordSection1><p =
class=3DMsoNormal>Some comments on the draft :<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>On the =
content of the draft L3 Section:&nbsp; <o:p></o:p></p><p =
class=3DMsoNormal>Overall the draft assumes quite a bit of knowledge =
about L3 service configuration.&nbsp; I don&#8217;t know where L3 =
service to interfaces in the IETF models.&nbsp; I&#8217;d guess it is =
routing to interfaces and IP forwarding based on routing but if it is =
defined, pointers in the draft would help.&nbsp; From what I understand =
this draft allows a L3 service interface to terminate to an Ethernet =
with any combination of 2 VLAN tags.&nbsp; The draft does not state it =
but I assume this encapsulation is symmetric. =
&nbsp;(Symmetrical/Asymmetrical is only mentioned for L2).&nbsp;&nbsp; =
Note the implied service context (what you get when you strip the tags) =
allows for symmetric traffic . For&nbsp; L3 this is typically MPLS or IP =
5 tuple etc. <o:p></o:p></p><p class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal>On the layer 2 section:&nbsp; <o:p></o:p></p><p =
class=3DMsoNormal>For the L2VPN case there is already a YANG file that =
describes the Service VLAN tagging.&nbsp;&nbsp; I&#8217;m trying to =
figure you what your draft brings to this case.&nbsp; It seems to me =
this draft allows (more) flexible tagging for the =
unqualified/unqualified learning VPNs.&nbsp; By allowing translation and =
possibly carrying more tags a single VLAN can carry more diverse =
traffic.&nbsp; However there are subtleties in doing VLAN =
translation.&nbsp; Without examples of applications I&#8217;m left =
guessing how this is intended to be applied.&nbsp; Also it is not as =
easy for me to understand the service context as with L3 =
above.&nbsp;&nbsp; How do you identify untagged traffic (or is it a tag =
swapping model?) In L2 VPNs the classic case of qualified learning (also =
called independent VLAN learning in IEEE) removes the (one) outer tag =
and carries the second tag in the MPLS frame.&nbsp; The MPLS label stack =
is the context for the service. The second tag is assumed unique in the =
qualified domain. In Unqualified learning (or shared VLAN learning) =
removing the one outer tag and means the possibility collisions in the =
second tag space &#8211; no unique context is maintained this is where =
VLAN translation has typically been used.&nbsp; In both cases the second =
tag is not changed.&nbsp; One application of your draft implies to me =
that you support he same models but the second tag can be changed. Can =
you support both unqualified and qualified with the flexible tagging and =
does it change any of the established capabilities?&nbsp; Or something =
else?&nbsp; It would be really great clarify.&nbsp;&nbsp; Some text on =
applicability with concrete L2VPN examples would help and what it offers =
over the current L2VPN Yang. <o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Therefore my =
suggestion is that the draft say something to the effect that: =
<o:p></o:p></p><p =
class=3DMsoNormal>&#8226;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; The draft is limited to the a port/service =
interface/access model<o:p></o:p></p><p =
class=3DMsoNormal>&#8226;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; The draft is agnostic to the full range of the =
Ethernet functions that rely on the IEEE 802.1 component model. =
<o:p></o:p></p><p =
class=3DMsoNormal>&#8226;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; The draft uses Ethernet compatible Tagging to =
allow bridging in between endpoints or interworking with bridges in a =
with a subset functionality.*<o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>*Note the =
draft is adding some other functionally that is outside/alternative to =
the IEEE 802.1 functions but it interworks with Ethernet on a subset. =
<o:p></o:p></p><p class=3DMsoNormal>I think you do have to revisit some =
the language around compatibility with compliant bridges with respect to =
the above points. <o:p></o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p =
class=3DMsoNormal><o:p>&nbsp;</o:p></p><p class=3DMsoNormal>Best =
regards<o:p></o:p></p><p =
class=3DMsoNormal>Don<o:p></o:p></p></div></body></html>
------=_NextPart_000_0009_01D56F95.166621E0--


From nobody Sun Sep 22 12:42:27 2019
Return-Path: <ietf.dmytro@shytyi.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2645212004C for <netmod@ietfa.amsl.com>; Sun, 22 Sep 2019 12:42:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.756
X-Spam-Level: 
X-Spam-Status: No, score=-0.756 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, NUMERIC_HTTP_ADDR=1.242, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=shytyi.net
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 vZZ_afUIFpXT for <netmod@ietfa.amsl.com>; Sun, 22 Sep 2019 12:42:19 -0700 (PDT)
Received: from sender-of-o52.zoho.eu (sender-of-o52.zoho.eu [185.20.209.248]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C0A812002E for <netmod@ietf.org>; Sun, 22 Sep 2019 12:42:18 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1569181317; cv=none; d=zohomail.eu; s=zohoarc;  b=e/cKKIFXjtkSemx0H1WgW0wScZDR1zJ4SA/k0mIzJXx/zeuPH1AsGzdw3htAC7zWqbSwjZErxvfY2kLQHiW8Ap2rCPf4bcO0y9JG8Jzk/68segsX/RcQxH5+44LKHnvT8xOLwR2xEI6MjGTmuysIcZvci9WhG4yCPT4504v55s4=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1569181317; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=+iVyNUky8GDss3Jht2n63n6o2l1ogdoGmie700kZp2M=;  b=OnNSwdrtK9b3i5dpi91ln2PJxQFqNgpiyHXBQPJvEVxzNXMxxddA25li4iYb3ZelnTeZqLydWhX5kV1V7aDm1dl/2X8Pvj/Q6XHXYguh7B+sJnSDhyIhvFDS8CYqkyeftd1zk+X9NE3mU7FG/veX9vTitj/KPChAfjOM2RSijHc=
ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass  header.i=shytyi.net; spf=pass  smtp.mailfrom=ietf.dmytro@shytyi.net; dmarc=pass header.from=<ietf.dmytro@shytyi.net> header.from=<ietf.dmytro@shytyi.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1569181317;  s=hs; d=shytyi.net; i=ietf.dmytro@shytyi.net; h=Date:From:To:Cc:Message-Id:In-Reply-To:References:Subject:MIME-Version:Content-Type; l=89124; bh=+iVyNUky8GDss3Jht2n63n6o2l1ogdoGmie700kZp2M=; b=XJWkKVChc76dbBxoCGbSHdaEQLqKldkY+1qOIsj/bcqGn1f4g6IA0elCcpnOj2sc OXjEMVvnT/cZz4L0gQ8zdPJTaH4IvB+cqbWPZCTgCiHvFimOp3HHkAcnbKndTAi/PVr 1HpRYVghZKjwZtGUT9HYwjqjvTbiMo8KvrCOCHYA=
Received: from mail.zoho.eu by mx.zoho.eu with SMTP id 1569181315809277.522099763528; Sun, 22 Sep 2019 21:41:55 +0200 (CEST)
Date: Sun, 22 Sep 2019 21:41:55 +0200
From: Dmytro Shytyi <ietf.dmytro@shytyi.net>
To: "Mahesh Jethanandani" <mjethanandani@gmail.com>
Cc: "Robert Varga" <nite@hq.sk>, "billwu" <bill.wu@huawei.com>, "netmod" <netmod@ietf.org>, "Diego Lopez" <diego.r.lopez@telefonica.com>
Message-Id: <16d5a7eb2d6.ce778468222448.6962867845902399388@shytyi.net>
In-Reply-To: <01199895-90CF-4A7E-89E8-BDC4800798B2@gmail.com>
References: <155377227553.1573.8548464832229347361.idtracker@ietfa.amsl.com> <16caabd07ae.de4789c8151923.6368018099125205208@shytyi.net> <16cba30dec2.b91b31ed256364.8160264793634017255@shytyi.net> <16cd3d19305.11aec1852361697.7576623717058940792@shytyi.net> <5219ac80-b607-b4b4-8c77-72950d4c5137@hq.sk> <16cd8798b80.b402ce899813.5192375594519800096@shytyi.net> <16d022a2635.cf0e2e825020.1253681289762507320@shytyi.net> <DD368137-2977-4039-9C3E-F5127EBB0864@gmail.com> <16d033d38e7.bbb2af8a11544.6493791187744876181@shytyi.net> <01199895-90CF-4A7E-89E8-BDC4800798B2@gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_628155_455362716.1569181315799"
X-Priority: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/QOahCXGWJDQ9wkRZSrcdO4-VOvE>
Subject: Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group document.
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 22 Sep 2019 19:42:25 -0000

------=_Part_628155_455362716.1569181315799
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello Mahesh,

I would like to thank you for your comments.



---- On Fri, 06 Sep 2019 03:43:05 +0200 Mahesh Jethanandani <mailto:mjethan=
andani@gmail.com> wrote ----




Hi Dmytro,



First of all, I find the discussion within the netmod WG as just the wrong =
place to have this discussion. You will be hard pressed to find too many pe=
ople who can give you critical feedback on the model in this WG.




[Dmytro] Thank you for this suggestion.



See inline with [mj]



On Sep 5, 2019, at 2:03 PM, Dmytro Shytyi <mailto:ietf.dmytro@shytyi.net> w=
rote:




[Dmytro]

Hello Mahesh Jethanandani,

Thank you for your comment.

Please find answers inline.



>I find the representation of a service model in this draft for a uCPE as t=
oo simple. In reality, on a uCPE, you could be running a Network Service (N=
S), which is composed of multiple VNFs interconnected together. This servic=
e model does not address such a configuration.

[Dmytro]


This service model presented in the draft supports N VMs in the NS and addr=
eses configuration with multiple VMs and switches with plenty of links. It =
is well tested (with service chained VMs) on equipent from different well k=
nown suppliers. The idea to have complex flexible service in the network se=
rvice orchestrator for uCPE.

in the yang model we have list (marked by pyang with "*") of VMs where the =
key is name of the vm, thus you may define as much VM as you wish.







[mj] You have introduced concept of interfaces, ports, and switches that do=
es not exist in the NFV world. VNFs have virtual links and connection point=
s. There is no (physical) port or interface that one connects to in a VNF. =
It might exist on the server on which the VM runs but not in a VNF or a vir=
tualization instance.







[Dmytro] The uCPEs have these items. Therefore the model that was created w=
as created for uCPE management part. I will adjust the draft regarding your=
 comment.=C2=A0

Example of 2 VMs that are service chained (swLAN-VM1-swService-VM2-swWAN)



=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vms* [vm]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vm=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw ports* [port]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw port=C2=
=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw name?=C2=
=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw link?=C2=
=A0=C2=A0 -> ../../../links/link

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw ram?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw cpu?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw storages* [id]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw id=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |=C2=A0 +--rw location?=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw day0-config

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 location?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 day0-var-path?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw=
 variable* [name]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 +--rw name=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 +--rw value?=C2=A0=C2=A0 string





So basically=C2=A0 the list "+--rw wms* [vm]" can be represented/"expanded"=
 in this way where the names and number ov vms(N) is set by user:



=C2=A0>>>>>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vm1=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ports* [port]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../=
links/link

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw storages* [id]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw day0-config

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 str=
ing

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw variable* [name]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=
=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw value?=C2=A0=
=C2=A0 string

>>>>>=C2=A0 =C2=A0 =C2=A0 =C2=A0 +--rw vm2=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ports* [port]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../=
links/link

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw storages* [id]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0+--rw day0-config

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 =C2=A0 +--rw location?=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 str=
ing

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0 +--rw variable* [name]

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw name=C2=A0=
=C2=A0=C2=A0=C2=A0 string

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 =C2=A0|=C2=A0 =C2=A0 =C2=A0|=C2=A0=C2=A0=C2=A0=C2=A0 +--rw value?=C2=A0=
=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0....

=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=
=A0 |=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =
=C2=A0=C2=A0

=C2=A0>>>>>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw vmN=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw ports* [port]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw port=C2=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw name?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw link?=C2=A0=C2=A0 -> ../../../links/link

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw ram?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw cpu?=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw storages* [id]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw id=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0|=C2=A0 +--rw location?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0+--rw day0-config

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw location?=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw day0-var-path?=C2=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--rw variable* [name]

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw name=C2=A0=C2=A0=C2=
=A0=C2=A0 string

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0+--rw value?=C2=A0=C2=A0 s=
tring







[mj] I understand how you instantiate multiple VMs. What I do not understan=
d is for example, your representation of a link. Currently, it points to a =
link definition within the same Virtualization instance. How does that tell=
 me what is it connected to?










[Dmytro] Thank you for suggestion, I will add this to the next version.


The XML example below presents the configuration of the next service in the=
 uCPE, where: vSW(LAN), vSW(WAN), vSW(Service) - virtual switches; l1,l2,l3=
,l4 - virtual links; VMs represent PNFs (Physical Network Fuctions) that co=
uld be bootstrapped with 0day config/license.
 =20
+--------+      +-------------+      +------------+
|vSW(LAN)|--l2--|VNF-vFirewall|--l3--|            |
+--------+      +-------------+      |            |
+--------+      +-------------+      |vSW(Service)|
|vSW(WAN)|--l1--|   VNF_vCPE  |--l4--|            |
+--------+      +-------------+      +------------+
    =20
  <ucpe xmlns=3D"urn:ietf:params:xml:ns:yang:ietf-ucpe">
      <name>ucpe1</name>
      <links>
        <link>l1</link>
      </links>
      <links>
        <link>l2</link>
      </links>
      <links>
        <link>l3</link>
      </links>
      <links>
        <link>l4</link>
      </links>
      <switches>
        <switch>lan</switch>
        <ports>
          <port>10</port>
          <name>l2p10</name>
          <link>l2</link>
        </ports>
      </switches>
      <switches>
        <switch>service</switch>
        <ports>
          <port>10</port>
          <name>l3p10</name>
          <link>l3</link>
        </ports>
        <ports>
          <port>11</port>
          <name>l4p10</name>
          <link>l4</link>
        </ports>
      </switches>
      <switches>
        <switch>wan</switch>
        <ports>
          <port>10</port>
          <link>l1</link>
        </ports>
      </switches>
      <vms>
        <vm>VNF-vCPE</vm>
        <ports>
          <port>1</port>
          <name>l1p1</name>
          <link>l1</link>
        </ports>
        <ports>
          <port>2</port>
          <name>l4p2</name>
          <link>l4</link>
        </ports>
        <ram>2048</ram>
        <cpu>2</cpu>
        <storages>
          <id>1</id>
          <location>http://192.168.2.1/vCPE-x86.qcow2</location>
        </storages>
        <day0-config>
          <location>https://192.168.2.1/vCPE-day0.iso</location>
          <day0-var-path>/config.rom</day0-var-path>
          <variable>
            <name>hostname</name>
            <value>IETF-vCPE</value>
          </variable>
          <variable>
            <name>ipaddress</name>
            <value>192.168.1.2 255.255.255.0</value>
          </variable>
        </day0-config>
      </vms>
      <vms>
        <vm>VNF-vFirewall</vm>
        <ports>
          <port>1</port>
          <name>l3p1</name>
          <link>l3</link>
        </ports>
        <ports>
          <port>2</port>
          <name>l2p2</name>
          <link>l2</link>
        </ports>
        <ram>2048</ram>
        <cpu>2</cpu>
        <storages>
          <id>1</id>
          <location>http://192.168.2.1/vFirewall-x86.qcow2</location>
        </storages>
        <day0-config>
          <location>https://192.168.2.1/vFirewall-day0.iso</location>
          <day0-var-path>/config.rom</day0-var-path>
          <variable>
            <name>hostname</name>
            <value>vFirewall</value>
          </variable>
          <variable>
            <name>ipaddress</name>
            <value>192.168.1.3 255.255.255.0</value>
          </variable>
        </day0-config>
      </vms>
    </ucpe>




Why is CPU defined as a string? And what does =E2=80=9CAmount of cpus=E2=80=
=9D mean? Number of CPUs? Same for RAM.







[Dmytro]




Yes, it is better to set int. Yes Number of CPUs. It will be fixed.

Also VMs have images and storage. If your storage is an image, where is the=
 storage (disk) definition?=C2=A0






[Dmytro]




storage is a list where items are locations of the iso/qcow2/(for example v=
di)". further the mapping logic creates a disk based on the image location.

We could have multiple storages, thus multiple disks. (This one should be m=
odified. Thank you for suggestion. For example we may add type of the disk =
(for example IDE).



Again, definition of CPUs, RAM, storage belong in a VNF Descriptor (VNFD), =
not in a service model. One needs that information at the time of instantia=
tion of a VNF, not at the time of turning up a service.








[Dmytro]




We could talk about VNFD, NSD, Forwarding graphs. But uCPE that exists nowa=
days, all of them are following this way?=C2=A0



>Besides, how is the configuration of a uCPE device for a VNF different fro=
m configuration of a VNF in a provider Network Function Virtualization Infr=
astructure (NFVI) like OpenStack or VMware VIO?

[Dmytro]


Modern uCPE support netconf. And if you go to the YANG RFC6020 you will fin=
d the next statement:

=C2=A0=C2=A0 "YANG is a data modeling language used to model configuration =
and

=C2=A0=C2=A0 state data manipulated by the Network Configuration Protocol

=C2=A0=C2=A0 (NETCONF), NETCONF remote procedure calls, and NETCONF notific=
ations."

When we talk about Openstack it is YAML, not YANG.=C2=A0







[mj] If I give you a YANG model to configure OpenStack, tell me how would t=
hat be different from configuring a uCPE?








[Dmytro]




The question that you may face is how you are going to configure with YANG =
modle for Openstack the=C2=A0 uCPE when you have Ports and Swithes to confi=
gure and variables that you want to pass to the uCPE VNF?=C2=A0

>And would you not need to enable the service on the provider side to make =
the services running on the uCPE functional?

[Dmytro]

Indeed, to manage the uCPE located on the client side we need to enable the=
 provider side. The presented model is this actually "sits" in orchestaror =
that is located on the provider side. In the draft it is mentioned that it =
is "network service yang model- NSYM" that is in the orchestrator (accordin=
g to the rfc8199).







[mj] By sitting in the orchestrator, you have not defined how the service o=
n the provider side is enabled.









[Dmytro]




Yes it is not defined. I don't think this is a part to define in this draft=
 as this darft is related to the uCPE management.(i.e. creation of the uCPE=
 service) that may be connected for example to the 1/10G Internet link of I=
SP.



>There is significant amount of work that has been done in ETSI on the conf=
iguration and management of VNF and NS. Authors should spend some time goin=
g through the specifications specified by ETSI to make sure they are not re=
-specifying work that has been done there, and instead see how they could a=
ugment the work that has already been defined.

[Dmytro]


The uCPE management mechanism(in the service provider network service orche=
strator)=C2=A0 may involve not only YANG modules but also the speficic logi=
c written in programming languages. The proposed organisation of yang model=
 is a solution that provides the best fit for combination (YANG modules + s=
pecific logic written in python for example )=C2=A0 to manage different exi=
sting NFVIs in the uCPE (by the orchestrator).







[mj] IETF does not specify implementation or logic written in a programming=
 language.







[Dmytro]




Yes. It can specify the YANG model. And based on the YANG model there will =
be logic written. So the YANG model should be chosen wisely by taking into =
account the work that needs to be done after.



In the case of uCPE, the mapping (w/wo additinal logic) of "variables " bet=
ween service yang modules (in the orchestrator) and NETCONF payload(that is=
 sent to the uCPE) will be more complex (requires additional transformation=
s in the logic) with generic approach, then the solution presented in the I=
D, that is tailored to the uCPE.Therefore I find the proposed solution as a=
 stadalone generic approach to manage multiple vendor uCPE that appears to =
be a particular case tailored for uCPE NFVIs that may be not nesseraly foll=
ows RFC8345. I would be pleased if you could comment this.







[mj] To me this sounds like an implementation level detail for a uCPE. Agai=
n, not something that IETF standardizes.=C2=A0









[Dmytro]




There are implementation details for each uCPE. And those are not covered b=
y the document. The YANG model should be chosen such that in the future imp=
lementators would have less pain to integrate the YANG model with logic.







>Authors can start by going through IFA010,=C2=A0 IFA011, IFA014, and its Y=
ANG specification in SOL006.

[Dmytro]


I would like to draw your attention that these documents seems to be direct=
ed to the generic solution including also cloud environment, that brings a =
lot of complexity. There is some difference between cloud and client site.

For example, case for VNFD, in the cloud we need to have flavours, differen=
t VDUs For VNFD, to change the VM capacities according to the load as we ha=
ve the extendible infrastructure.

The ucpe has limited resources, not as a cloud infrastructure in the data c=
enter.







[mj] Define a single flavor in case of uCPE and keep it simple.

For example, in the case of NSD: NSD includes the VLD that defines Virtual =
Links. But in the uCPE case you may have virtual links + virtual switches t=
hat are not part of the NSD defined in the ETSI.








[Dmytro]

Why flavors are needed if the idea is not appropriate to the uCPE)fixed con=
figuration)?



[mj] But you are allowed to define more than 2 links. Why do you need to de=
fine a switch?








Links have 2 termination points. They interconnect switches with VMs/Physic=
al Ports.



For example, i'm not avare of VNFD that brings option of (0day configuratio=
n)/bootstrap for VNF. Moreover in the proposed model there is a possibility=
 to set variables that will be substituted in the ".iso" bootstrap image (e=
x.cloudinit) that is assigned to the VM in the uCPE.



[mj] That is considered part of the workflow. Your workflow engine will all=
ow you to set variables that are substituted in the ISO image or when the i=
mage boots up.








[Dmytro]
This YANG model allows to pass variables to the workflow. I do not see anyt=
hing wrong with that if we consider this YANG model as management layer of =
uCPE.
Thus the generic solution of ETSI leads to more complex implementations of =
the code that is responsible for mapping between YANG/XML when the solution=
 proposed in the Inernet Draft is tailored to the uCPE use-case and should =
bring the simplisity when developping the mapping logic and inroduce featur=
es that are not presented by ETSI.

The Internet Draft also defines the term uCPE that is not defined at IETF y=
et.







[mj] I do not think this is the right WG or even the right body to standard=
ize this model.








[Dmytro]Than you for your comment.



Mahesh Jethanandani

mailto:mjethanandani@gmail.com






>>On Sep 5, 2019, at 9:02 AM, Dmytro Shytyi <mailto:ietf.dmytro@shytyi.net>=
 wrote:

>>Dear All,

>>Please find the updated version of the VYSM Internet Draft(v0.2).

>>The new version of draft introduces an extension of the yang model define=
d in previous version. From now the VYSM supports (0day configuration)/(boo=
tstrap) of the VNFs hosted in the uCPE.

>>With 0day configuration in the uCPE we can setup minimal required configu=
ration of vRouter (such as ip address, hostname,etc..), SD-WAN (address of =
the SD-WAN manager, dhcp activation, etc..), etc..

>>Details:

>>A new version of I-D, draft-shytyi-netmod-vysm-02.txt\A0

>>has been successfully submitted by Dmytro Shytyi and posted to the\A0

>>IETF repository.\A0

>>Name:\A0\A0\A0\A0\A0\A0\A0\A0draft-shytyi-netmod-vysm\A0

>>Revision:\A0\A0\A0\A002\A0

>>Title:\A0\A0\A0\A0\A0\A0\A0\A0Virtualization YANG Servise Model (VYSM)\A0

>>Document date:\A0\A0\A0\A02019-09-04\A0

>>Group:\A0\A0\A0\A0\A0\A0\A0\A0Individual Submission\A0

>>Pages:\A0\A0\A0\A0\A0\A0\A0\A010\A0

>>URL: https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt=
/A0

>>Status: https://datatracker.ietf.org/doc/draft-shytyi-netmod-vysm//A0

>>Htmlized: https://tools.ietf.org/html/draft-shytyi-netmod-vysm-02/A0

>>Htmlized: https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vysm/=
A0

>>Diff: https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vysm-02\A0

>>Abstract:\A0

>>

>>This document provides a specification of the Virtual Network\A0

>>

>>Functions YANG Service Model (VYSM). The VNF YANG Service Model\A0

>>

>>serves as a base framework for managing an universal Customer-\A0

>>

>>Premises Equipment (uCPE) NFV subsystem from the Orchestrator.\A0

>>>>

>>>># # # : Dmytro Shytyi [mailto:mailto:ietf.dmytro@shytyi.net]

>>>># # # # : 2019# 8# 28#\A0 21:46

>>>># # # : Robert Varga <mailto:nite@hq.sk>; Qin Wu <mailto:bill.wu@huawei=
.com>

>>>># # : netmod <mailto:netmod@ietf.org>

>>>># # : Re: [netmod] New Version draft-shytyi-netmod-vysm-02.txt as Worki=
ng Group document.

>>>>

>>>>Hello,

>>>>

>>>>Please find comments inline.

>>>>>On 27/08/2019 18:03, Dmytro Shytyi wrote:

>>>>>> Dear All,

>>>>>>\A0

>>>>>> I am one of the authors of ID VYSM and I would like to draw your

>>>>>> attention to the evolution of the

>>>>>> draft\A0https://http://www.ietf.org/internet-drafts/draft-shytyi-net=
mod-vysm-01.txt.

>>>>>> Recently we produced (but did not submitted yet) a new version of ID

>>>>>> (02) and I beleive it fits the netmod working group.

>>>>>>\A0

>>>>>> We would be gratefull if you could suggest if the new version(02) of=
 the

>>>>>> document\A0 could become an official work item of the WG?

>>>>>> \A0 \A0 \A0 If yes, could you please indicate which modifications mu=
st be done

>>>>>> in the document before submition.

>>>>>\A0

>>>>>Hmm, looking over the model, it would seem there is quite a bit of

>>>>>overlap with RFC8345 -- to the point I believe the model could be

>>>>>formulated in terms of RFC8345 specialization:

>>>>First of all I would like to thank you for this comment.\A0

>>>>-Dmytro

>>>>>virtualization -> networks/network

>>>>>\A0

>>>>>device/links/interfaces/switches/vms are probably a mix of

>>>>>node/termmination-point/link extensions with conjunction with

>>>>>supporting-{topology,node,link}.

>>>>I can imagine mapping:

>>>>virtualization (ID) -> networks/network (RFC 8345)

>>>>links (ID)- >link;(RFC 8345)

>>>>ports (ID)-> termination points;(RFC 8345)

>>>>But still.. it seems here we have to create extension of the model prop=
osed in RFC 8345.

>>>>Precisely for node (RFC 8345) we may add types (switches, vms) and fute=
r add leafs /listsfor type if required (ex: #RAM,#vCPUs and other leafs for=
 VMs)

>>>>-Dmytro

>>>>>How would the draft relate to RFC8345? Should it perhaps call out it i=
s

>>>>>a different take on the similar problem, specialized to a particular

>>>>>use-case?

>>>>One can suggest that\A0 in the RFC8345 Figure 1, the block "service Top=
ology model" can include the proposed in the draft network service descript=
or with appropriate modification of mapping according to the RFC8345..

>>>>

>>>>Meanwhile I find that the proposed solution(ID) try to solve the proble=
m descibed below:

>>>>

>>>>The uCPE management mechanism may involve not only YANG modules but\A0 =
also the speficif logic written in programming languages. The proposed orga=
nisation of yang model is an attempt to find the best fit\A0 for combinatio=
n (YANG modules + specific logic written in python for example )\A0 to mana=
ge different existing NFVIs in the uCPE (by the orchestrator).

>>>>

>>>>In the case of uCPE, the mapping (w/wo additinal logic) of "variables "=
 between service yang modules (in the orchestrator) and NETCONF payload(tha=
t is sent to the uCPE) will be more complex (requires additional transforma=
tions in the logic) with generic approach, then the solution presented in t=
he ID, that is tailored to the uCPE.\A0

>>>>

>>>>Therefore I find the proposed solution as a stadalone generic approach =
to manage multiple vendor uCPE that appears to be a particular case tailore=
d for uCPE NFVIs that may be not nesseraly follows RFC8345. I would be plea=
sed if you could comment this.

>>>>

>>>>-Dmytro

>>>>>Regards,

>>>>>Robert (with RFC8345 co-author hat on)

>>>>>+1, in addition, I am wondering whether this is something related to o=
verlay topology model, if yes, how it is different from DC Fabric topology =
model defined in RFC8542?\A0

>>>>>-Qin\A0

>>>>Thank you for your comment. The RFC8542 condisers PODs in the DC networ=
k. uCPE is located on the customer site. if we consider that uCPE is A POD =
(with links and nodes like VMs and swithces) then in the RFC8542 describes =
different PODs in the network that are interconnected with links. The yang =
model proposed in the ID ifocuses only on the uCPE interiour network servic=
e, not the interconnection between the uCPEs. Aslo, I explained the differe=
nce about extension neded for type of nodes,vms leafs and furter complexity=
 in the mapping logic in the reponce to Robert.

>>>>-Dmytro

>>>>

>>>>[Qin]:So you focus on interconnection between local vPE and remote vPE?

>>>[Dmytro]:

>>>Thank you for this question. It seems that the next version of draft sho=
uld include the explanation of the uCPE interiour network service.

>>>Example: We can have multiple VMs instantiated in the uCPE (vFW,vRouter/=
vCPE,SD-WAN). With support of links and swithes\A0 VMs may create a service=
 chains.

>>>Example of service chains:

>>>1)WAN--vRouter(vCPE)-link-uCPEvSW -link2-vFirewall-LAN

>>>2)WAN--SDWAN--vFirewall--LAN

>>>>It is not clear whether we should distinguish VM from switch. In my und=
erstanding, Upon VNF is instantiated, there is no difference between virtua=
l and physical worlds.

>>>[Dmytro]:

>>>The VM/VNF in the uCPE could be a vROuter or Vfirewall or an SD-WAN that=
 is not a default part of virtual network resources of the uCPE (chapter 3 =
in the ID).

>>>The switch (ex. Open vSwith) in the uCPE is a default part of uCPE netwo=
rk virtual resources (chapter 3 in the ID).

>>>Thus we need to distingish swithes and VNFs to not to mix uCPE network v=
irtual resources and VNFs.

>>>Another reason why the destingishing is required: because VM and SW have=
 different device-attributes. SW does not require VNFD attributtes.

>>>If we do not distinguish nodes, and only extend the grouping "device att=
ributes" for required attributes the switch will have the properties that a=
re\A0 unused leafs which represent the VM-device-attributes.

>>>>VNF lifecycle management is separated from topology construction, wrong=
?

>>>[Dmytro]:

>>>a) In case of the NFVIs uCPE the same High Level interface allows to con=
figure both topology construction and VM lifecycle management in the same t=
ransaction.

>>>b) We can not activate Network Service Descriptor without consituent VM =
node information. At the moment of NSD activation we already have to set th=
e VM node information such as VM capabilities that can be created (previosl=
y)/(at the moment of configuration of NSD) but have to be a part of the net=
work service descriptor at the moment of activation.

>>>[Dmytro]

>>>The Internet Draft also defines the term uCPE that is not defined at IET=
F yet.

>>>_______________________________________________

>>>netmod mailing list

>>>mailto:netmod@ietf.org

>>>https://www.ietf.org/mailman/listinfo/netmod

>>
------=_Part_628155_455362716.1569181315799
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>=
<meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"></h=
ead><body ><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif=
; font-size: 10pt;"><div><div style=3D"font-family: Verdana, Arial, Helveti=
ca, sans-serif;font-size: 10.0pt;"><div>Hello Mahesh,<br></div><div class=
=3D"x_-155371766zmail_extra"><div>I would like to thank you for your commen=
ts.<br></div><div><br></div><div id=3D"x_-1553717661">---- On Fri, 06 Sep 2=
019 03:43:05 +0200 <b>Mahesh Jethanandani &lt;<a target=3D"_blank" href=3D"=
mailto:mjethanandani@gmail.com">mjethanandani@gmail.com</a>&gt;</b> wrote -=
---<br></div><div><br></div><blockquote style=3D"border-left: 1.0px solid r=
gb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><meta=
><div class=3D""><div>Hi Dmytro,<br></div><div class=3D""><br class=3D""></=
div><div class=3D"">First of all, I find the discussion within the netmod W=
G as just the wrong place to have this discussion. You will be hard pressed=
 to find too many people who can give you critical feedback on the model in=
 this WG.<br class=3D""></div></div></blockquote></div><div>[Dmytro] Thank =
you for this suggestion.<br></div><div><br></div><div class=3D"x_-155371766=
zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(204,204,204)=
;padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><div=
 class=3D""><div class=3D""><div>See inline with [mj]<br></div><div><div><b=
r></div><blockquote class=3D""><div class=3D"">On Sep 5, 2019, at 2:03 PM, =
Dmytro Shytyi &lt;<a target=3D"_blank" class=3D"" href=3D"mailto:ietf.dmytr=
o@shytyi.net">ietf.dmytro@shytyi.net</a>&gt; wrote:<br></div><div><br></div=
><div class=3D""><meta class=3D""><div class=3D""><div class=3D"" style=3D"=
font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div=
 class=3D"">[Dmytro]<br></div><div class=3D"">Hello Mahesh Jethanandani,<br=
 class=3D""></div><div class=3D"">Thank you for your comment.<br class=3D""=
></div><div class=3D"">Please find answers inline.<br></div><div class=3D""=
><br class=3D""></div><div class=3D"">&gt;I find the representation of a se=
rvice model in this draft for a uCPE as too simple. In reality, on a uCPE, =
you could be running a Network Service (NS), which is composed of multiple =
VNFs interconnected together. This service model does not address such a co=
nfiguration.<br class=3D""></div><div class=3D"">[Dmytro]<br class=3D""></d=
iv><meta class=3D""><div class=3D"">This service model presented in the dra=
ft supports N VMs in the NS and addreses configuration with multiple VMs an=
d switches with plenty of links. It is well tested (with service chained VM=
s) on equipent from different well known suppliers. The idea to have comple=
x flexible service in the network service orchestrator for uCPE.<br class=
=3D""></div><div class=3D"">in the yang model we have list (marked by pyang=
 with "*") of VMs where the key is name of the vm, thus you may define as m=
uch VM as you wish.<br class=3D""></div></div></div></div></blockquote><div=
><br class=3D""></div><div>[mj] You have introduced concept of interfaces, =
ports, and switches that does not exist in the NFV world. VNFs have virtual=
 links and connection points. There is no (physical) port or interface that=
 one connects to in a VNF. It might exist on the server on which the VM run=
s but not in a VNF or a virtualization instance.<br></div></div></div></div=
></div></blockquote></div><div>[Dmytro] The uCPEs have these items. Therefo=
re the model that was created was created for uCPE management part. I will =
adjust the draft regarding your comment.&nbsp;<br></div><div class=3D"x_-15=
5371766zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(204,2=
04,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D=
""><div class=3D""><div class=3D""><div><blockquote class=3D""><div class=
=3D""><div class=3D""><div class=3D"" style=3D"font-family: Verdana, Arial,=
 Helvetica, sans-serif;font-size: 10.0pt;"><div class=3D"">Example of 2 VMs=
 that are service chained (swLAN-VM1-swService-VM2-swWAN)<br class=3D""></d=
iv><div class=3D""><br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; +--rw vms* [vm]<br class=3D""></div><div class=3D"">&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vm&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><=
div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw po=
rts* [port]<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br cla=
ss=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp; |&nbsp; +--rw name?&nbsp;&nbsp; string<br class=3D""></div><div clas=
s=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw li=
nk?&nbsp;&nbsp; -&gt; ../../../links/link<br class=3D""></div><div class=3D=
"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw ram?&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></d=
iv><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--r=
w cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<b=
r class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp; +--rw storages* [id]<br class=3D""></div><div class=3D"">&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw id&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div c=
lass=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; |&nbsp; +--rw=
 location?&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw day0-config<br class=3D"">=
</div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw day0-var-path?&nbsp;&nbsp; stri=
ng<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw variable* [name]<br class=3D""></di=
v><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; string<br=
 class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; str=
ing<br class=3D""></div><div class=3D""><br class=3D""></div><div class=3D"=
"><br class=3D""></div><div class=3D"">So basically&nbsp; the list "+--rw w=
ms* [vm]" can be represented/"expanded" in this way where the names and num=
ber ov vms(N) is set by user:<br class=3D""></div><div class=3D""><br class=
=3D""></div><div class=3D"">&nbsp;&gt;&gt;&gt;&gt;&gt;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; +--rw vm1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|=
&nbsp; &nbsp; &nbsp;+--rw ports* [port]<br class=3D""></div><div class=3D""=
>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<b=
r class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--=
rw name?&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&n=
bsp; &nbsp; &nbsp;|&nbsp; +--rw link?&nbsp;&nbsp; -&gt; ../../../links/link=
<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw ram=
?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br cla=
ss=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw cpu?&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""=
></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw storages* [id]<br=
 class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--r=
w id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=
=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw loca=
tion?&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; =
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp=
; &nbsp; &nbsp;+--rw day0-config<br class=3D""></div><div class=3D"">&nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &n=
bsp; &nbsp;|&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br class=3D""></=
div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw variable* [n=
ame]<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbs=
p;&nbsp;&nbsp;&nbsp; +--rw name&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D"=
"></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nb=
sp; +--rw value?&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&gt=
;&gt;&gt;&gt;&gt;&nbsp; &nbsp; &nbsp; &nbsp; +--rw vm2&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></=
div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw ports* [port]<br cla=
ss=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw po=
rt&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&n=
bsp; &nbsp; &nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br class=3D""></di=
v><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &=
nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw link?&nbsp;&nb=
sp; -&gt; ../../../links/link<br class=3D""></div><div class=3D"">&nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|=
&nbsp; &nbsp; &nbsp;+--rw ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; =
&nbsp; &nbsp;+--rw cpu?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; =
&nbsp;+--rw storages* [id]<br class=3D""></div><div class=3D"">&nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nb=
sp; &nbsp; &nbsp;|&nbsp; &nbsp; +--rw id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nb=
sp; &nbsp; &nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; string<br class=3D""><=
/div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp=
; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;+--rw day0-config<br clas=
s=3D""></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; +-=
-rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D"=
"></div><div class=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp; +--rw day0-var=
-path?&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &nbsp;=
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|&nbs=
p; &nbsp; &nbsp;|&nbsp; +--rw variable* [name]<br class=3D""></div><div cla=
ss=3D"">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbs=
p; &nbsp; &nbsp;|&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw name&n=
bsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp; &n=
bsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;|=
&nbsp; &nbsp; &nbsp;|&nbsp;&nbsp;&nbsp;&nbsp; +--rw value?&nbsp;&nbsp; stri=
ng<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;....<br class=3D""></div><div class=3D"">&=
nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;=
 |&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nb=
sp;&nbsp;<br class=3D""></div><div class=3D"">&nbsp;&gt;&gt;&gt;&gt;&gt;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw vmN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div cl=
ass=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;+--rw ports* [port]<br class=3D""></div><div class=3D=
"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;|&nbsp; +--rw port&nbsp;&nbsp;&nbsp; string<br class=3D""><=
/div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw name?&nbsp;&nbsp; string<br=
 class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw link?&nbsp;&nb=
sp; -&gt; ../../../links/link<br class=3D""></div><div class=3D"">&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;+--rw ram?&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; =
string<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw cpu?&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></=
div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw storages* [id]<br class=3D""></div><=
div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp; +--rw id&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&=
nbsp;|&nbsp; +--rw location?&nbsp;&nbsp; string<br class=3D""></div><div cl=
ass=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;+--rw day0-config<br class=3D""></div><div class=3D""=
>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbs=
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw location?&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;&nbsp; string<br class=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp; +--rw day0-var-path?&nbsp;&nbsp; string<br class=3D""></div><=
div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; +--rw variable* [name]<br cla=
ss=3D""></div><div class=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb=
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;+--rw name&nbsp;&nbsp;&nbsp;&nbsp; string<br class=3D""></div><div clas=
s=3D"">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n=
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;+--rw value?&nbsp;&=
nbsp; string<br class=3D""></div></div></div></div></blockquote><div><br cl=
ass=3D""></div><div>[mj] I understand how you instantiate multiple VMs. Wha=
t I do not understand is for example, your representation of a link. Curren=
tly, it points to a link definition within the same Virtualization instance=
. How does that tell me what is it connected to?<br></div></div></div></div=
></div></blockquote></div></div><div><br></div><div>[Dmytro] Thank you for =
suggestion, I will add this to the next version.<br></div></div><pre style=
=3D"color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal=
; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orph=
ans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: =
2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style=
: initial; text-decoration-color: initial; overflow-wrap: break-word; white=
-space: pre-wrap;">The XML example below presents the configuration of the =
next service in the uCPE, where: vSW(LAN), vSW(WAN), vSW(Service) - virtual=
 switches; l1,l2,l3,l4 - virtual links; VMs represent PNFs (Physical Networ=
k Fuctions) that could be bootstrapped with 0day config/license.
 =20
+--------+      +-------------+      +------------+
|vSW(LAN)|--l2--|VNF-vFirewall|--l3--|            |
+--------+      +-------------+      |            |
+--------+      +-------------+      |vSW(Service)|
|vSW(WAN)|--l1--|   VNF_vCPE  |--l4--|            |
+--------+      +-------------+      +------------+
    =20
  &lt;ucpe xmlns=3D"urn:ietf:params:xml:ns:yang:ietf-ucpe"&gt;
      &lt;name&gt;ucpe1&lt;/name&gt;
      &lt;links&gt;
        &lt;link&gt;l1&lt;/link&gt;
      &lt;/links&gt;
      &lt;links&gt;
        &lt;link&gt;l2&lt;/link&gt;
      &lt;/links&gt;
      &lt;links&gt;
        &lt;link&gt;l3&lt;/link&gt;
      &lt;/links&gt;
      &lt;links&gt;
        &lt;link&gt;l4&lt;/link&gt;
      &lt;/links&gt;
      &lt;switches&gt;
        &lt;switch&gt;lan&lt;/switch&gt;
        &lt;ports&gt;
          &lt;port&gt;10&lt;/port&gt;
          &lt;name&gt;l2p10&lt;/name&gt;
          &lt;link&gt;l2&lt;/link&gt;
        &lt;/ports&gt;
      &lt;/switches&gt;
      &lt;switches&gt;
        &lt;switch&gt;service&lt;/switch&gt;
        &lt;ports&gt;
          &lt;port&gt;10&lt;/port&gt;
          &lt;name&gt;l3p10&lt;/name&gt;
          &lt;link&gt;l3&lt;/link&gt;
        &lt;/ports&gt;
        &lt;ports&gt;
          &lt;port&gt;11&lt;/port&gt;
          &lt;name&gt;l4p10&lt;/name&gt;
          &lt;link&gt;l4&lt;/link&gt;
        &lt;/ports&gt;
      &lt;/switches&gt;
      &lt;switches&gt;
        &lt;switch&gt;wan&lt;/switch&gt;
        &lt;ports&gt;
          &lt;port&gt;10&lt;/port&gt;
          &lt;link&gt;l1&lt;/link&gt;
        &lt;/ports&gt;
      &lt;/switches&gt;
      &lt;vms&gt;
        &lt;vm&gt;VNF-vCPE&lt;/vm&gt;
        &lt;ports&gt;
          &lt;port&gt;1&lt;/port&gt;
          &lt;name&gt;l1p1&lt;/name&gt;
          &lt;link&gt;l1&lt;/link&gt;
        &lt;/ports&gt;
        &lt;ports&gt;
          &lt;port&gt;2&lt;/port&gt;
          &lt;name&gt;l4p2&lt;/name&gt;
          &lt;link&gt;l4&lt;/link&gt;
        &lt;/ports&gt;
        &lt;ram&gt;2048&lt;/ram&gt;
        &lt;cpu&gt;2&lt;/cpu&gt;
        &lt;storages&gt;
          &lt;id&gt;1&lt;/id&gt;
          &lt;location&gt;<a href=3D"http://192.168.2.1/vCPE-x86.qcow2" tar=
get=3D"_blank">http://192.168.2.1/vCPE-x86.qcow2</a>&lt;/location&gt;
        &lt;/storages&gt;
        &lt;day0-config&gt;
          &lt;location&gt;<a href=3D"https://192.168.2.1/vCPE-day0.iso" tar=
get=3D"_blank">https://192.168.2.1/vCPE-day0.iso</a>&lt;/location&gt;
          &lt;day0-var-path&gt;/config.rom&lt;/day0-var-path&gt;
          &lt;variable&gt;
            &lt;name&gt;hostname&lt;/name&gt;
            &lt;value&gt;IETF-vCPE&lt;/value&gt;
          &lt;/variable&gt;
          &lt;variable&gt;
            &lt;name&gt;ipaddress&lt;/name&gt;
            &lt;value&gt;192.168.1.2 255.255.255.0&lt;/value&gt;
          &lt;/variable&gt;
        &lt;/day0-config&gt;
      &lt;/vms&gt;
      &lt;vms&gt;
        &lt;vm&gt;VNF-vFirewall&lt;/vm&gt;
        &lt;ports&gt;
          &lt;port&gt;1&lt;/port&gt;
          &lt;name&gt;l3p1&lt;/name&gt;
          &lt;link&gt;l3&lt;/link&gt;
        &lt;/ports&gt;
        &lt;ports&gt;
          &lt;port&gt;2&lt;/port&gt;
          &lt;name&gt;l2p2&lt;/name&gt;
          &lt;link&gt;l2&lt;/link&gt;
        &lt;/ports&gt;
        &lt;ram&gt;2048&lt;/ram&gt;
        &lt;cpu&gt;2&lt;/cpu&gt;
        &lt;storages&gt;
          &lt;id&gt;1&lt;/id&gt;
          &lt;location&gt;<a href=3D"http://192.168.2.1/vFirewall-x86.qcow2=
" target=3D"_blank">http://192.168.2.1/vFirewall-x86.qcow2</a>&lt;/location=
&gt;
        &lt;/storages&gt;
        &lt;day0-config&gt;
          &lt;location&gt;<a href=3D"https://192.168.2.1/vFirewall-day0.iso=
" target=3D"_blank">https://192.168.2.1/vFirewall-day0.iso</a>&lt;/location=
&gt;
          &lt;day0-var-path&gt;/config.rom&lt;/day0-var-path&gt;
          &lt;variable&gt;
            &lt;name&gt;hostname&lt;/name&gt;
            &lt;value&gt;vFirewall&lt;/value&gt;
          &lt;/variable&gt;
          &lt;variable&gt;
            &lt;name&gt;ipaddress&lt;/name&gt;
            &lt;value&gt;192.168.1.3 255.255.255.0&lt;/value&gt;
          &lt;/variable&gt;
        &lt;/day0-config&gt;
      &lt;/vms&gt;
    &lt;/ucpe&gt;<br></pre><meta content=3D"text/html; charset=3Dutf-8"><di=
v><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif;font-siz=
e: 10.0pt;"><div><br></div><div class=3D"x_-155371766zmail_extra"><blockquo=
te style=3D"border-left: 1.0px solid rgb(204,204,204);padding-left: 6.0px;m=
argin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><div class=3D""><div class=
=3D""><div><div>Why is CPU defined as a string? And what does =E2=80=9CAmou=
nt of cpus=E2=80=9D mean? Number of CPUs? Same for RAM.<br></div></div></di=
v></div></div></blockquote></div><div>[Dmytro]<br></div></div></div><meta c=
ontent=3D"text/html; charset=3Dutf-8"><div><div style=3D"font-family: Verda=
na, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div>Yes, it is better=
 to set int. Yes Number of CPUs. It will be fixed.<br></div><div class=3D"x=
_-155371766zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(2=
04,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div clas=
s=3D""><div class=3D""><div class=3D""><div>Also VMs have images <b class=
=3D"">and</b> storage. If your storage is an image, where is the storage (d=
isk) definition?&nbsp;<br></div></div></div></div></blockquote></div><div>[=
Dmytro]<br></div></div></div><meta content=3D"text/html; charset=3Dutf-8"><=
div><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif;font-s=
ize: 10.0pt;"><div>storage is a list where items are locations of the iso/q=
cow2/(for example vdi)". further the mapping logic creates a disk based on =
the image location.<br></div><div>We could have multiple storages, thus mul=
tiple disks. (This one should be modified. Thank you for suggestion. For ex=
ample we may add type of the disk (for example IDE).<br></div><div><br></di=
v><div class=3D"x_-155371766zmail_extra"><blockquote style=3D"border-left: =
1.0px solid rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px =
5.0px;"><div class=3D""><div class=3D""><div class=3D""><div>Again, definit=
ion of CPUs, RAM, storage belong in a VNF Descriptor (VNFD), not in a servi=
ce model. One needs that information at the time of instantiation of a VNF,=
 not at the time of turning up a service.<br></div></div></div></div></bloc=
kquote></div><div><br></div><div>[Dmytro]<br></div></div></div><meta conten=
t=3D"text/html; charset=3Dutf-8"><div><div style=3D"font-family: Verdana, A=
rial, Helvetica, sans-serif;font-size: 10.0pt;"><div>We could talk about VN=
FD, NSD, Forwarding graphs. But uCPE that exists nowadays, all of them are =
following this way?&nbsp;<br></div><div class=3D"x_-155371766zmail_extra"><=
blockquote style=3D"border-left: 1.0px solid rgb(204,204,204);padding-left:=
 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><div class=3D""><d=
iv class=3D""><blockquote class=3D""><div class=3D""><div class=3D""><div c=
lass=3D"" style=3D"font-family: Verdana, Arial, Helvetica, sans-serif;font-=
size: 10.0pt;"><div class=3D""><br></div><div class=3D"">&gt;Besides, how i=
s the configuration of a uCPE device for a VNF different from configuration=
 of a VNF in a provider Network Function Virtualization Infrastructure (NFV=
I) like OpenStack or VMware VIO?<br class=3D""></div><div class=3D"">[Dmytr=
o]<br class=3D""></div><meta class=3D""><div class=3D"">Modern uCPE support=
 netconf. And if you go to the YANG RFC6020 you will find the next statemen=
t:<br class=3D""></div><div class=3D"">&nbsp;&nbsp; "YANG is a data modelin=
g language used to model configuration and<br class=3D""></div><div class=
=3D"">&nbsp;&nbsp; state data manipulated by the Network Configuration Prot=
ocol<br class=3D""></div><div class=3D"">&nbsp;&nbsp; (NETCONF), NETCONF re=
mote procedure calls, and NETCONF notifications."<br class=3D""></div><div =
class=3D"">When we talk about Openstack it is YAML, not YANG.&nbsp;<br clas=
s=3D""></div></div></div></div></blockquote><div><br class=3D""></div><div>=
[mj] If I give you a YANG model to configure OpenStack, tell me how would t=
hat be different from configuring a uCPE?<br></div></div></div></div></bloc=
kquote></div><div><br></div><div>[Dmytro]<br></div></div></div><meta conten=
t=3D"text/html; charset=3Dutf-8"><div><div style=3D"font-family: Verdana, A=
rial, Helvetica, sans-serif;font-size: 10.0pt;"><div>The question that you =
may face is how you are going to configure with YANG modle for Openstack th=
e&nbsp; uCPE when you have Ports and Swithes to configure and variables tha=
t you want to pass to the uCPE VNF?&nbsp;<br></div><div class=3D"x_-1553717=
66zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(204,204,20=
4);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><d=
iv class=3D""><div class=3D""><div><blockquote class=3D""><div class=3D""><=
div class=3D""><div class=3D"" style=3D"font-family: Verdana, Arial, Helvet=
ica, sans-serif;font-size: 10.0pt;"><div class=3D"">&gt;And would you not n=
eed to enable the service on the provider side to make the services running=
 on the uCPE functional?<br class=3D""></div><div class=3D"">[Dmytro]<br cl=
ass=3D""></div><div class=3D"">Indeed, to manage the uCPE located on the cl=
ient side we need to enable the provider side. The presented model is this =
actually "sits" in orchestaror that is located on the provider side. In the=
 draft it is mentioned that it is "network service yang model- NSYM" that i=
s in the orchestrator (according to the rfc8199).<br class=3D""></div></div=
></div></div></blockquote><div><br class=3D""></div><div>[mj] By sitting in=
 the orchestrator, you have not defined how the service on the provider sid=
e is enabled.<br></div></div></div></div></div></blockquote></div><div><br>=
</div><div>[Dmytro]<br></div></div></div><meta content=3D"text/html; charse=
t=3Dutf-8"><div><div style=3D"font-family: Verdana, Arial, Helvetica, sans-=
serif;font-size: 10.0pt;"><div>Yes it is not defined. I don't think this is=
 a part to define in this draft as this darft is related to the uCPE manage=
ment.(i.e. creation of the uCPE service) that may be connected for example =
to the 1/10G Internet link of ISP.<br></div><div><br></div><div class=3D"x_=
-155371766zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(20=
4,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=
=3D""><div class=3D""><div class=3D""><div><blockquote class=3D""><div clas=
s=3D""><div class=3D""><div class=3D"" style=3D"font-family: Verdana, Arial=
, Helvetica, sans-serif;font-size: 10.0pt;"><div class=3D"">&gt;There is si=
gnificant amount of work that has been done in ETSI on the configuration an=
d management of VNF and NS. Authors should spend some time going through th=
e specifications specified by ETSI to make sure they are not re-specifying =
work that has been done there, and instead see how they could augment the w=
ork that has already been defined.<br class=3D""></div><div class=3D"">[Dmy=
tro]<br class=3D""></div><meta class=3D""><div class=3D"">The uCPE manageme=
nt mechanism(in the service provider network service orchestrator)&nbsp; ma=
y involve not only YANG modules but also the speficic logic written in prog=
ramming languages. The proposed organisation of yang model is a solution th=
at provides the best fit for combination (YANG modules + specific logic wri=
tten in python for example )&nbsp; to manage different existing NFVIs in th=
e uCPE (by the orchestrator).<br class=3D""></div></div></div></div></block=
quote><div><br class=3D""></div><div>[mj] IETF does not specify implementat=
ion or logic written in a programming language.<br></div></div></div></div>=
</div></blockquote></div><div>[Dmytro]<br></div></div></div><meta content=
=3D"text/html; charset=3Dutf-8"><div><div style=3D"font-family: Verdana, Ar=
ial, Helvetica, sans-serif;font-size: 10.0pt;"><div>Yes. It can specify the=
 YANG model. And based on the YANG model there will be logic written. So th=
e YANG model should be chosen wisely by taking into account the work that n=
eeds to be done after.<br></div><div class=3D"x_-155371766zmail_extra"><blo=
ckquote style=3D"border-left: 1.0px solid rgb(204,204,204);padding-left: 6.=
0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><div class=3D""><div =
class=3D""><div><blockquote class=3D""><div class=3D""><div class=3D""><div=
 class=3D"" style=3D"font-family: Verdana, Arial, Helvetica, sans-serif;fon=
t-size: 10.0pt;"><div class=3D""><br class=3D""></div><div class=3D"">In th=
e case of uCPE, the mapping (w/wo additinal logic) of "variables " between =
service yang modules (in the orchestrator) and NETCONF payload(that is sent=
 to the uCPE) will be more complex (requires additional transformations in =
the logic) with generic approach, then the solution presented in the ID, th=
at is tailored to the uCPE.Therefore I find the proposed solution as a stad=
alone generic approach to manage multiple vendor uCPE that appears to be a =
particular case tailored for uCPE NFVIs that may be not nesseraly follows R=
FC8345. I would be pleased if you could comment this.<br class=3D""></div><=
/div></div></div></blockquote><div><br class=3D""></div><div>[mj] To me thi=
s sounds like an implementation level detail for a uCPE. Again, not somethi=
ng that IETF standardizes.&nbsp;<br></div></div></div></div></div></blockqu=
ote></div><div><br></div><div>[Dmytro]<br></div></div></div><meta content=
=3D"text/html; charset=3Dutf-8"><div><div style=3D"font-family: Verdana, Ar=
ial, Helvetica, sans-serif;font-size: 10.0pt;"><div>There are implementatio=
n details for each uCPE. And those are not covered by the document. The YAN=
G model should be chosen such that in the future implementators would have =
less pain to integrate the YANG model with logic.<br></div><div><br></div><=
div class=3D"x_-155371766zmail_extra"><blockquote style=3D"border-left: 1.0=
px solid rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0=
px;"><div class=3D""><div class=3D""><div class=3D""><div><blockquote class=
=3D""><div class=3D""><div class=3D""><div class=3D"" style=3D"font-family:=
 Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div class=3D"">=
<br class=3D""></div><div class=3D""><br class=3D""></div><div class=3D"">&=
gt;Authors can start by going through IFA010,&nbsp; IFA011, IFA014, and its=
 YANG specification in SOL006.<br class=3D""></div><div class=3D"">[Dmytro]=
<br class=3D""></div><meta class=3D""><div class=3D"">I would like to draw =
your attention that these documents seems to be directed to the generic sol=
ution including also cloud environment, that brings a lot of complexity. Th=
ere is some difference between cloud and client site.<br class=3D""></div><=
div class=3D"">For example, case for VNFD, in the cloud we need to have fla=
vours, different VDUs For VNFD, to change the VM capacities according to th=
e load as we have the extendible infrastructure.<br class=3D""></div><div c=
lass=3D"">The ucpe has limited resources, not as a cloud infrastructure in =
the data center.<br class=3D""></div></div></div></div></blockquote><div><b=
r class=3D""></div><div>[mj] Define a single flavor in case of uCPE and kee=
p it simple.<br></div><div>For example, in the case of NSD: NSD includes th=
e VLD that defines Virtual Links. But in the uCPE case you may have virtual=
 links + virtual switches that are not part of the NSD defined in the ETSI.=
<br></div></div></div></div></div></blockquote></div></div><div>[Dmytro]<br=
></div><div>Why flavors are needed if the idea is not appropriate to the uC=
PE)fixed configuration)?<br></div><div><br></div><div style=3D"font-family:=
 Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div class=3D"x_=
-155371766zmail_extra"><blockquote style=3D"border-left: 1.0px solid rgb(20=
4,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px;"><div class=
=3D""><div class=3D""><div class=3D""><div><div>[mj] But you are allowed to=
 define more than 2 links. Why do you need to define a switch?<br></div></d=
iv></div></div></div></blockquote></div></div><div>Links have 2 termination=
 points. They interconnect switches with VMs/Physical Ports.</div><div><br>=
</div></div><div><div style=3D"font-family: Verdana, Arial, Helvetica, sans=
-serif;font-size: 10.0pt;"><div class=3D"x_-155371766zmail_extra"><blockquo=
te style=3D"border-left: 1.0px solid rgb(204,204,204);padding-left: 6.0px;m=
argin: 0.0px 0.0px 0.0px 5.0px;"><div class=3D""><div class=3D""><div class=
=3D""><div><div>For example, i'm not avare of VNFD that brings option of (0=
day configuration)/bootstrap for VNF. Moreover in the proposed model there =
is a possibility to set variables that will be substituted in the ".iso" bo=
otstrap image (ex.cloudinit) that is assigned to the VM in the uCPE.<br cla=
ss=3D""></div><div><br class=3D""></div><div>[mj] That is considered part o=
f the workflow. Your workflow engine will allow you to set variables that a=
re substituted in the ISO image or when the image boots up.<br></div></div>=
</div></div></div></blockquote></div></div>[Dmytro]<br>This YANG model allo=
ws to pass variables to the workflow. I do not see anything wrong with that=
 if we consider this YANG model as management layer of uCPE.</div><div><div=
 style=3D"font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.=
0pt;"><div class=3D"x_-155371766zmail_extra"><blockquote style=3D"border-le=
ft: 1.0px solid rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.=
0px 5.0px;"><div class=3D""><div class=3D""><div class=3D""><div><blockquot=
e class=3D""><div class=3D""><div class=3D""><div class=3D"" style=3D"font-=
family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><div clas=
s=3D"">Thus the generic solution of ETSI leads to more complex implementati=
ons of the code that is responsible for mapping between YANG/XML when the s=
olution proposed in the Inernet Draft is tailored to the uCPE use-case and =
should bring the simplisity when developping the mapping logic and inroduce=
 features that are not presented by ETSI.<br class=3D""></div><div class=3D=
"">The Internet Draft also defines the term uCPE that is not defined at IET=
F yet.<br class=3D""></div></div></div></div></blockquote><div><br class=3D=
""></div><div>[mj] I do not think this is the right WG or even the right bo=
dy to standardize this model.<br></div></div></div></div></div></blockquote=
></div></div><div>[Dmytro]Than you for your comment.<br></div><div style=3D=
"font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><di=
v class=3D"x_-155371766zmail_extra"><blockquote style=3D"border-left: 1.0px=
 solid rgb(204,204,204);padding-left: 6.0px;margin: 0.0px 0.0px 0.0px 5.0px=
;"><div class=3D""><div class=3D""><div class=3D""><div><div><br></div><div=
 class=3D"">Mahesh Jethanandani<br></div><div class=3D""><a target=3D"_blan=
k" class=3D"" href=3D"mailto:mjethanandani@gmail.com">mjethanandani@gmail.c=
om</a><br></div><div class=3D""><br class=3D""></div><blockquote class=3D""=
><div class=3D""><div class=3D""><div class=3D"" style=3D"font-family: Verd=
ana, Arial, Helvetica, sans-serif;font-size: 10.0pt;"><meta class=3D""><div=
 class=3D""><br class=3D""></div><div class=3D"">&gt;&gt;On Sep 5, 2019, at=
 9:02 AM, Dmytro Shytyi &lt;<a class=3D"" href=3D"mailto:ietf.dmytro@shytyi=
.net" target=3D"_blank">ietf.dmytro@shytyi.net</a>&gt; wrote:<br class=3D""=
></div><div class=3D"">&gt;&gt;Dear All,<br class=3D""></div><div class=3D"=
">&gt;&gt;Please find the updated version of the VYSM Internet Draft(v0.2).=
<br class=3D""></div><div class=3D"">&gt;&gt;The new version of draft intro=
duces an extension of the yang model defined in previous version. From now =
the VYSM supports (0day configuration)/(bootstrap) of the VNFs hosted in th=
e uCPE.<br class=3D""></div><div class=3D"">&gt;&gt;With 0day configuration=
 in the uCPE we can setup minimal required configuration of vRouter (such a=
s ip address, hostname,etc..), SD-WAN (address of the SD-WAN manager, dhcp =
activation, etc..), etc..<br class=3D""></div><div class=3D"">&gt;&gt;Detai=
ls:<br class=3D""></div><div class=3D"">&gt;&gt;A new version of I-D, draft=
-shytyi-netmod-vysm-02.txt\A0<br class=3D""></div><div class=3D"">&gt;&gt;h=
as been successfully submitted by Dmytro Shytyi and posted to the\A0<br cla=
ss=3D""></div><div class=3D"">&gt;&gt;IETF repository.\A0<br class=3D""></d=
iv><div class=3D"">&gt;&gt;Name:\A0\A0\A0\A0\A0\A0\A0\A0draft-shytyi-netmod=
-vysm\A0<br class=3D""></div><div class=3D"">&gt;&gt;Revision:\A0\A0\A0\A00=
2\A0<br class=3D""></div><div class=3D"">&gt;&gt;Title:\A0\A0\A0\A0\A0\A0\A=
0\A0Virtualization YANG Servise Model (VYSM)\A0<br class=3D""></div><div cl=
ass=3D"">&gt;&gt;Document date:\A0\A0\A0\A02019-09-04\A0<br class=3D""></di=
v><div class=3D"">&gt;&gt;Group:\A0\A0\A0\A0\A0\A0\A0\A0Individual Submissi=
on\A0<br class=3D""></div><div class=3D"">&gt;&gt;Pages:\A0\A0\A0\A0\A0\A0\=
A0\A010\A0<br class=3D""></div><div class=3D"">&gt;&gt;URL: <a class=3D"" h=
ref=3D"https://www.ietf.org/internet-drafts/draft-shytyi-netmod-vysm-02.txt=
/A0" target=3D"_blank">https://www.ietf.org/internet-drafts/draft-shytyi-ne=
tmod-vysm-02.txt\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Status:=
 <a class=3D"" href=3D"https://datatracker.ietf.org/doc/draft-shytyi-netmod=
-vysm//A0" target=3D"_blank">https://datatracker.ietf.org/doc/draft-shytyi-=
netmod-vysm/\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Htmlized: <=
a class=3D"" href=3D"https://tools.ietf.org/html/draft-shytyi-netmod-vysm-0=
2/A0" target=3D"_blank">https://tools.ietf.org/html/draft-shytyi-netmod-vys=
m-02\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Htmlized: <a class=
=3D"" href=3D"https://datatracker.ietf.org/doc/html/draft-shytyi-netmod-vys=
m/A0" target=3D"_blank">https://datatracker.ietf.org/doc/html/draft-shytyi-=
netmod-vysm\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Diff: <a cla=
ss=3D"" href=3D"https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi-netmod-vys=
m-02\A0" target=3D"_blank">https://www.ietf.org/rfcdiff?url2=3Ddraft-shytyi=
-netmod-vysm-02\A0</a><br class=3D""></div><div class=3D"">&gt;&gt;Abstract=
:\A0<br class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><div =
class=3D"">&gt;&gt;This document provides a specification of the Virtual Ne=
twork\A0<br class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""></div><=
div class=3D"">&gt;&gt;Functions YANG Service Model (VYSM). The VNF YANG Se=
rvice Model\A0<br class=3D""></div><div class=3D"">&gt;&gt;<br class=3D""><=
/div><div class=3D"">&gt;&gt;serves as a base framework for managing an uni=
versal Customer-\A0<br class=3D""></div><div class=3D"">&gt;&gt;<br class=
=3D""></div><div class=3D"">&gt;&gt;Premises Equipment (uCPE) NFV subsystem=
 from the Orchestrator.\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;=
&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # # : Dmytro Shy=
tyi [mailto:<a class=3D"" href=3D"mailto:ietf.dmytro@shytyi.net" target=3D"=
_blank">ietf.dmytro@shytyi.net</a>]<br class=3D""></div><div class=3D"">&gt=
;&gt;&gt;&gt;# # # # : 2019# 8# 28#\A0 21:46<br class=3D""></div><div class=
=3D"">&gt;&gt;&gt;&gt;# # # : Robert Varga &lt;<a class=3D"" href=3D"mailto=
:nite@hq.sk" target=3D"_blank">nite@hq.sk</a>&gt;; Qin Wu &lt;<a class=3D""=
 href=3D"mailto:bill.wu@huawei.com" target=3D"_blank">bill.wu@huawei.com</a=
>&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # : netmod &lt;=
<a class=3D"" href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a>&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;# # : Re: =
[netmod] New Version draft-shytyi-netmod-vysm-02.txt as Working Group docum=
ent.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></d=
iv><div class=3D"">&gt;&gt;&gt;&gt;Hello,<br class=3D""></div><div class=3D=
"">&gt;&gt;&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Ple=
ase find comments inline.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&=
gt;&gt;On 27/08/2019 18:03, Dmytro Shytyi wrote:<br class=3D""></div><div c=
lass=3D"">&gt;&gt;&gt;&gt;&gt;&gt; Dear All,<br class=3D""></div><div class=
=3D"">&gt;&gt;&gt;&gt;&gt;&gt;\A0<br class=3D""></div><div class=3D"">&gt;&=
gt;&gt;&gt;&gt;&gt; I am one of the authors of ID VYSM and I would like to =
draw your<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; atte=
ntion to the evolution of the<br class=3D""></div><div class=3D"">&gt;&gt;&=
gt;&gt;&gt;&gt; draft\A0https://<a class=3D"" href=3D"http://www.ietf.org/i=
nternet-drafts/draft-shytyi-netmod-vysm-01.txt" target=3D"_blank">www.ietf.=
org/internet-drafts/draft-shytyi-netmod-vysm-01.txt</a>.<br class=3D""></di=
v><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; Recently we produced (but did no=
t submitted yet) a new version of ID<br class=3D""></div><div class=3D"">&g=
t;&gt;&gt;&gt;&gt;&gt; (02) and I beleive it fits the netmod working group.=
<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt;\A0<br class=
=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; We would be gratefull =
if you could suggest if the new version(02) of the<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; document\A0 could become an official w=
ork item of the WG?<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt=
;&gt; \A0 \A0 \A0 If yes, could you please indicate which modifications mus=
t be done<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;&gt; in t=
he document before submition.<br class=3D""></div><div class=3D"">&gt;&gt;&=
gt;&gt;&gt;\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;Hmm,=
 looking over the model, it would seem there is quite a bit of<br class=3D"=
"></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;overlap with RFC8345 -- to the =
point I believe the model could be<br class=3D""></div><div class=3D"">&gt;=
&gt;&gt;&gt;&gt;formulated in terms of RFC8345 specialization:<br class=3D"=
"></div><div class=3D"">&gt;&gt;&gt;&gt;First of all I would like to thank =
you for this comment.\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&g=
t;-Dmytro<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;virtualiz=
ation -&gt; networks/network<br class=3D""></div><div class=3D"">&gt;&gt;&g=
t;&gt;&gt;\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;devic=
e/links/interfaces/switches/vms are probably a mix of<br class=3D""></div><=
div class=3D"">&gt;&gt;&gt;&gt;&gt;node/termmination-point/link extensions =
with conjunction with<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&=
gt;supporting-{topology,node,link}.<br class=3D""></div><div class=3D"">&gt=
;&gt;&gt;&gt;I can imagine mapping:<br class=3D""></div><div class=3D"">&gt=
;&gt;&gt;&gt;virtualization (ID) -&gt; networks/network (RFC 8345)<br class=
=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;links (ID)- &gt;link;(RFC 8345)=
<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;ports (ID)-&gt; termin=
ation points;(RFC 8345)<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt=
;But still.. it seems here we have to create extension of the model propose=
d in RFC 8345.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Precisel=
y for node (RFC 8345) we may add types (switches, vms) and futer add leafs =
/listsfor type if required (ex: #RAM,#vCPUs and other leafs for VMs)<br cla=
ss=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br class=3D""></div><=
div class=3D"">&gt;&gt;&gt;&gt;&gt;How would the draft relate to RFC8345? S=
hould it perhaps call out it is<br class=3D""></div><div class=3D"">&gt;&gt=
;&gt;&gt;&gt;a different take on the similar problem, specialized to a part=
icular<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;&gt;use-case?<br=
 class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;One can suggest that\A0 i=
n the RFC8345 Figure 1, the block "service Topology model" can include the =
proposed in the draft network service descriptor with appropriate modificat=
ion of mapping according to the RFC8345..<br class=3D""></div><div class=3D=
"">&gt;&gt;&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Mea=
nwhile I find that the proposed solution(ID) try to solve the problem desci=
bed below:<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br class=3D=
""></div><div class=3D"">&gt;&gt;&gt;&gt;The uCPE management mechanism may =
involve not only YANG modules but\A0 also the speficif logic written in pro=
gramming languages. The proposed organisation of yang model is an attempt t=
o find the best fit\A0 for combination (YANG modules + specific logic writt=
en in python for example )\A0 to manage different existing NFVIs in the uCP=
E (by the orchestrator).<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&g=
t;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;In the case of uCPE,=
 the mapping (w/wo additinal logic) of "variables " between service yang mo=
dules (in the orchestrator) and NETCONF payload(that is sent to the uCPE) w=
ill be more complex (requires additional transformations in the logic) with=
 generic approach, then the solution presented in the ID, that is tailored =
to the uCPE.\A0<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br cla=
ss=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;Therefore I find the proposed=
 solution as a stadalone generic approach to manage multiple vendor uCPE th=
at appears to be a particular case tailored for uCPE NFVIs that may be not =
nesseraly follows RFC8345. I would be pleased if you could comment this.<br=
 class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br class=3D""></div><div class=3D"">&gt=
;&gt;&gt;&gt;&gt;Regards,<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&=
gt;&gt;Robert (with RFC8345 co-author hat on)<br class=3D""></div><div clas=
s=3D"">&gt;&gt;&gt;&gt;&gt;+1, in addition, I am wondering whether this is =
something related to overlay topology model, if yes, how it is different fr=
om DC Fabric topology model defined in RFC8542?\A0<br class=3D""></div><div=
 class=3D"">&gt;&gt;&gt;&gt;&gt;-Qin\A0<br class=3D""></div><div class=3D""=
>&gt;&gt;&gt;&gt;Thank you for your comment. The RFC8542 condisers PODs in =
the DC network. uCPE is located on the customer site. if we consider that u=
CPE is A POD (with links and nodes like VMs and swithces) then in the RFC85=
42 describes different PODs in the network that are interconnected with lin=
ks. The yang model proposed in the ID ifocuses only on the uCPE interiour n=
etwork service, not the interconnection between the uCPEs. Aslo, I explaine=
d the difference about extension neded for type of nodes,vms leafs and furt=
er complexity in the mapping logic in the reponce to Robert.<br class=3D"">=
</div><div class=3D"">&gt;&gt;&gt;&gt;-Dmytro<br class=3D""></div><div clas=
s=3D"">&gt;&gt;&gt;&gt;<br class=3D""></div><div class=3D"">&gt;&gt;&gt;&gt=
;[Qin]:So you focus on interconnection between local vPE and remote vPE?<br=
 class=3D""></div><div class=3D"">&gt;&gt;&gt;[Dmytro]:<br class=3D""></div=
><div class=3D"">&gt;&gt;&gt;Thank you for this question. It seems that the=
 next version of draft should include the explanation of the uCPE interiour=
 network service.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;Example: =
We can have multiple VMs instantiated in the uCPE (vFW,vRouter/vCPE,SD-WAN)=
. With support of links and swithes\A0 VMs may create a service chains.<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;Example of service chains:<br =
class=3D""></div><div class=3D"">&gt;&gt;&gt;1)WAN--vRouter(vCPE)-link-uCPE=
vSW -link2-vFirewall-LAN<br class=3D""></div><div class=3D"">&gt;&gt;&gt;2)=
WAN--SDWAN--vFirewall--LAN<br class=3D""></div><div class=3D"">&gt;&gt;&gt;=
&gt;It is not clear whether we should distinguish VM from switch. In my und=
erstanding, Upon VNF is instantiated, there is no difference between virtua=
l and physical worlds.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;[Dmy=
tro]:<br class=3D""></div><div class=3D"">&gt;&gt;&gt;The VM/VNF in the uCP=
E could be a vROuter or Vfirewall or an SD-WAN that is not a default part o=
f virtual network resources of the uCPE (chapter 3 in the ID).<br class=3D"=
"></div><div class=3D"">&gt;&gt;&gt;The switch (ex. Open vSwith) in the uCP=
E is a default part of uCPE network virtual resources (chapter 3 in the ID)=
.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;Thus we need to distingis=
h swithes and VNFs to not to mix uCPE network virtual resources and VNFs.<b=
r class=3D""></div><div class=3D"">&gt;&gt;&gt;Another reason why the desti=
ngishing is required: because VM and SW have different device-attributes. S=
W does not require VNFD attributtes.<br class=3D""></div><div class=3D"">&g=
t;&gt;&gt;If we do not distinguish nodes, and only extend the grouping "dev=
ice attributes" for required attributes the switch will have the properties=
 that are\A0 unused leafs which represent the VM-device-attributes.<br clas=
s=3D""></div><div class=3D"">&gt;&gt;&gt;&gt;VNF lifecycle management is se=
parated from topology construction, wrong?<br class=3D""></div><div class=
=3D"">&gt;&gt;&gt;[Dmytro]:<br class=3D""></div><div class=3D"">&gt;&gt;&gt=
;a) In case of the NFVIs uCPE the same High Level interface allows to confi=
gure both topology construction and VM lifecycle management in the same tra=
nsaction.<br class=3D""></div><div class=3D"">&gt;&gt;&gt;b) We can not act=
ivate Network Service Descriptor without consituent VM node information. At=
 the moment of NSD activation we already have to set the VM node informatio=
n such as VM capabilities that can be created (previosly)/(at the moment of=
 configuration of NSD) but have to be a part of the network service descrip=
tor at the moment of activation.<br class=3D""></div><div class=3D"">&gt;&g=
t;&gt;[Dmytro]<br class=3D""></div><div class=3D"">&gt;&gt;&gt;The Internet=
 Draft also defines the term uCPE that is not defined at IETF yet.<br class=
=3D""></div><div class=3D"">&gt;&gt;&gt;___________________________________=
____________<br class=3D""></div><div class=3D"">&gt;&gt;&gt;netmod mailing=
 list<br class=3D""></div><div class=3D"">&gt;&gt;&gt;<a class=3D"" href=3D=
"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br class=3D"=
"></div><div class=3D"">&gt;&gt;&gt;<a class=3D"" href=3D"https://www.ietf.=
org/mailman/listinfo/netmod" target=3D"_blank">https://www.ietf.org/mailman=
/listinfo/netmod</a><br class=3D""></div><div class=3D"">&gt;&gt;<br class=
=3D""></div></div><div><br></div></div></div></blockquote><div><br></div><d=
iv class=3D""><br class=3D""></div><div><br></div><div><br></div></div></di=
v></div></div></blockquote></div><div><br></div></div></div><div><br></div>=
</div><br></body></html>
------=_Part_628155_455362716.1569181315799--




From nobody Sun Sep 22 23:48:54 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 91C79120114 for <netmod@ietfa.amsl.com>; Sun, 22 Sep 2019 23:48:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level: 
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 Y74ol35oboZP for <netmod@ietfa.amsl.com>; Sun, 22 Sep 2019 23:48:51 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0BEE71200FE for <netmod@ietf.org>; Sun, 22 Sep 2019 23:48:51 -0700 (PDT)
Received: from [192.168.0.107] (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8N6mh4E067381 for <netmod@ietf.org>; Mon, 23 Sep 2019 06:48:50 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be [192.168.0.107]
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A753307E-A832-4F8F-A071-09D7F60F2B77"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <8918D13C-FEF3-4541-815D-D2E8E5E157E9@bogus.com>
Date: Sun, 22 Sep 2019 23:48:36 -0700
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/LO8NrgJJe6IBD57b8EsLeXcoLoo>
Subject: [netmod] Processing open errata in the the netmod working group
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Sep 2019 06:48:53 -0000

--Apple-Mail=_A753307E-A832-4F8F-A071-09D7F60F2B77
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Folks,

Over the course of this we we intend to process reported errata that we =
have outstanding in netmod

currently in the queue are the following:

=
https://www.rfc-editor.org/errata_search.php?rec_status=3D2&wg_acronym=3Dn=
etmod&presentation=3Dtable =
<https://www.rfc-editor.org/errata_search.php?rec_status=3D2&wg_acronym=3D=
netmod&presentation=3Dtable>

RFC7950 (5517 <https://www.rfc-editor.org/errata/eid5517>)	10.4.2	=
Technical	netmod (ops)	Rohit R Ranade	TEXT	2018-10-08
RFC7950 (5617 <https://www.rfc-editor.org/errata/eid5617>)	14	=
Technical	netmod (ops)	Marek Michalak, Pawel Koch	TEXT	=
2019-01-30
RFC7950 (5663 <https://www.rfc-editor.org/errata/eid5663>)	14	=
Technical	netmod (ops)	Ebben Aries	TEXT	2019-03-18
RFC7950 (5642 <https://www.rfc-editor.org/errata/eid5642>)	9.6.4	=
Editorial	netmod (ops)	Peter Loborg	TEXT	2019-02-21
RFC8342 (5514 <https://www.rfc-editor.org/errata/eid5514>)	C.1	=
Technical	netmod (ops)	Rohit R Ranade	TEXT	2018-10-05
RFC8519 (5762 <https://www.rfc-editor.org/errata/eid5762>)	4.1	=
Technical	netmod (ops)	Qin WU	TEXT	2019-06-24

the first 4 concern yang 1.1 5514 concerns nmda, and the  last one  =
concerns the act model.




--Apple-Mail=_A753307E-A832-4F8F-A071-09D7F60F2B77
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" =
class=3D"">Folks,<div class=3D""><br class=3D""></div><div class=3D"">Over=
 the course of this we we intend to process reported errata that we have =
outstanding in netmod</div><div class=3D""><br class=3D""></div><div =
class=3D"">currently in the queue are the following:</div><div =
class=3D""><br class=3D""></div><div class=3D""><a =
href=3D"https://www.rfc-editor.org/errata_search.php?rec_status=3D2&amp;wg=
_acronym=3Dnetmod&amp;presentation=3Dtable" =
class=3D"">https://www.rfc-editor.org/errata_search.php?rec_status=3D2&amp=
;wg_acronym=3Dnetmod&amp;presentation=3Dtable</a></div><div class=3D""><br=
 class=3D""></div><div class=3D""><table class=3D"dynamictable" =
style=3D"font-family: verdana, arial, sans-serif; font-size: 12px; =
color: rgb(51, 51, 51); border-width: 1px; border-color: rgb(102, 102, =
102); border-collapse: collapse; orphans: 2; widows: 2; =
background-color: rgb(227, 227, 227);"><tbody class=3D""><tr class=3D"odd"=
 style=3D"background-color: rgb(246, 246, 246);"><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">RFC7950 (<a href=3D"https://www.rfc-editor.org/errata/eid5517" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5517</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">10.4.2</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Technical</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Rohit R Ranade</td><td style=3D"border-width: 1px 1em; =
padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">TEXT</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">2018-10-08</td></tr><tr class=3D"even" =
style=3D"background-color: rgb(255, 255, 255);"><td style=3D"border-width:=
 1px 1em; padding: 8px; border-top-style: solid; border-bottom-style: =
solid; border-left-style: initial; border-right-style: initial; =
border-color: rgb(210, 210, 210);" class=3D"">RFC7950 (<a =
href=3D"https://www.rfc-editor.org/errata/eid5617" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5617</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">14</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Technical</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Marek Michalak, Pawel Koch</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">TEXT</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">2019-01-30</td></tr><tr class=3D"odd" =
style=3D"background-color: rgb(246, 246, 246);"><td style=3D"border-width:=
 1px 1em; padding: 8px; border-top-style: solid; border-bottom-style: =
solid; border-left-style: initial; border-right-style: initial; =
border-color: rgb(210, 210, 210);" class=3D"">RFC7950 (<a =
href=3D"https://www.rfc-editor.org/errata/eid5663" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5663</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">14</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Technical</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Ebben Aries</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">TEXT</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">2019-03-18</td></tr><tr class=3D"even" =
style=3D"background-color: rgb(255, 255, 255);"><td style=3D"border-width:=
 1px 1em; padding: 8px; border-top-style: solid; border-bottom-style: =
solid; border-left-style: initial; border-right-style: initial; =
border-color: rgb(210, 210, 210);" class=3D"">RFC7950 (<a =
href=3D"https://www.rfc-editor.org/errata/eid5642" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5642</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">9.6.4</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Editorial</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Peter Loborg</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">TEXT</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">2019-02-21</td></tr><tr class=3D"odd" =
style=3D"background-color: rgb(246, 246, 246);"><td style=3D"border-width:=
 1px 1em; padding: 8px; border-top-style: solid; border-bottom-style: =
solid; border-left-style: initial; border-right-style: initial; =
border-color: rgb(210, 210, 210);" class=3D"">RFC8342 (<a =
href=3D"https://www.rfc-editor.org/errata/eid5514" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5514</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">C.1</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Technical</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Rohit R Ranade</td><td style=3D"border-width: 1px 1em; =
padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">TEXT</td><td style=3D"border-width: 1px =
1em; padding: 8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210);" class=3D"">2018-10-05</td></tr><tr class=3D"even" =
style=3D"background-color: rgb(255, 255, 255);"><td style=3D"border-width:=
 1px 1em; padding: 8px; border-top-style: solid; border-bottom-style: =
solid; border-left-style: initial; border-right-style: initial; =
border-color: rgb(210, 210, 210);" class=3D"">RFC8519 (<a =
href=3D"https://www.rfc-editor.org/errata/eid5762" =
style=3D"text-decoration: none; color: rgb(71, 101, 136);" =
class=3D"">5762</a>)</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">4.1</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Technical</td><td style=3D"border-width: 1px 1em; padding: =
8px; border-top-style: solid; border-bottom-style: solid; =
border-left-style: initial; border-right-style: initial; border-color: =
rgb(210, 210, 210); text-align: center;" class=3D"">netmod (ops)</td><td =
style=3D"border-width: 1px 1em; padding: 8px; border-top-style: solid; =
border-bottom-style: solid; border-left-style: initial; =
border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">Qin WU</td><td style=3D"border-width: 1px 1em; padding: 8px; =
border-top-style: solid; border-bottom-style: solid; border-left-style: =
initial; border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">TEXT</td><td style=3D"border-width: 1px 1em; padding: 8px; =
border-top-style: solid; border-bottom-style: solid; border-left-style: =
initial; border-right-style: initial; border-color: rgb(210, 210, 210);" =
class=3D"">2019-06-24</td></tr></tbody></table><div class=3D""><br =
class=3D""></div>the first 4 concern yang 1.1 5514 concerns nmda, and =
the &nbsp;last one &nbsp;concerns the act model.</div><div class=3D""><br =
class=3D""><div class=3D""><br class=3D""></div></div><div class=3D""><br =
class=3D""></div></body></html>=

--Apple-Mail=_A753307E-A832-4F8F-A071-09D7F60F2B77--


From nobody Mon Sep 23 01:08:14 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6DA1C12011C for <netmod@ietfa.amsl.com>; Mon, 23 Sep 2019 01:08:12 -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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=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 hsEZ6bXuCF2I for <netmod@ietfa.amsl.com>; Mon, 23 Sep 2019 01:08:11 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 111DB12004F for <netmod@ietf.org>; Mon, 23 Sep 2019 01:08:11 -0700 (PDT)
Received: from localhost (h-46-233.A165.priv.bahnhof.se [46.59.46.233]) by mail.tail-f.com (Postfix) with ESMTPSA id AE89A1AE0115; Mon, 23 Sep 2019 10:08:09 +0200 (CEST)
Date: Mon, 23 Sep 2019 10:08:09 +0200 (CEST)
Message-Id: <20190923.100809.462896493479149533.mbj@tail-f.com>
To: joelja@bogus.com
Cc: netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <8918D13C-FEF3-4541-815D-D2E8E5E157E9@bogus.com>
References: <8918D13C-FEF3-4541-815D-D2E8E5E157E9@bogus.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/_UTwHQ2-hWDE87-Mn0zDcWryDQI>
Subject: Re: [netmod] Processing open errata in the the netmod working group
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 23 Sep 2019 08:08:13 -0000

Joel Jaeggli <joelja@bogus.com> wrote:
> Folks,
> 
> Over the course of this we we intend to process reported errata that
> we have outstanding in netmod

I started to go through the list and comment, but then I realized that
you probably didn't ask for comments?  This was just a FYI?


/martin


From nobody Mon Sep 23 23:35:11 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0395C120119 for <netmod@ietfa.amsl.com>; Mon, 23 Sep 2019 23:35:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.896
X-Spam-Level: 
X-Spam-Status: No, score=-6.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 ggOHi1spWY5U for <netmod@ietfa.amsl.com>; Mon, 23 Sep 2019 23:35:08 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 56F80120115 for <netmod@ietf.org>; Mon, 23 Sep 2019 23:35:08 -0700 (PDT)
Received: from [192.168.0.107] (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8O6Z0ki085329 for <netmod@ietf.org>; Tue, 24 Sep 2019 06:35:07 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be [192.168.0.107]
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_9E24DAF8-E349-47AB-B3E5-80B663916169"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <4C06B86E-8EC7-4DD0-867B-9FAFEE0F4B9C@bogus.com>
Date: Mon, 23 Sep 2019 23:34:53 -0700
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/spA_b0wjAlzVZ4eF0eIHpeAY2do>
Subject: [netmod] Open Errata 5762 rfc 8519 https://www.rfc-editor.org/errata/eid5762
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Sep 2019 06:35:10 -0000

--Apple-Mail=_9E24DAF8-E349-47AB-B3E5-80B663916169
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Qin wu wrote in the errata:


I am wondering why not set default value for acl-type,e.g., set default =
value as "ipv4-acl-type" otherwise, how to determine which field under =
which choice will be matched upon and which action should be taken on =
them if the opetional parameter type under acl list is not set.

Also I want to better understand why acl type is removed from key =
indexes of access list and keep it as optional parameter under acl list. =
One case I am thinking in my mind is we add a mixed Ethernet, IPv4, and =
IPv6 ACL entry when we already have Ethernet ACL entry,IPv4 ACL entry , =
we don't need to remove existing ethernet entry and existing IPv4 entry =
in the list ("aces") and create a new entry with mixed ethernet, IPv4, =
IPv6 ACL, instead, we just add a new identity called =
mixed-eth-ipv4-ipv6-acl-type and add a new IPv6 entry.

--------

Mahesh Jethanandani replied:

This errata should be rejected for the following reason.

The whole idea of defining the identities for acl-type was to allow =
vendors to specify what capabilities their box is capable of supporting =
and then to specify what capabilities the vendors want to support. As =
such there is no =E2=80=9Cdefault capability" for every vendor. Besides, =
if a device advertises a mixed-eth-ipv4 feature, it is because it can =
only support Ethernet and IPv4 ACL combinations, and it cannot support =
IPv6 ACL matches. You do not add a capability of IPv6 match on the fly. =
It either has it, or it does not. If it does, advertise =
mixed-eth-ipv4-ipv6 capability to begin with.

The errata proposes a change to the standard and is not correcting an =
error in the document.  additionaly it not clear why it would be =
appraise to set a default acl type.

The errata is declined.

Thanks
Joel



--Apple-Mail=_9E24DAF8-E349-47AB-B3E5-80B663916169
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D"">Qin =
wu wrote in the errata:<div class=3D""><br class=3D""></div><div =
class=3D""><br class=3D"Apple-interchange-newline"><span style=3D"color: =
rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, sans-serif; =
font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; =
background-color: rgb(227, 227, 227);" class=3D"">I am wondering why not =
set default value for acl-type,e.g., set default value as =
"ipv4-acl-type" otherwise, how to determine which field under which =
choice will be matched upon and which action should be taken on them if =
the opetional parameter type under acl list is not set.</span><br =
style=3D"color: rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, =
sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; =
widows: 2; background-color: rgb(227, 227, 227);" class=3D""><br =
style=3D"color: rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, =
sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; =
widows: 2; background-color: rgb(227, 227, 227);" class=3D""><span =
style=3D"color: rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, =
sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; =
widows: 2; background-color: rgb(227, 227, 227);" class=3D"">Also I want =
to better understand why acl type is removed from key indexes of access =
list and keep it as optional parameter under acl list. One case I am =
thinking in my mind is we add a mixed Ethernet, IPv4, and IPv6 ACL entry =
when we already have Ethernet ACL entry,IPv4 ACL entry , we don't need =
to remove existing ethernet entry and existing IPv4 entry in the list =
("aces") and create a new entry with mixed ethernet, IPv4, IPv6 ACL, =
instead, we just add a new identity called mixed-eth-ipv4-ipv6-acl-type =
and add a new IPv6 entry.</span></div><div class=3D""><span =
style=3D"color: rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, =
sans-serif; font-size: 14px; font-variant-ligatures: normal; orphans: 2; =
widows: 2; background-color: rgb(227, 227, 227);" class=3D""><br =
class=3D""></span></div><div class=3D""><span style=3D"color: rgb(44, =
67, 83); font-family: &quot;Noto Sans&quot;, sans-serif; font-size: =
14px; font-variant-ligatures: normal; orphans: 2; widows: 2; =
background-color: rgb(227, 227, 227);" =
class=3D"">--------</span></div><div class=3D""><span style=3D"color: =
rgb(44, 67, 83); font-family: &quot;Noto Sans&quot;, sans-serif; =
font-size: 14px; font-variant-ligatures: normal; orphans: 2; widows: 2; =
background-color: rgb(227, 227, 227);" class=3D""><br =
class=3D""></span></div><div class=3D""><span style=3D"color: rgb(44, =
67, 83); font-family: &quot;Noto Sans&quot;, sans-serif; font-size: =
14px; font-variant-ligatures: normal; orphans: 2; widows: 2; =
background-color: rgb(227, 227, 227);" class=3D"">Mahesh Jethanandani =
replied:</span></div><div class=3D""><span style=3D"color: rgb(44, 67, =
83); font-family: &quot;Noto Sans&quot;, sans-serif; font-size: 14px; =
font-variant-ligatures: normal; orphans: 2; widows: 2; background-color: =
rgb(227, 227, 227);" class=3D""><br class=3D""></span></div><blockquote =
style=3D"margin: 0 0 0 40px; border: none; padding: 0px;" class=3D""><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">This errata should be rejected for the following =
reason.</span></div><div class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D""></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">The =
whole idea of defining the identities for acl-type was to allow vendors =
to specify what capabilities their box is capable of supporting and then =
to specify what capabilities the vendors want to support. As such there =
is no =E2=80=9Cdefault capability" for every vendor. Besides, if a =
device advertises a mixed-eth-ipv4 feature, it is because it can only =
support Ethernet and IPv4 ACL combinations, and it cannot support IPv6 =
ACL matches. You do not add a capability of IPv6 match on the fly. It =
either has it, or it does not. If it does, advertise mixed-eth-ipv4-ipv6 =
capability to begin with.</span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></div></blockquote><font color=3D"#000000" =
class=3D"">The&nbsp;errata proposes a change to the standard and is not =
correcting an error in the document. &nbsp;additionaly it not =
clear&nbsp;why it would be&nbsp;appraise to set a default&nbsp;acl =
type.</font><div class=3D""><font color=3D"#000000" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></font></div><div class=3D""><font color=3D"#000000" =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" class=3D"">The =
errata is declined.</span></font></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">Thanks</span></font></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">Joel<br class=3D""></span></font><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font></div></div></div></body></html>=

--Apple-Mail=_9E24DAF8-E349-47AB-B3E5-80B663916169--


From nobody Mon Sep 23 23:38:00 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F3E81120115; Mon, 23 Sep 2019 23:37:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.19
X-Spam-Level: 
X-Spam-Status: No, score=-4.19 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, L_8BIT_MISMATCH=0.01, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 t0muvVHzotMq; Mon, 23 Sep 2019 23:37:52 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3BCC7120137; Mon, 23 Sep 2019 23:37:52 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id 4D0D2B81253; Mon, 23 Sep 2019 23:37:32 -0700 (PDT)
To: bill.wu@huawei.com, mjethanandani@gmail.com, sagarwal12@gmail.com, huangyi_99@yahoo.com, dana@blairhome.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: joelja@bogus.com, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190924063732.4D0D2B81253@rfc-editor.org>
Date: Mon, 23 Sep 2019 23:37:32 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XbteSGdfu0ywx09TyBWpsl9tZI8>
Subject: [netmod] [Errata Rejected] RFC8519 (5762)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Sep 2019 06:37:54 -0000

The following errata report has been rejected for RFC8519,
"YANG Data Model for Network Access Control Lists (ACLs)".

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5762

--------------------------------------
Status: Rejected
Type: Technical

Reported by: Qin WU <bill.wu@huawei.com>
Date Reported: 2019-06-24
Rejected by: Joel Jaeggli (IESG)

Section: 4.1

Original Text
-------------
leaf type {
type acl-type;
description
  "Type of ACL.  Indicates the primary intended
   type of match criteria (e.g., Ethernet, 
   IPv4, IPv6, mixed, etc.) used in the list
   instance.";
}

Corrected Text
--------------
leaf type {
type acl-type;
default "ipv4-acl-type";
description
  "Type of ACL.  Indicates the primary intended
   type of match criteria (e.g., Ethernet, 
   IPv4, IPv6, mixed, etc.) used in the list
   instance.";
}

Notes
-----
I am wondering why not  set default value for acl-type,e.g., set default value as "ipv4-acl-type" otherwise, how to determine which field under which choice will be matched upon and which action should be taken on them if the opetional parameter type under acl list is not set.

Also I want to better understand why acl type is removed from key indexes of access list and keep it as optional parameter under acl list. One case I am thinking in my mind is we add a mixed Ethernet, IPv4, and IPv6 ACL entry when we already have Ethernet ACL entry,IPv4 ACL entry , we don't need to remove existing ethernet entry and existing IPv4 entry in the list ("aces") and create a new entry with mixed ethernet, IPv4, IPv6 ACL, instead, we just add a new identity called mixed-eth-ipv4-ipv6-acl-type and add a new IPv6 entry.
 --VERIFIER NOTES-- 
   
Mahesh Jethanandani replied:

This errata should be rejected for the following reason.

The whole idea of defining the identities for acl-type was to allow vendors to specify what capabilities their box is capable of supporting and then to specify what capabilities the vendors want to support. As such there is no “default capability" for every vendor. Besides, if a device advertises a mixed-eth-ipv4 feature, it is because it can only support Ethernet and IPv4 ACL combinations, and it cannot support IPv6 ACL matches. You do not add a capability of IPv6 match on the fly. It either has it, or it does not. If it does, advertise mixed-eth-ipv4-ipv6 capability to begin with.

The errata proposes a change to the standard and is not correcting an error in the document.  additionaly it not clear why it would be appraise to set a default acl type.

The errata is declined.


--------------------------------------
RFC8519 (draft-ietf-netmod-acl-model-21)
--------------------------------------
Title               : YANG Data Model for Network Access Control Lists (ACLs)
Publication Date    : March 2019
Author(s)           : M. Jethanandani, S. Agarwal, L. Huang, D. Blair
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Tue Sep 24 09:53:46 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 63C2F12084B for <netmod@ietfa.amsl.com>; Tue, 24 Sep 2019 09:53:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.896
X-Spam-Level: 
X-Spam-Status: No, score=-6.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 0LISRvjcuddd for <netmod@ietfa.amsl.com>; Tue, 24 Sep 2019 09:53:42 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 56AF412084A for <netmod@ietf.org>; Tue, 24 Sep 2019 09:53:42 -0700 (PDT)
Received: from [IPv6:2607:fb90:3653:cad:99bc:c23b:5b02:fd83] ([IPv6:2607:fb90:3653:cad:99bc:c23b:5b02:fd83]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8OGrdwk094413 for <netmod@ietf.org>; Tue, 24 Sep 2019 16:53:41 GMT (envelope-from joelja@bogus.com)
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_2201947E-C5E2-4E3D-B127-DE08F01E3971"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <83B9ABBB-3408-4789-B666-4494E506D8B8@bogus.com>
Date: Tue, 24 Sep 2019 09:53:39 -0700
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/bK6dvJNIGV0anAHPVfKo-V1A5Uw>
Subject: [netmod] Open Errata 5517 RFC 7950 https://www.rfc-editor.org/errata/eid5517
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Sep 2019 16:53:45 -0000

--Apple-Mail=_2201947E-C5E2-4E3D-B127-DE08F01E3971
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Reported By: Rohit R Ranade

Section 10.4.2 says:

   The derived-from-or-self() function returns "true" if any node in the
   argument "nodes" is a node of type "identityref" and its value is an
   identity that is equal to or derived from (see Section 7.18.2) the
   identity "identity"; otherwise, it returns "false".

It should say:

 The derived-from-or-self() function returns "true" if any node in the
 argument "nodes" is a node of type equal to or derived=20
 from "identityref" and its value is an identity that is equal to or
 derived from (see Section 7.18.2) the identity "identity";=20
 otherwise, it returns "false".

Martin Bjorklund wrote

I agree that the text needs clarification.  However, I propose this
text instead:

 The derived-from-or-self() function returns "true" if any node in the
 argument "nodes" is a node of type "identityref" or a type derived
 from "identityref", and its value is an identity that is equal to or
 derived from (see Section 7.18.2) the identity "identity";=20
 otherwise, it returns "false".


Ladislav Lhotka wrote

This formulation is better.

It is somewhat confusing that "derived from" has two unrelated meanings =
in the
same sentence.


This errata is processed as accepted,  the errata clarifies that the =
function returns true from the case where "a node is of a type derived
 from "identityref"" in addition to the case where the node is of type =
indetityref. this is a clarification and can we believe be read properly =
in conjunction with the existing RFC.


Thanks
Joel



--Apple-Mail=_2201947E-C5E2-4E3D-B127-DE08F01E3971
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><p =
style=3D"margin: 5px 5px 10px; color: rgb(44, 67, 83); =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><font =
face=3D"Menlo" class=3D"">Reported By: Rohit R Ranade</font></p><p =
style=3D"margin: 5px 5px 10px; color: rgb(44, 67, 83); =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><font =
face=3D"Menlo" class=3D"">Section 10.4.2 says:</font></p><pre =
class=3D"rfctext" style=3D"color: rgb(44, 67, 83); =
font-variant-ligatures: normal; orphans: 2; widows: 2;"><font =
face=3D"Menlo" class=3D"">   The derived-from-or-self() function returns =
"true" if any node in the
   argument "nodes" is a node of type "identityref" and its value is an
   identity that is equal to or derived from (see Section 7.18.2) the
   identity "identity"; otherwise, it returns "false".

</font></pre><p style=3D"margin: 5px 5px 10px; color: rgb(44, 67, 83); =
font-variant-ligatures: normal; orphans: 2; widows: 2;" class=3D""><font =
face=3D"Menlo" class=3D"">It should say:</font></p><pre class=3D"rfctext" =
style=3D"color: rgb(44, 67, 83); font-variant-ligatures: normal; =
orphans: 2; widows: 2;"><font face=3D"Menlo" class=3D""> The =
derived-from-or-self() function returns "true" if any node in the
 argument "nodes" is a node of type equal to or derived=20
 from "identityref" and its value is an identity that is equal to or
 derived from (see Section 7.18.2) the identity "identity";=20
 otherwise, it returns "false".</font></pre><div class=3D""><font =
face=3D"Menlo" class=3D""><br class=3D""></font></div><div =
class=3D""><font face=3D"Menlo" class=3D"">Martin Bjorklund =
wrote</font></div><div class=3D""><font face=3D"Menlo" class=3D""><br =
class=3D""></font></div><blockquote style=3D"margin: 0 0 0 40px; border: =
none; padding: 0px;" class=3D""><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">I agree that the text needs clarification. =
&nbsp;However, I propose this</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">text instead:</font></span></div><div =
class=3D""><font face=3D"Menlo" class=3D""><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""></font></div><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><font face=3D"Menlo" class=3D"">&nbsp;The =
derived-from-or-self() function returns "true" if any node in =
the</font></span></div><div class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font face=3D"Menlo" =
class=3D"">&nbsp;argument "nodes" is a node of type "identityref" or a =
type derived</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">&nbsp;from "identityref", and its value is an =
identity that is equal to or</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">&nbsp;derived from (see Section 7.18.2) the =
identity "identity";&nbsp;</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">&nbsp;otherwise, it returns =
"false".</font></span></div></blockquote><div class=3D""><font =
face=3D"Menlo" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""></font></div><div class=3D""><font =
face=3D"Menlo" class=3D""><br class=3D""></font></div><div =
class=3D""><font face=3D"Menlo" class=3D"">Ladislav Lhotka =
wrote</font></div><div class=3D""><font face=3D"Menlo" class=3D""><br =
class=3D""></font></div><blockquote style=3D"margin: 0 0 0 40px; border: =
none; padding: 0px;" class=3D""><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">This formulation is =
better.</font></span></div><div class=3D""><font face=3D"Menlo" =
class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D""></font></div><div class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font face=3D"Menlo" =
class=3D"">It is somewhat confusing that "derived from" has two =
unrelated meanings in the</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">same sentence.</font></span></div><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><font face=3D"Menlo" class=3D""><br =
class=3D""></font></span></div></blockquote><font color=3D"#000000" =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></font><div class=3D""><font color=3D"#000000" =
class=3D"">This errata is processed as accepted, =
&nbsp;the&nbsp;errata&nbsp;clarifies that the function returns true from =
the case where</font><span style=3D"font-family: Menlo; caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">&nbsp;"a node is of a =
type derived</span></div><div class=3D""><font face=3D"Menlo" =
class=3D""><font color=3D"#000000" class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0);" class=3D"">&nbsp;from "identityref"" in addition to the =
case where the node is of type indetityref. this is a clarification and =
can we believe be read properly in conjunction with the existing =
RFC.</span></font></font></div><div class=3D""><font face=3D"Menlo" =
class=3D""><font color=3D"#000000" class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0);" class=3D""><br class=3D""></span></font></font></div><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><font face=3D"Menlo" class=3D""><br =
class=3D""></font></span></div><div class=3D""><span style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font face=3D"Menlo" =
class=3D"">Thanks</font></span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><font=
 face=3D"Menlo" class=3D"">Joel</font></span></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font></div></body></html>=

--Apple-Mail=_2201947E-C5E2-4E3D-B127-DE08F01E3971--


From nobody Tue Sep 24 09:56:00 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B172120013 for <netmod@ietfa.amsl.com>; Tue, 24 Sep 2019 09:55:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.897
X-Spam-Level: 
X-Spam-Status: No, score=-6.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 apRTPBsaykda for <netmod@ietfa.amsl.com>; Tue, 24 Sep 2019 09:55:58 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 08C5C120072 for <netmod@ietf.org>; Tue, 24 Sep 2019 09:55:58 -0700 (PDT)
Received: from [IPv6:2607:fb90:3653:cad:99bc:c23b:5b02:fd83] ([IPv6:2607:fb90:3653:cad:99bc:c23b:5b02:fd83]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8OGttWX094457; Tue, 24 Sep 2019 16:55:57 GMT (envelope-from joelja@bogus.com)
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Joel Jaeggli <joelja@bogus.com>
In-Reply-To: <20190923.100809.462896493479149533.mbj@tail-f.com>
Date: Tue, 24 Sep 2019 09:55:55 -0700
Cc: netmod@ietf.org
Content-Transfer-Encoding: quoted-printable
Message-Id: <7BB2BAB2-9FCF-455F-ADF1-A83CF4E2AC3B@bogus.com>
References: <8918D13C-FEF3-4541-815D-D2E8E5E157E9@bogus.com> <20190923.100809.462896493479149533.mbj@tail-f.com>
To: Martin Bjorklund <mbj@tail-f.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/VZrQa4CFn7k6FGuCE2WdjBJyies>
Subject: Re: [netmod] Processing open errata in the the netmod working group
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Sep 2019 16:55:59 -0000

> On Sep 23, 2019, at 01:08, Martin Bjorklund <mbj@tail-f.com> wrote:
>=20
> Joel Jaeggli <joelja@bogus.com> wrote:
>> Folks,
>>=20
>> Over the course of this we we intend to process reported errata that
>> we have outstanding in netmod
>=20
> I started to go through the list and comment, but then I realized that
> you probably didn't ask for comments?  This was just a FYI?

Largely, you have commented on some of them already. I am reading =
through them with respect to outstanding comments.

joel

>=20
>=20
> /martin
>=20


From nobody Tue Sep 24 09:56:43 2019
Return-Path: <wwwrun@rfc-editor.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 13FAB12008D; Tue, 24 Sep 2019 09:56:33 -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, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 drJsOyA7DcTz; Tue, 24 Sep 2019 09:56:31 -0700 (PDT)
Received: from rfc-editor.org (rfc-editor.org [4.31.198.49]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 42927120072; Tue, 24 Sep 2019 09:56:31 -0700 (PDT)
Received: by rfc-editor.org (Postfix, from userid 30) id C5593B80B2B; Tue, 24 Sep 2019 09:56:10 -0700 (PDT)
To: rohitrranade@huawei.com, mbj@tail-f.com
X-PHP-Originating-Script: 30:errata_mail_lib.php
From: RFC Errata System <rfc-editor@rfc-editor.org>
Cc: joelja@bogus.com, iesg@ietf.org, netmod@ietf.org, rfc-editor@rfc-editor.org
Content-Type: text/plain; charset=UTF-8
Message-Id: <20190924165610.C5593B80B2B@rfc-editor.org>
Date: Tue, 24 Sep 2019 09:56:10 -0700 (PDT)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/TmyNfat2ck6pU5B4-9HphITCAAU>
Subject: [netmod] [Errata Verified] RFC7950 (5517)
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Sep 2019 16:56:33 -0000

The following errata report has been verified for RFC7950,
"The YANG 1.1 Data Modeling Language". 

--------------------------------------
You may review the report below and at:
https://www.rfc-editor.org/errata/eid5517

--------------------------------------
Status: Verified
Type: Technical

Reported by: Rohit R Ranade <rohitrranade@huawei.com>
Date Reported: 2018-10-08
Verified by: Joel Jaeggli (IESG)

Section: 10.4.2

Original Text
-------------
The derived-from-or-self() function returns "true" if any node in the
   argument "nodes" is a node of type "identityref" and its value is an
   identity that is equal to or derived from (see Section 7.18.2) the
   identity "identity"; otherwise, it returns "false".


Corrected Text
--------------
 The derived-from-or-self() function returns "true" if any node in the
 argument "nodes" is a node of type "identityref" or a type derived
 from "identityref", and its value is an identity that is equal to or
 derived from (see Section 7.18.2) the identity "identity"; 
 otherwise, it returns "false".


Notes
-----
The node-set can have node which are of types that may be derived from an identityref. Typical example is in ietf-netconf-nmda, where "when 'derived-from-or-self(datastore, "ds:operational")';" is used, but the "datastore" node is of type "datastore-ref" defined in ietf-datastores module, which is in-turn derived from "identityref"

corrected text proposal with additional editing by Martin Bjorklund and Ladislav Lhotka 

--------------------------------------
RFC7950 (draft-ietf-netmod-rfc6020bis-14)
--------------------------------------
Title               : The YANG 1.1 Data Modeling Language
Publication Date    : August 2016
Author(s)           : M. Bjorklund, Ed.
Category            : PROPOSED STANDARD
Source              : Network Modeling
Area                : Operations and Management
Stream              : IETF
Verifying Party     : IESG


From nobody Wed Sep 25 04:54:35 2019
Return-Path: <bill.wu@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 920B3120122 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 04:54:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.19
X-Spam-Level: 
X-Spam-Status: No, score=-4.19 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_MIME_MALF=0.01] autolearn=ham autolearn_force=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 aDhbADF12zb2 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 04:54:31 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2309D1201AA for <netmod@ietf.org>; Wed, 25 Sep 2019 04:54:31 -0700 (PDT)
Received: from lhreml707-cah.china.huawei.com (unknown [172.18.7.106]) by Forcepoint Email with ESMTP id 18F4835B61134AC3FA65 for <netmod@ietf.org>; Wed, 25 Sep 2019 12:54:29 +0100 (IST)
Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by lhreml707-cah.china.huawei.com (10.201.108.48) with Microsoft SMTP Server (TLS) id 14.3.408.0; Wed, 25 Sep 2019 12:54:29 +0100
Received: from lhreml703-chm.china.huawei.com (10.201.108.52) by lhreml703-chm.china.huawei.com (10.201.108.52) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Wed, 25 Sep 2019 12:54:28 +0100
Received: from DGGEML421-HUB.china.huawei.com (10.1.199.38) by lhreml703-chm.china.huawei.com (10.201.108.52) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1713.5 via Frontend Transport; Wed, 25 Sep 2019 12:54:28 +0100
Received: from DGGEML511-MBS.china.huawei.com ([169.254.4.185]) by dggeml421-hub.china.huawei.com ([10.1.199.38]) with mapi id 14.03.0439.000; Wed, 25 Sep 2019 19:54:15 +0800
From: Qin Wu <bill.wu@huawei.com>
To: "netmod@ietf.org" <netmod@ietf.org>
CC: Zengjuan <annette.zeng@huawei.com>
Thread-Topic: CRUD operations on Leaf-list in RFC8040
Thread-Index: AdVzlF1slQHq13wqRTm4LDQAl58axQ==
Date: Wed, 25 Sep 2019 11:54:15 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAA9322BD1@dggeml511-mbs.china.huawei.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.31.203]
Content-Type: multipart/alternative; boundary="_000_B8F9A780D330094D99AF023C5877DABAA9322BD1dggeml511mbschi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/FZg5cSEf3t48tmCXQlgG8_NKTHI>
Subject: [netmod] CRUD operations on Leaf-list in RFC8040
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 11:54:34 -0000

--_000_B8F9A780D330094D99AF023C5877DABAA9322BD1dggeml511mbschi_
Content-Type: text/plain; charset="gb2312"
Content-Transfer-Encoding: base64

SGksIEFsbDoNCkR1cmluZyBpbXBsZW1lbnRpbmcgUkZDODA0MCwgd2UgZmFjZSBhIGZldyBwcm9i
bGVtcyByZWxhdGVkIHRvIGxlYWYtbGlzdCB1c2FnZS4NCkkgYW0gd29uZGVyaW5nIGhvdyBkbyB3
ZSBjcmVhdGUgbXVsdGlwbGUgaW5zdGFuY2Ugb2YgbGVhZi1saXN0IGRhdGEgcmVzb3VyY2U/DQpT
dXBwb3NlIHdlIGhhdmUgZXhhbXBsZS1mb28ueWFuZyBtb2RlbCBhcyBmb2xsb3dzOg0KZXhhbXBs
ZS10b3AueWFuZw0KDQogICBjb250YWluZXIgdG9wIHsNCiAgICBsaXN0IGxpc3QxIHsNCiAgICAg
ICAga2V5ICJrZXkxIGtleTIga2V5MyI7DQogICAgICAgICAuLi4NCiAgICAgICAgIGxpc3QgbGlz
dDIgew0KICAgICAgICAgICAgIGtleSAia2V5NCBrZXk1IjsNCiAgICAgICAgICAgICAuLi4NCiAg
ICAgICAgICAgICBsZWFmIFggeyB0eXBlIHN0cmluZzsgfQ0KICAgICAgICAgfQ0KICAgICB9DQog
ICAgIGxlYWYtbGlzdCBZIHsNCiAgICAgICB0eXBlIHVpbnQzMjsNCiAgICAgfQ0KfQ0KVG8gY3Jl
YXRlIGEgbmV3ICJZIiByZXNvdXJjZSB3aXRoaW4gdGhlICJ0b3AiIHJlc291cmNlLCBjYW4gd2Ug
bWFrZQ0KdGhlIGNsaWVudCBzZW5kIHRoZSBmb2xsb3dpbmcgcmVxdWVzdDoNClBPU1QgL3Jlc3Rj
b25mL2RhdGEvZXhhbXBsZS10b3A6dG9wIEhUVFAvMS4xDQpIb3N0OiBleGFtcGxlLmNvbQ0KQ29u
dGVudC1UeXBlOiBhcHBsaWNhdGlvbi95YW5nLWRhdGEranNvbg0KDQp7DQogICJleGFtcGxlLXRv
cDpZIiA6IFt2YWx1ZTEsdmFsdWUyXQ0KfQ0KDQpyZXNwb25zZaO6DQpIVFRQLzEuMSAyMDEgQ3Jl
YXRlZA0KRGF0ZTogVGh1LCAyNiBKYW4gMjAxNyAyMDo1NjozMCBHTVQNClNlcnZlcjogZXhhbXBs
ZS1zZXJ2ZXINCkxvY2F0aW9uOiBodHRwczovL2V4YW1wbGUuY29tL3Jlc3Rjb25mL2RhdGEvZXhh
bXBsZS10b3A6dG9wL1k9dmFsdWUxJnZhbHVlMg0KTGFzdC1Nb2RpZmllZDogVGh1LCAyNiBKYW4g
MjAxNyAyMDo1NjozMCBHTVQNCkVUYWc6ICJiMzgzMGYyM2E0YyINCg0KQWxzbyBJIGRvbqGvdCB1
bmRlcnN0YW5kIHdoeSB3ZSBhZGQgbGltaXRhdGlvbiB0byBQVVQgbWV0aG9kIGFuZCBwbGFpbiBw
YXRjaCBtZXRob2Qgb24gbGVhZi1saXN0IGFuZCBkb26hr3QgYWxsb3cNClRoZSB2YWx1ZSBvZiBs
ZWFmLWxpc3QgaW5zdGFuY2UgdG8gYmUgY2hhbmdlZCBieSB0aGVzZSB0d28gbWV0aG9kcw0Kc2Vl
IHNlY3Rpb24gNC41IGFuZCBzZWN0aW9uIDQuNi4xDQqhsA0KNC41LiAgUFVUDQogICBJZiB0aGUg
dGFyZ2V0IHJlc291cmNlIHJlcHJlc2VudHMgYSBZQU5HIGxlYWYtbGlzdCwgdGhlbiB0aGUgUFVU
DQogICBtZXRob2QgTVVTVCBOT1QgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgbGVhZi1saXN0IGlu
c3RhbmNlLg0KNC42LjEuICBQbGFpbiBQYXRjaA0KICAgSWYgdGhlIHRhcmdldCByZXNvdXJjZSBy
ZXByZXNlbnRzIGEgWUFORyBsZWFmLWxpc3QsIHRoZW4gdGhlIFBBVENIDQogICBtZXRob2QgTVVT
VCBOT1QgY2hhbmdlIHRoZSB2YWx1ZSBvZiB0aGUgbGVhZi1saXN0IGluc3RhbmNlLg0KobANClN1
cHBvc2UgSSB3YW50IHRvIGRlbGV0ZSBhbGwgbGVhZi1saXN0IGluc3RhbmNlIHZhbHVlcyBhc3Nv
Y2lhdGVkIHdpdGggbGVhZi1saXN0ICJZIiwNCkNhbiBJIHNlbmQgdGhlIGZvbGxvd2luZyByZXF1
ZXN0Og0KREVMRVRFIC9yZXN0Y29uZi9kYXRhL2V4YW1wbGUtdG9wOnRvcC9ZICBIVFRQLzEuMQ0K
SG9zdDogZXhhbXBsZS5jb20NCg0KUXVvdGVkIHNlY3Rpb24gNC43Og0KobANCjQuNy4gIERFTEVU
RQ0KICAgSWYgdGhlIHRhcmdldCByZXNvdXJjZSByZXByZXNlbnRzIGEgY29uZmlndXJhdGlvbiBs
ZWFmLWxpc3Qgb3IgbGlzdA0KICAgZGF0YSBub2RlLCB0aGVuIGl0IE1VU1QgcmVwcmVzZW50IGEg
c2luZ2xlIFlBTkcgbGVhZi1saXN0IG9yIGxpc3QNCiAgIGluc3RhbmNlLiAgVGhlIHNlcnZlciBN
VVNUIE5PVCB1c2UgdGhlIERFTEVURSBtZXRob2QgdG8gZGVsZXRlIG1vcmUNCiAgIHRoYW4gb25l
IHN1Y2ggaW5zdGFuY2UuDQqhsQ0KSXQgc2VlbXMgb2J2aW91cyB0aGF0IERFTEVURSBtZXRob2Qg
Y2FuIG5vdCBkZWxldGUgbW9yZSB0aGFuIG9uZSBpbnN0YW5jZXMuIEJ1dCBJIGRvbqGvdCBrbm93
IHdoeT8NCg0KDQpBbHNvIEkgZG9uoa90IGtub3cgd2UgYWRkIGNvbnN0cmFpbnQgb24gWE1MIGVu
Y29kaW5nIGluIHRoZSBHZXQgcmVxdWVzdCwgb25seSBhbGxvdyBvbmUgc2luZ2xlIGVsZW1lbnQg
YmUNCnJldHVybmVkIGZvciBYTUwgZW5jb2RpbmcsIHNlZSBzZWN0aW9uIDQuMyBvZiBSRkM4MDQw
IGFzIGZvbGxvd3M6DQqhsA0KNC4zLiAgR0VUDQogICBJZiBhIHJldHJpZXZhbCByZXF1ZXN0IGZv
ciBhIGRhdGEgcmVzb3VyY2UgcmVwcmVzZW50aW5nIGEgWUFORw0KICAgbGVhZi1saXN0IG9yIGxp
c3Qgb2JqZWN0IGlkZW50aWZpZXMgbW9yZSB0aGFuIG9uZSBpbnN0YW5jZSBhbmQgWE1MDQogICBl
bmNvZGluZyBpcyB1c2VkIGluIHRoZSByZXNwb25zZSwgdGhlbiBhbiBlcnJvciByZXNwb25zZSBj
b250YWluaW5nIGENCiAgICI0MDAgQmFkIFJlcXVlc3QiIHN0YXR1cy1saW5lIE1VU1QgYmUgcmV0
dXJuZWQgYnkgdGhlIHNlcnZlci4NCqGwDQpTdXBwb3NlIEkgd2FudCB0byByZXRyaWV2ZS9kZWxl
dGUvbW9kaWZ5IG11bHRpcGxlIGxlYWYtbGlzdCBpbnN0YW5jZSBkYXRhIHJlc291cmNlLCBjYW4g
SSB3cmFwIGxlYWYtbGlzdCAiWSIgd2l0aGluIGNvbnRhaW5lciAidG9wIiwNCmNyZWF0ZS9kZWxl
dGUvbW9kaWZ5IGNvbnRhaW5lciAidG9wIiBkYXRhIHJlc291cmNlPw0KobANCkNvbW1lbnRzPw0K
DQotUWluDQoNCg==

--_000_B8F9A780D330094D99AF023C5877DABAA9322BD1dggeml511mbschi_
Content-Type: text/html; charset="gb2312"
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=3Dgb2312">
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:=CB=CE=CC=E5;
	panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
	{font-family:"Cambria Math";
	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:"\@=CB=CE=CC=E5";
	panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	text-align:justify;
	text-justify:inter-ideograph;
	font-size:10.5pt;
	font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
pre
	{mso-style-priority:99;
	mso-style-link:"HTML =D4=A4=C9=E8=B8=F1=CA=BD Char";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:12.0pt;
	font-family:=CB=CE=CC=E5;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
span.HTMLChar
	{mso-style-name:"HTML =D4=A4=C9=E8=B8=F1=CA=BD Char";
	mso-style-priority:99;
	mso-style-link:"HTML =D4=A4=C9=E8=B8=F1=CA=BD";
	font-family:=CB=CE=CC=E5;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;}
/* Page Definitions */
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:72.0pt 90.0pt 72.0pt 90.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"ZH-CN" link=3D"#0563C1" vlink=3D"#954F72" style=3D"text-justi=
fy-trim:punctuation">
<div class=3D"WordSection1">
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Hi, A=
ll:<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Durin=
g implementing RFC8040, we face a few problems related to leaf-list usage.<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">I am =
wondering how do we create multiple instance of leaf-list data resource?<o:=
p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Suppo=
se we have example-foo.yang model as follows:<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">examp=
le-top.yang<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; container top {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp; list list1 {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key &quot;key1 key2 key3&quot;;<o:p><=
/o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; list list2 {<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; key &qu=
ot;key4 key5&quot;;<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ...<o:p=
></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; leaf X =
{ type string; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp; leaf-list Y {<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; type uint32;<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;&nbsp; }<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">}<o:p=
></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">To cr=
eate a new &quot;Y&quot; resource within the &quot;top&quot; resource, can =
we make<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">the c=
lient send the following request:<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">POST =
/restconf/data/example-top:top HTTP/1.1<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Host:=
 example.com<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Conte=
nt-Type: application/yang-data&#43;json<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">{<o:p=
></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
; &quot;example-top:Y&quot; : [value1,value2]<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">}<o:p=
></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">respo=
nse</span><span style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A3=BA<=
span lang=3D"EN"><o:p></o:p></span></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">HTTP/=
1.1 201 Created<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Date:=
 Thu, 26 Jan 2017 20:56:30 GMT<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Serve=
r: example-server<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Locat=
ion: https://example.com/restconf/data/example-top:top/Y=3Dvalue1&amp;value=
2<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Last-=
Modified: Thu, 26 Jan 2017 20:56:30 GMT<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">ETag:=
 &quot;b3830f23a4c&quot;<o:p></o:p></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN"><o:p>&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Also =
I don=A1=AFt understand why we add limitation to PUT method and plain patch=
 method on leaf-list and don=A1=AFt allow<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">The v=
alue of leaf-list instance to be changed by these two methods<o:p></o:p></s=
pan></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">see s=
ection 4.5 and section 4.6.1<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">4.5.&=
nbsp; PUT<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; If the target resource represents a YANG leaf-list, then the PUT<o:=
p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; method MUST NOT change the value of the leaf-list instance.<o:p></o=
:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">4.6.1=
.&nbsp; Plain Patch<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; If the target resource represents a YANG leaf-list, then the PATCH<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; method MUST NOT change the value of the leaf-list instance.<o:p></o=
:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Suppo=
se I want to delete all leaf-list instance values associated with leaf-list=
 &quot;Y&quot;,<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Can I=
 send the following request:<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">DELET=
E /restconf/data/example-top:top/Y&nbsp; HTTP/1.1<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Host:=
 example.com<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Quote=
d section 4.7:<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">4.7.&=
nbsp; DELETE&nbsp; <o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp;&nbsp;If the target resource represents a configuration leaf-list or=
 list<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; data node, then it MUST represent a single YANG leaf-list or list<o=
:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; instance.&nbsp; The server MUST NOT use the DELETE method to delete=
 more<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; than one such instance.<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B1<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">It se=
ems obvious that DELETE method can not delete more than one instances. But =
I don=A1=AFt know why?<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<pre style=3D"page-break-before:always"><span lang=3D"EN">Also I don=A1=AFt=
 know we add constraint on XML encoding in the Get request, only allow one =
single element be<o:p></o:p></span></pre>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">retur=
ned for XML encoding, see section 4.3 of RFC8040 as follows:<o:p></o:p></sp=
an></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">4.3.&=
nbsp; GET<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; If a retrieval request for a data resource representing a YANG<o:p>=
</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; leaf-list or list object identifies more than one instance and XML<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; encoding is used in the response, then an error response containing=
 a<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">&nbsp=
;&nbsp; &quot;400 Bad Request&quot; status-line MUST be returned by the ser=
ver.<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Suppo=
se I want to retrieve/delete/modify multiple leaf-list instance data resour=
ce, can I wrap leaf-list &quot;Y&quot; within container &quot;top&quot;,<o:=
p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">creat=
e/delete/modify container &quot;top&quot; data resource?<o:p></o:p></span><=
/p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">=A1=
=B0<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">Comme=
nts?<o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5">-Qin<=
o:p></o:p></span></p>
<p class=3D"MsoNormal" align=3D"left" style=3D"text-align:left;page-break-b=
efore:always">
<span lang=3D"EN" style=3D"font-size:12.0pt;font-family:=CB=CE=CC=E5"><o:p>=
&nbsp;</o:p></span></p>
</div>
</body>
</html>

--_000_B8F9A780D330094D99AF023C5877DABAA9322BD1dggeml511mbschi_--


From nobody Wed Sep 25 08:37:28 2019
Return-Path: <jason.sterne@nokia.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 93853120019 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:37:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.901
X-Spam-Level: 
X-Spam-Status: No, score=-1.901 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 NvqKovORPPPE for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:37:24 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80131.outbound.protection.outlook.com [40.107.8.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2F5E7120013 for <netmod@ietf.org>; Wed, 25 Sep 2019 08:37:23 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nhCY6+1KjOGPgbGYuqtTmRahEOsRJBoACJmWD4DLcQEmg8+AlLzQNZpe9J4O9PpDegUr5jSl0zMbGYqyiYB304OYAIAVV1eVML7C6K+Qzg1dnzYyCbMN5qWHYs6P9rjcgR6bEdJu4QvxnbAVpNaZdst26l91ibzO/Eln53uHZ16bsUYacTk558a6Tov2Nw4DeHBGrBQx/o6UtyH7MzpC0DoTZIMjJ1clRALMpId09yXfVYWDHocmDoy40ww1xtj5C5RV4661iHjODdtcr4CcIMMoEpttCj4GqWhlwwdeuLANFRxOozRBiRFQ+kTaahk9ISFkonCBoYvyjcejtgbX6Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F/Xei8BxjjvESsrsqOXytM4JlplvfTUTifBp1xsOdjQ=; b=XUu+x1hUrqqmA1XwYjUO27Bf7jAfO7XHcJpVw065d8xwBBjKHv3Irg9yJ6shMAKLQCfCMfpiebEuDf+nethxDcZ8TwpwcqqiWhHSoiS+KOgaxkvL39E1LjHu/pilwvUOkEvlJzUlR/ofLmbnJ3LshJOkoxs3WbRO5bszbB1vEfF4MZPCC1ROCOkVHieWLpuARvO+ANkWFDMhuwgzDzFNInlRpGeIRlMaMaNPJ8X/viI9F78PbsacpHrp73ZunrX9ZMtmz0J85pJfqf36MUsTuhy/UsxPf9qdmjE8etxaUUzVnx9WIVg+Y3LFuB+151oo26+RGVCeAI7WgyB9UZr+Yw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com;  s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=F/Xei8BxjjvESsrsqOXytM4JlplvfTUTifBp1xsOdjQ=; b=x0QVPUmGZGoLOp+RoWlCYRaS9k26eCTp/zzWNOS0vZVQeX4Q57Og95OxXBmns2nxUftXQFs4eHpVryon4y3zwXZfjbPj4XM/gQGUA1v4edpbzZLAYgI6+KFts6cswMu1YPS6Yzr2+B0/ZOsPS1XkRFlxb145mvSy+jyNNoICMaE=
Received: from VI1PR07MB3981.eurprd07.prod.outlook.com (52.134.28.141) by VI1SPR01MB0337.eurprd07.prod.outlook.com (20.176.8.159) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.15; Wed, 25 Sep 2019 15:37:21 +0000
Received: from VI1PR07MB3981.eurprd07.prod.outlook.com ([fe80::e976:ea85:c30c:db44]) by VI1PR07MB3981.eurprd07.prod.outlook.com ([fe80::e976:ea85:c30c:db44%6]) with mapi id 15.20.2305.013; Wed, 25 Sep 2019 15:37:21 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: evaluating 'when' statements with unconfigured leafs
Thread-Index: AdVztlaksY9LmjUPRkOXky2jxUtn2Q==
Date: Wed, 25 Sep 2019 15:37:21 +0000
Message-ID: <VI1PR07MB3981888B6E7B657DD0E97F219B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=jason.sterne@nokia.com; 
x-originating-ip: [135.245.20.8]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4dabc5d6-aa0a-4b91-0715-08d741ce418e
x-ms-office365-filtering-ht: Tenant
x-ms-traffictypediagnostic: VI1SPR01MB0337:
x-microsoft-antispam-prvs: <VI1SPR01MB0337F09B1B9A3994C2C60E869B870@VI1SPR01MB0337.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 01713B2841
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(136003)(346002)(39860400002)(396003)(366004)(376002)(53754006)(189003)(199004)(1730700003)(102836004)(486006)(66446008)(81166006)(2351001)(5640700003)(52536014)(316002)(476003)(6116002)(66476007)(8936002)(64756008)(66946007)(66066001)(2501003)(99286004)(7736002)(33656002)(76116006)(6916009)(8676002)(5660300002)(6306002)(86362001)(54896002)(26005)(4744005)(14454004)(2906002)(790700001)(55016002)(66556008)(71190400001)(3846002)(81156014)(7696005)(6436002)(14444005)(186003)(9686003)(6506007)(25786009)(71200400001)(256004)(74316002)(478600001)(461764006); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1SPR01MB0337; H:VI1PR07MB3981.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: lldgSJDyM5PtyHeJh2DrKsJKcLfxNvf3ENDcLLjvWuzev7jvyznMVjqOB3n5Vmxv7+E7GjyPaeyLQX4AdnG9Ogr2vbRWTw3OfecmEs+IxuYC12aH2ZVQwse31ba5WXnMQLtw3AmUmy53x3sSwlHIFP5oXeV7N7/0rOBeibL/fJR0LIsqaG109xtbTAf6g1w0Bny2rUV1bcKeUR5PiE514QEyJbit8LX2BwGNznCxaQ4DW4Hmjjhi2JpOJ0eVph+S1WY2tIm+X9GnuEDpYD9rfb+I7T/AZdyd4uLm0d/W3UumihL9943nQQmT0mBlvF00akjmk2bewJAzhFaQb5jbg/6KZzmidCDidt5Og9l1KAX1GdCvNf8XGz0Ijf0lYlW1xA/CyocTMLlnnX7mnqmolGgigAcRMw0K/rYVnkxWXZM=
x-ms-exchange-transport-forked: True
Content-Type: multipart/alternative; boundary="_000_VI1PR07MB3981888B6E7B657DD0E97F219B870VI1PR07MB3981eurp_"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 4dabc5d6-aa0a-4b91-0715-08d741ce418e
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2019 15:37:21.2451 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: Az4oxV/duxMTkAMLT4oenFtkhbFwZTosvFjhSj7lNyKDxA5U41mO7IU5ePfeVyhDq+i11wECvk0C1CXI5FBHmg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1SPR01MB0337
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/MYgbxFYgTRYKf6FzZJ1MrAsRsXs>
Subject: [netmod] evaluating 'when' statements with unconfigured leafs
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 15:37:27 -0000

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

Hi all,

I saw some recent questions about 'when' statements. I had another one rela=
ted to evaluating 'when' statements that involve leafs that don't currently=
 have a value at all.

leaf foo {
    type enumeration {
        enum val1;
        enum val2;
    }
}

leaf bar {
    when "../foo !=3D 'val2'";
    type uint8;
}

Notice that foo does not have a default statement. So if no manager has set=
 leaf foo, it doesn't exist in the config.

In that case, does the "when" statement evaluate to 'true'  (i.e. leaf bar =
is allowed to have a value) ?

i.e. assuming leaf foo is not set at all, is this accepted?
<bar>23</bar>

Or is there something special here because of the non-existence of leaf foo=
?

If the "when" evaluates to 'false', then does the following "when" evaluate=
 differently than the one above?
    when "not(../foo =3D 'val2')";

Jason

--_000_VI1PR07MB3981888B6E7B657DD0E97F219B870VI1PR07MB3981eurp_
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 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	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;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:#0563C1;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:#954F72;
	text-decoration:underline;}
span.EmailStyle17
	{mso-style-type:personal-compose;
	font-family:"Calibri",sans-serif;
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;
	font-family:"Calibri",sans-serif;
	mso-fareast-language:EN-US;}
@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-CA" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">Hi all,<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">I saw some recent questions about 'when' statements.=
 I had another one related to evaluating 'when' statements that involve lea=
fs that don't currently have a value at all.<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">leaf foo {<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; type enumeration {<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; enum val1=
;<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;enum val2=
;<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; }<o:p></o:p></p>
<p class=3D"MsoNormal">}<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">leaf bar {<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; when &quot;../foo !=3D 'val2'&quo=
t;;<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; type uint8;<o:p></o:p></p>
<p class=3D"MsoNormal">}<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Notice that foo does not have a default statement. S=
o if no manager has set leaf foo, it doesn't exist in the config.<o:p></o:p=
></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">In that case, does the &quot;when&quot; statement ev=
aluate to 'true' &nbsp;(i.e. leaf bar is allowed to have a value) ?<o:p></o=
:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">i.e. assuming leaf foo is not set at all, is this ac=
cepted?<o:p></o:p></p>
<p class=3D"MsoNormal">&lt;bar&gt;23&lt;/bar&gt;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Or is there something special here because of the no=
n-existence of leaf foo?<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">If the &quot;when&quot; evaluates to 'false', then d=
oes the following &quot;when&quot; evaluate differently than the one above?=
<o:p></o:p></p>
<p class=3D"MsoNormal">&nbsp;&nbsp;&nbsp; when &quot;not(../foo =3D 'val2')=
&quot;;<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p>&nbsp;</o:p></p>
<p class=3D"MsoNormal">Jason<o:p></o:p></p>
</div>
</body>
</html>

--_000_VI1PR07MB3981888B6E7B657DD0E97F219B870VI1PR07MB3981eurp_--


From nobody Wed Sep 25 08:45:04 2019
Return-Path: <jason.sterne@nokia.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 03965120025 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:45:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.927
X-Spam-Level: 
X-Spam-Status: No, score=-1.927 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.026, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nokia.onmicrosoft.com
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 5N0Cvxay4rn4 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:44:55 -0700 (PDT)
Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-eopbgr130131.outbound.protection.outlook.com [40.107.13.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EC967120013 for <netmod@ietf.org>; Wed, 25 Sep 2019 08:44:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AA1vJ7rS1NnlsH+uLXeHuMaSlpHUvDgt0alTMUqy+Z+ukKX5IMVXiH0tf3LlxPkWS85mrq+c/qx6p+Y0MKOfGbEP3cS+oNF9V74BMXbBAbYzstXPUNRPGgmNO9sKpc3+Y/daU9ZzUZE8bCGBZ+r3QqmOZ15X6huIyAcKkVly3MI9f4n+qWoflMXC9VV+aL8JUvUy1GbkBQ+R8a8RGDDN9yuJQ6nz5VS5H5ArqJ+uLXD3GPbiDSZpLFnJYl5IOVLhkBRvAgSmv/z5YIIs2c6ko5tjGmSM7qaNoELB/WqgomlrMwRSCJ+KTuqQdMm3RN0UnJsGTyxRoj7ydc9yn//F+Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9sAdSNkkoz164Z10jr5fu38ks/M/fXVm6vekqlyKCI0=; b=BCcGRGqlVyzstT9k3oFcJ9kJJpShFYHU2q1HzjIDAo66sb1YVuK5cYlwlUyEPebowbbOyym4qn3Xm5xIUVWj9EOssHyMWGajj8sZ79poqrmyaN6oEBjUiNBNrfVrhlNUWG21d+Ef00M6/pUQ4vo/ZxL7GjC8/sBfQeQMv1QekAdklTAKkeOqJrSJC4DH0fi9y+eCbbGNbArsi8PpMQm6cbkhEl2cSWSmMHrFSA4qs3LCMWrYLNpMNvwScc1y9pDyp1lwjiWjah79FpKUz2pE3jkZMO2QXPCtgg/PuY7FuYBz2g+Y5xljdZrNTGOUe7f7g/my2TZudTc4gi9DBP77jQ==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nokia.com; dmarc=pass action=none header.from=nokia.com; dkim=pass header.d=nokia.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nokia.onmicrosoft.com;  s=selector1-nokia-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9sAdSNkkoz164Z10jr5fu38ks/M/fXVm6vekqlyKCI0=; b=zOlHH/sL3OK7M7rxaflpTTFT9JVmIub0nUuf9eKS9ljSbkphX1pi9VpMuPed3RADH1qipY+UfhSxf+aNoJzoJ2QMfyYuVYGc9ec4vq8lbGm5uPeYH+uCVthSTi4Xy/wn7XTDHQNxerckySqWSGYpOLnIoTX+qNEokUSSmVzU644=
Received: from VI1PR07MB3981.eurprd07.prod.outlook.com (52.134.28.141) by VI1PR07MB4480.eurprd07.prod.outlook.com (20.177.57.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.11; Wed, 25 Sep 2019 15:44:51 +0000
Received: from VI1PR07MB3981.eurprd07.prod.outlook.com ([fe80::e976:ea85:c30c:db44]) by VI1PR07MB3981.eurprd07.prod.outlook.com ([fe80::e976:ea85:c30c:db44%6]) with mapi id 15.20.2305.013; Wed, 25 Sep 2019 15:44:51 +0000
From: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
To: Qin Wu <bill.wu@huawei.com>, "Fengchong (frank)" <frank.fengchong@huawei.com>, Andy Bierman <andy@yumaworks.com>
CC: "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiAg562U5aSNOiAgUGxlYXNlIGNsYXJpZnkgaW1w?= =?utf-8?B?bGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVaECVSUEqZuhkwkumKBBZYV51w6clvobggBbgCXA=
Date: Wed, 25 Sep 2019 15:44:51 +0000
Message-ID: <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com>
In-Reply-To: <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=jason.sterne@nokia.com; 
x-originating-ip: [135.245.20.8]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 8c8f238e-e024-4b2b-13e9-08d741cf4dd0
x-ms-office365-filtering-ht: Tenant
x-ms-traffictypediagnostic: VI1PR07MB4480:
x-ms-exchange-purlcount: 6
x-microsoft-antispam-prvs: <VI1PR07MB44802A6FA9A887CFC01F280E9B870@VI1PR07MB4480.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:6430;
x-forefront-prvs: 01713B2841
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(4636009)(39860400002)(376002)(346002)(136003)(366004)(396003)(53754006)(199004)(189003)(4326008)(53546011)(30864003)(6246003)(25786009)(14454004)(99936001)(478600001)(8936002)(81156014)(71200400001)(186003)(71190400001)(81166006)(76116006)(790700001)(66616009)(64756008)(26005)(66476007)(966005)(66446008)(66946007)(102836004)(66556008)(2906002)(33656002)(486006)(9686003)(110136005)(3846002)(256004)(66066001)(476003)(11346002)(14444005)(5024004)(236005)(5660300002)(52536014)(5070765005)(7736002)(224303003)(316002)(54896002)(6306002)(99286004)(446003)(6436002)(6116002)(74316002)(76176011)(733005)(7696005)(229853002)(55016002)(606006)(6506007)(86362001)(54906003)(569006); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR07MB4480; H:VI1PR07MB3981.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; 
received-spf: None (protection.outlook.com: nokia.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: QSIZyxXCu1PBWHZWqwkZtIychNAmz8fo4rdWSy/vGJiFnL9C/vEQcvZ31HkdtJjiKJPQ9eDbLUKqlRD1JLNuNFpwa9PY+x79E/P170FG+Jsh3Vv9Knzqa2iVDRddrpN8M1d+LF/dIcRL4j/em6/2tqn76NXSSvjbLPDRxfgXoJ5N0KEwj7cOIhhLw1+2YlE4o61+aPD8ooxvKQiHLC97d4jkkknUNDRmZiOofdWdjkcbzuPPgoThDD5vjNPmPBJ96TjsgtcsIskvAu2oUU8ulXI57UoKdX+uPhftPLOy61f9XjSAw9F7YCAIsEuNixz5aGlYxSUvMNSbaKjF+9d3p2BrU8LXUVW0IxnEmoKu7KzOh9b7fsr+kQMz0GkoVQ/gDwh6lmZBmwgqesGre1/5S8FyBc9wuywu+lbzTGy9F3m4UozAXsp0j2Ok0Lm8ryS6rwxq9ZNiKNpvXypV5+0NCw==
x-ms-exchange-transport-forked: True
Content-Type: multipart/related; boundary="_004_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_"; type="multipart/alternative"
MIME-Version: 1.0
X-OriginatorOrg: nokia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 8c8f238e-e024-4b2b-13e9-08d741cf4dd0
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Sep 2019 15:44:51.3903 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5d471751-9675-428d-917b-70f44f9630b0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: YAlh0dInSWHL0gURXAOleydDye+00/aiL+3314Secnnhq8lHrrQupLb+FhBiZiMUeDtpcj+1pxmNDJPkHsrKsw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB4480
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/oND1ph3DzSLyVK-Hg8XgA49HTB4>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiAg562U5aSNOiAgUGxlYXNlIGNsYXJpZnkg?= =?utf-8?q?implementation_about_=E2=80=98when=E2=80=99?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 15:45:02 -0000

--_004_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_
Content-Type: multipart/alternative;
 boundary="_000_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_"

--_000_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

UHJvY2Vzc2luZyBvcmRlciBzaG91bGQgbm90IG1hdHRlci4gVGhlIGV2YWx1YXRpb24gb2YgdGhl
ICd3aGVuJyBzdGF0ZW1lbnQgc2hvdWxkIGJlIGRvbmUgYXNzdW1pbmcgYW4gYXRvbWljIGFwcGxp
Y2F0aW9uIG9mIHRoZSBlZGl0LWNvbmZpZy4NCg0KSSBhZ3JlZSB0aGF0IGEgc3RhbmRhcmRzIGNv
bXBsaWFudCBzZXJ2ZXIgc2hvdWxkIGRvIGFzIFJvYiBzYWlkOg0KDQotIEZvciDigJxzY2VuZSAx
4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2Yg
dGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxp
ZWQgaXMgdmFsaWQuDQotIEZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyBy
ZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIg
dGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCg0KRnJvbSBhbiBp
bXBsZW1lbnRhdGlvbiB0aGF0IG1heSBpbmRlZWQgbWVhbiBwcm9jZXNzaW5nIHRoZSAnd2hlbicg
YWZ0ZXIgYSBmaXJzdCBwYXNzIHRoYXQgc2V0cyB0aGUgdmFyaW91cyBsZWFmcyB0byB0ZW50YXRp
dmUgdmFsdWVzLiBCdXQgdGhhdCdzIGltcGxlbWVudGF0aW9uIGRldGFpbC4NCg0KSU1PIHRoZSBh
dXRvLWNsZWFyaW5nIGJlaGF2aW9yIG9mICd3aGVuJyBtYXkgYmUgY29tcGxpY2F0ZWQgYnV0IHRo
YXQgaXMgaG93IGl0IGlzIGRlZmluZWQgKHNhbWUgd2l0aCAnY2hvaWNlJykuIENsaWVudHMgY2Fu
IGFuZCBzaG91bGQgZGVwZW5kIG9uIHRoaW5ncyBiZWluZyBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQu
IElmIHlvdSB3YW50IHZhbGlkYXRpb24gZXJyb3JzIChpLmUuIGZvcmNlIHRoZSBjbGllbnQgdG8g
Y2xlYXIgYWxsIHRoZSBkZXBlbmRhbnQgbGVhZnMgaW5zdGVhZCBvZiBhdXRvLWNsZWFyaW5nKSB0
aGVuIHVzZSBhICdtdXN0JyBzdGF0ZW1lbnQuDQoNCkphc29uDQoNCkZyb206IG5ldG1vZCA8bmV0
bW9kLWJvdW5jZXNAaWV0Zi5vcmc+IE9uIEJlaGFsZiBPZiBRaW4gV3UNClNlbnQ6IFR1ZXNkYXks
IFNlcHRlbWJlciAxMCwgMjAxOSAxMDozMyBQTQ0KVG86IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbT47IEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29t
Pg0KQ2M6IG5ldG1vZEBpZXRmLm9yZzsgWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPg0KU3Vi
amVjdDogW25ldG1vZF0g562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0
aW9uIGFib3V0IOKAmHdoZW7igJkNCg0KV2h5IHByb2Nlc3Npbmcgb3JkZXIgbWF0dGVyPyBNeSBp
bnRlcnByZXRhdGlvbiBpcyBib3RoIGxlYWYgbm9kZSB2YWx1ZXMgKGkuZS4sbGVhZiBhLCBsZWFm
IGIpIHNob3VsZCBiZSB2YWxpZGF0ZWQgdG9nZXRoZXIgYW5kIGNvbW1pdCBhcyBhIHdob2xlLA0K
UkZDNjI0MSBzYWlkOg0K4oCcDQpJZiB0aGUgZGV2aWNlIGlzIHVuYWJsZSB0byBjb21taXQgYWxs
IG9mIHRoZSBjaGFuZ2VzIGluIHRoZQ0KICAgICAgICAgY2FuZGlkYXRlIGNvbmZpZ3VyYXRpb24g
ZGF0YXN0b3JlLCB0aGVuIHRoZSBydW5uaW5nDQogICAgICAgICBjb25maWd1cmF0aW9uIE1VU1Qg
cmVtYWluIHVuY2hhbmdlZC4NCuKAnQ0KU28gdmFsaWRhdGUgdGhlIGxlYWYgbm9kZSB2YWx1ZSBp
biB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCAobWVzc2FnZSBjb250ZW50IHZhbGlkYXRpb24pIGlz
IG5vdCBpbXBvcnRhbnQsIHZhbGlkYXRlIHRoZSBsZWFmIG5vZGUgdmFsdWUgdGhhdCBpcyBhcHBs
aWVkIHRvIDxydW5uaW5nPiAoZGF0YXN0b3JlIHZhbGlkYXRpb24pIGlzIHRoZSBrZXkuDQoNCg0K
SSB0aGluayB3aGF0IHlvdSB3YW50IHRvIHJhaXNlIGlzIHRoZSBzZXJ2ZXIgc2hvdWxkIGhvbGQg
b24gdG8gc2VuZCByZXBseSB3aXRoIGFuICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGlu
IHRoZSA8cnBjLWVycm9yPiBkdXJpbmcgcGF5bG9hZCBwYXJzaW5nIHBoYXNlIGFuZCBORVRDT05G
IDxlZGl0LWNvbmZpZz4NCg0KUHJvY2Vzc2luZyB1bnRpbCBhbGwgdmFsaWRhdGlvbiBjb21wbGV0
ZSwgb3RoZXJ3aXNlIGl0IHNlZW1zIHNlcnZlciB3aWxsDQoNClNlbmQgbXVsdGlwbGUgcnBseSB3
aXRoICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPiB3aGlj
aCBzZWVtcyBub3QgcmVhc29uYWJsZS4NCg0KDQoNCi1RaW4NCuWPkeS7tuS6ujogbmV0bW9kIFtt
YWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmddIOS7o+ihqCBGZW5nY2hvbmcgKGZyYW5rKQ0K
5Y+R6YCB5pe26Ze0OiAyMDE55bm0OeaciDEx5pelIDk6MjkNCuaUtuS7tuS6ujogQW5keSBCaWVy
bWFuIDxhbmR5QHl1bWF3b3Jrcy5jb208bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+DQrmioTp
gIE6IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPjsgWWFuZ2FuZyA8eWFu
Z2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0K5Li76aKYOiBbbmV0
bW9kXSDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7i
gJkNCg0KQW5keSwNCg0KV2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9jY3VyIGFjY29y
ZGluZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj8NCkFjY29yZGluZyA4LjMuMg0KaWYgc2VydmVy
IHByb2Nlc3Mg4oCYYT0gM+KAmSBmaXJzdGx5LCBiIHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0g
YW5kIGJlY29tZXMgYSBub24tZXhpc3Qgc2NoZW1hIG5vZGUsIGFuZCB0aGVuICB3aGVuIOKAmGI9
NeKAmSBpcyBwcm9jZXNzZWQgLCBzZXJ2ZXIgd2lsbCByZXBvcnQgYSDigJh1bmtub3duLWVsZW1l
bnTigJkgZXJyb3IuDQpCdXQgaWYgc2VydmVyIHByb2Nlc3Mg4oCYYj014oCZIGZpcnN0bHksIGl0
IHdpbGwgYmUgYWNjZXB0ZWQgYnkgc2VydmVyLCBhbmQgdGhlbiB3aGVuIOKAmGE9M+KAmSBpcyBw
cm9jZXNzZWQsIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5c3RlbSwgYnV0IHJlcG9ydCBPSy4NCg0K
SWYgc2VjIDguMy4yIGlzIG5vdCByaWdodC4gV2hhdCBpcyB0aGUgcmlnaHQ/DQpXaGVuIG5vZGUg
YSBhbmQgbm9kZSBiIGluIHRoZSBzYW1lIHJlcXVlc3QsIGFuZCBiIHRhZ2dlZCB3aGVuIGNvbmRp
dGlvbiwgYeKAmXMgdmFsdWUgd2lsbCBjYXVzZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVk
IHRvIGZhbHNlLCB3aGljaCBpcyBtb3JlIHByaW9yPw0KQWNjb3JkaW5nIHlvdSBhbmQgUm9i4oCZ
cyBpbnRlcnByZXRhdGlvbiAsIG1heWJlIG5vZGUg4oCZYeKAmSBpcyBtb3JlIHByaW9yPyBJZiB5
ZXMsIHdoeSBub2RlIOKAmGLigJkgc2hvdWxkIGJlIHByb2Nlc3NlZCBsYXRlcj8NCg0KSSB0aGlu
ayB3aGV0aGVyIGluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UgdGhlIGNvbmZpZ3VyYXRp
b24gdGFnZ2VkIHdoZW4gc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQgYW5kIGJlIGRlbGF5ZWQgdG8g
Y29tbWl0IG9yIHZhbGlkYXRlPw0KV2hlbiBjb21taXQgb3IgdmFsaWRhdGUgb3BlcmF0aW9uIGlz
IGlzc3VlZCwgIHRoZSBkYXRhIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBldmFsdWF0ZWQsIGFu
ZCBpZiBpdOKAmXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB0aGlzIGRhdGEgd2lsbCBiZSBkZWxldGVk
IGJ5IHN5c3RlbSBpbW1lZGlhdGVseSwgc2VydmVyIHNob3VsZCBub3QgcmVwb3J0IGFueSBlcnJv
ci4NCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ
6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K
5Liq5Lq6562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDmnLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q
6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9u
Z0BodWF3ZWkuY29tPg0K5YWs5Y+4572R5Z2A77yad3d3Lmh1YXdlaS5jb208aHR0cDovL3d3dy5o
dWF3ZWkuY29tPg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCu+7vyDmnKzpgq7k
u7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDk
uo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoEN
CuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZ
kOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmC
ruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM6K+35oKo
56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu277yB
DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGlu
Zm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBl
cnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2Yg
dGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywg
YnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQpkaXNjbG9zdXJlLCByZXByb2R1
Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5k
ZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFp
bCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQpwaG9uZSBvciBlbWFpbCBp
bW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hku7bkuro6IEFuZHkgQmllcm1hbiBbbWFp
bHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgxMOaXpSAx
MDo1Ng0K5pS25Lu25Lq6OiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdl
aS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj4NCuaKhOmAgTogUm9iIFdp
bHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNpc2NvLmNv
bT4+OyBuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47IFlhbmdhbmcgPHlh
bmdhbmdAaHVhd2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4NCuS4u+mimDogUmU6
IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkN
Cg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzo0MCBQTSBGZW5nY2hvbmcgKGZyYW5rKSA8
ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPj4gd3JvdGU6DQpBbmR5LA0KV2hldGhlciBhbGwgY29uc3RyYWludHMgb24gY29udGVudCBp
biA8Y29uZmlnPiBwYXJhbWV0ZXIgd2lsbCBub3QgYmUgZXZhbHVhdGVkIGluIHBheWxvYWQgcGFy
c2luZyBwaGFzZSwgZm9yIGV4YW1wbGUsIGEgbGVhZuKAmXMgdmFsdWUgZXhjZWVkIHJhbmdlPw0K
TmV0Y29uZiBzZXJ2ZXIgc2hvdWxkIHRyZWF0IGl0IGFzIGEgYmxvY2sgZGF0YT8NCg0KDQpGaWVs
ZCB2YWxpZGF0aW9uIGFuZCBkYXRhc3RvcmUgdmFsaWRhdGlvbiBhcmUgMiBkaWZmZXJlbnQgdGhp
bmdzLg0Kd2hlbi1zdG10IHByb2Nlc3NpbmcgaXMgbmVpdGhlci4gSXQgaXMgYnkgZmFyIHRoZSBo
YXJkZXN0IHBhcnQgb2YgYW4gYXV0b21hdGVkIHNlcnZlciB0byBnZXQgcmlnaHQuDQoNCkFub3Ro
ZXIgcXVlc3Rpb246DQoNCkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UsIHdoZXRoZXIg
Y29uc3RyYWludHMgb24gY29udGVudCBpbiA8Y29uZmlnPiBwYXJhbWV0ZXIgbmVlZHMgYmUgZXZh
bHVhdGVkPw0KSWYgeWVzLCB3aGVuICBjb25maWd1cmF0aW9uIG1vZGlmaWNhdGlvbiBjYXVzZSB3
aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoZSBub2RlIHRhZ2dlZCB3aGVu
IHdpbGwgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIGJ5IHN5c3RlbS4NClRoZW4sIGluIHNjZW5l
IDIsIHdoZXRoZXIgZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBvY2N1ciBhY2NvcmRpbmcgZGlmZmVy
ZW50IHByb2Nlc3Mgb3JkZXI/DQoNCg0KU2luY2UgdGhlIDxjb25maWc+IHBhcmFtZXRlciBpcyBh
bnl4bWwsIHRoZSBZQU5HIGNvbnN0cmFpbnRzIGRlZmluZWQgb24gZGF0YXN0b3JlIGNvbnRlbnRz
DQphcmUgbm90IGVuZm9yY2VkIGFzIHBhcnQgb2YgUlBDIGlucHV0IHZhbGlkYXRpb24uDQoNCkl0
IHdvdWxkIGJlIG5pY2UgaWYgTkVUQ09ORiBkZWZpbmVkIGJlaGF2aW9yIGZvciBwcm92aWRpbmcg
PGNvbmZpZz4gZGF0YSB0aGF0IHdpbGwgZ2V0IGRlbGV0ZWQNCmltbWVkaWF0ZWx5IGJ5IHRoZSBz
ZXJ2ZXIuICBXZSBoYXZlIGEgQ0xJIHBhcmFtZXRlciBmb3IgdGhpcyBzaW5jZSBzb21lIHZlbmRv
cnMgd2FudCB0bw0KdHJlYXQgdGhpcyBhcyBhbiBlcnJvciBhbmQgb3RoZXIganVzdCBzaWxlbnRs
eSBkZWxldGUgbm9kZXMuICBOb3RlIHRoYXQgd2hlbi1zdG10IGNhbiBzaWxlbnRseQ0KZGVsZXRl
IGV4aXN0aW5nIG5vZGVzIG5vdCBpbmNsdWRlZCBpbiB0aGUgZWRpdC4gKExhZGEgZG9lcyBub3Qg
YWdyZWUgdGhpcyBpcyBob3cgaXQgc2hvdWxkIHdvcmssDQpzbyB3ZSBuZWVkIHlhbmctbmV4dCB0
byBkZWNpZGUuIE1heWJlIE5FVENPTkYgbmVlZHMgYSAtLWZvcmNlIHBhcmFtZXRlciBmb3IgdGhp
cyBwdXJwb3NlLikNCg0KDQpBbmR5DQoNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBM
dGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDmnLrv
vJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208
bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4572R5Z2A77yad3d3Lmh1
YXdlaS5jb208aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTk
v53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTk
uKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8j+S9
v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWkjeWI
tuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS2
5LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq6
5bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNv
bnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMgaW50
ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0
ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlu
IGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFs
DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMg
b3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5
b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVy
IGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hku7bk
uro6IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86YW5keUB5
dW1hd29ya3MuY29tPl0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgxMOaXpSAxMDoxOQ0K5pS2
5Lu25Lq6OiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208bWFp
bHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj4NCuaKhOmAgTogUm9iIFdpbHRvbiAocndp
bHRvbikgPHJ3aWx0b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbT4+OyBuZXRt
b2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz47IFlhbmdhbmcgPHlhbmdhbmdAaHVh
d2VpLmNvbTxtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tPj4NCuS4u+mimDogUmU6IFtuZXRtb2Rd
IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJkNCg0KDQoNCk9u
IE1vbiwgU2VwIDksIDIwMTkgYXQgNzoxMCBQTSBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVu
Z2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj4gd3Jv
dGU6DQpIaSBhbmR5LA0KDQpZb3Ugb25seSB0YWxrIGFib3V0IHRoZSBjb25zdHJhaW50cyBvbiBy
cGMgb3BlcmF0aW9u4oCZcyBwYXJhbWV0ZXI/DQoNCkRvIHlvdSBoYXZlIGFueSBvcGluaW9uIGFi
b3V0IG15IHF1ZXN0aW9uPw0KDQo4LjMuMSBkb2VzIG5vdCBhcHBseSB0byBsZWFmICdiJy4NClRo
ZSBSUEMgcGFyYW1ldGVyIGlzIGNhbGxlZCAnY29uZmlnJy4NCkl0IGhhcyBubyB3aGVuLXN0bXRz
IHRvIGV2YWx1YXRlLg0KUm9iIGlzIGNvcnJlY3QuDQpIaXMgZXhhbXBsZSBzaG93cyB3aGF0IDgu
My4xIHdvdWxkIGNvdmVyLg0KDQpBbmR5DQoNCg0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXw0K5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28u
LCBMdGQuDQpbQ29tcGFueV9sb2dvXQ0K5Liq5Lq6562+5ZCN77ya5Yav5YayDQrmiYvjgIDjgIDm
nLrvvJoxMzc3NjYxMjk4Mw0K55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPg0K5YWs5Y+4572R5Z2A77yad3d3
Lmh1YXdlaS5jb208aHR0cDovL3d3dy5odWF3ZWkuY29tPg0KX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX18NCu+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jn
moTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rn
moTkuKrkurrmiJbnvqTnu4TjgILnpoENCuatouS7u+S9leWFtuS7luS6uuS7peS7u+S9leW9ouW8
j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaIlumDqOWIhuWcsOazhOmcsuOAgeWk
jeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rQ0K55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ
5pS25LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu2
5Lq65bm25Yig6Zmk5pys6YKu5Lu277yBDQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRz
IGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KaXMg
aW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBs
aXN0ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlDQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWlu
IGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0
aWFsDQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNv
bnMgb3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQNCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJ
ZiB5b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2Vu
ZGVyIGJ5DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQrlj5Hk
u7bkuro6IEFuZHkgQmllcm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86YW5k
eUB5dW1hd29ya3MuY29tPl0NCuWPkemAgeaXtumXtDogMjAxOeW5tDnmnIgxMOaXpSAxOjE0DQrm
lLbku7bkuro6IFJvYiBXaWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2NvLmNvbTxtYWlsdG86
cndpbHRvbkBjaXNjby5jb20+Pg0K5oqE6YCBOiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVu
Z2Nob25nQGh1YXdlaS5jb208bWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPj47IG5l
dG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPjsgWWFuZ2FuZyA8eWFuZ2FuZ0Bo
dWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0K5Li76aKYOiBSZTogW25ldG1v
ZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSwN
Cg0KTm9uZSBvZiB0aGUgb3BlcmF0aW9ucyB0aGF0IGFjY2VwdCBvciByZXR1cm4gZGF0YXN0b3Jl
IGNvbnRlbnRzIGV4cG9zZSB0aGUgZGF0YXN0b3JlIG9iamVjdHMNCmluIHRoZSBSUEMgcGFyYW1l
dGVycy4gIFRoZXkgYXJlIGFsd2F5cyBhbnl4bWwgb3IgYW55ZGF0YS4gVGhpcyBtZWFucyB0aGF0
DQp0aGVyZSBhcmUgbm8gZGVzY2VuZGFudCBkYXRhIG5vZGVzIGRlZmluZWQgYXQgYWxsIGFjY29y
ZGluZyB0byB0aGUgUlBDIG9wZXJhdGlvbg0KYW5kIHRoZXJlZm9yZSB0aGUgY29uc3RyYWludHMg
b24gdGhvc2Ugbm9kZXMgZG8gbm90IGV4aXN0IGluIHRoZSBSUEMgb3BlcmF0aW9uIGVpdGhlci4N
Cg0KDQoNCk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2lsdG9uIChyd2lsdG9u
KSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0b25AY2lzY28uY29tPj4gd3JvdGU6DQpI
aSBGcmFuaywNCg0KTXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgYmVoYXZp
b3VyIGlzIGFzIGZvbGxvd3MuDQoNCkZvciDigJxzY2VuZSAx4oCdLCB0aGUgY29uZmlnIGNoYW5n
ZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUg
YWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgdmFsaWQuDQoNCkZvciDi
gJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRoZSBy
ZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBi
ZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCg0KTXkgaW50ZXJwcmV0YXRpb24gaXMgdGhhdCB0aGUg
YmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNpbmcgaXMgcHJpbWFyeSBpbnRlbmRl
ZCB0byByZWZlciB0byBSRkMgaW5wdXQuICBFLmcuIGlmIHRoZSBSUEMgd2FzIGRlZmluZWQgc29t
ZXRoaW5nIGxpa2UgYmVsb3csIHRoZW4gdGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4LjMuMSB3b3Vs
ZCBlbmZvcmNlIHRoYXQgYSB6aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0aGUgY291
bnRyeSBpcyB0aGUgVVNBLg0KDQogICAgICAgcnBjIHJvY2stdGhlLWhvdXNlIHsNCiAgICAgICAg
IGlucHV0IHsNCiAgICAgICAgICAgbGVhZiBjb3VudHJ5IHsNCiAgICAgICAgICAgICB0eXBlIHN0
cmluZzsNCiAgICAgICAgICAgfQ0KICAgICAgICAgICBsZWFmIHppcC1jb2RlIHsNCiAgICAgICAg
ICAgICB3aGVuIOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07DQogICAgICAgICAgICAgdHlw
ZSBzdHJpbmc7DQogICAgICAgICAgIH0NCiAgICAgICAgIH0NCiAgICAgICB9DQoNClRoYW5rcywN
ClJvYg0KDQoNCg0KRnJvbTogbmV0bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRmLm9yZzxtYWlsdG86
bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+PiBPbiBCZWhhbGYgT2YgRmVuZ2Nob25nIChmcmFuaykN
ClNlbnQ6IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5DQpUbzogbmV0bW9kQGlldGYub3JnPG1haWx0
bzpuZXRtb2RAaWV0Zi5vcmc+DQpDYzogWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0
bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0KU3ViamVjdDogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkg
aW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpIaSBhbGwsDQoNCkluIFJGQzc5NTAg
c2VjdG9uIDgsIHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbu+8mg0KSW4gc2VjdGlvbiA4
LjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjI+LiAgQ29u
ZmlndXJhdGlvbiBEYXRhIE1vZGlmaWNhdGlvbnMNCiAgIG8gIElmIGEgcmVxdWVzdCBtb2RpZmll
cyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2ggdGhhdCBhbnkNCiAgICAgIG5vZGUncyAi
d2hlbiIgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluIHRoZSBkYXRh
DQogICAgICB0cmVlIHdpdGggdGhlICJ3aGVuIiBleHByZXNzaW9uIGlzIGRlbGV0ZWQgYnkgdGhl
IHNlcnZlci4NCkluIDguMy4xPGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3Nl
Y3Rpb24tOC4zLjE+LiAgUGF5bG9hZCBQYXJzaW5nDQoNCiAgIG8gIElmIGRhdGEgZm9yIGEgbm9k
ZSB0YWdnZWQgd2l0aCAid2hlbiIgaXMgcHJlc2VudCBhbmQgdGhlICJ3aGVuIg0KDQogICAgICBj
b25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIsIHRoZSBzZXJ2ZXIgTVVTVCByZXBseSB3aXRo
IGFuDQoNCiAgICAgICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVy
cm9yPi4NCg0KSW4gOC4zLjI8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2Vj
dGlvbi04LjMuMj4uICBORVRDT05GIDxlZGl0LWNvbmZpZz4gUHJvY2Vzc2luZw0KDQpNb2RpZmlj
YXRpb24gcmVxdWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICJ3aGVuIiwgYW5kIHRoZSAid2hl
biINCg0KICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLiAgSW4gdGhpcyBjYXNl
LCB0aGUgc2VydmVyIE1VU1QNCg0KICAgICAgcmVwbHkgd2l0aCBhbiAidW5rbm93bi1lbGVtZW50
IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQoNCllBTkcgbW9kdWxl77yaDQptb2R1
bGUgZm9vIHsNCiAgIG5hbWVzcGFjZSDigJxodHRwOi8vZm9vLmNvbeKAnTsNCiAgIHByZWZpeCDi
gJxmb2/igJ07DQpMZWFmIGEge+KApn0NCkxlYWYgYiB7DQogIFdoZW4g4oCcYSA9IDEw4oCdOw0K
fQ0KfQ0KU2NlbmUgMToNClRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29u
ZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8
Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjM8L2E+DQogICA8
L2NvbmZpZz4NCjwvZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDMuDQoN
ClRoZSBzZWNvbmQgcmVxdWVzdDoNCjxlZGl0LWNvbmZpZz4NCiAgIDx0YXJnZXQ+DQogICAgICA8
Y2FuZGlkYXRlLz4NCiAgIDwvdGFyZ2V0Pg0KICAgPGNvbmZpZz4NCiAgICAgIDxhIHhtbG5zPSDi
gJxodHRwOi8vZm9vLmNvbeKAnT4xMDwvYT4NCiAgICAgIDxiIHhtbG5zPSDigJxodHRwOi8vZm9v
LmNvbeKAnT41PC9iPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KDQpBY2NvcmRpbmcg
OC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBj
YW5kaWRhdGUgZGF0YXN0b3JlIGlzIDMsc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBl
dmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydCDigJh1bmtub3duLWVsZW1lbnTi
gJkgZXJyb3IuDQpJcyBpdCBleHBlY3RlZCBieSB1c2VyPw0KU2NlbmUgMjoNClRoZSBmaXJzdCBl
ZGl0LWNvbmZpZyByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxj
YW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKA
nGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0K
VGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEgPSAxMC4NCg0KVGhlIHNlY29uZCByZXF1ZXN0Og0KPGVk
aXQtY29uZmlnPg0KICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+
DQogICA8Y29uZmlnPg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjM8L2E+
DQogICAgICA8YiB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+NTwvYj4NCiAgIDwvY29uZmln
Pg0KPC9lZGl0LWNvbmZpZz4NCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2lu
ZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMTAsIHNv
IGxlYWYgYuKAmXMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRydWUsIHNlcnZlciB3
aWxsIGFjY2VwdCB0aGlzIHJlcXVlc3QgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNlLg0KDQpJbiBl
ZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3NpbmcgcGhhc2UsIGlmIGxlYWYgYeKAmXMgbW9kaWZp
Y2F0aW9uIGlzIHByb2Nlc3NlZCBmaXJzdGx5LCB0aGUgYeKAmXMgdmFsdWUgd2lsbCBiZSBjaGFu
Z2VkIHRvIDMsIHNvIHRoZSBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGZhbHNlLCB3aGVu
IHNlcnZlciBwcm9jZXNzIGLigJlzIG1vZGlmaWNhdGlvbiwgYiB3aWxsIGJlIHRyZWF0ZWQgYXMg
dW5rbm93bi1lbGVtZW50LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGZhaWwuDQpJZiBs
ZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNzZWQgZmlyc3RseSwgc2VydmVyIHdpbGwg
YWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGLigJlzIHdoZW4gY29uZGl0aW9uIGlz
IHRydWUsIGFuZCB3aGVuIHNlcnZlciBwcm9jZXNzIGHigJlzIG1vZGlmaWNhdGlvbiAsIHRoaXMg
bW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVuIGNvbmRpdGlvbiB3
aWxsIGJlIGV2YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRlZCBhdXRvbWF0
aWNhbGx5LCB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLg0KDQpIb3cgc2VydmVy
IHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0dWF0aW9uPw0KDQpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fXw0KbmV0bW9kIG1haWxpbmcgbGlzdA0KbmV0bW9kQGll
dGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+DQpodHRwczovL3d3dy5pZXRmLm9yZy9tYWls
bWFuL2xpc3RpbmZvL25ldG1vZA0K

--_000_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OlNpbVN1bjsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1TIEdvdGhpYyI7DQoJcGFub3NlLTE6MiAxMSA2
IDkgNyAyIDUgOCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRo
IjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1m
YW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OiJDYWxpYnJpIExpZ2h0IjsNCglwYW5vc2UtMToyIDE1IDMgMiAy
IDIgNCAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkNvbnNvbGFzOw0KCXBhbm9z
ZS0xOjIgMTEgNiA5IDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1p
Y3Jvc29mdCBZYUhlaSI7DQoJcGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQt
ZmFjZQ0KCXtmb250LWZhbWlseToiXEBNaWNyb3NvZnQgWWFIZWkiO30NCkBmb250LWZhY2UNCgl7
Zm9udC1mYW1pbHk6IlxATVMgR290aGljIjsNCglwYW5vc2UtMToyIDExIDYgOSA3IDIgNSA4IDIg
NDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQFNpbVN1biI7DQoJcGFub3NlLTE6MiAx
IDYgMCAzIDEgMSAxIDEgMTt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglw
YW5vc2UtMToyIDExIDYgNCAzIDUgNCA0IDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0K
cC5Nc29Ob3JtYWwsIGxpLk1zb05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0K
CW1hcmdpbi1ib3R0b206LjAwMDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5
OlNpbVN1bjt9DQpoMw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi
SGVhZGluZyAzIENoYXIiOw0KCW1zby1tYXJnaW4tdG9wLWFsdDphdXRvOw0KCW1hcmdpbi1yaWdo
dDowY207DQoJbXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87DQoJbWFyZ2luLWxlZnQ6MGNtOw0K
CWZvbnQtc2l6ZToxMy41cHQ7DQoJZm9udC1mYW1pbHk6U2ltU3VuO30NCmg0DQoJe21zby1zdHls
ZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiJIZWFkaW5nIDQgQ2hhciI7DQoJbXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCgltc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0bzsNCgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250
LWZhbWlseTpTaW1TdW47fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUt
cHJpb3JpdHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30N
CmE6dmlzaXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3Jp
dHk6OTk7DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJl
DQoJe21zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCBQcmVmb3Jt
YXR0ZWQgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9u
dC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTpTaW1TdW47fQ0Kc3Bhbi5IZWFkaW5nM0NoYXIN
Cgl7bXNvLXN0eWxlLW5hbWU6IkhlYWRpbmcgMyBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6
OTsNCgltc28tc3R5bGUtbGluazoiSGVhZGluZyAzIjsNCglmb250LWZhbWlseToiQ2FsaWJyaSBM
aWdodCIsc2Fucy1zZXJpZjsNCgljb2xvcjojMUYzNzYzO30NCnNwYW4uSGVhZGluZzRDaGFyDQoJ
e21zby1zdHlsZS1uYW1lOiJIZWFkaW5nIDQgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7
DQoJbXNvLXN0eWxlLWxpbms6IkhlYWRpbmcgNCI7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkgTGln
aHQiLHNhbnMtc2VyaWY7DQoJY29sb3I6IzJGNTQ5NjsNCglmb250LXN0eWxlOml0YWxpYzt9DQpz
cGFuLkhUTUxQcmVmb3JtYXR0ZWRDaGFyDQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIFByZWZvcm1h
dHRlZCBDaGFyIjsNCgltc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJbXNvLXN0eWxlLWxpbms6IkhU
TUwgUHJlZm9ybWF0dGVkIjsNCglmb250LWZhbWlseTpDb25zb2xhczt9DQpwLm1zb25vcm1hbDAs
IGxpLm1zb25vcm1hbDAsIGRpdi5tc29ub3JtYWwwDQoJe21zby1zdHlsZS1uYW1lOm1zb25vcm1h
bDsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6MTEu
MHB0Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCnAuMywgbGkuMywgZGl2
LjMNCgl7bXNvLXN0eWxlLW5hbWU6Iuagh+mimCAzIjsNCgltc28tc3R5bGUtbGluazoi5qCH6aKY
IDMgQ2hhciI7DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1z
aXplOjEyLjBwdDsNCglmb250LWZhbWlseTpTaW1TdW47fQ0Kc3Bhbi4zQ2hhcg0KCXttc28tc3R5
bGUtbmFtZToi5qCH6aKYIDMgQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk7DQoJbXNvLXN0
eWxlLWxpbms6Iuagh+mimCAzIjsNCglmb250LWZhbWlseTpTaW1TdW47DQoJZm9udC13ZWlnaHQ6
Ym9sZDt9DQpwLjQsIGxpLjQsIGRpdi40DQoJe21zby1zdHlsZS1uYW1lOiLmoIfpopggNCI7DQoJ
bXNvLXN0eWxlLWxpbms6Iuagh+mimCA0IENoYXIiOw0KCW1hcmdpbjowY207DQoJbWFyZ2luLWJv
dHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk6U2ltU3VuO30N
CnNwYW4uNENoYXINCgl7bXNvLXN0eWxlLW5hbWU6Iuagh+mimCA0IENoYXIiOw0KCW1zby1zdHls
ZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiLmoIfpopggNCI7DQoJZm9udC1mYW1pbHk6
IkNhbGlicmkgTGlnaHQiLHNhbnMtc2VyaWY7DQoJZm9udC13ZWlnaHQ6Ym9sZDt9DQpwLkhUTUws
IGxpLkhUTUwsIGRpdi5IVE1MDQoJe21zby1zdHlsZS1uYW1lOiJIVE1MIOmihOiuvuagvOW8jyI7
DQoJbXNvLXN0eWxlLWxpbms6IkhUTUwg6aKE6K6+5qC85byPIENoYXIiOw0KCW1hcmdpbjowY207
DQoJbWFyZ2luLWJvdHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1p
bHk6U2ltU3VuO30NCnNwYW4uSFRNTENoYXINCgl7bXNvLXN0eWxlLW5hbWU6IkhUTUwg6aKE6K6+
5qC85byPIENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoi
SFRNTCDpooTorr7moLzlvI8iOw0KCWZvbnQtZmFtaWx5OiJDb3VyaWVyIE5ldyI7fQ0Kc3Bhbi5F
bWFpbFN0eWxlMjgNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWw7DQoJZm9udC1mYW1pbHk6IkNh
bGlicmkiLHNhbnMtc2VyaWY7DQoJY29sb3I6IzFGNDk3RDt9DQpzcGFuLkVtYWlsU3R5bGUyOQ0K
CXttc28tc3R5bGUtdHlwZTpwZXJzb25hbDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1z
ZXJpZjsNCgljb2xvcjojMUY0OTdEO30NCnNwYW4uRW1haWxTdHlsZTMxDQoJe21zby1zdHlsZS10
eXBlOnBlcnNvbmFsLXJlcGx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0K
CWNvbG9yOndpbmRvd3RleHQ7fQ0KLk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhw
b3J0LW9ubHk7DQoJZm9udC1zaXplOjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6
ZTo2MTIuMHB0IDc5Mi4wcHQ7DQoJbWFyZ2luOjcyLjBwdCA5MC4wcHQgNzIuMHB0IDkwLjBwdDt9
DQpkaXYuV29yZFNlY3Rpb24xDQoJe3BhZ2U6V29yZFNlY3Rpb24xO30NCi0tPjwvc3R5bGU+PCEt
LVtpZiBndGUgbXNvIDldPjx4bWw+DQo8bzpzaGFwZWRlZmF1bHRzIHY6ZXh0PSJlZGl0IiBzcGlk
bWF4PSIxMDI2IiAvPg0KPC94bWw+PCFbZW5kaWZdLS0+PCEtLVtpZiBndGUgbXNvIDldPjx4bWw+
DQo8bzpzaGFwZWxheW91dCB2OmV4dD0iZWRpdCI+DQo8bzppZG1hcCB2OmV4dD0iZWRpdCIgZGF0
YT0iMSIgLz4NCjwvbzpzaGFwZWxheW91dD48L3htbD48IVtlbmRpZl0tLT4NCjwvaGVhZD4NCjxi
b2R5IGxhbmc9IkVOLUNBIiBsaW5rPSJibHVlIiB2bGluaz0icHVycGxlIj4NCjxkaXYgY2xhc3M9
IldvcmRTZWN0aW9uMSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7bXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPlByb2Nlc3Npbmcgb3JkZXIgc2hvdWxkIG5vdCBtYXR0
ZXIuIFRoZSBldmFsdWF0aW9uIG9mIHRoZSAnd2hlbicgc3RhdGVtZW50IHNob3VsZCBiZSBkb25l
IGFzc3VtaW5nIGFuIGF0b21pYyBhcHBsaWNhdGlvbiBvZiB0aGUgZWRpdC1jb25maWcuPG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21z
by1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
RU4tVVMiPkkgYWdyZWUgdGhhdCBhIHN0YW5kYXJkcyBjb21wbGlhbnQgc2VydmVyIHNob3VsZCBk
byBhcyBSb2Igc2FpZDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6RU4tVVMiPjxvOnA+Jm5ic3A7
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtt
c28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+LSBGb3Ig4oCcc2NlbmUgMeKAnSwgdGhlIGNvbmZp
ZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0
YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZhbGlkLjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp
Zjttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOkVO
LVVTIj4tIEZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBi
ZWNhdXNlIHRoZSByZXN1bHQgb2YgdGhlIGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQt
Y29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6RU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+RnJvbSBhbiBp
bXBsZW1lbnRhdGlvbiB0aGF0IG1heSBpbmRlZWQgbWVhbiBwcm9jZXNzaW5nIHRoZSAnd2hlbicg
YWZ0ZXIgYSBmaXJzdCBwYXNzIHRoYXQgc2V0cyB0aGUgdmFyaW91cyBsZWFmcyB0byB0ZW50YXRp
dmUgdmFsdWVzLiBCdXQgdGhhdCdzDQogaW1wbGVtZW50YXRpb24gZGV0YWlsLjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFy
ZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVT
Ij5JTU8gdGhlIGF1dG8tY2xlYXJpbmcgYmVoYXZpb3Igb2YgJ3doZW4nIG1heSBiZSBjb21wbGlj
YXRlZCBidXQgdGhhdCBpcyBob3cgaXQgaXMgZGVmaW5lZCAoc2FtZSB3aXRoICdjaG9pY2UnKS4g
Q2xpZW50cyBjYW4gYW5kIHNob3VsZCBkZXBlbmQgb24NCiB0aGluZ3MgYmVpbmcgYXV0b21hdGlj
YWxseSBkZWxldGVkLiBJZiB5b3Ugd2FudCB2YWxpZGF0aW9uIGVycm9ycyAoaS5lLiBmb3JjZSB0
aGUgY2xpZW50IHRvIGNsZWFyIGFsbCB0aGUgZGVwZW5kYW50IGxlYWZzIGluc3RlYWQgb2YgYXV0
by1jbGVhcmluZykgdGhlbiB1c2UgYSAnbXVzdCcgc3RhdGVtZW50LjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1s
YW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOkVOLVVTIj5KYXNv
bjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVw
dDtwYWRkaW5nOjBjbSAwY20gMGNtIDQuMHB0Ij4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6
bm9uZTtib3JkZXItdG9wOnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwY20gMGNt
IDBjbSI+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+IG5ldG1v
ZCAmbHQ7bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmcmZ3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPlFp
biBXdTxicj4NCjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTAsIDIwMTkgMTA6MzMg
UE08YnI+DQo8Yj5Ubzo8L2I+IEZlbmdjaG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdA
aHVhd2VpLmNvbSZndDs7IEFuZHkgQmllcm1hbiAmbHQ7YW5keUB5dW1hd29ya3MuY29tJmd0Ozxi
cj4NCjxiPkNjOjwvYj4gbmV0bW9kQGlldGYub3JnOyBZYW5nYW5nICZsdDt5YW5nYW5nQGh1YXdl
aS5jb20mZ3Q7PGJyPg0KPGI+U3ViamVjdDo8L2I+IFtuZXRtb2RdIDwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNUyBHb3RoaWMmcXVvdDsiPuet
lOWkjTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj46DQo8L3NwYW4+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TVMgR290aGljJnF1b3Q7
Ij7nrZTlpI08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+OiBQbGVhc2UgY2xh
cmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZPG86cD48L286cD48L3NwYW4+PC9w
Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtj
b2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5XaHkgcHJvY2Vzc2luZyBv
cmRlciBtYXR0ZXI/IE15IGludGVycHJldGF0aW9uIGlzIGJvdGggbGVhZiBub2RlIHZhbHVlcyAo
aS5lLixsZWFmIGEsIGxlYWYgYikgc2hvdWxkIGJlIHZhbGlkYXRlZCB0b2dldGhlcg0KIGFuZCBj
b21taXQgYXMgYSB3aG9sZSw8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPlJGQzYyNDEgc2FpZDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJ0ZXh0LWluZGVudDoyMS4wcHQiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+SWYgdGhlIGRldmljZSBpcyB1bmFibGUgdG8gY29tbWl0IGFsbCBvZiB0aGUgY2hh
bmdlcyBpbiB0aGU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyBjYW5kaWRhdGUgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUsIHRoZW4gdGhlIHJ1bm5pbmc8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
PiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25maWd1
cmF0aW9uIE1VU1QgcmVtYWluIHVuY2hhbmdlZC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnTxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+U28gdmFsaWRhdGUgdGhlIGxlYWYg
bm9kZSB2YWx1ZSBpbiB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCAobWVzc2FnZSBjb250ZW50IHZh
bGlkYXRpb24pIGlzIG5vdCBpbXBvcnRhbnQsIHZhbGlkYXRlIHRoZQ0KIGxlYWYgbm9kZSB2YWx1
ZSB0aGF0IGlzIGFwcGxpZWQgdG8gJmx0O3J1bm5pbmcmZ3Q7IChkYXRhc3RvcmUgdmFsaWRhdGlv
bikgaXMgdGhlIGtleS48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwcmU+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nh
bGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj5JIHRoaW5rIHdoYXQgeW91IHdhbnQgdG8gcmFpc2UgaXMgdGhlIHNlcnZlciBzaG91
bGQgaG9sZCBvbiB0byBzZW5kIHJlcGx5IHdpdGggYW4gJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1
b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0OyBkdXJpbmcgcGF5
bG9hZCBwYXJzaW5nIHBoYXNlIGFuZCBORVRDT05GICZsdDtlZGl0LWNvbmZpZyZndDsgPG86cD48
L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+UHJvY2Vzc2luZyB1bnRpbCBh
bGwgdmFsaWRhdGlvbiBjb21wbGV0ZSwgb3RoZXJ3aXNlIGl0IHNlZW1zIHNlcnZlciB3aWxsIDxv
OnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPlNlbmQgbXVsdGlwbGUg
cnBseSB3aXRoICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFnJmd0OyBp
biB0aGUgJmx0O3JwYy1lcnJvciZndDsgd2hpY2ggc2VlbXMgbm90IHJlYXNvbmFibGUuPG86cD48
L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw
LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+LVFpbjxvOnA+PC9vOnA+PC9zcGFuPjwv
cHJlPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci10b3A6c29saWQgI0Ux
RTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtIj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+5Y+R5Lu25Lq6PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVp
JnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjo8L3NwYW4+PC9i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+DQogbmV0bW9kIFs8YSBocmVmPSJtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5v
cmciPm1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZzwvYT5dDQo8L3NwYW4+PGI+PHNwYW4g
bGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01p
Y3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij7ku6PooagNCjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlm
O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5GZW5nY2hvbmcgKGZyYW5rKTxicj4NCjwvc3Bh
bj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPuWPkemAgeaXtumXtDwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhl
aSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9zcGFuPjwv
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPg0KIDIwMTk8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNl
cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7lubQ8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZ
YUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj45PC9zcGFu
PjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+5pyIPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjtt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+MTE8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZx
dW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7ml6U8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj4NCiA5OjI5PGJyPg0KPC9zcGFuPjxiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fu
cy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5pS25Lu25Lq6PC9zcGFuPjwvYj48
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJp
Zjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+DQogQW5keSBCaWVybWFuICZsdDs8YSBocmVm
PSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29tIj5hbmR5QHl1bWF3b3Jrcy5jb208L2E+Jmd0Ozxi
cj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaKhOmAgTwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZ
YUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9zcGFu
PjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPg0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyI+bmV0bW9kQGll
dGYub3JnPC9hPjsgWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNv
bSI+eWFuZ2FuZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8L3NwYW4+PGI+PHNwYW4gbGFuZz0i
WkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29m
dCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7kuLvp
opg8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZx
dW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCiBbbmV0bW9kXSA8
L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj7nrZTlpI08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5z
LXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46IFBsZWFzZQ0KIGNsYXJpZnkgaW1w
bGVtZW50YXRpb24gYWJvdXQgPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1z
ZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCYPC9zcGFuPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQg
WWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+d2hlbjwv
c3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2Vy
aWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkFuZHksPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+V2hl
dGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9jY3VyIGFjY29yZGluZyBkaWZmZXJlbnQgcHJv
Y2Vzcw0KIG9yZGVyPyA8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+QWNjb3JkaW5nIDguMy4yPG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPmlmIHNlcnZlciBwcm9jZXNzIOKA
mGE9IDPigJkgZmlyc3RseSwgYiB3aWxsIGJlIGRlbGV0ZWQgYnkgc3lzdGVtDQogYW5kIGJlY29t
ZXMgYSBub24tZXhpc3Qgc2NoZW1hIG5vZGUsIGFuZCB0aGVuICZuYnNwO3doZW4g4oCYYj014oCZ
IGlzIHByb2Nlc3NlZCAsIHNlcnZlciB3aWxsIHJlcG9ydCBhIOKAmHVua25vd24tZWxlbWVudOKA
mSBlcnJvci48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+QnV0IGlmIHNlcnZlciBwcm9jZXNzIOKAmGI9NeKAmSBmaXJzdGx5LCBpdCB3
aWxsIGJlIGFjY2VwdGVkIGJ5DQogc2VydmVyLCBhbmQgdGhlbiB3aGVuIOKAmGE9M+KAmSBpcyBw
cm9jZXNzZWQsIGIgd2lsbCBiZSBkZWxldGVkIGJ5IHN5c3RlbSwgYnV0IHJlcG9ydCBPSy48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPklmIHNlYyA4LjMuMiBpcyBub3QgcmlnaHQuIFdoYXQgaXMgdGhlIHJpZ2h0Pzxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij5XaGVuIG5vZGUgYSBhbmQgbm9kZSBiIGluIHRoZSBzYW1lIHJlcXVlc3QsIGFuZCBiIHRhZ2dl
ZCB3aGVuDQogY29uZGl0aW9uLCBh4oCZcyB2YWx1ZSB3aWxsIGNhdXNlIGLigJlzIGNvbmRpdGlv
biBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHdoaWNoIGlzIG1vcmUgcHJpb3I/PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkFjY29yZGlu
ZyB5b3UgYW5kIFJvYuKAmXMgaW50ZXJwcmV0YXRpb24gLCBtYXliZSBub2RlIOKAmWHigJkgaXMN
CiBtb3JlIHByaW9yPyBJZiB5ZXMsIHdoeSBub2RlIOKAmGLigJkgc2hvdWxkIGJlIHByb2Nlc3Nl
ZCBsYXRlcj8gPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj5JIHRoaW5rIHdoZXRoZXIgaW4gZWRpdC1jb25maWcgcHJv
Y2Vzc2luZyBwaGFzZSB0aGUgY29uZmlndXJhdGlvbg0KIHRhZ2dlZCB3aGVuIHNob3VsZCBub3Qg
YmUgZXZhbHVhdGVkIGFuZCBiZSBkZWxheWVkIHRvIGNvbW1pdCBvciB2YWxpZGF0ZT88bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+V2hl
biBjb21taXQgb3IgdmFsaWRhdGUgb3BlcmF0aW9uIGlzIGlzc3VlZCwmbmJzcDsgdGhlIGRhdGEg
bm9kZQ0KIHRhZ2dlZCB3aGVuIHdpbGwgYmUgZXZhbHVhdGVkLCBhbmQgaWYgaXTigJlzIGV2YWx1
YXRlZCB0byBmYWxzZSwgdGhpcyBkYXRhIHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0gaW1tZWRp
YXRlbHksIHNlcnZlciBzaG91bGQgbm90IHJlcG9ydCBhbnkgZXJyb3IuPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPiZuYnNwOzwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+
Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1zb05vcm1hbCIgYWxpZ249ImNl
bnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNl
cmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KPGhyIHNpemU9
IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLCBMdGQuPG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xv
cjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48aW1nIGJvcmRlcj0iMCIgd2lk
dGg9IjEwMiIgaGVpZ2h0PSIzMiIgc3R5bGU9IndpZHRoOjEuMDYyNWluO2hlaWdodDouMzMzM2lu
IiBpZD0i5Zu+54mHX3gwMDIwXzIiIHNyYz0iY2lkOmltYWdlMDAxLnBuZ0AwMUQ1NzM5Ni5BMjgz
MjUxMCIgYWx0PSJDb21wYW55X2xvZ28iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Liq5Lq6562+5ZCN77ya5Yav5YayPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+PGJyPg0KPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5omL44CA44CA5py677yaPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+MTM3NzY2MTI5ODM8YnI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJj
b2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7nlLXlrZDpgq7ku7bvvJo8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj48YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b20iPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj48c3BhbiBsYW5n
PSJaSC1DTiIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
PuWFrOWPuOe9keWdgO+8mjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMx
RjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVh
d2VpLmNvbSI+d3d3Lmh1YXdlaS5jb208L2E+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBj
bGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPg0K
PC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O1RhaG9tYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPu+7vzwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90
OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXk7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KPC9z
cGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXk7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWN
juS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWd
gOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90Oyxz
YW5zLXNlcmlmO2NvbG9yOmdyYXk7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxicj4NCjwv
c3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5
O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7mraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXl
vaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLj
gIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK08L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjpncmF5O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YnI+DQo8
L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3Jh
eTttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS2
5LqG5pys6YKu5Lu277yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq6
5bm25Yig6Zmk5pys6YKu5Lu277yBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6Z3JheTttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PGJyPg0KVGhpcyBlLW1haWwgYW5k
IGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9tIEhV
QVdFSSwgd2hpY2gNCjxicj4NCmlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50
aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZQ0KPGJyPg0K
aW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBu
b3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KPGJyPg0KZGlzY2xvc3VyZSwgcmVwcm9k
dWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVu
ZGVkIDxicj4NCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3UgcmVjZWl2ZSB0aGlz
IGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5DQo8YnI+DQpwaG9u
ZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0ITwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+PHNw
YW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj7lj5Hku7bkuro8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fu
cy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jv
c29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4N
CiBBbmR5IEJpZXJtYW4gWzxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iPm1haWx0
bzphbmR5QHl1bWF3b3Jrcy5jb208L2E+XQ0KPGJyPg0KPC9zcGFuPjxiPjxzcGFuIGxhbmc9IlpI
LUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQg
WWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Y+R6YCB
5pe26Ze0PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFI
ZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+DQogMjAxOTwv
c3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPuW5tDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2Vy
aWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjk8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04i
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhl
aSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7mnIg8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj4xMDwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaXpTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1
b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIDEwOjU2PGJyPg0K
PC9zcGFuPjxiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+5pS25Lu25Lq6PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlh
SGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjo8L3NwYW4+
PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+DQogRmVuZ2Nob25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbSI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+Jmd0
Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaKhOmAgTwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29m
dCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9z
cGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPg0KIFJvYiBXaWx0b24gKHJ3aWx0b24pICZsdDs8YSBocmVmPSJtYWls
dG86cndpbHRvbkBjaXNjby5jb20iPnJ3aWx0b25AY2lzY28uY29tPC9hPiZndDs7DQo8YSBocmVm
PSJtYWlsdG86bmV0bW9kQGlldGYub3JnIj5uZXRtb2RAaWV0Zi5vcmc8L2E+OyBZYW5nYW5nICZs
dDs8YSBocmVmPSJtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tIj55YW5nYW5nQGh1YXdlaS5jb208
L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2Vy
aWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuS4u+mimDwvc3Bhbj48L2I+PGI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01p
Y3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBs
ZW1lbnRhdGlvbiBhYm91dCA8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNl
cmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJg8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZ
YUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj53aGVuPC9z
cGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJp
Zjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+Jm5ic3A7PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD4mbmJzcDs8L286cD48L3Nw
YW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5PbiBNb24sIFNlcCA5LCAy
MDE5IGF0IDc6NDAgUE0gRmVuZ2Nob25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbSI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+Jmd0
OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxl
PSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNt
IDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4t
cmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDtt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+QW5keSw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2Nv
bG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPldoZXRoZXIgYWxsIGNvbnN0
cmFpbnRzIG9uIGNvbnRlbnQgaW4gJmx0O2NvbmZpZyZndDsgcGFyYW1ldGVyIHdpbGwNCiBub3Qg
YmUgZXZhbHVhdGVkIGluIHBheWxvYWQgcGFyc2luZyBwaGFzZSwgZm9yIGV4YW1wbGUsIGEgbGVh
ZuKAmXMgdmFsdWUgZXhjZWVkIHJhbmdlPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEw
LjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFG
NDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+TmV0Y29uZiBzZXJ2ZXIgc2hvdWxkIHRy
ZWF0IGl0IGFzIGEgYmxvY2sgZGF0YT88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPkZpZWxkIHZhbGlkYXRpb24gYW5kIGRhdGFzdG9yZSB2YWxpZGF0aW9uIGFy
ZSAyIGRpZmZlcmVudCB0aGluZ3MuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+d2hlbi1zdG10IHByb2Nlc3NpbmcgaXMgbmVpdGhlci4gSXQg
aXMgYnkgZmFyIHRoZSBoYXJkZXN0IHBhcnQgb2YgYW4gYXV0b21hdGVkIHNlcnZlciB0byBnZXQg
cmlnaHQuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBz
dHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5n
OjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFy
Z2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5
N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkFub3RoZXIgcXVlc3Rpb246PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4m
bmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPkluIGVkaXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UsIHdoZXRoZXIgY29u
c3RyYWludHMgb24gY29udGVudA0KIGluICZsdDtjb25maWcmZ3Q7IHBhcmFtZXRlciBuZWVkcyBi
ZSBldmFsdWF0ZWQ/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj5JZiB5ZXMsIHdoZW4gJm5ic3A7Y29uZmlndXJhdGlvbiBtb2Rp
ZmljYXRpb24gY2F1c2Ugd2hlbiBjb25kaXRpb24NCiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRo
ZSBub2RlIHRhZ2dlZCB3aGVuIHdpbGwgYmUgYXV0b21hdGljYWxseSBkZWxldGVkIGJ5IHN5c3Rl
bS48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPlRoZW4sIGluIHNjZW5lIDIsIHdoZXRoZXIgZGlmZmVyZW50IHJlc3VsdCB3b3Vs
ZCBvY2N1ciBhY2NvcmRpbmcNCiBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj88L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5TaW5jZSB0aGUgJmx0O2NvbmZpZyZndDsgcGFyYW1l
dGVyIGlzIGFueXhtbCwgdGhlIFlBTkcgY29uc3RyYWludHMgZGVmaW5lZCBvbiBkYXRhc3RvcmUg
Y29udGVudHM8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj5hcmUgbm90IGVuZm9yY2VkIGFzIHBhcnQgb2YgUlBDIGlucHV0IHZhbGlkYXRpb24u
PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+SXQgd291bGQgYmUgbmljZSBpZiBORVRDT05GIGRlZmluZWQgYmVoYXZpb3IgZm9yIHBy
b3ZpZGluZyAmbHQ7Y29uZmlnJmd0OyBkYXRhIHRoYXQgd2lsbCBnZXQgZGVsZXRlZDxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPmltbWVkaWF0
ZWx5IGJ5IHRoZSBzZXJ2ZXIuJm5ic3A7IFdlIGhhdmUgYSBDTEkgcGFyYW1ldGVyIGZvciB0aGlz
IHNpbmNlIHNvbWUgdmVuZG9ycyB3YW50IHRvPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+dHJlYXQgdGhpcyBhcyBhbiBlcnJvciBhbmQgb3Ro
ZXIganVzdCBzaWxlbnRseSBkZWxldGUgbm9kZXMuJm5ic3A7IE5vdGUgdGhhdCB3aGVuLXN0bXQg
Y2FuIHNpbGVudGx5PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+ZGVsZXRlIGV4aXN0aW5nIG5vZGVzIG5vdCBpbmNsdWRlZCBpbiB0aGUgZWRp
dC4gKExhZGEgZG9lcyBub3QgYWdyZWUgdGhpcyBpcyBob3cgaXQgc2hvdWxkIHdvcmssPG86cD48
L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+c28gd2Ug
bmVlZCB5YW5nLW5leHQgdG8gZGVjaWRlLiBNYXliZSBORVRDT05GIG5lZWRzIGEgLS1mb3JjZSBw
YXJhbWV0ZXIgZm9yIHRoaXMgcHVycG9zZS4pPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0K
PC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+
PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+QW5keTxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRlcjpu
b25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBjbSA2
LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDowY207
bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBj
bGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIi
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTom
cXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIi
Pg0KPC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJaSC1D
TiIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuWNjuS4
uuaKgOacr+aciemZkOWFrOWPuDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiBIdWF3ZWkgVGVjaG5vbG9naWVz
IENvLiwNCiBMdGQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj48aW1nIGJvcmRlcj0iMCIgd2lkdGg9IjEwMiIgaGVpZ2h0PSIzMiIg
c3R5bGU9IndpZHRoOjEuMDYyNWluO2hlaWdodDouMzMzM2luIiBpZD0iZ21haWwtbV8tNzA4MDYw
OTIxNzU5NzUzNDE2OOWbvueJh194MDAyMF8yIiBzcmM9ImNpZDppbWFnZTAwMS5wbmdAMDFENTcz
OTYuQTI4MzI1MTAiIGFsdD0iQ29tcGFueV9sb2dvIj48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImNvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuS4quS6uuetvuWQje+8muWGr+WG
sjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjxicj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9
ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaJi+OAgOOAgOacuu+8
mjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjEzNzc2NjEyOTgzPGJyPg0KPC9zcGFuPjxzcGFuIGxhbmc9IlpI
LUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+55S1
5a2Q6YKu5Lu277yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PGEgaHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdj
aG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b208L2E+PGJyPg0KPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3
RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5YWs5Y+4572R5Z2A77yaPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+PGEgaHJlZj0iaHR0cDovL3d3dy5odWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3
Lmh1YXdlaS5jb208L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xhc3M9Ik1z
b05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPg0KPGhyIHNpemU9IjEiIHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48
L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LWZhbWlseTomcXVvdDtUYWhvbWEmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7vu788L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjpncmF5O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCjwvc3Bhbj48c3Bh
biBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5O21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj7mnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazl
j7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJfl
h7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJp
Zjtjb2xvcjpncmF5O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YnI+DQo8L3NwYW4+PHNw
YW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheTttc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/
55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi2
44CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6Z3JheTttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PGJyPg0KPC9zcGFuPjxz
cGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2NvbG9yOmdyYXk7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPueahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmC
ruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZ
pOacrOmCruS7tu+8gTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3
LjVwdDtmb250LWZhbWlseTomcXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXk7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxicj4NClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0
YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdo
aWNoDQo8YnI+DQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9z
ZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCjxicj4NCmluZm9ybWF0
aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0
ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCjxicj4NCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwg
b3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCA8YnI+
DQpyZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwg
aW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieQ0KPGJyPg0KcGhvbmUgb3IgZW1h
aWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIGxhbmc9IlpILUNO
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFI
ZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Y+R5Lu25Lq6
PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVv
dDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+DQogQW5keSBCaWVybWFu
IFttYWlsdG86PGEgaHJlZj0ibWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbSIgdGFyZ2V0PSJfYmxh
bmsiPmFuZHlAeXVtYXdvcmtzLmNvbTwvYT5dDQo8YnI+DQo8L3NwYW4+PGI+PHNwYW4gbGFuZz0i
WkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29m
dCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7lj5Hp
gIHml7bpl7Q8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJp
Zjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZ
YUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCiAyMDE5
PC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZh
bWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+5bm0PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1z
ZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+OTwvc3Bhbj48c3BhbiBsYW5nPSJaSC1D
TiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlh
SGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaciDwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPjEwPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjtt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5pelPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkm
cXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+DQogMTA6MTk8YnI+
DQo8L3NwYW4+PGI+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj7mlLbku7bkuro8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQg
WWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Ojwvc3Bh
bj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj4NCiBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOmZy
YW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZnJhbmsuZmVuZ2Nob25n
QGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1
b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaKhOmAgTwvc3Bhbj48
L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMt
c2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIFJvYiBXaWx0b24gKHJ3aWx0b24p
ICZsdDs8YSBocmVmPSJtYWlsdG86cndpbHRvbkBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5y
d2lsdG9uQGNpc2NvLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9y
ZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT47IFlhbmdhbmcgJmx0OzxhIGhy
ZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55YW5nYW5nQGh1
YXdlaS5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7
LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuS4u+mimDwvc3Bhbj48L2I+
PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1
YWdlOlpILUNOIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2Vy
aWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xh
cmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCA8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90
OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJg8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01p
Y3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij53aGVuPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+T24gTW9uLCBTZXAgOSwgMjAxOSBhdCA3OjEw
IFBNIEZlbmdjaG9uZyAoZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25n
QGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwv
YT4mZ3Q7DQogd3JvdGU6PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90
ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRk
aW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7
bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkhpIGFuZHksPC9zcGFuPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1D
TiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2Fs
aWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPllvdSBvbmx5IHRhbGsgYWJvdXQgdGhlIGNvbnN0cmFpbnRzIG9uIHJwYyBvcGVyYXRp
b27igJlzIHBhcmFtZXRlcj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+RG8geW91IGhhdmUgYW55IG9w
aW5pb24gYWJvdXQgbXkgcXVlc3Rpb24/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2
Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJz
cDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPjguMy4xIGRvZXMgbm90IGFwcGx5IHRvIGxlYWYgJ2InLjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+VGhlIFJQQyBwYXJhbWV0ZXIg
aXMgY2FsbGVkICdjb25maWcnLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+SXQgaGFzIG5vIHdoZW4tc3RtdHMgdG8gZXZhbHVhdGUuPG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5S
b2IgaXMgY29ycmVjdC48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPkhpcyBleGFtcGxlIHNob3dzIHdoYXQgOC4zLjEgd291bGQgY292ZXIu
PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPkFuZHk8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9k
aXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgI0ND
Q0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1sZWZ0OjQuOHB0O21h
cmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9tOjUuMHB0Ij4NCjxk
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJj
ZW50ZXIiIHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCjxociBzaXpl
PSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iY29sb3I6IzFGNDk3RDtt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+IEh1YXdlaSBUZWNobm9sb2dpZXMgQ28uLA0KIEx0ZC48L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxpbWcgYm9y
ZGVyPSIwIiB3aWR0aD0iMTAyIiBoZWlnaHQ9IjMyIiBzdHlsZT0id2lkdGg6MS4wNjI1aW47aGVp
Z2h0Oi4zMzMzaW4iIGlkPSJnbWFpbC1tXy03MDgwNjA5MjE3NTk3NTM0MTY4bV8tMTc0NjY1ODE1
MTA5NDM2Mjg3MmdtYWlsLW1fLTQ1NDI1NzQ4NDc1MzY1NzAyODnlm77niYdfeDAwMjBfMiIgc3Jj
PSJjaWQ6aW1hZ2UwMDEucG5nQDAxRDU3Mzk2LkEyODMyNTEwIiBhbHQ9IkNvbXBhbnlfbG9nbyI+
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iWkgtQ04iIHN0eWxlPSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj7kuKrkurrnrb7lkI3vvJrlhq/lhrI8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YnI+DQo8L3NwYW4+
PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1
YWdlOlpILUNOIj7miYvjgIDjgIDmnLrvvJo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4xMzc3NjYxMjk4Mzxi
cj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPueUteWtkOmCruS7tu+8mjwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxh
IGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsi
PmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJa
SC1DTiIgc3R5bGU9ImNvbG9yOiMxRjQ5N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuWF
rOWPuOe9keWdgO+8mjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5
N0Q7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVhd2Vp
LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5odWF3ZWkuY29tPC9hPjwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0
ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdE
O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIg
YWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+77u/PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheTttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+DQo8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6
Ny41cHQ7Y29sb3I6Z3JheTttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+5pys6YKu5Lu25Y+K
5YW26ZmE5Lu25ZCr5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R
6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBPC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheTttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+PGJyPg0KPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXpl
OjcuNXB0O2NvbG9yOmdyYXk7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuatouS7u+S9leWF
tuS7luS6uuS7peS7u+S9leW9ouW8j+S9v+eUqO+8iOWMheaLrOS9huS4jemZkOS6juWFqOmDqOaI
lumDqOWIhuWcsOazhOmcsuOAgeWkjeWItuOAgeaIluaVo+WPke+8ieacrOmCruS7tuS4rTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTom
cXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXk7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPjxicj4NCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6
ZTo3LjVwdDtjb2xvcjpncmF5O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7nmoTkv6Hmga/j
gILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7k
u7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVv
dDssc2Fucy1zZXJpZjtjb2xvcjpncmF5O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YnI+
DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGlu
Zm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJyPg0KaXMgaW50ZW5kZWQgb25seSBmb3Ig
dGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1
c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkg
KGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQo8YnI+DQpk
aXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3Ro
ZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElm
IHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k
ZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEO21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48Yj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPuWPkeS7tuS6ujwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhl
aSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9zcGFuPjwv
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPg0KIEFuZHkgQmllcm1hbiBbbWFpbHRvOjxhIGhyZWY9Im1haWx0bzphbmR5QHl1
bWF3b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5hbmR5QHl1bWF3b3Jrcy5jb208L2E+XQ0KPGJy
Pg0KPC9zcGFuPjxiPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+5Y+R6YCB5pe26Ze0PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9z
b2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjo8
L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+DQogMjAxOTwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7
LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuW5tDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWlj
cm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
Pjk8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj7mnIg8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5z
LXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4xMDwvc3Bhbj48c3BhbiBsYW5nPSJa
SC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0
IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaXpTwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPg0KIDE6MTQ8YnI+DQo8L3NwYW4+PGI+PHNwYW4gbGFuZz0iWkgtQ04iIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZx
dW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7mlLbku7bkuro8L3Nw
YW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkmcXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90Oyxz
YW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4NCiBSb2IgV2lsdG9uIChyd2ls
dG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lzY28uY29tIiB0YXJnZXQ9Il9ibGFu
ayI+cndpbHRvbkBjaXNjby5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBsYW5nPSJa
SC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0
IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuaKhOmA
gTwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9zb2Z0IFlhSGVpJnF1
b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIEZlbmdjaG9uZyAo
ZnJhbmspICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRh
cmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJl
Zj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9y
ZzwvYT47IFlhbmdhbmcgJmx0OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRh
cmdldD0iX2JsYW5rIj55YW5nYW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48
c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7TWljcm9zb2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPuS4u+mimDwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5z
LXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj46PC9zcGFuPjwvYj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TWljcm9z
b2Z0IFlhSGVpJnF1b3Q7LHNhbnMtc2VyaWY7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0K
IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCA8L3NwYW4+
PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj7igJg8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O01pY3Jvc29mdCBZYUhlaSZxdW90OyxzYW5zLXNlcmlmO21z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj53aGVuPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtNaWNyb3NvZnQgWWFIZWkm
cXVvdDssc2Fucy1zZXJpZjttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7PG86cD48L286cD48
L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+SGksPG86cD48L286cD48L3Nw
YW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5Ob25lIG9mIHRoZSBv
cGVyYXRpb25zIHRoYXQgYWNjZXB0IG9yIHJldHVybiBkYXRhc3RvcmUgY29udGVudHMgZXhwb3Nl
IHRoZSBkYXRhc3RvcmUgb2JqZWN0czxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+aW4gdGhlIFJQQyBwYXJhbWV0ZXJzLiZuYnNwOyBUaGV5
IGFyZSBhbHdheXMgYW55eG1sIG9yIGFueWRhdGEuIFRoaXMgbWVhbnMgdGhhdDxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+dGhlcmUgYXJl
IG5vIGRlc2NlbmRhbnQgZGF0YSBub2RlcyBkZWZpbmVkIGF0IGFsbCBhY2NvcmRpbmcgdG8gdGhl
IFJQQyBvcGVyYXRpb248bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPmFuZCB0aGVyZWZvcmUgdGhlIGNvbnN0cmFpbnRzIG9uIHRob3NlIG5v
ZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBDIG9wZXJhdGlvbiBlaXRoZXIuPG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZu
YnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj5PbiBNb24sIFNlcCA5LCAyMDE5IGF0IDY6NDEgQU0gUm9iIFdpbHRvbiAo
cndpbHRvbikgJmx0OzxhIGhyZWY9Im1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbSIgdGFyZ2V0PSJf
YmxhbmsiPnJ3aWx0b25AY2lzY28uY29tPC9hPiZndDsNCiB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVm
dDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxl
ZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206
NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1D
TiI+SGkgRnJhbmssPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPk15IGludGVycHJldGF0aW9uIG9mIHdo
YXQgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBpcyBhcyBmb2xsb3dzLjwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj5Gb3INCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1H
QiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPnNj
ZW5lIDE8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJ08L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4sDQogdGhl
IGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25m
aWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZh
bGlkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5Gb3INCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPnNjZW5lIDI8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJ08L3NwYW4+
PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj4sDQogdGhlIGNvbmZpZyBjaGFuZ2UgaXMgcmVqZWN0ZWQgYmVjYXVzZSB0
aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBo
YXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPk15IGludGVy
cHJldGF0aW9uIGlzIHRoYXQgdGhlIGJsb2NrIG9mIHRleHQgaW4gOC4zLjEgcGF5bG9hZCBwYXJz
aW5nIGlzIHByaW1hcnkgaW50ZW5kZWQgdG8gcmVmZXIgdG8gUkZDIGlucHV0LiZuYnNwOw0KIEUu
Zy4gaWYgdGhlIFJQQyB3YXMgZGVmaW5lZCBzb21ldGhpbmcgbGlrZSBiZWxvdywgdGhlbiB0aGUg
PC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCYPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+d2hlbjwvc3Bhbj48
c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPg0KIHJ1bGUgaW4gOC4zLjEgd291
bGQgZW5mb3JjZSB0aGF0IGEgemlwLWNvZGUgY2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgdGhlIGNv
dW50cnkgaXMgdGhlIFVTQS48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1z
aXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFj
azttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7IHJwYyByb2NrLXRoZS1ob3VzZSB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNr
O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsgaW5wdXQgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjaztt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7ICZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2xlYWYgY291bnRyeSB7PC9zcGFuPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0Ii
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1
b3Q7O2NvbG9yOmJsYWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsgdHlwZSBzdHJpbmc7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtm
b250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazttc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlYWYgemlwLWNvZGUgezwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv
cjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHdoZW4g
4oCcLi4vY291bnRyeSA9IOKAmHVzYeKAmeKAnTs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1D
TiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291
cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyB9PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVy
IE5ldyZxdW90Oztjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7
ICZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdC
IiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+VGhh
bmtzLDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+Um9iPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O21zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRl
ci1sZWZ0OnNvbGlkIGJsdWUgMS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2
Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0
O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPkZyb206PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiBuZXRtb2QgJmx0Ozxh
IGhyZWY9Im1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5l
dG1vZC1ib3VuY2VzQGlldGYub3JnPC9hPiZndDsNCjxiPk9uIEJlaGFsZiBPZiA8L2I+RmVuZ2No
b25nIChmcmFuayk8YnI+DQo8Yj5TZW50OjwvYj4gMDYgU2VwdGVtYmVyIDIwMTkgMDg6MTk8YnI+
DQo8Yj5Ubzo8L2I+IDxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2Js
YW5rIj5uZXRtb2RAaWV0Zi5vcmc8L2E+PGJyPg0KPGI+Q2M6PC9iPiBZYW5nYW5nICZsdDs8YSBo
cmVmPSJtYWlsdG86eWFuZ2FuZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWFuZ2FuZ0Bo
dWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gW25ldG1vZF0gUGxlYXNlIGNs
YXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQgPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCYPC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDttc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+d2hlbjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmTwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1HQiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1D
TiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5IaSBhbGwsPG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkluIFJGQzc5NTAgc2VjdG9uIDgsIHNl
dmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5
bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7vvJo8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPkluIHNlY3Rpb24gPGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm
Yzc5NTAjc2VjdGlvbi04LjIiIHRhcmdldD0iX2JsYW5rIj4NCjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNr
Ij44LjI8L3NwYW4+PC9hPjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPi4mbmJzcDsgQ29uZmlndXJhdGlvbiBEYXRhIE1v
ZGlmaWNhdGlvbnM8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9oMz4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJs
YWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJZiBh
IHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNoIHRoYXQgYW55
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrO21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbm9kZSdz
ICZxdW90O3doZW4mcXVvdDsgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2Rl
IGluIHRoZSBkYXRhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJs
YWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsgdHJlZSB3aXRoIHRoZSAmcXVvdDt3aGVuJnF1b3Q7IGV4cHJlc3Npb24gaXMgZGVsZXRl
ZCBieSB0aGUgc2VydmVyLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8aDQ+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+SW4gPGEgaHJlZj0i
aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMSIgdGFyZ2V0
PSJfYmxhbmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmUiPjgu
My4xPC9zcGFuPjwvYT48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrO21z
by1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4uJm5ic3A7IFBheWxvYWQgUGFyc2luZzwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpw
PjwvbzpwPjwvc3Bhbj48L2g0Pg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNw
OyZuYnNwOyBvJm5ic3A7IElmIGRhdGEgZm9yIGEgbm9kZSB0YWdnZWQgd2l0aCAmcXVvdDt3aGVu
JnF1b3Q7IGlzIHByZXNlbnQgYW5kIHRoZSAmcXVvdDt3aGVuJnF1b3Q7PC9zcGFuPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC4wcHQ7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyBjb25kaXRpb24gZXZhbHVhdGVzIHRvICZxdW90O2ZhbHNlJnF1
b3Q7LCB0aGUgc2VydmVyIE1VU1QgcmVwbHkgd2l0aCBhbjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2Nv
bG9yOmJsYWNrO21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7
IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8
aDQ+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
SW4gPGEgaHJlZj0iaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04
LjMuMiIgdGFyZ2V0PSJfYmxhbmsiPg0KPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNvcmF0
aW9uOm5vbmUiPjguMy4yPC9zcGFuPjwvYT48L3NwYW4+PGEgbmFtZT0ibV8tNzA4MDYwOTIxNzU5
NzUzNDE2OF9tXy0xNzQ2NjU4MTUxMDk0MyI+PC9hPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xv
cjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+LiZuYnNwOw0KIE5FVENPTkYgJmx0
O2VkaXQtY29uZmlnJmd0OyBQcm9jZXNzaW5nPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDQ+DQo8
cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFj
azttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+TW9kaWZpY2F0aW9uIHJlcXVlc3RzIGZvciBu
b2RlcyB0YWdnZWQgd2l0aCAmcXVvdDt3aGVuJnF1b3Q7LCBhbmQgdGhlICZxdW90O3doZW4mcXVv
dDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjazttc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0ZXMg
dG8gJnF1b3Q7ZmFsc2UmcXVvdDsuJm5ic3A7IEluIHRoaXMgY2FzZSwgdGhlIHNlcnZlciBNVVNU
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2s7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXBseSB3aXRoIGFuICZxdW90O3Vu
a25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3ItdGFnJmd0OyBpbiB0aGUgJmx0O3JwYy1lcnJv
ciZndDsuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4m
bmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPllBTkcgbW9k
dWxlPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPu+8mjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
Pm1vZHVsZSBmb28gezxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
Jm5ic3A7Jm5ic3A7IG5hbWVzcGFjZQ0KPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YSBocmVmPSJodHRwOi8vZm9vLmNv
bSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29tPC9hPjwvc3Bhbj48c3BhbiBsYW5nPSJa
SC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJ08L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7IHByZWZpeA0K
PC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPuKAnDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1
YWdlOlpILUNOIj5mb288L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJtc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+4oCdPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG87dGV4dC1pbmRlbnQ6MTUuNzVwdCI+DQo8c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5MZWFmIGEgezwvc3Bhbj48c3BhbiBs
YW5nPSJaSC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igKY8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+fTxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFy
Z2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVudDox
NS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPkxlYWYgYiB7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7IFdoZW4gPC9zcGFuPjxzcGFuIGxhbmc9IlpI
LUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5hID0gMTA8L3Nw
YW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
4oCdPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPjs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4
dC1pbmRlbnQ6MTUuNzVwdCI+DQo8c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj59PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj59PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPlNjZW5lIDE6IDxvOnA+PC9vOnA+PC9zcGFu
PjwvaDM+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPlRoZSBmaXJzdCBlZGl0LWNvbmZpZyByZXF1ZXN0
OjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jmx0O2VkaXQtY29u
ZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7
Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsg
Jmx0Oy90YXJnZXQmZ3Q7DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtjb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0
O2EgeG1sbnM9DQo8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+4oCcPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9i
bGFuayI+aHR0cDovL2Zvby5jb208L2E+PC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mZ3Q7MyZsdDsvYSZndDs8bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyAmbHQ7L2Nv
bmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZsdDsv
ZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij5UaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDMuPG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0
LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPlRoZSBzZWNvbmQgcmVxdWVzdDo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPiZsdDtlZGl0LWNvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyAmbHQ7dGFyZ2V0Jmd0OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7ICZsdDtjYW5kaWRhdGUvJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1s
YW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7ICZsdDsvdGFyZ2V0Jmd0Ow0KPG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsmbmJzcDsmbHQ7Y29u
ZmlnJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDthIHhtbG5zPQ0KPC9zcGFuPjxzcGFuIGxhbmc9
IlpILUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48YSBocmVm
PSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29tPC9hPjwvc3Bh
bj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7i
gJ08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+Jmd0OzEwJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtiIHhtbG5zPQ0KPC9z
cGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04i
PuKAnDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj48YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9m
b28uY29tPC9hPjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj7igJ08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFy
ZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jmd0OzUmbHQ7L2ImZ3Q7PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbHQ7L2VkaXQtY29uZmlnJmd0
OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7PG86cD48
L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPkFj
Y29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGE8L3NwYW4+
PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5zDQogdmFsdWUgaW4gY2FuZGlk
YXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYgYjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPnMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCBz
ZXJ2ZXIgd2lsbCByZXBvcnQNCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQt
c2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPnVua25vd24tZWxlbWVudDwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZv
bnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmTwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3Vh
Z2U6WkgtQ04iPg0KIGVycm9yLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDtt
c28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+SXMgaXQgZXhwZWN0ZWQgYnkgdXNlcj88L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZh
cmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPlNjZW5lIDI6PG86cD48L286cD48L3NwYW4+PC9oMz4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+VGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbHQ7ZWRpdC1jb25maWcmZ3Q7PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsgJmx0
O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyAmbHQ7L3Rhcmdl
dCZndDsNCjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFu
Z3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0N
Cjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj7igJw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+PGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw
Oi8vZm9vLmNvbTwvYT48L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJtc28tZmFyZWFz
dC1sYW5ndWFnZTpaSC1DTiI+4oCdPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNv
LWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZndDsxMCZsdDsvYSZndDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZsdDsvZWRpdC1jb25m
aWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5UaGlzIHJl
cXVlc3Qgd2lsbCBzZXQgYSA9IDEwLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+Jm5ic3A7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNO
Ij5UaGUgc2Vjb25kIHJlcXVlc3Q6PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdl
OlpILUNOIj4mbHQ7ZWRpdC1jb25maWcmZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsgJmx0O3RhcmdldCZndDs8bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyAmbHQ7Y2FuZGlkYXRlLyZndDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPiZuYnNwOyZuYnNwOyAmbHQ7L3RhcmdldCZndDsNCjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyAmbHQ7YSB4bWxucz0NCjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIg
c3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJw8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PGEgaHJlZj0iaHR0cDov
L2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT48L3NwYW4+PHNwYW4g
bGFuZz0iWkgtQ04iIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCdPC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZn
dDszJmx0Oy9hJmd0OzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ICZsdDtiIHhtbG5zPQ0KPC9zcGFuPjxzcGFu
IGxhbmc9IlpILUNOIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAnDwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48
YSBocmVmPSJodHRwOi8vZm9vLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmh0dHA6Ly9mb28uY29tPC9h
Pjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj7igJ08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJtc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+Jmd0OzUmbHQ7L2ImZ3Q7PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxh
bmd1YWdlOlpILUNOIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbHQ7L2VkaXQtY29uZmlnJmd0OzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5BY2Nv
cmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBhPC9zcGFuPjxz
cGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+cw0KIHZhbHVlIGluIGNhbmRpZGF0
ZSBkYXRhc3RvcmUgaXMgMTAsIHNvIGxlYWYgYjwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3Qt
bGFuZ3VhZ2U6WkgtQ04iPnMgd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIHRydWUsIHNl
cnZlciB3aWxsIGFjY2VwdA0KIHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBhcnNpbmcgcGhhc2Uu
IDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFn
ZTpaSC1DTiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0ibXNvLWZhcmVh
c3QtbGFuZ3VhZ2U6WkgtQ04iPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj5JbiBlZGl0LWNvbmZpZyByZXF1ZXN0IHByb2Nlc3Npbmcg
cGhhc2UsIGlmIGxlYWYgYTwvc3Bhbj48c3BhbiBsYW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6
ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPuKAmTwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6Wkgt
Q04iPnMNCiBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRoZSBhPC9zcGFuPjxz
cGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5n
dWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+cyB2YWx1ZSB3aWxsIGJlIGNoYW5n
ZWQgdG8gMywgc28gdGhlIGI8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNp
emU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJk8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpI
LUNOIj5zDQogd2hlbiBjb25kaXRpb24gd2lsbCBiZSBmYWxzZSwgd2hlbiBzZXJ2ZXIgcHJvY2Vz
cyBiPC9zcGFuPjxzcGFuIGxhbmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDttc28t
ZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+cyBtb2RpZmlj
YXRpb24sIGIgd2lsbCBiZSB0cmVhdGVkIGFzIHVua25vd24tZWxlbWVudCwNCiB0aGUgZWRpdC1j
b25maWcgcmVxdWVzdCB3aWxsIGZhaWwuIDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0
LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+SWYgbGVhZiBiPC9zcGFuPjxzcGFuIGxh
bmc9IlpILUNOIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpa
SC1DTiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBw
dDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+cw0KIG1vZGlmaWNhdGlvbiBpcyBwcm9jZXNz
ZWQgZmlyc3RseSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNl
IGI8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04iIHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj5zIHdoZW4gY29u
ZGl0aW9uDQogaXMgdHJ1ZSwgYW5kIHdoZW4gc2VydmVyIHByb2Nlc3MgYTwvc3Bhbj48c3BhbiBs
YW5nPSJaSC1DTiIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6
WkgtQ04iPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4w
cHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPnMgbW9kaWZpY2F0aW9uICwgdGhpcyBtb2Rp
ZmljYXRpb24gd2lsbCBiZSBhY2NlcHRlZCwgYW5kIGI8L3NwYW4+PHNwYW4gbGFuZz0iWkgtQ04i
IHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj7igJk8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0O21zby1mYXJl
YXN0LWxhbmd1YWdlOlpILUNOIj5zDQogd2hlbiBjb25kaXRpb24gd2lsbCBiZSBldmFsdWF0ZWQg
dG8gZmFsc2UsIGxlYWYgYiB3aWxsIGJlIGRlbGV0ZWQgYXV0b21hdGljYWxseSwgdGhlIGVkaXQt
Y29uZmlnIHJlcXVlc3Qgd2lsbCBiZSBPSy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
NC4wcHQ7bXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9Im1zby1mYXJlYXN0LWxhbmd1YWdlOlpILUNOIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjE0LjBwdDttc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+SG93IHNlcnZl
ciBzaG91bGQgcHJvY2VzcyB0aGlzIHNpdHVhdGlvbj88L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJtc28tZmFyZWFzdC1sYW5ndWFnZTpaSC1DTiI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9Im1zby1m
YXJlYXN0LWxhbmd1YWdlOlpILUNOIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdp
bi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0ibXNvLWZhcmVhc3QtbGFuZ3VhZ2U6WkgtQ04iPl9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fPGJyPg0KbmV0bW9kIG1haWxpbmcgbGlzdDxi
cj4NCjxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRt
b2RAaWV0Zi5vcmc8L2E+PGJyPg0KPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1h
bi9saXN0aW5mby9uZXRtb2QiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL3d3dy5pZXRmLm9yZy9t
YWlsbWFuL2xpc3RpbmZvL25ldG1vZDwvYT48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Jsb2Nr
cXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rp
dj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_--

--_004_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Wed, 25 Sep 2019 15:44:50 GMT";
 modification-date="Wed, 25 Sep 2019 15:44:50 GMT"
Content-ID: <image001.png@01D57396.A2832510>
Content-Transfer-Encoding: base64

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
YII=

--_004_VI1PR07MB398192BDD1C0BD1212FA15A69B870VI1PR07MB3981eurp_--


From nobody Wed Sep 25 08:59:43 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 480DA120013 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:59:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 wtTnucHaay02 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 08:59:36 -0700 (PDT)
Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DC070120019 for <netmod@ietf.org>; Wed, 25 Sep 2019 08:59:35 -0700 (PDT)
Received: by mail-lj1-x229.google.com with SMTP id m13so6206695ljj.11 for <netmod@ietf.org>; Wed, 25 Sep 2019 08:59:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jaYO2ejGzID1m2a8e1hHuz+8Oo9TiHHogKzt9xQWBpI=; b=sjPGdKwSWhPync+uyj2nohQFBRmybBfiPSIQp6MXthzYlJbMZ5EtUnAgfj+WZo1zoG Vf28Tl0TjVYUP/ZtcQ7Qg3yqHpNYkqVaHO2rTkpMwO3a847NBL+YtyskqdDWSnATASDT B9phgREvewFs4YoeejZQD70Q/rutlRc6UT4wqZsZsf1ZaNMAhkTjeri3WBkljFzEnG42 DQ6whxsKbvwvDnj2+NNZlB7oifwReKZSIJbKsWV229BNnOtP7FtqbEB3XdLdWCqax7Cb XKVR6MGvU2Bt19ighuA1eFjetudr7SNUCaoLNoe4/J5VwcFVJAOW46rH5xmKbCssvtXi Qawg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jaYO2ejGzID1m2a8e1hHuz+8Oo9TiHHogKzt9xQWBpI=; b=Qy8ufn31nWNLT/CBrpOxmBIrWM3s+JpxwaXu93tZyzVsUMBrm2gjuXkMzK376rMTDk P+L6lFw8OazQG4hLnP1LPfz3y9NAGZUQTVcYEoBUTKoT0s/dEVpr3yVLNnYtgofUeDVV gWAbGgo+TzcUZH967ZhysxX8SPKThAtHTis+zksyoO7aA0G/Z7LF4Plbfmu0CP7eGJ2i hR7iIn1q+hAbxYoP0MyC19cTwmvj4pvcSLbL7puEoZUyFV2LCBAwcUaAVxb2+bIqYKjh jKmJ+ilfHixO0GYJvC9Y87Y3/3D4iaIIbJ9e/nMbbx0VB6i8M+JEXM6xhKPMkZjbqAGE GerA==
X-Gm-Message-State: APjAAAWoHXIfW7NTYgMcYC+Q5cXNjafcJJI2i16s2/DgLI4Up6dY6cZY Y93b1VqiRQVL7a7LdvGImaONvYGtAyh+e61fehW6BQ==
X-Google-Smtp-Source: APXvYqyhDVytlUxmWwlEI/Zo7zxt0sN1B4Z9mZjj4ITNA6JbhPmf9n9yzgKAYzxAlcAN3EMeKT+MbDCmjgEOpvQ/hTs=
X-Received: by 2002:a2e:b00b:: with SMTP id y11mr6904526ljk.50.1569427173654;  Wed, 25 Sep 2019 08:59:33 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com> <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
In-Reply-To: <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Sep 2019 08:59:21 -0700
Message-ID: <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
Cc: Qin Wu <bill.wu@huawei.com>, "Fengchong (frank)" <frank.fengchong@huawei.com>,  "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="00000000000030233c059362bd6b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/JgqEUpt5CFE6NTRqePvEma4c1y4>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 15:59:42 -0000

--00000000000030233c059362bd6b
Content-Type: multipart/alternative; boundary="00000000000030233a059362bd6a"

--00000000000030233a059362bd6a
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jason (Nokia - CA/Ottawa) <
jason.sterne@nokia.com> wrote:

> Processing order should not matter. The evaluation of the 'when' statemen=
t
> should be done assuming an atomic application of the edit-config.
>
>
>
> I agree that a standards compliant server should do as Rob said:
>
>
>
> - For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because th=
e result of the
> config datastore after the edit-config has been applied is valid.
>
> - For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because th=
e result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> From an implementation that may indeed mean processing the 'when' after a
> first pass that sets the various leafs to tentative values. But that's
> implementation detail.
>
>
>
> IMO the auto-clearing behavior of 'when' may be complicated but that is
> how it is defined (same with 'choice'). Clients can and should depend on
> things being automatically deleted. If you want validation errors (i.e.
> force the client to clear all the dependant leafs instead of auto-clearin=
g)
> then use a 'must' statement.
>
>
>

+1

YANG clearly defines "must" and "when" with different behavior.
A server that does not implement the auto-delete aspects of when-stmt is
not compliant to the RFC.


> Jason
>

Andy


>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Qin Wu
> *Sent:* Tuesday, September 10, 2019 10:33 PM
> *To:* Fengchong (frank) <frank.fengchong@huawei.com>; Andy Bierman <
> andy@yumaworks.com>
> *Cc:* netmod@ietf.org; Yangang <yangang@huawei.com>
> *Subject:* [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please clarif=
y implementation about =E2=80=98when=E2=80=99
>
>
>
> Why processing order matter? My interpretation is both leaf node values
> (i.e.,leaf a, leaf b) should be validated together and commit as a whole,
>
> RFC6241 said:
>
> =E2=80=9C
>
> If the device is unable to commit all of the changes in the
>
>          candidate configuration datastore, then the running
>
>          configuration MUST remain unchanged.
>
> =E2=80=9D
>
> So validate the leaf node value in the edit-config request (message
> content validation) is not important, validate the leaf node value that i=
s
> applied to <running> (datastore validation) is the key.
>
>
>
> I think what you want to raise is the server should hold on to send reply=
 with an "unknown-element" <error-tag> in the <rpc-error> during payload pa=
rsing phase and NETCONF <edit-config>
>
> Processing until all validation complete, otherwise it seems server will
>
> Send multiple rply with "unknown-element" <error-tag> in the <rpc-error> =
which seems not reasonable.
>
>
>
> -Qin
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* netmod [mailto:netmod-bounces@ietf.org <=
netmod-bounces@ietf.org>]
> *=E4=BB=A3=E8=A1=A8 *Fengchong (frank)
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8811=E6=97=
=A5 9:29
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Andy Bierman <andy@yumaworks.com>
> *=E6=8A=84=E9=80=81**:* netmod@ietf.org; Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* [netmod] =E7=AD=94=E5=A4=8D: Please clarify imple=
mentation about =E2=80=98when=E2=80=99
>
>
>
> Andy,
>
>
>
> Whether different result would occur according different process order?
>
> According 8.3.2
>
> if server process =E2=80=98a=3D 3=E2=80=99 firstly, b will be deleted by =
system and becomes
> a non-exist schema node, and then  when =E2=80=98b=3D5=E2=80=99 is proces=
sed , server will
> report a =E2=80=98unknown-element=E2=80=99 error.
>
> But if server process =E2=80=98b=3D5=E2=80=99 firstly, it will be accepte=
d by server, and
> then when =E2=80=98a=3D3=E2=80=99 is processed, b will be deleted by syst=
em, but report OK.
>
>
>
> If sec 8.3.2 is not right. What is the right?
>
> When node a and node b in the same request, and b tagged when condition,
> a=E2=80=99s value will cause b=E2=80=99s condition is evaluated to false,=
 which is more
> prior?
>
> According you and Rob=E2=80=99s interpretation , maybe node =E2=80=99a=E2=
=80=99 is more prior? If
> yes, why node =E2=80=98b=E2=80=99 should be processed later?
>
>
>
> I think whether in edit-config processing phase the configuration tagged
> when should not be evaluated and be delayed to commit or validate?
>
> When commit or validate operation is issued,  the data node tagged when
> will be evaluated, and if it=E2=80=99s evaluated to false, this data will=
 be
> deleted by system immediately, server should not report any error.
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com =
<andy@yumaworks.com>]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 10:56
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huawe=
i.com>
> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@=
ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <
> frank.fengchong@huawei.com> wrote:
>
> Andy,
>
> Whether all constraints on content in <config> parameter will not be
> evaluated in payload parsing phase, for example, a leaf=E2=80=99s value e=
xceed
> range?
>
> Netconf server should treat it as a block data?
>
>
>
>
>
> Field validation and datastore validation are 2 different things.
>
> when-stmt processing is neither. It is by far the hardest part of an
> automated server to get right.
>
>
>
> Another question:
>
>
>
> In edit-config processing phase, whether constraints on content in
> <config> parameter needs be evaluated?
>
> If yes, when  configuration modification cause when condition is evaluate=
d
> to false, the node tagged when will be automatically deleted by system.
>
> Then, in scene 2, whether different result would occur according differen=
t
> process order?
>
>
>
>
>
> Since the <config> parameter is anyxml, the YANG constraints defined on
> datastore contents
>
> are not enforced as part of RPC input validation.
>
>
>
> It would be nice if NETCONF defined behavior for providing <config> data
> that will get deleted
>
> immediately by the server.  We have a CLI parameter for this since some
> vendors want to
>
> treat this as an error and other just silently delete nodes.  Note that
> when-stmt can silently
>
> delete existing nodes not included in the edit. (Lada does not agree this
> is how it should work,
>
> so we need yang-next to decide. Maybe NETCONF needs a --force parameter
> for this purpose.)
>
>
>
>
>
> Andy
>
>
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 10:19
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huawe=
i.com>
> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@=
ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
> frank.fengchong@huawei.com> wrote:
>
> Hi andy,
>
>
>
> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>
>
>
> Do you have any opinion about my question?
>
>
>
> 8.3.1 does not apply to leaf 'b'.
>
> The RPC parameter is called 'config'.
>
> It has no when-stmts to evaluate.
>
> Rob is correct.
>
> His example shows what 8.3.1 would cover.
>
>
>
> Andy
>
>
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 1:14
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Rob Wilton (rwilton) <rwilton@cisco.com>
> *=E6=8A=84=E9=80=81**:* Fengchong (frank) <frank.fengchong@huawei.com>; n=
etmod@ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
> Hi,
>
>
>
> None of the operations that accept or return datastore contents expose th=
e
> datastore objects
>
> in the RPC parameters.  They are always anyxml or anydata. This means tha=
t
>
> there are no descendant data nodes defined at all according to the RPC
> operation
>
> and therefore the constraints on those nodes do not exist in the RPC
> operation either.
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>

--00000000000030233a059362bd6a
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Sep 25, 2019 at 8:44 AM Stern=
e, Jason (Nokia - CA/Ottawa) &lt;<a href=3D"mailto:jason.sterne@nokia.com">=
jason.sterne@nokia.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex">





<div lang=3D"EN-CA">
<div class=3D"gmail-m_6264066750282380241WordSection1">
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">Processing order should not matter. The evaluation of the &#39;wh=
en&#39; statement should be done assuming an atomic application of the edit=
-config.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">I agree that a standards compliant server should do as Rob said:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">- For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted be=
cause the result of the config datastore after the edit-config has been app=
lied is valid.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">- For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected be=
cause the result of the config datastore after the edit-config has been app=
lied is invalid.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">From an implementation that may indeed mean processing the &#39;w=
hen&#39; after a first pass that sets the various leafs to tentative values=
. But that&#39;s
 implementation detail.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">IMO the auto-clearing behavior of &#39;when&#39; may be complicat=
ed but that is how it is defined (same with &#39;choice&#39;). Clients can =
and should depend on
 things being automatically deleted. If you want validation errors (i.e. fo=
rce the client to clear all the dependant leafs instead of auto-clearing) t=
hen use a &#39;must&#39; statement.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0</span></p></div></div></blockquote><div><br></div><=
div>+1</div><div><br></div><div>YANG clearly defines &quot;must&quot; and &=
quot;when&quot; with different behavior.</div><div>A server that does not i=
mplement the auto-delete aspects of when-stmt is not compliant to the RFC.<=
/div><div>=C2=A0<br></div><blockquote class=3D"gmail_quote" style=3D"margin=
:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"=
><div lang=3D"EN-CA"><div class=3D"gmail-m_6264066750282380241WordSection1"=
><p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,s=
ans-serif"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">Jason</span></p></div></div></blockquote><div><br></div><div>Andy=
</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><d=
iv lang=3D"EN-CA"><div class=3D"gmail-m_6264066750282380241WordSection1"><p=
 class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sans=
-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt;font=
-family:Calibri,sans-serif">From:</span></b><span lang=3D"EN-US" style=3D"f=
ont-size:11pt;font-family:Calibri,sans-serif"> netmod &lt;<a href=3D"mailto=
:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@ietf.org</a>&gt;
<b>On Behalf Of </b>Qin Wu<br>
<b>Sent:</b> Tuesday, September 10, 2019 10:33 PM<br>
<b>To:</b> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.c=
om" target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; Andy Bierman &lt;=
<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com<=
/a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a>; Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blan=
k">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] </span><span style=3D"font-size:11pt;font-family:&=
quot;MS Gothic&quot;">=E7=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:Calibri,sans-serif">:
</span><span style=3D"font-size:11pt;font-family:&quot;MS Gothic&quot;">=E7=
=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-fam=
ily:Calibri,sans-serif">: Please clarify implementation about =E2=80=98when=
=E2=80=99<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Why processing order matter=
? My interpretation is both leaf node values (i.e.,leaf a, leaf b) should b=
e validated together
 and commit as a whole,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">RFC6241 said:<u></u><u></u>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9C<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-indent:21pt"><span lang=3D"EN-US" styl=
e=3D"font-size:10.5pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">=
If the device is unable to commit all of the changes in the<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 candidate configuration datastore, then the running<u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 configuration MUST remain unchanged.<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9D<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">So validate the leaf node v=
alue in the edit-config request (message content validation) is not importa=
nt, validate the
 leaf node value that is applied to &lt;running&gt; (datastore validation) =
is the key.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">I think what you want to raise is the server =
should hold on to send reply with an &quot;unknown-element&quot; &lt;error-=
tag&gt; in the &lt;rpc-error&gt; during payload parsing phase and NETCONF &=
lt;edit-config&gt; <u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Processing until all validation complete, oth=
erwise it seems server will <u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Send multiple rply with &quot;unknown-element=
&quot; &lt;error-tag&gt; in the &lt;rpc-error&gt; which seems not reasonabl=
e.<u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">-Qin<u></u><u></u></span></pre>
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 netmod [<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">mailt=
o:netmod-bounces@ietf.org</a>]
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=BB=A3=E8=A1=A8
</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;M=
icrosoft YaHei&quot;,sans-serif">Fengchong (frank)<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">11</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 9:29<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">a=
ndy@yumaworks.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 [netmod] </span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&=
quot;Microsoft YaHei&quot;,sans-serif">=E7=AD=94=E5=A4=8D</span><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">: Please
 clarify implementation about </span><span lang=3D"ZH-CN" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=E2=80=98</span>=
<span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft Ya=
Hei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" style=3D"font-size:11=
pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=E2=80=99</span><spa=
n lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&=
quot;,sans-serif"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
Andy,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether different result wo=
uld occur according different process
 order? <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According 8.3.2<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">if server process =E2=80=98=
a=3D 3=E2=80=99 firstly, b will be deleted by system
 and becomes a non-exist schema node, and then =C2=A0when =E2=80=98b=3D5=E2=
=80=99 is processed , server will report a =E2=80=98unknown-element=E2=80=
=99 error.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">But if server process =E2=
=80=98b=3D5=E2=80=99 firstly, it will be accepted by
 server, and then when =E2=80=98a=3D3=E2=80=99 is processed, b will be dele=
ted by system, but report OK.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If sec 8.3.2 is not right. =
What is the right?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When node a and node b in t=
he same request, and b tagged when
 condition, a=E2=80=99s value will cause b=E2=80=99s condition is evaluated=
 to false, which is more prior?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According you and Rob=E2=80=
=99s interpretation , maybe node =E2=80=99a=E2=80=99 is
 more prior? If yes, why node =E2=80=98b=E2=80=99 should be processed later=
? <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">I think whether in edit-con=
fig processing phase the configuration
 tagged when should not be evaluated and be delayed to commit or validate?<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When commit or validate ope=
ration is issued,=C2=A0 the data node
 tagged when will be evaluated, and if it=E2=80=99s evaluated to false, thi=
s data will be deleted by system immediately, server should not report any =
error.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co., Ltd.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_6264066750282380241=E5=9B=BE=E7=89=87_x0020_2=
" src=3D"cid:16d6924396e4cff311" alt=3D"Company_logo"><u></u><u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US" style=
=3D"color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">mail=
to:andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 10:56<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&q=
uot;Microsoft YaHei&quot;,sans-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:40 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt; wrote:<u></u><u></u></span><=
/p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Andy,</span><span lang=3D"E=
N-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether all constraints on =
content in &lt;config&gt; parameter will
 not be evaluated in payload parsing phase, for example, a leaf=E2=80=99s v=
alue exceed range?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Netconf server should treat=
 it as a block data?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Field validation and datastore =
validation are 2 different things.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">when-stmt processing is neither=
. It is by far the hardest part of an automated server to get right.<u></u>=
<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Another question:</span><sp=
an lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">In edit-config processing p=
hase, whether constraints on content
 in &lt;config&gt; parameter needs be evaluated?</span><span lang=3D"EN-US"=
><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If yes, when =C2=A0configur=
ation modification cause when condition
 is evaluated to false, the node tagged when will be automatically deleted =
by system.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Then, in scene 2, whether d=
ifferent result would occur according
 different process order?</span><span lang=3D"EN-US"><u></u><u></u></span><=
/p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Since the &lt;config&gt; parame=
ter is anyxml, the YANG constraints defined on datastore contents<u></u><u>=
</u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">are not enforced as part of RPC=
 input validation.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It would be nice if NETCONF def=
ined behavior for providing &lt;config&gt; data that will get deleted<u></u=
><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">immediately by the server.=C2=
=A0 We have a CLI parameter for this since some vendors want to<u></u><u></=
u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">treat this as an error and othe=
r just silently delete nodes.=C2=A0 Note that when-stmt can silently<u></u>=
<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">delete existing nodes not inclu=
ded in the edit. (Lada does not agree this is how it should work,<u></u><u>=
</u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">so we need yang-next to decide.=
 Maybe NETCONF needs a --force parameter for this purpose.)<u></u><u></u></=
span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co.,
 Ltd.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_6264066750282380241gmail-m_-70806092175975341=
68=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d6924396e4cff311" alt=3D"Company=
_logo"></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 10:19<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:10 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;
 wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?</span><span lang=3D"EN-US"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">8.3.1 does not apply to leaf &#=
39;b&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The RPC parameter is called &#3=
9;config&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It has no when-stmts to evaluat=
e.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Rob is correct.<u></u><u></u></=
span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">His example shows what 8.3.1 wo=
uld cover.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co.,
 Ltd.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_6264066750282380241gmail-m_-70806092175975341=
68m_-1746658151094362872gmail-m_-4542574847536570289=E5=9B=BE=E7=89=87_x002=
0_2" src=3D"cid:16d6924396e4cff311" alt=3D"Company_logo"></span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 1:14<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects<u></u><u></u>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt;
 wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span lang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=9C</span><span =
lang=3D"EN-GB" style=3D"font-size:11pt">scene 1</span><span lang=3D"ZH-CN" =
style=3D"font-size:11pt">=E2=80=9D</span><span lang=3D"EN-GB" style=3D"font=
-size:11pt">,
 the config change is accepted because the result of the config datastore a=
fter the edit-config has been applied is valid.</span><span lang=3D"EN-US">=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span lang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=9C</span><span =
lang=3D"EN-GB" style=3D"font-size:11pt">scene 2</span><span lang=3D"ZH-CN" =
style=3D"font-size:11pt">=E2=80=9D</span><span lang=3D"EN-GB" style=3D"font=
-size:11pt">,
 the config change is rejected because the result of the config datastore a=
fter the edit-config has been applied is invalid.</span><span lang=3D"EN-US=
"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0
 E.g. if the RPC was defined something like below, then the </span><span la=
ng=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=98</span><span lang=3D"EN-GB" =
style=3D"font-size:11pt">when</span><span lang=3D"ZH-CN" style=3D"font-size=
:11pt">=E2=80=99</span><span lang=3D"EN-GB" style=3D"font-size:11pt">
 rule in 8.3.1 would enforce that a zip-code can only be provided if the co=
untry is the USA.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-US"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-US"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-US"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-US"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-US"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about </span><span l=
ang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=98</span><span lang=3D"EN-US"=
 style=3D"font-size:11pt">when</span><span lang=3D"ZH-CN" style=3D"font-siz=
e:11pt">=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0</span><span lang=3D"EN-U=
S"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span><span lang=3D"ZH-CN">=EF=BC=9A</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 Configuration Data Modi=
fications</span><span lang=3D"EN-US"><u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><span lang=3D"EN-US" style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0=
 Payload Parsing</span><span lang=3D"EN-US"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_62640667502823=
80241_m_-7080609217597534168_m_-17466581510943"></a><span lang=3D"EN-US" st=
yle=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=
=A0
 NETCONF &lt;edit-config&gt; Processing</span><span lang=3D"EN-US"><u></u><=
u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-US"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span><span lang=3D=
"ZH-CN">=EF=BC=9A</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US">foo</span>=
<span lang=3D"ZH-CN">=E2=80=9D</span><span lang=3D"EN-US">;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {</span><span lang=3D"ZH-CN">=E2=80=A6</span><s=
pan lang=3D"EN-US">}<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When </span><span lang=3D"ZH-CN">=E2=80=9C</spa=
n><span lang=3D"EN-US">a =3D 10</span><span lang=3D"ZH-CN">=E2=80=9D</span>=
<span lang=3D"EN-US">;<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: <u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;3&lt;/a&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;10&lt;/a&gt;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;5&lt;/b&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s
 value in candidate datastore is 3,so leaf b</span><span lang=3D"ZH-CN" sty=
le=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-si=
ze:14pt">s when condition is evaluated to false, server will report
</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=98</span><span =
lang=3D"EN-US" style=3D"font-size:14pt">unknown-element</span><span lang=3D=
"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=
=3D"font-size:14pt">
 error.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:<u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;10&lt;/a&gt;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;3&lt;/a&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;5&lt;/b&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s
 value in candidate datastore is 10, so leaf b</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s when condition is evaluated to true, server will accept
 this request in payload parsing phase. </span><span lang=3D"EN-US"><u></u>=
<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a</span><span lang=3D"ZH-CN" sty=
le=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-si=
ze:14pt">s
 modification is processed firstly, the a</span><span lang=3D"ZH-CN" style=
=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size=
:14pt">s value will be changed to 3, so the b</span><span lang=3D"ZH-CN" st=
yle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-s=
ize:14pt">s
 when condition will be false, when server process b</span><span lang=3D"ZH=
-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D=
"font-size:14pt">s modification, b will be treated as unknown-element,
 the edit-config request will fail. </span><span lang=3D"EN-US"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><sp=
an lang=3D"EN-US" style=3D"font-size:14pt">s
 modification is processed firstly, server will accept this modification ,b=
ecause b</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</spa=
n><span lang=3D"EN-US" style=3D"font-size:14pt">s when condition
 is true, and when server process a</span><span lang=3D"ZH-CN" style=3D"fon=
t-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">=
s modification , this modification will be accepted, and b</span><span lang=
=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" st=
yle=3D"font-size:14pt">s
 when condition will be evaluated to false, leaf b will be deleted automati=
cally, the edit-config request will be OK.</span><span lang=3D"EN-US"><u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-US"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>

</blockquote></div></div>

--00000000000030233a059362bd6a--

--00000000000030233c059362bd6b
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d6924396e4cff311>
X-Attachment-Id: 16d6924396e4cff311

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
YII=
--00000000000030233c059362bd6b--


From nobody Wed Sep 25 09:00:39 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2DCCA1200C5 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:00:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 rjW59rNP9Ycp for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:00:32 -0700 (PDT)
Received: from mail-lj1-x233.google.com (mail-lj1-x233.google.com [IPv6:2a00:1450:4864:20::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 46C611200A1 for <netmod@ietf.org>; Wed, 25 Sep 2019 09:00:31 -0700 (PDT)
Received: by mail-lj1-x233.google.com with SMTP id j19so6249124lja.1 for <netmod@ietf.org>; Wed, 25 Sep 2019 09:00:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Z0PaCz/PsYCuIq3tM3T1DDbwhTdYZ0t6HubzcZFyWyU=; b=I86n5lHK8gjIQowh1KNpsaOaZ/vg/eTFpoMR01N46ighLkheFusy4q0MNct9lAX+IP FnIQz1MdF02V43ZdNlinPlzhYzU9KRAOpzUxQCEwQmBJrkeVr/xR7vmUZthURGDliDz/ UFfqkKnIHOHfOT2Cnfa4hsion2r5zowa7DopRXkpdL0BZq7vwTMbFJOpyvwBhAXVpHFE ajxs3NjbZRThpZ8qri+ORZiRIOy0akVSOVqxIOsb9eKTYuWnsdZE50+Q0X+mFXdvVnSp w1tgE50y9h6jxJMhVRtCFoCB3YhMFC46nOjyY/wytbPM0WVquBT35JHl7wRkC6Lx5+fp Ip6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Z0PaCz/PsYCuIq3tM3T1DDbwhTdYZ0t6HubzcZFyWyU=; b=CEP+xfqZiaM0xCxE2YNfZrX0ENWzRz5OIxhiSp1kbfHTpsKGhE9QqyLyE6UEZ7mmgb /tXR+pv7zXL7SaM+AN0+SJ1ld4TxxONgIC31EzEmJ6C4yxyDl6OKuvizBAIcGSF7OmKu 7TT4/frQqGzpRoo3qW9ER2NGA8vznzT8tqtrm4iphn0rGYQbC2CS3GLsVo5lMDOvikMM Uto698rGCPZ/w5X6/kqhgtVCeHBF8SFE6oKnJsOKbHZUpN2G1AyydXUk6ChvKZ2OgYms gqFAjVj+GLuHvVuQ/a/HYEeeFiz+TbneQvNs4sg4j5dJroc4SYJRlo2rhOSqbRNEeui9 6qKQ==
X-Gm-Message-State: APjAAAV3DbsN0m4rN7XxQZuRXYLJ8lJ+EKnSfTo5c+ZFoSWV3ntR5j5I 6jjfixo8yTKe4Dw/j3BI9W+NyPraDQ+QO8R59mwhVA==
X-Google-Smtp-Source: APXvYqwicq8a6eSnYizdDIfmClBZWfYD1xyQahpDwHHO+Mtd5+EHZDV77TiNRkby8AOjHfLPUir6HbwdBcyhaJp+bcQ=
X-Received: by 2002:a05:651c:283:: with SMTP id b3mr7027520ljo.25.1569427229233;  Wed, 25 Sep 2019 09:00:29 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com> <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com>
In-Reply-To: <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Sep 2019 09:00:17 -0700
Message-ID: <CABCOCHQcdz-5eNm+WZyFw7++XBtgk1xomuxKindsLavrpy3fGQ@mail.gmail.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
Cc: Qin Wu <bill.wu@huawei.com>, "Fengchong (frank)" <frank.fengchong@huawei.com>,  "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="000000000000800585059362c0b5"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/7SAWj4tkSBQnO4Zl8lpM5h4SaTU>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 16:00:38 -0000

--000000000000800585059362c0b5
Content-Type: multipart/alternative; boundary="000000000000800584059362c0b4"

--000000000000800584059362c0b4
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2019 at 8:59 AM Andy Bierman <andy@yumaworks.com> wrote:

>
>
> On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jason (Nokia - CA/Ottawa) <
> jason.sterne@nokia.com> wrote:
>
>> Processing order should not matter. The evaluation of the 'when'
>> statement should be done assuming an atomic application of the edit-conf=
ig.
>>
>>
>>
>> I agree that a standards compliant server should do as Rob said:
>>
>>
>>
>> - For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because t=
he result of the
>> config datastore after the edit-config has been applied is valid.
>>
>> - For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because t=
he result of the
>> config datastore after the edit-config has been applied is invalid.
>>
>>
>>
>> From an implementation that may indeed mean processing the 'when' after =
a
>> first pass that sets the various leafs to tentative values. But that's
>> implementation detail.
>>
>>
>>
>> IMO the auto-clearing behavior of 'when' may be complicated but that is
>> how it is defined (same with 'choice'). Clients can and should depend on
>> things being automatically deleted. If you want validation errors (i.e.
>> force the client to clear all the dependant leafs instead of auto-cleari=
ng)
>> then use a 'must' statement.
>>
>>
>>
>
> +1
>
> YANG clearly defines "must" and "when" with different behavior.
> A server that does not implement the auto-delete aspects of when-stmt is
> not compliant to the RFC.
>
>


oops -- s/must-stmt/when-stmt/



> Jason
>>
>
> Andy
>
>
>>
>>
>> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Qin Wu
>> *Sent:* Tuesday, September 10, 2019 10:33 PM
>> *To:* Fengchong (frank) <frank.fengchong@huawei.com>; Andy Bierman <
>> andy@yumaworks.com>
>> *Cc:* netmod@ietf.org; Yangang <yangang@huawei.com>
>> *Subject:* [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please clari=
fy implementation about =E2=80=98when=E2=80=99
>>
>>
>>
>> Why processing order matter? My interpretation is both leaf node values
>> (i.e.,leaf a, leaf b) should be validated together and commit as a whole=
,
>>
>> RFC6241 said:
>>
>> =E2=80=9C
>>
>> If the device is unable to commit all of the changes in the
>>
>>          candidate configuration datastore, then the running
>>
>>          configuration MUST remain unchanged.
>>
>> =E2=80=9D
>>
>> So validate the leaf node value in the edit-config request (message
>> content validation) is not important, validate the leaf node value that =
is
>> applied to <running> (datastore validation) is the key.
>>
>>
>>
>> I think what you want to raise is the server should hold on to send repl=
y with an "unknown-element" <error-tag> in the <rpc-error> during payload p=
arsing phase and NETCONF <edit-config>
>>
>> Processing until all validation complete, otherwise it seems server will
>>
>> Send multiple rply with "unknown-element" <error-tag> in the <rpc-error>=
 which seems not reasonable.
>>
>>
>>
>> -Qin
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* netmod [mailto:netmod-bounces@ietf.org =
<netmod-bounces@ietf.org>]
>> *=E4=BB=A3=E8=A1=A8 *Fengchong (frank)
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8811=E6=
=97=A5 9:29
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Andy Bierman <andy@yumaworks.com>
>> *=E6=8A=84=E9=80=81**:* netmod@ietf.org; Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* [netmod] =E7=AD=94=E5=A4=8D: Please clarify impl=
ementation about =E2=80=98when=E2=80=99
>>
>>
>>
>> Andy,
>>
>>
>>
>> Whether different result would occur according different process order?
>>
>> According 8.3.2
>>
>> if server process =E2=80=98a=3D 3=E2=80=99 firstly, b will be deleted by=
 system and becomes
>> a non-exist schema node, and then  when =E2=80=98b=3D5=E2=80=99 is proce=
ssed , server will
>> report a =E2=80=98unknown-element=E2=80=99 error.
>>
>> But if server process =E2=80=98b=3D5=E2=80=99 firstly, it will be accept=
ed by server, and
>> then when =E2=80=98a=3D3=E2=80=99 is processed, b will be deleted by sys=
tem, but report OK.
>>
>>
>>
>> If sec 8.3.2 is not right. What is the right?
>>
>> When node a and node b in the same request, and b tagged when condition,
>> a=E2=80=99s value will cause b=E2=80=99s condition is evaluated to false=
, which is more
>> prior?
>>
>> According you and Rob=E2=80=99s interpretation , maybe node =E2=80=99a=
=E2=80=99 is more prior? If
>> yes, why node =E2=80=98b=E2=80=99 should be processed later?
>>
>>
>>
>> I think whether in edit-config processing phase the configuration tagged
>> when should not be evaluated and be delayed to commit or validate?
>>
>> When commit or validate operation is issued,  the data node tagged when
>> will be evaluated, and if it=E2=80=99s evaluated to false, this data wil=
l be
>> deleted by system immediately, server should not report any error.
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com=
 <andy@yumaworks.com>]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 10:56
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huaw=
ei.com>
>> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod=
@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <
>> frank.fengchong@huawei.com> wrote:
>>
>> Andy,
>>
>> Whether all constraints on content in <config> parameter will not be
>> evaluated in payload parsing phase, for example, a leaf=E2=80=99s value =
exceed
>> range?
>>
>> Netconf server should treat it as a block data?
>>
>>
>>
>>
>>
>> Field validation and datastore validation are 2 different things.
>>
>> when-stmt processing is neither. It is by far the hardest part of an
>> automated server to get right.
>>
>>
>>
>> Another question:
>>
>>
>>
>> In edit-config processing phase, whether constraints on content in
>> <config> parameter needs be evaluated?
>>
>> If yes, when  configuration modification cause when condition is
>> evaluated to false, the node tagged when will be automatically deleted b=
y
>> system.
>>
>> Then, in scene 2, whether different result would occur according
>> different process order?
>>
>>
>>
>>
>>
>> Since the <config> parameter is anyxml, the YANG constraints defined on
>> datastore contents
>>
>> are not enforced as part of RPC input validation.
>>
>>
>>
>> It would be nice if NETCONF defined behavior for providing <config> data
>> that will get deleted
>>
>> immediately by the server.  We have a CLI parameter for this since some
>> vendors want to
>>
>> treat this as an error and other just silently delete nodes.  Note that
>> when-stmt can silently
>>
>> delete existing nodes not included in the edit. (Lada does not agree thi=
s
>> is how it should work,
>>
>> so we need yang-next to decide. Maybe NETCONF needs a --force parameter
>> for this purpose.)
>>
>>
>>
>>
>>
>> Andy
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com=
]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 10:19
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huaw=
ei.com>
>> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod=
@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
>> frank.fengchong@huawei.com> wrote:
>>
>> Hi andy,
>>
>>
>>
>> You only talk about the constraints on rpc operation=E2=80=99s parameter=
?
>>
>>
>>
>> Do you have any opinion about my question?
>>
>>
>>
>> 8.3.1 does not apply to leaf 'b'.
>>
>> The RPC parameter is called 'config'.
>>
>> It has no when-stmts to evaluate.
>>
>> Rob is correct.
>>
>> His example shows what 8.3.1 would cover.
>>
>>
>>
>> Andy
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com=
]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 1:14
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Rob Wilton (rwilton) <rwilton@cisco.com=
>
>> *=E6=8A=84=E9=80=81**:* Fengchong (frank) <frank.fengchong@huawei.com>; =
netmod@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>> Hi,
>>
>>
>>
>> None of the operations that accept or return datastore contents expose
>> the datastore objects
>>
>> in the RPC parameters.  They are always anyxml or anydata. This means th=
at
>>
>> there are no descendant data nodes defined at all according to the RPC
>> operation
>>
>> and therefore the constraints on those nodes do not exist in the RPC
>> operation either.
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
>> wrote:
>>
>> Hi Frank,
>>
>>
>>
>> My interpretation of what the expected behaviour is as follows.
>>
>>
>>
>> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the=
 result of the
>> config datastore after the edit-config has been applied is valid.
>>
>>
>>
>> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the=
 result of the
>> config datastore after the edit-config has been applied is invalid.
>>
>>
>>
>> My interpretation is that the block of text in 8.3.1 payload parsing is
>> primary intended to refer to RFC input.  E.g. if the RPC was defined
>> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 woul=
d enforce that a
>> zip-code can only be provided if the country is the USA.
>>
>>
>>
>>        rpc rock-the-house {
>>
>>          input {
>>
>>            leaf country {
>>
>>              type string;
>>
>>            }
>>
>>            leaf zip-code {
>>
>>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D=
;
>>
>>              type string;
>>
>>            }
>>
>>          }
>>
>>        }
>>
>>
>>
>> Thanks,
>>
>> Rob
>>
>>
>>
>>
>>
>>
>>
>> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank=
)
>> *Sent:* 06 September 2019 08:19
>> *To:* netmod@ietf.org
>> *Cc:* Yangang <yangang@huawei.com>
>> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>>
>>
>>
>> Hi all,
>>
>>
>>
>> In RFC7950 secton 8, several description about when=EF=BC=9A
>> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
>> Configuration Data Modifications
>>
>>    o  If a request modifies a configuration data node such that any
>>
>>       node's "when" expression becomes false, then the node in the data
>>
>>       tree with the "when" expression is deleted by the server.
>> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
>> Parsing
>>
>>    o  If data for a node tagged with "when" is present and the "when"
>>
>>       condition evaluates to "false", the server MUST reply with an
>>
>>       "unknown-element" <error-tag> in the <rpc-error>.
>>
>> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
>> <edit-config> Processing
>>
>> Modification requests for nodes tagged with "when", and the "when"
>>
>>       condition evaluates to "false".  In this case, the server MUST
>>
>>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>>
>>
>>
>> YANG module=EF=BC=9A
>>
>> module foo {
>>
>>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>>
>>    prefix =E2=80=9Cfoo=E2=80=9D;
>>
>> Leaf a {=E2=80=A6}
>>
>> Leaf b {
>>
>>   When =E2=80=9Ca =3D 10=E2=80=9D;
>>
>> }
>>
>> }
>> Scene 1:
>>
>> The first edit-config request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>>
>>    </config>
>>
>> </edit-config>
>>
>> This request will set a =3D 3.
>>
>>
>>
>> The second request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>>
>>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>>
>>    </config>
>>
>> </edit-config>
>>
>>
>>
>> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in
>> candidate datastore is 3,so leaf b=E2=80=99s when condition is evaluated=
 to
>> false, server will report =E2=80=98unknown-element=E2=80=99 error.
>>
>> Is it expected by user?
>> Scene 2:
>>
>> The first edit-config request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>>
>>    </config>
>>
>> </edit-config>
>>
>> This request will set a =3D 10.
>>
>>
>>
>> The second request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>>
>>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>>
>>    </config>
>>
>> </edit-config>
>>
>> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in
>> candidate datastore is 10, so leaf b=E2=80=99s when condition is evaluat=
ed to
>> true, server will accept this request in payload parsing phase.
>>
>>
>>
>> In edit-config request processing phase, if leaf a=E2=80=99s modificatio=
n is
>> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
>> condition will be false, when server process b=E2=80=99s modification, b=
 will be
>> treated as unknown-element, the edit-config request will fail.
>>
>> If leaf b=E2=80=99s modification is processed firstly, server will accep=
t this
>> modification ,because b=E2=80=99s when condition is true, and when serve=
r
>> process a=E2=80=99s modification , this modification will be accepted, a=
nd b=E2=80=99s
>> when condition will be evaluated to false, leaf b will be deleted
>> automatically, the edit-config request will be OK.
>>
>>
>>
>> How server should process this situation?
>>
>>
>>
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>>
>>

--000000000000800584059362c0b4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Sep 25, 2019 at 8:59 AM Andy =
Bierman &lt;<a href=3D"mailto:andy@yumaworks.com">andy@yumaworks.com</a>&gt=
; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div di=
r=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote"><div di=
r=3D"ltr" class=3D"gmail_attr">On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jaso=
n (Nokia - CA/Ottawa) &lt;<a href=3D"mailto:jason.sterne@nokia.com" target=
=3D"_blank">jason.sterne@nokia.com</a>&gt; wrote:<br></div><blockquote clas=
s=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid r=
gb(204,204,204);padding-left:1ex">





<div lang=3D"EN-CA">
<div class=3D"gmail-m_-1371560784247913107gmail-m_6264066750282380241WordSe=
ction1">
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">Processing order should not matter. The evaluation of the &#39;wh=
en&#39; statement should be done assuming an atomic application of the edit=
-config.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">I agree that a standards compliant server should do as Rob said:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">- For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted be=
cause the result of the config datastore after the edit-config has been app=
lied is valid.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">- For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected be=
cause the result of the config datastore after the edit-config has been app=
lied is invalid.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">From an implementation that may indeed mean processing the &#39;w=
hen&#39; after a first pass that sets the various leafs to tentative values=
. But that&#39;s
 implementation detail.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">IMO the auto-clearing behavior of &#39;when&#39; may be complicat=
ed but that is how it is defined (same with &#39;choice&#39;). Clients can =
and should depend on
 things being automatically deleted. If you want validation errors (i.e. fo=
rce the client to clear all the dependant leafs instead of auto-clearing) t=
hen use a &#39;must&#39; statement.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0</span></p></div></div></blockquote><div><br></div><=
div>+1</div><div><br></div><div>YANG clearly defines &quot;must&quot; and &=
quot;when&quot; with different behavior.</div><div>A server that does not i=
mplement the auto-delete aspects of when-stmt is not compliant to the RFC.<=
/div><div>=C2=A0<br></div></div></div></blockquote><div><br></div><div><br>=
</div><div>oops -- s/must-stmt/when-stmt/</div><div><br></div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir=3D"ltr"><div=
 class=3D"gmail_quote"><div></div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div lang=3D"EN-CA"><div class=3D"gmail-m_-1371560784247913107gm=
ail-m_6264066750282380241WordSection1"><p class=3D"MsoNormal"><span style=
=3D"font-size:11pt;font-family:Calibri,sans-serif"><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif">Jason</span></p></div></div></blockquote><div><br></div><div>Andy=
</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0p=
x 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><d=
iv lang=3D"EN-CA"><div class=3D"gmail-m_-1371560784247913107gmail-m_6264066=
750282380241WordSection1"><p class=3D"MsoNormal"><span style=3D"font-size:1=
1pt;font-family:Calibri,sans-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"font-size:11pt;font-family:Calibri,sa=
ns-serif"><u></u>=C2=A0<u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt;font=
-family:Calibri,sans-serif">From:</span></b><span lang=3D"EN-US" style=3D"f=
ont-size:11pt;font-family:Calibri,sans-serif"> netmod &lt;<a href=3D"mailto=
:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@ietf.org</a>&gt;
<b>On Behalf Of </b>Qin Wu<br>
<b>Sent:</b> Tuesday, September 10, 2019 10:33 PM<br>
<b>To:</b> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.c=
om" target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; Andy Bierman &lt;=
<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com<=
/a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a>; Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blan=
k">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] </span><span style=3D"font-size:11pt;font-family:&=
quot;MS Gothic&quot;">=E7=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:Calibri,sans-serif">:
</span><span style=3D"font-size:11pt;font-family:&quot;MS Gothic&quot;">=E7=
=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-fam=
ily:Calibri,sans-serif">: Please clarify implementation about =E2=80=98when=
=E2=80=99<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Why processing order matter=
? My interpretation is both leaf node values (i.e.,leaf a, leaf b) should b=
e validated together
 and commit as a whole,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">RFC6241 said:<u></u><u></u>=
</span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9C<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-indent:21pt"><span lang=3D"EN-US" styl=
e=3D"font-size:10.5pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">=
If the device is unable to commit all of the changes in the<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 candidate configuration datastore, then the running<u=
></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 configuration MUST remain unchanged.<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9D<u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">So validate the leaf node v=
alue in the edit-config request (message content validation) is not importa=
nt, validate the
 leaf node value that is applied to &lt;running&gt; (datastore validation) =
is the key.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">I think what you want to raise is the server =
should hold on to send reply with an &quot;unknown-element&quot; &lt;error-=
tag&gt; in the &lt;rpc-error&gt; during payload parsing phase and NETCONF &=
lt;edit-config&gt; <u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Processing until all validation complete, oth=
erwise it seems server will <u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Send multiple rply with &quot;unknown-element=
&quot; &lt;error-tag&gt; in the &lt;rpc-error&gt; which seems not reasonabl=
e.<u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">-Qin<u></u><u></u></span></pre>
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 netmod [<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">mailt=
o:netmod-bounces@ietf.org</a>]
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=BB=A3=E8=A1=A8
</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;M=
icrosoft YaHei&quot;,sans-serif">Fengchong (frank)<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">11</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 9:29<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">a=
ndy@yumaworks.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 [netmod] </span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&=
quot;Microsoft YaHei&quot;,sans-serif">=E7=AD=94=E5=A4=8D</span><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">: Please
 clarify implementation about </span><span lang=3D"ZH-CN" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=E2=80=98</span>=
<span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft Ya=
Hei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" style=3D"font-size:11=
pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=E2=80=99</span><spa=
n lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&=
quot;,sans-serif"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
Andy,<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether different result wo=
uld occur according different process
 order? <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According 8.3.2<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">if server process =E2=80=98=
a=3D 3=E2=80=99 firstly, b will be deleted by system
 and becomes a non-exist schema node, and then =C2=A0when =E2=80=98b=3D5=E2=
=80=99 is processed , server will report a =E2=80=98unknown-element=E2=80=
=99 error.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">But if server process =E2=
=80=98b=3D5=E2=80=99 firstly, it will be accepted by
 server, and then when =E2=80=98a=3D3=E2=80=99 is processed, b will be dele=
ted by system, but report OK.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If sec 8.3.2 is not right. =
What is the right?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When node a and node b in t=
he same request, and b tagged when
 condition, a=E2=80=99s value will cause b=E2=80=99s condition is evaluated=
 to false, which is more prior?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According you and Rob=E2=80=
=99s interpretation , maybe node =E2=80=99a=E2=80=99 is
 more prior? If yes, why node =E2=80=98b=E2=80=99 should be processed later=
? <u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">I think whether in edit-con=
fig processing phase the configuration
 tagged when should not be evaluated and be delayed to commit or validate?<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When commit or validate ope=
ration is issued,=C2=A0 the data node
 tagged when will be evaluated, and if it=E2=80=99s evaluated to false, thi=
s data will be deleted by system immediately, server should not report any =
error.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co., Ltd.<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_-1371560784247913107gmail-m_62640667502823802=
41=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d6924396e4cff311" alt=3D"Company=
_logo"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US" style=
=3D"color:rgb(31,73,125)"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">mail=
to:andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 10:56<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&q=
uot;Microsoft YaHei&quot;,sans-serif"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u>=C2=A0<u></u></span>=
</p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:40 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt; wrote:<u></u><u></u></span><=
/p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Andy,</span><span lang=3D"E=
N-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether all constraints on =
content in &lt;config&gt; parameter will
 not be evaluated in payload parsing phase, for example, a leaf=E2=80=99s v=
alue exceed range?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Netconf server should treat=
 it as a block data?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Field validation and datastore =
validation are 2 different things.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">when-stmt processing is neither=
. It is by far the hardest part of an automated server to get right.<u></u>=
<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Another question:</span><sp=
an lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">In edit-config processing p=
hase, whether constraints on content
 in &lt;config&gt; parameter needs be evaluated?</span><span lang=3D"EN-US"=
><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If yes, when =C2=A0configur=
ation modification cause when condition
 is evaluated to false, the node tagged when will be automatically deleted =
by system.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Then, in scene 2, whether d=
ifferent result would occur according
 different process order?</span><span lang=3D"EN-US"><u></u><u></u></span><=
/p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Since the &lt;config&gt; parame=
ter is anyxml, the YANG constraints defined on datastore contents<u></u><u>=
</u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">are not enforced as part of RPC=
 input validation.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It would be nice if NETCONF def=
ined behavior for providing &lt;config&gt; data that will get deleted<u></u=
><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">immediately by the server.=C2=
=A0 We have a CLI parameter for this since some vendors want to<u></u><u></=
u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">treat this as an error and othe=
r just silently delete nodes.=C2=A0 Note that when-stmt can silently<u></u>=
<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">delete existing nodes not inclu=
ded in the edit. (Lada does not agree this is how it should work,<u></u><u>=
</u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">so we need yang-next to decide.=
 Maybe NETCONF needs a --force parameter for this purpose.)<u></u><u></u></=
span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co.,
 Ltd.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_-1371560784247913107gmail-m_62640667502823802=
41gmail-m_-7080609217597534168=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d692=
4396e4cff311" alt=3D"Company_logo"></span><span lang=3D"EN-US"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 10:19<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:10 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;
 wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?</span><span lang=3D"EN-US"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">8.3.1 does not apply to leaf &#=
39;b&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The RPC parameter is called &#3=
9;config&#39;.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It has no when-stmts to evaluat=
e.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Rob is correct.<u></u><u></u></=
span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">His example shows what 8.3.1 wo=
uld cover.<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</s=
pan><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologie=
s Co.,
 Ltd.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" style=3D"width: 1.0625in; hei=
ght: 0.3333in;" id=3D"gmail-m_-1371560784247913107gmail-m_62640667502823802=
41gmail-m_-7080609217597534168m_-1746658151094362872gmail-m_-45425748475365=
70289=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d6924396e4cff311" alt=3D"Comp=
any_logo"></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=
=E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=
=80=E3=80=80=E6=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)">13776612983<br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=
=90=E9=82=AE=E4=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blan=
k">frank.fengchong@huawei.com</a><br>
</span><span lang=3D"ZH-CN" style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=
=B8=E7=BD=91=E5=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rg=
b(31,73,125)"><a href=3D"http://www.huawei.com" target=3D"_blank">www.huawe=
i.com</a></span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=
=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=
=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=
=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=
=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=
=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=
=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=
=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=
=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=
=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=
=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-=
US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span lang=3D"ZH-CN" style=3D"font-size:7.5pt;color:gray">=E7=9A=84=
=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=
=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=
=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=
=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=
=BC=81</span><span lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Aria=
l,sans-serif;color:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font=
-family:&quot;Microsoft YaHei&quot;,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA=
</span></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quo=
t;Microsoft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span>=
</b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Micro=
soft YaHei&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 2019</span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;=
Microsoft YaHei&quot;,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">9</=
span><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microso=
ft YaHei&quot;,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=3D"fo=
nt-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">10</span><=
span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Microsoft YaH=
ei&quot;,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 1:14<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><s=
pan lang=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHe=
i&quot;,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11p=
t;font-family:&quot;Microsoft YaHei&quot;,sans-serif">
 Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_b=
lank">rwilton@cisco.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span lang=3D"ZH-CN" style=3D"font-size:11pt;font-family:&quot;Mi=
crosoft YaHei&quot;,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=
=3D"EN-US" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,=
sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;font-f=
amily:&quot;Microsoft YaHei&quot;,sans-serif">
 Re: [netmod] Please clarify implementation about </span><span lang=3D"ZH-C=
N" style=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-ser=
if">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-famil=
y:&quot;Microsoft YaHei&quot;,sans-serif">when</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:11pt;font-family:&quot;Microsoft YaHei&quot;,sans-serif">=
=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects<u></u><u></u>=
</span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.<u></u><u></u></span=
></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt;
 wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span lang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=9C</span><span =
lang=3D"EN-GB" style=3D"font-size:11pt">scene 1</span><span lang=3D"ZH-CN" =
style=3D"font-size:11pt">=E2=80=9D</span><span lang=3D"EN-GB" style=3D"font=
-size:11pt">,
 the config change is accepted because the result of the config datastore a=
fter the edit-config has been applied is valid.</span><span lang=3D"EN-US">=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span lang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=9C</span><span =
lang=3D"EN-GB" style=3D"font-size:11pt">scene 2</span><span lang=3D"ZH-CN" =
style=3D"font-size:11pt">=E2=80=9D</span><span lang=3D"EN-GB" style=3D"font=
-size:11pt">,
 the config change is rejected because the result of the config datastore a=
fter the edit-config has been applied is invalid.</span><span lang=3D"EN-US=
"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0
 E.g. if the RPC was defined something like below, then the </span><span la=
ng=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=98</span><span lang=3D"EN-GB" =
style=3D"font-size:11pt">when</span><span lang=3D"ZH-CN" style=3D"font-size=
:11pt">=E2=80=99</span><span lang=3D"EN-GB" style=3D"font-size:11pt">
 rule in 8.3.1 would enforce that a zip-code can only be provided if the co=
untry is the USA.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-US"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-US"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-US"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-US"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-US"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about </span><span l=
ang=3D"ZH-CN" style=3D"font-size:11pt">=E2=80=98</span><span lang=3D"EN-US"=
 style=3D"font-size:11pt">when</span><span lang=3D"ZH-CN" style=3D"font-siz=
e:11pt">=E2=80=99</span><span lang=3D"EN-US"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0</span><span lang=3D"EN-U=
S"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,<u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span><span lang=3D"ZH-CN">=EF=BC=9A</span><span lang=
=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 Configuration Data Modi=
fications</span><span lang=3D"EN-US"><u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-US"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><span lang=3D"EN-US" style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0=
 Payload Parsing</span><span lang=3D"EN-US"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_-1371560784247=
913107_m_6264066750282380241_m_-7080609217597534168_m_-17466581510943"></a>=
<span lang=3D"EN-US" style=3D"font-size:10pt;font-family:&quot;Courier New&=
quot;;color:black">.=C2=A0
 NETCONF &lt;edit-config&gt; Processing</span><span lang=3D"EN-US"><u></u><=
u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-US"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-US"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-US"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span><span lang=3D=
"ZH-CN">=EF=BC=9A</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {<u></u><u></u></spa=
n></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US">foo</span>=
<span lang=3D"ZH-CN">=E2=80=9D</span><span lang=3D"EN-US">;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {</span><span lang=3D"ZH-CN">=E2=80=A6</span><s=
pan lang=3D"EN-US">}<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When </span><span lang=3D"ZH-CN">=E2=80=9C</spa=
n><span lang=3D"EN-US">a =3D 10</span><span lang=3D"ZH-CN">=E2=80=9D</span>=
<span lang=3D"EN-US">;<u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}<u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: <u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;3&lt;/a&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;10&lt;/a&gt;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;5&lt;/b&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s
 value in candidate datastore is 3,so leaf b</span><span lang=3D"ZH-CN" sty=
le=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-si=
ze:14pt">s when condition is evaluated to false, server will report
</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=98</span><span =
lang=3D"EN-US" style=3D"font-size:14pt">unknown-element</span><span lang=3D=
"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=
=3D"font-size:14pt">
 error.</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:<u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;10&lt;/a&gt;<u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;<u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;<u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;3&lt;/a&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span><span lang=3D"ZH-CN">=E2=80=9C</span><span lang=3D"EN-US"><a href=3D=
"http://foo.com" target=3D"_blank">http://foo.com</a></span><span lang=3D"Z=
H-CN">=E2=80=9D</span><span lang=3D"EN-US">&gt;5&lt;/b&gt;<u></u><u></u></s=
pan></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;<u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;<u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s
 value in candidate datastore is 10, so leaf b</span><span lang=3D"ZH-CN" s=
tyle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-=
size:14pt">s when condition is evaluated to true, server will accept
 this request in payload parsing phase. </span><span lang=3D"EN-US"><u></u>=
<u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a</span><span lang=3D"ZH-CN" sty=
le=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-si=
ze:14pt">s
 modification is processed firstly, the a</span><span lang=3D"ZH-CN" style=
=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size=
:14pt">s value will be changed to 3, so the b</span><span lang=3D"ZH-CN" st=
yle=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-s=
ize:14pt">s
 when condition will be false, when server process b</span><span lang=3D"ZH=
-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D=
"font-size:14pt">s modification, b will be treated as unknown-element,
 the edit-config request will fail. </span><span lang=3D"EN-US"><u></u><u><=
/u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><sp=
an lang=3D"EN-US" style=3D"font-size:14pt">s
 modification is processed firstly, server will accept this modification ,b=
ecause b</span><span lang=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</spa=
n><span lang=3D"EN-US" style=3D"font-size:14pt">s when condition
 is true, and when server process a</span><span lang=3D"ZH-CN" style=3D"fon=
t-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">=
s modification , this modification will be accepted, and b</span><span lang=
=3D"ZH-CN" style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" st=
yle=3D"font-size:14pt">s
 when condition will be evaluated to false, leaf b will be deleted automati=
cally, the edit-config request will be OK.</span><span lang=3D"EN-US"><u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-US"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-US"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>

</blockquote></div></div>
</blockquote></div></div>

--000000000000800584059362c0b4--

--000000000000800585059362c0b5
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d6924396e4cff311>
X-Attachment-Id: 16d6924396e4cff311

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
YII=
--000000000000800585059362c0b5--


From nobody Wed Sep 25 09:15:44 2019
Return-Path: <internet-drafts@ietf.org>
X-Original-To: netmod@ietf.org
Delivered-To: netmod@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id E9D5B120072; Wed, 25 Sep 2019 09:15:35 -0700 (PDT)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
From: internet-drafts@ietf.org
To: <i-d-announce@ietf.org>
Cc: netmod@ietf.org
X-Test-IDTracker: no
X-IETF-IDTracker: 6.102.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: netmod@ietf.org
Message-ID: <156942813583.28879.894232837346561087@ietfa.amsl.com>
Date: Wed, 25 Sep 2019 09:15:35 -0700
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/aO3Tcuyl4iYP_2V920bDM4_65-c>
Subject: [netmod] I-D Action: draft-ietf-netmod-module-tags-09.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 16:15:36 -0000

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Network Modeling WG of the IETF.

        Title           : YANG Module Tags
        Authors         : Christian Hopps
                          Lou Berger
                          Dean Bogdanovic
	Filename        : draft-ietf-netmod-module-tags-09.txt
	Pages           : 18
	Date            : 2019-09-25

Abstract:
   This document provides for the association of tags with YANG modules.
   The expectation is for such tags to be used to help classify and
   organize modules.  A method for defining, reading and writing a
   modules tags is provided.  Tags may be registered and assigned during
   module definition; assigned by implementations; or dynamically
   defined and set by users.  This document also provides guidance to
   future model writers; as such, this document updates RFC8407.


The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-netmod-module-tags/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-netmod-module-tags-09
https://datatracker.ietf.org/doc/html/draft-ietf-netmod-module-tags-09

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-netmod-module-tags-09


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

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


From nobody Wed Sep 25 09:19:17 2019
Return-Path: <chopps@chopps.org>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 27D671201B7 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:19:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 LDCLKEKZXADZ for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:19:02 -0700 (PDT)
Received: from smtp.chopps.org (smtp.chopps.org [54.88.81.56]) by ietfa.amsl.com (Postfix) with ESMTP id 41C8A1200E5 for <netmod@ietf.org>; Wed, 25 Sep 2019 09:19:02 -0700 (PDT)
Received: from stubbs.int.chopps.org (unknown [172.222.100.236]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by smtp.chopps.org (Postfix) with ESMTPSA id B207960199; Wed, 25 Sep 2019 12:19:01 -0400 (EDT)
From: Christian Hopps <chopps@chopps.org>
Message-Id: <8F9EDBC3-EB9C-452E-9091-03DBBC735CAB@chopps.org>
Content-Type: multipart/signed; boundary="Apple-Mail=_0A2181EC-5DE5-4932-9B4C-AEEA15F595D5"; protocol="application/pgp-signature"; micalg=pgp-sha512
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Date: Wed, 25 Sep 2019 12:19:00 -0400
In-Reply-To: <156942813583.28879.894232837346561087@ietfa.amsl.com>
To: netmod@ietf.org
References: <156942813583.28879.894232837346561087@ietfa.amsl.com>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/iwUgDrv9jMOPRdqUSyFjpqD0gRM>
Subject: Re: [netmod] I-D Action: draft-ietf-netmod-module-tags-09.txt
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 16:19:16 -0000

--Apple-Mail=_0A2181EC-5DE5-4932-9B4C-AEEA15F595D5
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

This adds the deprecated non-NMDA state module.

Thanks,
Chris.

> On Sep 25, 2019, at 12:15 PM, internet-drafts@ietf.org wrote:
>=20
>=20
> A New Internet-Draft is available from the on-line Internet-Drafts =
directories.
> This draft is a work item of the Network Modeling WG of the IETF.
>=20
>        Title           : YANG Module Tags
>        Authors         : Christian Hopps
>                          Lou Berger
>                          Dean Bogdanovic
> 	Filename        : draft-ietf-netmod-module-tags-09.txt
> 	Pages           : 18
> 	Date            : 2019-09-25
>=20
> Abstract:
>   This document provides for the association of tags with YANG =
modules.
>   The expectation is for such tags to be used to help classify and
>   organize modules.  A method for defining, reading and writing a
>   modules tags is provided.  Tags may be registered and assigned =
during
>   module definition; assigned by implementations; or dynamically
>   defined and set by users.  This document also provides guidance to
>   future model writers; as such, this document updates RFC8407.
>=20
>=20
> The IETF datatracker status page for this draft is:
> https://datatracker.ietf.org/doc/draft-ietf-netmod-module-tags/
>=20
> There are also htmlized versions available at:
> https://tools.ietf.org/html/draft-ietf-netmod-module-tags-09
> https://datatracker.ietf.org/doc/html/draft-ietf-netmod-module-tags-09
>=20
> A diff from the previous version is available at:
> https://www.ietf.org/rfcdiff?url2=3Ddraft-ietf-netmod-module-tags-09
>=20
>=20
> Please note that it may take a couple of minutes from the time of =
submission
> until the htmlized version and diff are available at tools.ietf.org.
>=20
> Internet-Drafts are also available by anonymous FTP at:
> ftp://ftp.ietf.org/internet-drafts/
>=20
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>=20


--Apple-Mail=_0A2181EC-5DE5-4932-9B4C-AEEA15F595D5
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEm56yH/NF+m1FHa6lLh2DDte4MCUFAl2Lk3QACgkQLh2DDte4
MCVCFg/+OADEZkFWUN5/juPv45nIuctOiFlbLfWWJnn1ldqhg9tyA4E8qMtW1Qcr
nDJmRj2q8QzjVdJQjYaWQgGYvwEx1NnKRSp2r5QuudelRnfcbsvIIUoA2UTpmr/V
ruxgOYZp1Rjhbh+DDosboMcuKayZYh3ipyM071lHvM3zc97/T6Bw8/cAgAVOGrpD
dHygFLRIC70wtCdX2sNX5xbexw/HtZIe+w/sGo0/vAaJ0T+zxgmgf5YtZn5mPh6U
dAsie/5ASisYj8jW/gNz2G6GAIAWYnQEkfQBGzk6aX5U2wiKXQbV9w9si3tIIbv7
FWPwdwMQx8Firf/Q2IH69mX77LrFf1i13uxVuiTObVDmj5Mva9zHeNtag6NzEvc6
jIxmFONjiZby7SUjz7pRRshwcVUXKCjEj3UsuQ0vUPkTGOD3bfcJmBv6rdWvfKMC
BB4RJoDylF/TEk/z7euy634Pf8Fgoy8smvw1ja2wMtZg9KXr9RFPCyenmOQ4fJJL
mJU9BY+zF6gLvTXrsh4fg2lKulOcEFwo7l1FZSvv7lGhRkU3BEVMM8wyLghc8tzW
lMKhtoLQn7tP+/xPlq17tK8CZE7JZ6kzFOA7SUSrGeC1aFwTXDksrkuWPG0KoOa1
ALVlMUjsQ53hgycCasD4UsjAdCUQeGyJddzcdUb/i+VB1zMGyHc=
=BUUX
-----END PGP SIGNATURE-----

--Apple-Mail=_0A2181EC-5DE5-4932-9B4C-AEEA15F595D5--


From nobody Wed Sep 25 09:20:57 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AC519120013 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:20:44 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 Xoe11jI6eDgs for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 09:20:42 -0700 (PDT)
Received: from mail-io1-xd2a.google.com (mail-io1-xd2a.google.com [IPv6:2607:f8b0:4864:20::d2a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 20DF2120824 for <netmod@ietf.org>; Wed, 25 Sep 2019 09:20:42 -0700 (PDT)
Received: by mail-io1-xd2a.google.com with SMTP id j4so192301iog.11 for <netmod@ietf.org>; Wed, 25 Sep 2019 09:20:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=l0zi10mlUjm7gb12xDNsUyxofUNSpc8El/IB5DwWQX0=; b=jX6n2Muz3Hd/ak4Qn/+AtbOr3sYdSjOJKnh5J+iuVKfybxDq1He9ULS6/h5hVdO9u/ xpDIhUmUEkxFCxlqMkwkfnniG8ASceE8ZOB1Ku7mBS/AW4M6+VsD/PBP8ynAe4FTKnX8 A5MPvDreNPO2vIn5E4kn16Lcqht87PcrigBIJUf6+SOmCISXwLmYILqKUXHfPVdTAs8p ytZPCKxFqMiD2WR6TFS5ZdDBQO4S8/fpkpqUYsxWfr0osqZAzcKFnRs3PAYu8obWDdxX XyVHgCL07NJ8zh8hRuTjfU/eqY8xBdJC/c9z0H6665w6PkYRklUz5ZH744tJFdTD873x 7NjA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=l0zi10mlUjm7gb12xDNsUyxofUNSpc8El/IB5DwWQX0=; b=CzhjSLEcp4b9AUSPGjbf46+JeVR9jO5Tyx4/AbIZ74s/hTz9Ye+2OECtvjE+7wlUOq 031dTKxgHsHMUeavDJzu8/pmD7zfALXkTZPeH7aRnwMqY6ZhX44baE581KeiOuVRhdjK RPKe5siAw69LUgOaA4iDyysYd4vRJIqtLs9JcGiFL5QvdFduD1tOpgcHLtLHPYrpnqhK LEDIVwj/2qTNuSEgg8urzK961LWWsaDFguFteCO/RqlGcUHGilft6JOMzohzrbn5Maqm VDRshXcpZZ7+hakxwtUCtOai/0JSuKZhYIXy4c7eZNR+qqjaKELHunLCEzk4FnYEEDf5 DJ7w==
X-Gm-Message-State: APjAAAUpJ0LDrrztAwntVq4RPQ1+f0NlbVaG55GQpeBeVVr+H29P4b86 X5XQGjKnUGKKPswk9ScC3ki3WdbhRzvX+7il+RULSg==
X-Google-Smtp-Source: APXvYqwFBqPJ2HfG2P9DM8QXojBljJ8dJWHcVzvic9sl14C5iT0BtodddPycELo3HuAIgodHgEBwNV07WwcCBTg2CXY=
X-Received: by 2002:a6b:9109:: with SMTP id t9mr211228iod.16.1569428440981; Wed, 25 Sep 2019 09:20:40 -0700 (PDT)
MIME-Version: 1.0
References: <VI1PR07MB3981888B6E7B657DD0E97F219B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
In-Reply-To: <VI1PR07MB3981888B6E7B657DD0E97F219B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Sep 2019 09:20:29 -0700
Message-ID: <CABCOCHT6yAtQ+tvzAUGLK77GDZJmjY+j809GTFTNswUaQXnjXQ@mail.gmail.com>
To: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000b9c2e805936308b4"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/5lu9SSNdsiaSOHvuP4zzh18s7sk>
Subject: Re: [netmod] evaluating 'when' statements with unconfigured leafs
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Sep 2019 16:20:55 -0000

--000000000000b9c2e805936308b4
Content-Type: text/plain; charset="UTF-8"

On Wed, Sep 25, 2019 at 8:37 AM Sterne, Jason (Nokia - CA/Ottawa) <
jason.sterne@nokia.com> wrote:

> Hi all,
>
>
>
> I saw some recent questions about 'when' statements. I had another one
> related to evaluating 'when' statements that involve leafs that don't
> currently have a value at all.
>
>
>
> leaf foo {
>
>     type enumeration {
>
>         enum val1;
>
>         enum val2;
>
>     }
>
> }
>
>
>
> leaf bar {
>
>     when "../foo != 'val2'";
>
>     type uint8;
>
> }
>
>
>
> Notice that foo does not have a default statement. So if no manager has
> set leaf foo, it doesn't exist in the config.
>
>
>
> In that case, does the "when" statement evaluate to 'true'  (i.e. leaf bar
> is allowed to have a value) ?
>
>
>

no


> i.e. assuming leaf foo is not set at all, is this accepted?
>
> <bar>23</bar>
>
>
>
> Or is there something special here because of the non-existence of leaf
> foo?
>
>
>

 correct.
An empty node-set does not always convert to am empty string.
So easy to tell XPath to do the wrong thing...

    when "../foo != 'val2'";

is not equivalent to

  when "string(../foo) != 'val2'";


If one object to be compared is a node-set and the other is a string, then
the comparison will be true if and only if there is a node in the node-set
such that the result of performing the comparison on the string-value
<https://www.w3.org/TR/1999/REC-xpath-19991116/#dt-string-value> of the
node and the other string is true.


Andy

If the "when" evaluates to 'false', then does the following "when" evaluate
> differently than the one above?
>
>     when "not(../foo = 'val2')";
>
>
>
> Jason
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>

--000000000000b9c2e805936308b4
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Sep 25, 2019 at 8:37 AM Stern=
e, Jason (Nokia - CA/Ottawa) &lt;<a href=3D"mailto:jason.sterne@nokia.com">=
jason.sterne@nokia.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex">





<div lang=3D"EN-CA">
<div class=3D"gmail-m_2120463957888275657WordSection1">
<p class=3D"MsoNormal">Hi all,<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">I saw some recent questions about &#39;when&#39; sta=
tements. I had another one related to evaluating &#39;when&#39; statements =
that involve leafs that don&#39;t currently have a value at all.<u></u><u><=
/u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">leaf foo {<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 type enumeration {<u></u><u></u><=
/p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 enum val1=
;<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0enum val2=
;<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 }<u></u><u></u></p>
<p class=3D"MsoNormal">}<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">leaf bar {<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 when &quot;../foo !=3D &#39;val2&=
#39;&quot;;<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 type uint8;<u></u><u></u></p>
<p class=3D"MsoNormal">}<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Notice that foo does not have a default statement. S=
o if no manager has set leaf foo, it doesn&#39;t exist in the config.<u></u=
><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">In that case, does the &quot;when&quot; statement ev=
aluate to &#39;true&#39; =C2=A0(i.e. leaf bar is allowed to have a value) ?=
<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0</p></div></div></blockquote><div><br><=
/div><div>no</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=
=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding=
-left:1ex"><div lang=3D"EN-CA"><div class=3D"gmail-m_2120463957888275657Wor=
dSection1"><p class=3D"MsoNormal"><u></u></p>
<p class=3D"MsoNormal">i.e. assuming leaf foo is not set at all, is this ac=
cepted?<u></u><u></u></p>
<p class=3D"MsoNormal">&lt;bar&gt;23&lt;/bar&gt;<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Or is there something special here because of the no=
n-existence of leaf foo?<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0</p></div></div></blockquote><div><br><=
/div><div>=C2=A0correct.</div><div>An empty node-set does not always conver=
t to am empty string.</div><div>So easy to tell XPath to do the wrong thing=
...</div><div><br></div><div>=C2=A0=C2=A0=C2=A0 when &quot;../foo !=3D &#39=
;val2&#39;&quot;;</div><div><br></div><div>is not equivalent to</div><div><=
br></div><div>=C2=A0 when &quot;string(../foo) !=3D &#39;val2&#39;&quot;;<b=
r></div><div><br></div><div><br></div><div><span style=3D"color:rgb(0,0,0);=
font-family:sans-serif;font-size:medium">If one object to be compared is a =
node-set and the other is a string, then the comparison will be true if and=
 only if there is a node in the node-set such that the result of performing=
 the comparison on the=C2=A0</span><a href=3D"https://www.w3.org/TR/1999/RE=
C-xpath-19991116/#dt-string-value" style=3D"color:rgb(102,0,153);background=
-image:initial;background-position:initial;background-size:initial;backgrou=
nd-repeat:initial;background-origin:initial;background-clip:initial;font-fa=
mily:sans-serif;font-size:medium">string-value</a><span style=3D"color:rgb(=
0,0,0);font-family:sans-serif;font-size:medium">=C2=A0of the node and the o=
ther string is true.</span><br></div><div><span style=3D"color:rgb(0,0,0);f=
ont-family:sans-serif;font-size:medium"><br></span></div><div><br></div><di=
v>Andy</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margi=
n:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex=
"><div lang=3D"EN-CA"><div class=3D"gmail-m_2120463957888275657WordSection1=
"><p class=3D"MsoNormal"><u></u></p>
<p class=3D"MsoNormal">If the &quot;when&quot; evaluates to &#39;false&#39;=
, then does the following &quot;when&quot; evaluate differently than the on=
e above?<u></u><u></u></p>
<p class=3D"MsoNormal">=C2=A0=C2=A0=C2=A0 when &quot;not(../foo =3D &#39;va=
l2&#39;)&quot;;<u></u><u></u></p>
<p class=3D"MsoNormal"><u></u>=C2=A0<u></u></p>
<p class=3D"MsoNormal">Jason<u></u><u></u></p>
</div>
</div>

_______________________________________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"noreferrer"=
 target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br>
</blockquote></div></div>

--000000000000b9c2e805936308b4--


From nobody Wed Sep 25 19:55:34 2019
Return-Path: <bill.wu@huawei.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 09B3912004C for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 19:55:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Level: 
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 P_JNvzUoHEdi for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 19:55:27 -0700 (PDT)
Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 95FCB120033 for <netmod@ietf.org>; Wed, 25 Sep 2019 19:55:26 -0700 (PDT)
Received: from LHREML711-CAH.china.huawei.com (unknown [172.18.7.108]) by Forcepoint Email with ESMTP id 146AD10EE28C68AEC8F for <netmod@ietf.org>; Thu, 26 Sep 2019 03:55:24 +0100 (IST)
Received: from lhreml708-chm.china.huawei.com (10.201.108.57) by LHREML711-CAH.china.huawei.com (10.201.108.34) with Microsoft SMTP Server (TLS) id 14.3.408.0; Thu, 26 Sep 2019 03:55:23 +0100
Received: from lhreml708-chm.china.huawei.com (10.201.108.57) by lhreml708-chm.china.huawei.com (10.201.108.57) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1713.5; Thu, 26 Sep 2019 03:55:23 +0100
Received: from DGGEML423-HUB.china.huawei.com (10.1.199.40) by lhreml708-chm.china.huawei.com (10.201.108.57) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA_P256) id 15.1.1713.5 via Frontend Transport; Thu, 26 Sep 2019 03:55:23 +0100
Received: from DGGEML511-MBS.china.huawei.com ([169.254.4.185]) by dggeml423-hub.china.huawei.com ([10.1.199.40]) with mapi id 14.03.0439.000; Thu, 26 Sep 2019 10:54:45 +0800
From: Qin Wu <bill.wu@huawei.com>
To: Andy Bierman <andy@yumaworks.com>, "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>
CC: "Fengchong (frank)" <frank.fengchong@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxl?= =?utf-8?B?bWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
Thread-Index: AQHVc7pFWtlcccOC1kWw5QAXokjBRac8BxWAgAEyibA=
Date: Thu, 26 Sep 2019 02:54:45 +0000
Message-ID: <B8F9A780D330094D99AF023C5877DABAA932351C@dggeml511-mbs.china.huawei.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com> <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com> <CABCOCHQcdz-5eNm+WZyFw7++XBtgk1xomuxKindsLavrpy3fGQ@mail.gmail.com>
In-Reply-To: <CABCOCHQcdz-5eNm+WZyFw7++XBtgk1xomuxKindsLavrpy3fGQ@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator: 
x-originating-ip: [10.134.31.203]
Content-Type: multipart/related; boundary="_004_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/SKhMNGDeLZOXSURdgaGKSaC3cZE>
Subject: [netmod] =?utf-8?b?562U5aSNOiAg562U5aSNOiDnrZTlpI06IFBsZWFzZSBj?= =?utf-8?q?larify_implementation_about_=E2=80=98when=E2=80=99?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 02:55:32 -0000

--_004_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_
Content-Type: multipart/alternative;
 boundary="_000_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_"

--_000_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

5Y+R5Lu25Lq6OiBBbmR5IEJpZXJtYW4gW21haWx0bzphbmR5QHl1bWF3b3Jrcy5jb21dDQrlj5Hp
gIHml7bpl7Q6IDIwMTnlubQ55pyIMjbml6UgMDowMA0K5pS25Lu25Lq6OiBTdGVybmUsIEphc29u
IChOb2tpYSAtIENBL090dGF3YSkgPGphc29uLnN0ZXJuZUBub2tpYS5jb20+DQrmioTpgIE6IFFp
biBXdSA8YmlsbC53dUBodWF3ZWkuY29tPjsgRmVuZ2Nob25nIChmcmFuaykgPGZyYW5rLmZlbmdj
aG9uZ0BodWF3ZWkuY29tPjsgbmV0bW9kQGlldGYub3JnOyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdl
aS5jb20+DQrkuLvpopg6IFJlOiBbbmV0bW9kXSDnrZTlpI06IOetlOWkjTogUGxlYXNlIGNsYXJp
ZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQoNCg0KT24gV2VkLCBTZXAgMjUs
IDIwMTkgYXQgODo1OSBBTSBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86
YW5keUB5dW1hd29ya3MuY29tPj4gd3JvdGU6DQoNCg0KT24gV2VkLCBTZXAgMjUsIDIwMTkgYXQg
ODo0NCBBTSBTdGVybmUsIEphc29uIChOb2tpYSAtIENBL090dGF3YSkgPGphc29uLnN0ZXJuZUBu
b2tpYS5jb208bWFpbHRvOmphc29uLnN0ZXJuZUBub2tpYS5jb20+PiB3cm90ZToNClByb2Nlc3Np
bmcgb3JkZXIgc2hvdWxkIG5vdCBtYXR0ZXIuIFRoZSBldmFsdWF0aW9uIG9mIHRoZSAnd2hlbicg
c3RhdGVtZW50IHNob3VsZCBiZSBkb25lIGFzc3VtaW5nIGFuIGF0b21pYyBhcHBsaWNhdGlvbiBv
ZiB0aGUgZWRpdC1jb25maWcuDQoNCkkgYWdyZWUgdGhhdCBhIHN0YW5kYXJkcyBjb21wbGlhbnQg
c2VydmVyIHNob3VsZCBkbyBhcyBSb2Igc2FpZDoNCg0KLSBGb3Ig4oCcc2NlbmUgMeKAnSwgdGhl
IGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25m
aWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZh
bGlkLg0KLSBGb3Ig4oCcc2NlbmUgMuKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgcmVqZWN0ZWQg
YmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZSBlZGl0
LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuDQoNCkZyb20gYW4gaW1wbGVtZW50
YXRpb24gdGhhdCBtYXkgaW5kZWVkIG1lYW4gcHJvY2Vzc2luZyB0aGUgJ3doZW4nIGFmdGVyIGEg
Zmlyc3QgcGFzcyB0aGF0IHNldHMgdGhlIHZhcmlvdXMgbGVhZnMgdG8gdGVudGF0aXZlIHZhbHVl
cy4gQnV0IHRoYXQncyBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuDQoNCklNTyB0aGUgYXV0by1jbGVh
cmluZyBiZWhhdmlvciBvZiAnd2hlbicgbWF5IGJlIGNvbXBsaWNhdGVkIGJ1dCB0aGF0IGlzIGhv
dyBpdCBpcyBkZWZpbmVkIChzYW1lIHdpdGggJ2Nob2ljZScpLiBDbGllbnRzIGNhbiBhbmQgc2hv
dWxkIGRlcGVuZCBvbiB0aGluZ3MgYmVpbmcgYXV0b21hdGljYWxseSBkZWxldGVkLiBJZiB5b3Ug
d2FudCB2YWxpZGF0aW9uIGVycm9ycyAoaS5lLiBmb3JjZSB0aGUgY2xpZW50IHRvIGNsZWFyIGFs
bCB0aGUgZGVwZW5kYW50IGxlYWZzIGluc3RlYWQgb2YgYXV0by1jbGVhcmluZykgdGhlbiB1c2Ug
YSAnbXVzdCcgc3RhdGVtZW50Lg0KDQpbUWluXTogR29vZCBjbGFyaWZpY2F0aW9uLg0KDQorMQ0K
DQpZQU5HIGNsZWFybHkgZGVmaW5lcyAibXVzdCIgYW5kICJ3aGVuIiB3aXRoIGRpZmZlcmVudCBi
ZWhhdmlvci4NCkEgc2VydmVyIHRoYXQgZG9lcyBub3QgaW1wbGVtZW50IHRoZSBhdXRvLWRlbGV0
ZSBhc3BlY3RzIG9mIHdoZW4tc3RtdCBpcyBub3QgY29tcGxpYW50IHRvIHRoZSBSRkMuDQoNCg0K
DQpvb3BzIC0tIHMvbXVzdC1zdG10L3doZW4tc3RtdC8NCg0KW1Fpbl06IGltcGxlbWVudCB0aGUg
YXV0by1kZWxldGUgYXNwZWN0cyBvZiBtdXN0LXN0bXQgaXMgYSBtdXN0IGZvciBzZXJ2ZXIgb3Ig
aW1wbGVtZW50IGNsaWVudCBmb3JjZSBkZWxldGUgYXNwZWN0cyBvZiBtdXN0IHN0bXQgaXMgYSBt
dXN0IGZvciBhIHNlcnZlcj8NClNvIGZvciBib3RoICDigJxzY2VuZSAx4oCdIGFuZCDigJxzY2Vu
ZSAy4oCdLCB0aGUgY2xpZW50IHdpbGwgbm90IHJlY2VpdmUgdmFsaWRhdGlvbiBlcnJvciB1bmxl
c3Mgd2hlbiBzdGF0ZW1lbnQgaXMgcmVwbGFjZWQgd2l0aCBtdXN0IHN0YXRlbWVudCBpbiB0aGUg
YmVsb3cgZXhhbXBsZSBtb2RlbD8NCkkgdGhvdWdodCB2YWxpZGF0aW9uIGVycm9yIHdpbGwgc3Rp
bGwgYmUgcmVjZWl2ZWQgd2hlbiB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3QgaW4g4oCcc2Nl
bmUgMuKAnS4NCkphc29uDQoNCkFuZHkNCg0KDQpGcm9tOiBuZXRtb2QgPG5ldG1vZC1ib3VuY2Vz
QGlldGYub3JnPG1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZz4+IE9uIEJlaGFsZiBPZiBR
aW4gV3UNClNlbnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAxMCwgMjAxOSAxMDozMyBQTQ0KVG86IEZl
bmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsu
ZmVuZ2Nob25nQGh1YXdlaS5jb20+PjsgQW5keSBCaWVybWFuIDxhbmR5QHl1bWF3b3Jrcy5jb208
bWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbT4+DQpDYzogbmV0bW9kQGlldGYub3JnPG1haWx0bzpu
ZXRtb2RAaWV0Zi5vcmc+OyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb208bWFpbHRvOnlhbmdh
bmdAaHVhd2VpLmNvbT4+DQpTdWJqZWN0OiBbbmV0bW9kXSDnrZTlpI06IOetlOWkjTogUGxlYXNl
IGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpXaHkgcHJvY2Vzc2lu
ZyBvcmRlciBtYXR0ZXI/IE15IGludGVycHJldGF0aW9uIGlzIGJvdGggbGVhZiBub2RlIHZhbHVl
cyAoaS5lLixsZWFmIGEsIGxlYWYgYikgc2hvdWxkIGJlIHZhbGlkYXRlZCB0b2dldGhlciBhbmQg
Y29tbWl0IGFzIGEgd2hvbGUsDQpSRkM2MjQxIHNhaWQ6DQrigJwNCklmIHRoZSBkZXZpY2UgaXMg
dW5hYmxlIHRvIGNvbW1pdCBhbGwgb2YgdGhlIGNoYW5nZXMgaW4gdGhlDQogICAgICAgICBjYW5k
aWRhdGUgY29uZmlndXJhdGlvbiBkYXRhc3RvcmUsIHRoZW4gdGhlIHJ1bm5pbmcNCiAgICAgICAg
IGNvbmZpZ3VyYXRpb24gTVVTVCByZW1haW4gdW5jaGFuZ2VkLg0K4oCdDQpTbyB2YWxpZGF0ZSB0
aGUgbGVhZiBub2RlIHZhbHVlIGluIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IChtZXNzYWdlIGNv
bnRlbnQgdmFsaWRhdGlvbikgaXMgbm90IGltcG9ydGFudCwgdmFsaWRhdGUgdGhlIGxlYWYgbm9k
ZSB2YWx1ZSB0aGF0IGlzIGFwcGxpZWQgdG8gPHJ1bm5pbmc+IChkYXRhc3RvcmUgdmFsaWRhdGlv
bikgaXMgdGhlIGtleS4NCg0KDQpJIHRoaW5rIHdoYXQgeW91IHdhbnQgdG8gcmFpc2UgaXMgdGhl
IHNlcnZlciBzaG91bGQgaG9sZCBvbiB0byBzZW5kIHJlcGx5IHdpdGggYW4gInVua25vd24tZWxl
bWVudCIgPGVycm9yLXRhZz4gaW4gdGhlIDxycGMtZXJyb3I+IGR1cmluZyBwYXlsb2FkIHBhcnNp
bmcgcGhhc2UgYW5kIE5FVENPTkYgPGVkaXQtY29uZmlnPg0KDQpQcm9jZXNzaW5nIHVudGlsIGFs
bCB2YWxpZGF0aW9uIGNvbXBsZXRlLCBvdGhlcndpc2UgaXQgc2VlbXMgc2VydmVyIHdpbGwNCg0K
U2VuZCBtdWx0aXBsZSBycGx5IHdpdGggInVua25vd24tZWxlbWVudCIgPGVycm9yLXRhZz4gaW4g
dGhlIDxycGMtZXJyb3I+IHdoaWNoIHNlZW1zIG5vdCByZWFzb25hYmxlLg0KDQoNCg0KLVFpbg0K
5Y+R5Lu25Lq6OiBuZXRtb2QgW21haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZ10g5Luj6KGo
IEZlbmdjaG9uZyAoZnJhbmspDQrlj5HpgIHml7bpl7Q6IDIwMTnlubQ55pyIMTHml6UgOToyOQ0K
5pS25Lu25Lq6OiBBbmR5IEJpZXJtYW4gPGFuZHlAeXVtYXdvcmtzLmNvbTxtYWlsdG86YW5keUB5
dW1hd29ya3MuY29tPj4NCuaKhOmAgTogbmV0bW9kQGlldGYub3JnPG1haWx0bzpuZXRtb2RAaWV0
Zi5vcmc+OyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb208bWFpbHRvOnlhbmdhbmdAaHVhd2Vp
LmNvbT4+DQrkuLvpopg6IFtuZXRtb2RdIOetlOWkjTogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50
YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KDQpBbmR5LA0KDQpXaGV0aGVyIGRpZmZlcmVudCByZXN1
bHQgd291bGQgb2NjdXIgYWNjb3JkaW5nIGRpZmZlcmVudCBwcm9jZXNzIG9yZGVyPw0KQWNjb3Jk
aW5nIDguMy4yDQppZiBzZXJ2ZXIgcHJvY2VzcyDigJhhPSAz4oCZIGZpcnN0bHksIGIgd2lsbCBi
ZSBkZWxldGVkIGJ5IHN5c3RlbSBhbmQgYmVjb21lcyBhIG5vbi1leGlzdCBzY2hlbWEgbm9kZSwg
YW5kIHRoZW4gIHdoZW4g4oCYYj014oCZIGlzIHByb2Nlc3NlZCAsIHNlcnZlciB3aWxsIHJlcG9y
dCBhIOKAmHVua25vd24tZWxlbWVudOKAmSBlcnJvci4NCkJ1dCBpZiBzZXJ2ZXIgcHJvY2VzcyDi
gJhiPTXigJkgZmlyc3RseSwgaXQgd2lsbCBiZSBhY2NlcHRlZCBieSBzZXJ2ZXIsIGFuZCB0aGVu
IHdoZW4g4oCYYT0z4oCZIGlzIHByb2Nlc3NlZCwgYiB3aWxsIGJlIGRlbGV0ZWQgYnkgc3lzdGVt
LCBidXQgcmVwb3J0IE9LLg0KDQpJZiBzZWMgOC4zLjIgaXMgbm90IHJpZ2h0LiBXaGF0IGlzIHRo
ZSByaWdodD8NCldoZW4gbm9kZSBhIGFuZCBub2RlIGIgaW4gdGhlIHNhbWUgcmVxdWVzdCwgYW5k
IGIgdGFnZ2VkIHdoZW4gY29uZGl0aW9uLCBh4oCZcyB2YWx1ZSB3aWxsIGNhdXNlIGLigJlzIGNv
bmRpdGlvbiBpcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHdoaWNoIGlzIG1vcmUgcHJpb3I/DQpBY2Nv
cmRpbmcgeW91IGFuZCBSb2LigJlzIGludGVycHJldGF0aW9uICwgbWF5YmUgbm9kZSDigJlh4oCZ
IGlzIG1vcmUgcHJpb3I/IElmIHllcywgd2h5IG5vZGUg4oCYYuKAmSBzaG91bGQgYmUgcHJvY2Vz
c2VkIGxhdGVyPw0KDQpJIHRoaW5rIHdoZXRoZXIgaW4gZWRpdC1jb25maWcgcHJvY2Vzc2luZyBw
aGFzZSB0aGUgY29uZmlndXJhdGlvbiB0YWdnZWQgd2hlbiBzaG91bGQgbm90IGJlIGV2YWx1YXRl
ZCBhbmQgYmUgZGVsYXllZCB0byBjb21taXQgb3IgdmFsaWRhdGU/DQpXaGVuIGNvbW1pdCBvciB2
YWxpZGF0ZSBvcGVyYXRpb24gaXMgaXNzdWVkLCAgdGhlIGRhdGEgbm9kZSB0YWdnZWQgd2hlbiB3
aWxsIGJlIGV2YWx1YXRlZCwgYW5kIGlmIGl04oCZcyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoaXMg
ZGF0YSB3aWxsIGJlIGRlbGV0ZWQgYnkgc3lzdGVtIGltbWVkaWF0ZWx5LCBzZXJ2ZXIgc2hvdWxk
IG5vdCByZXBvcnQgYW55IGVycm9yLg0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fDQrljY7kuLrmioDmnK/mnInpmZDlhazlj7ggSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0
ZC4NCltDb21wYW55X2xvZ29dDQrkuKrkurrnrb7lkI3vvJrlhq/lhrINCuaJi+OAgOOAgOacuu+8
mjEzNzc2NjEyOTgzDQrnlLXlrZDpgq7ku7bvvJpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxt
YWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+DQrlhazlj7jnvZHlnYDvvJp3d3cuaHVh
d2VpLmNvbTxodHRwOi8vd3d3Lmh1YXdlaS5jb20+DQpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXw0K77u/IOacrOmCruS7tuWPiuWFtumZhOS7tuWQq+acieWNjuS4uuWFrOWPuOeahOS/
neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumdouWcsOWdgOS4reWIl+WHuueahOS4
quS6uuaIlue+pOe7hOOAguemgQ0K5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/
55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi2
44CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQrnmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbk
uobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrl
ubbliKDpmaTmnKzpgq7ku7bvvIENClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29u
dGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoDQppcyBpbnRl
bmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3Rl
ZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCmluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4g
YW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwN
CmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBv
dGhlciB0aGFuIHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlv
dSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIg
YnkNCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhDQoNCuWPkeS7tuS6
ujogQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29ya3MuY29tXQ0K5Y+R6YCB5pe26Ze0
OiAyMDE55bm0OeaciDEw5pelIDEwOjU2DQrmlLbku7bkuro6IEZlbmdjaG9uZyAoZnJhbmspIDxm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b20+Pg0K5oqE6YCBOiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFp
bHRvOnJ3aWx0b25AY2lzY28uY29tPj47IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGll
dGYub3JnPjsgWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdl
aS5jb20+Pg0K5Li76aKYOiBSZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRp
b24gYWJvdXQg4oCYd2hlbuKAmQ0KDQoNCg0KT24gTW9uLCBTZXAgOSwgMjAxOSBhdCA3OjQwIFBN
IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJh
bmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+PiB3cm90ZToNCkFuZHksDQpXaGV0aGVyIGFsbCBjb25z
dHJhaW50cyBvbiBjb250ZW50IGluIDxjb25maWc+IHBhcmFtZXRlciB3aWxsIG5vdCBiZSBldmFs
dWF0ZWQgaW4gcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCBmb3IgZXhhbXBsZSwgYSBsZWFm4oCZcyB2
YWx1ZSBleGNlZWQgcmFuZ2U/DQpOZXRjb25mIHNlcnZlciBzaG91bGQgdHJlYXQgaXQgYXMgYSBi
bG9jayBkYXRhPw0KDQoNCkZpZWxkIHZhbGlkYXRpb24gYW5kIGRhdGFzdG9yZSB2YWxpZGF0aW9u
IGFyZSAyIGRpZmZlcmVudCB0aGluZ3MuDQp3aGVuLXN0bXQgcHJvY2Vzc2luZyBpcyBuZWl0aGVy
LiBJdCBpcyBieSBmYXIgdGhlIGhhcmRlc3QgcGFydCBvZiBhbiBhdXRvbWF0ZWQgc2VydmVyIHRv
IGdldCByaWdodC4NCg0KQW5vdGhlciBxdWVzdGlvbjoNCg0KSW4gZWRpdC1jb25maWcgcHJvY2Vz
c2luZyBwaGFzZSwgd2hldGhlciBjb25zdHJhaW50cyBvbiBjb250ZW50IGluIDxjb25maWc+IHBh
cmFtZXRlciBuZWVkcyBiZSBldmFsdWF0ZWQ/DQpJZiB5ZXMsIHdoZW4gIGNvbmZpZ3VyYXRpb24g
bW9kaWZpY2F0aW9uIGNhdXNlIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwg
dGhlIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGRlbGV0ZWQgYnkgc3lz
dGVtLg0KVGhlbiwgaW4gc2NlbmUgMiwgd2hldGhlciBkaWZmZXJlbnQgcmVzdWx0IHdvdWxkIG9j
Y3VyIGFjY29yZGluZyBkaWZmZXJlbnQgcHJvY2VzcyBvcmRlcj8NCg0KDQpTaW5jZSB0aGUgPGNv
bmZpZz4gcGFyYW1ldGVyIGlzIGFueXhtbCwgdGhlIFlBTkcgY29uc3RyYWludHMgZGVmaW5lZCBv
biBkYXRhc3RvcmUgY29udGVudHMNCmFyZSBub3QgZW5mb3JjZWQgYXMgcGFydCBvZiBSUEMgaW5w
dXQgdmFsaWRhdGlvbi4NCg0KSXQgd291bGQgYmUgbmljZSBpZiBORVRDT05GIGRlZmluZWQgYmVo
YXZpb3IgZm9yIHByb3ZpZGluZyA8Y29uZmlnPiBkYXRhIHRoYXQgd2lsbCBnZXQgZGVsZXRlZA0K
aW1tZWRpYXRlbHkgYnkgdGhlIHNlcnZlci4gIFdlIGhhdmUgYSBDTEkgcGFyYW1ldGVyIGZvciB0
aGlzIHNpbmNlIHNvbWUgdmVuZG9ycyB3YW50IHRvDQp0cmVhdCB0aGlzIGFzIGFuIGVycm9yIGFu
ZCBvdGhlciBqdXN0IHNpbGVudGx5IGRlbGV0ZSBub2Rlcy4gIE5vdGUgdGhhdCB3aGVuLXN0bXQg
Y2FuIHNpbGVudGx5DQpkZWxldGUgZXhpc3Rpbmcgbm9kZXMgbm90IGluY2x1ZGVkIGluIHRoZSBl
ZGl0LiAoTGFkYSBkb2VzIG5vdCBhZ3JlZSB0aGlzIGlzIGhvdyBpdCBzaG91bGQgd29yaywNCnNv
IHdlIG5lZWQgeWFuZy1uZXh0IHRvIGRlY2lkZS4gTWF5YmUgTkVUQ09ORiBuZWVkcyBhIC0tZm9y
Y2UgcGFyYW1ldGVyIGZvciB0aGlzIHB1cnBvc2UuKQ0KDQoNCkFuZHkNCg0KDQoNCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fDQrljY7kuLrmioDmnK/mnInpmZDlhazlj7ggSHVhd2Vp
IFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCltDb21wYW55X2xvZ29dDQrkuKrkurrnrb7lkI3vvJrl
hq/lhrINCuaJi+OAgOOAgOacuu+8mjEzNzc2NjEyOTgzDQrnlLXlrZDpgq7ku7bvvJpmcmFuay5m
ZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+DQrl
hazlj7jnvZHlnYDvvJp3d3cuaHVhd2VpLmNvbTxodHRwOi8vd3d3Lmh1YXdlaS5jb20+DQpfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K77u/IOacrOmCruS7tuWPiuWFtumZhOS7tuWQ
q+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4iumd
ouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgQ0K5q2i5Lu75L2V5YW25LuW
5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo
5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQrnmoTkv6Hm
ga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbp
gq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIENClRoaXMgZS1tYWlsIGFu
ZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBI
VUFXRUksIHdoaWNoDQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3
aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCmluZm9ybWF0aW9u
IGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQg
dG8sIHRvdGFsIG9yIHBhcnRpYWwNCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2Vt
aW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50KHMp
IGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVh
c2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBk
ZWxldGUgaXQhDQoNCuWPkeS7tuS6ujogQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29y
a3MuY29tPG1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20+XQ0K5Y+R6YCB5pe26Ze0OiAyMDE55bm0
OeaciDEw5pelIDEwOjE5DQrmlLbku7bkuro6IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5n
Y2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+Pg0K5oqE
6YCBOiBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRvbkBjaXNjby5jb208bWFpbHRvOnJ3aWx0
b25AY2lzY28uY29tPj47IG5ldG1vZEBpZXRmLm9yZzxtYWlsdG86bmV0bW9kQGlldGYub3JnPjsg
WWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPG1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20+Pg0K
5Li76aKYOiBSZTogW25ldG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg
4oCYd2hlbuKAmQ0KDQoNCg0KT24gTW9uLCBTZXAgOSwgMjAxOSBhdCA3OjEwIFBNIEZlbmdjaG9u
ZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2No
b25nQGh1YXdlaS5jb20+PiB3cm90ZToNCkhpIGFuZHksDQoNCllvdSBvbmx5IHRhbGsgYWJvdXQg
dGhlIGNvbnN0cmFpbnRzIG9uIHJwYyBvcGVyYXRpb27igJlzIHBhcmFtZXRlcj8NCg0KRG8geW91
IGhhdmUgYW55IG9waW5pb24gYWJvdXQgbXkgcXVlc3Rpb24/DQoNCjguMy4xIGRvZXMgbm90IGFw
cGx5IHRvIGxlYWYgJ2InLg0KVGhlIFJQQyBwYXJhbWV0ZXIgaXMgY2FsbGVkICdjb25maWcnLg0K
SXQgaGFzIG5vIHdoZW4tc3RtdHMgdG8gZXZhbHVhdGUuDQpSb2IgaXMgY29ycmVjdC4NCkhpcyBl
eGFtcGxlIHNob3dzIHdoYXQgOC4zLjEgd291bGQgY292ZXIuDQoNCkFuZHkNCg0KDQoNCl9fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fDQrljY7kuLrmioDmnK/mnInpmZDlhazlj7ggSHVh
d2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCltDb21wYW55X2xvZ29dDQrkuKrkurrnrb7lkI3v
vJrlhq/lhrINCuaJi+OAgOOAgOacuu+8mjEzNzc2NjEyOTgzDQrnlLXlrZDpgq7ku7bvvJpmcmFu
ay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20+
DQrlhazlj7jnvZHlnYDvvJp3d3cuaHVhd2VpLmNvbTxodHRwOi8vd3d3Lmh1YXdlaS5jb20+DQpf
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K77u/IOacrOmCruS7tuWPiuWFtumZhOS7
tuWQq+acieWNjuS4uuWFrOWPuOeahOS/neWvhuS/oeaBr++8jOS7hemZkOS6juWPkemAgee7meS4
iumdouWcsOWdgOS4reWIl+WHuueahOS4quS6uuaIlue+pOe7hOOAguemgQ0K5q2i5Lu75L2V5YW2
5LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW
6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQrnmoTk
v6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53m
iJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bvvIENClRoaXMgZS1tYWls
IGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJv
bSBIVUFXRUksIHdoaWNoDQppcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0
eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUNCmluZm9ybWF0
aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0
ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwNCmRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlz
c2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50
KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBw
bGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkNCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFu
ZCBkZWxldGUgaXQhDQoNCuWPkeS7tuS6ujogQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1h
d29ya3MuY29tPG1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20+XQ0K5Y+R6YCB5pe26Ze0OiAyMDE5
5bm0OeaciDEw5pelIDE6MTQNCuaUtuS7tuS6ujogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0
b25AY2lzY28uY29tPG1haWx0bzpyd2lsdG9uQGNpc2NvLmNvbT4+DQrmioTpgIE6IEZlbmdjaG9u
ZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTxtYWlsdG86ZnJhbmsuZmVuZ2No
b25nQGh1YXdlaS5jb20+PjsgbmV0bW9kQGlldGYub3JnPG1haWx0bzpuZXRtb2RAaWV0Zi5vcmc+
OyBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb208bWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbT4+
DQrkuLvpopg6IFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91
dCDigJh3aGVu4oCZDQoNCkhpLA0KDQpOb25lIG9mIHRoZSBvcGVyYXRpb25zIHRoYXQgYWNjZXB0
IG9yIHJldHVybiBkYXRhc3RvcmUgY29udGVudHMgZXhwb3NlIHRoZSBkYXRhc3RvcmUgb2JqZWN0
cw0KaW4gdGhlIFJQQyBwYXJhbWV0ZXJzLiAgVGhleSBhcmUgYWx3YXlzIGFueXhtbCBvciBhbnlk
YXRhLiBUaGlzIG1lYW5zIHRoYXQNCnRoZXJlIGFyZSBubyBkZXNjZW5kYW50IGRhdGEgbm9kZXMg
ZGVmaW5lZCBhdCBhbGwgYWNjb3JkaW5nIHRvIHRoZSBSUEMgb3BlcmF0aW9uDQphbmQgdGhlcmVm
b3JlIHRoZSBjb25zdHJhaW50cyBvbiB0aG9zZSBub2RlcyBkbyBub3QgZXhpc3QgaW4gdGhlIFJQ
QyBvcGVyYXRpb24gZWl0aGVyLg0KDQoNCg0KT24gTW9uLCBTZXAgOSwgMjAxOSBhdCA2OjQxIEFN
IFJvYiBXaWx0b24gKHJ3aWx0b24pIDxyd2lsdG9uQGNpc2NvLmNvbTxtYWlsdG86cndpbHRvbkBj
aXNjby5jb20+PiB3cm90ZToNCkhpIEZyYW5rLA0KDQpNeSBpbnRlcnByZXRhdGlvbiBvZiB3aGF0
IHRoZSBleHBlY3RlZCBiZWhhdmlvdXIgaXMgYXMgZm9sbG93cy4NCg0KRm9yIOKAnHNjZW5lIDHi
gJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIGFjY2VwdGVkIGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0
aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRpdC1jb25maWcgaGFzIGJlZW4gYXBwbGll
ZCBpcyB2YWxpZC4NCg0KRm9yIOKAnHNjZW5lIDLigJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIHJl
amVjdGVkIGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0
aGUgZWRpdC1jb25maWcgaGFzIGJlZW4gYXBwbGllZCBpcyBpbnZhbGlkLg0KDQpNeSBpbnRlcnBy
ZXRhdGlvbiBpcyB0aGF0IHRoZSBibG9jayBvZiB0ZXh0IGluIDguMy4xIHBheWxvYWQgcGFyc2lu
ZyBpcyBwcmltYXJ5IGludGVuZGVkIHRvIHJlZmVyIHRvIFJGQyBpbnB1dC4gIEUuZy4gaWYgdGhl
IFJQQyB3YXMgZGVmaW5lZCBzb21ldGhpbmcgbGlrZSBiZWxvdywgdGhlbiB0aGUg4oCYd2hlbuKA
mSBydWxlIGluIDguMy4xIHdvdWxkIGVuZm9yY2UgdGhhdCBhIHppcC1jb2RlIGNhbiBvbmx5IGJl
IHByb3ZpZGVkIGlmIHRoZSBjb3VudHJ5IGlzIHRoZSBVU0EuDQoNCiAgICAgICBycGMgcm9jay10
aGUtaG91c2Ugew0KICAgICAgICAgaW5wdXQgew0KICAgICAgICAgICBsZWFmIGNvdW50cnkgew0K
ICAgICAgICAgICAgIHR5cGUgc3RyaW5nOw0KICAgICAgICAgICB9DQogICAgICAgICAgIGxlYWYg
emlwLWNvZGUgew0KICAgICAgICAgICAgIHdoZW4g4oCcLi4vY291bnRyeSA9IOKAmHVzYeKAmeKA
nTsNCiAgICAgICAgICAgICB0eXBlIHN0cmluZzsNCiAgICAgICAgICAgfQ0KICAgICAgICAgfQ0K
ICAgICAgIH0NCg0KVGhhbmtzLA0KUm9iDQoNCg0KDQpGcm9tOiBuZXRtb2QgPG5ldG1vZC1ib3Vu
Y2VzQGlldGYub3JnPG1haWx0bzpuZXRtb2QtYm91bmNlc0BpZXRmLm9yZz4+IE9uIEJlaGFsZiBP
ZiBGZW5nY2hvbmcgKGZyYW5rKQ0KU2VudDogMDYgU2VwdGVtYmVyIDIwMTkgMDg6MTkNClRvOiBu
ZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCkNjOiBZYW5nYW5nIDx5YW5n
YW5nQGh1YXdlaS5jb208bWFpbHRvOnlhbmdhbmdAaHVhd2VpLmNvbT4+DQpTdWJqZWN0OiBbbmV0
bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQoNCkhp
IGFsbCwNCg0KSW4gUkZDNzk1MCBzZWN0b24gOCwgc2V2ZXJhbCBkZXNjcmlwdGlvbiBhYm91dCB3
aGVu77yaDQpJbiBzZWN0aW9uIDguMjxodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1
MCNzZWN0aW9uLTguMj4uICBDb25maWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9ucw0KICAgbyAg
SWYgYSByZXF1ZXN0IG1vZGlmaWVzIGEgY29uZmlndXJhdGlvbiBkYXRhIG5vZGUgc3VjaCB0aGF0
IGFueQ0KICAgICAgbm9kZSdzICJ3aGVuIiBleHByZXNzaW9uIGJlY29tZXMgZmFsc2UsIHRoZW4g
dGhlIG5vZGUgaW4gdGhlIGRhdGENCiAgICAgIHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Np
b24gaXMgZGVsZXRlZCBieSB0aGUgc2VydmVyLg0KSW4gOC4zLjE8aHR0cHM6Ly90b29scy5pZXRm
Lm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMT4uICBQYXlsb2FkIFBhcnNpbmcNCg0KICAg
byAgSWYgZGF0YSBmb3IgYSBub2RlIHRhZ2dlZCB3aXRoICJ3aGVuIiBpcyBwcmVzZW50IGFuZCB0
aGUgIndoZW4iDQoNCiAgICAgIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gImZhbHNlIiwgdGhlIHNl
cnZlciBNVVNUIHJlcGx5IHdpdGggYW4NCg0KICAgICAgInVua25vd24tZWxlbWVudCIgPGVycm9y
LXRhZz4gaW4gdGhlIDxycGMtZXJyb3I+Lg0KDQpJbiA4LjMuMjxodHRwczovL3Rvb2xzLmlldGYu
b3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4yPi4gIE5FVENPTkYgPGVkaXQtY29uZmlnPiBQ
cm9jZXNzaW5nDQoNCk1vZGlmaWNhdGlvbiByZXF1ZXN0cyBmb3Igbm9kZXMgdGFnZ2VkIHdpdGgg
IndoZW4iLCBhbmQgdGhlICJ3aGVuIg0KDQogICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJm
YWxzZSIuICBJbiB0aGlzIGNhc2UsIHRoZSBzZXJ2ZXIgTVVTVA0KDQogICAgICByZXBseSB3aXRo
IGFuICJ1bmtub3duLWVsZW1lbnQiIDxlcnJvci10YWc+IGluIHRoZSA8cnBjLWVycm9yPi4NCg0K
WUFORyBtb2R1bGXvvJoNCm1vZHVsZSBmb28gew0KICAgbmFtZXNwYWNlIOKAnGh0dHA6Ly9mb28u
Y29t4oCdOw0KICAgcHJlZml4IOKAnGZvb+KAnTsNCkxlYWYgYSB74oCmfQ0KTGVhZiBiIHsNCiAg
V2hlbiDigJxhID0gMTDigJ07DQp9DQp9DQpTY2VuZSAxOg0KVGhlIGZpcnN0IGVkaXQtY29uZmln
IHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+
DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zv
by5jb23igJ0+MzwvYT4NCiAgIDwvY29uZmlnPg0KPC9lZGl0LWNvbmZpZz4NClRoaXMgcmVxdWVz
dCB3aWxsIHNldCBhID0gMy4NCg0KVGhlIHNlY29uZCByZXF1ZXN0Og0KPGVkaXQtY29uZmlnPg0K
ICAgPHRhcmdldD4NCiAgICAgIDxjYW5kaWRhdGUvPg0KICAgPC90YXJnZXQ+DQogICA8Y29uZmln
Pg0KICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjEwPC9hPg0KICAgICAgPGIg
eG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjU8L2I+DQogICA8L2NvbmZpZz4NCjwvZWRpdC1j
b25maWc+DQoNCkFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBheWxvYWQgcGFyc2luZyBwaGFzZSwg
dGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZSBkYXRhc3RvcmUgaXMgMyxzbyBsZWFmIGLigJlz
IHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byBmYWxzZSwgc2VydmVyIHdpbGwgcmVwb3J0
IOKAmHVua25vd24tZWxlbWVudOKAmSBlcnJvci4NCklzIGl0IGV4cGVjdGVkIGJ5IHVzZXI/DQpT
Y2VuZSAyOg0KVGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQog
ICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRpZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+
DQogICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MTA8L2E+DQogICA8L2NvbmZp
Zz4NCjwvZWRpdC1jb25maWc+DQpUaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDEwLg0KDQpUaGUg
c2Vjb25kIHJlcXVlc3Q6DQo8ZWRpdC1jb25maWc+DQogICA8dGFyZ2V0Pg0KICAgICAgPGNhbmRp
ZGF0ZS8+DQogICA8L3RhcmdldD4NCiAgIDxjb25maWc+DQogICAgICA8YSB4bWxucz0g4oCcaHR0
cDovL2Zvby5jb23igJ0+MzwvYT4NCiAgICAgIDxiIHhtbG5zPSDigJxodHRwOi8vZm9vLmNvbeKA
nT41PC9iPg0KICAgPC9jb25maWc+DQo8L2VkaXQtY29uZmlnPg0KQWNjb3JkaW5nIDguMy4xLCBp
biBycGMgcGF5bG9hZCBwYXJzaW5nIHBoYXNlLCB0aGUgYeKAmXMgdmFsdWUgaW4gY2FuZGlkYXRl
IGRhdGFzdG9yZSBpcyAxMCwgc28gbGVhZiBi4oCZcyB3aGVuIGNvbmRpdGlvbiBpcyBldmFsdWF0
ZWQgdG8gdHJ1ZSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMgcmVxdWVzdCBpbiBwYXlsb2FkIHBh
cnNpbmcgcGhhc2UuDQoNCkluIGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwg
aWYgbGVhZiBh4oCZcyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksIHRoZSBh4oCZ
cyB2YWx1ZSB3aWxsIGJlIGNoYW5nZWQgdG8gMywgc28gdGhlIGLigJlzIHdoZW4gY29uZGl0aW9u
IHdpbGwgYmUgZmFsc2UsIHdoZW4gc2VydmVyIHByb2Nlc3MgYuKAmXMgbW9kaWZpY2F0aW9uLCBi
IHdpbGwgYmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZpZyByZXF1
ZXN0IHdpbGwgZmFpbC4NCklmIGxlYWYgYuKAmXMgbW9kaWZpY2F0aW9uIGlzIHByb2Nlc3NlZCBm
aXJzdGx5LCBzZXJ2ZXIgd2lsbCBhY2NlcHQgdGhpcyBtb2RpZmljYXRpb24gLGJlY2F1c2UgYuKA
mXMgd2hlbiBjb25kaXRpb24gaXMgdHJ1ZSwgYW5kIHdoZW4gc2VydmVyIHByb2Nlc3MgYeKAmXMg
bW9kaWZpY2F0aW9uICwgdGhpcyBtb2RpZmljYXRpb24gd2lsbCBiZSBhY2NlcHRlZCwgYW5kIGLi
gJlzIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZXZhbHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2ls
bCBiZSBkZWxldGVkIGF1dG9tYXRpY2FsbHksIHRoZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwg
YmUgT0suDQoNCkhvdyBzZXJ2ZXIgc2hvdWxkIHByb2Nlc3MgdGhpcyBzaXR1YXRpb24/DQoNCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpuZXRtb2QgbWFp
bGluZyBsaXN0DQpuZXRtb2RAaWV0Zi5vcmc8bWFpbHRvOm5ldG1vZEBpZXRmLm9yZz4NCmh0dHBz
Oi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kDQo=

--_000_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_
Content-Type: text/html; charset="utf-8"
Content-Transfer-Encoding: base64

PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy
bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt
YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj
cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg
Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv
ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp
ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7
YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0
I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh
W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl
DQoJe2ZvbnQtZmFtaWx5OuWui+S9kzsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N
CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6Ik1TIEdvdGhpYyI7DQoJcGFub3NlLTE6MiAxMSA2
IDkgNyAyIDUgOCAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2FtYnJpYSBNYXRo
IjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZhY2UNCgl7Zm9udC1m
YW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9DQpAZm9udC1m
YWNlDQoJe2ZvbnQtZmFtaWx5OuW+rui9r+mbhem7kTsNCglwYW5vc2UtMToyIDExIDUgMyAyIDIg
NCAyIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OiJcQOW+rui9r+mbhem7kSI7DQoJ
cGFub3NlLTE6MiAxMSA1IDMgMiAyIDQgMiAyIDQ7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls
eToiXEDlrovkvZMiOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFj
ZQ0KCXtmb250LWZhbWlseTpUYWhvbWE7DQoJcGFub3NlLTE6MiAxMSA2IDQgMyA1IDQgNCAyIDQ7
fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEBNUyBHb3RoaWMiOw0KCXBhbm9zZS0xOjIg
MTEgNiA5IDcgMiA1IDggMiA0O30NCi8qIFN0eWxlIERlZmluaXRpb25zICovDQpwLk1zb05vcm1h
bCwgbGkuTXNvTm9ybWFsLCBkaXYuTXNvTm9ybWFsDQoJe21hcmdpbjowY207DQoJbWFyZ2luLWJv
dHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMi4wcHQ7DQoJZm9udC1mYW1pbHk65a6L5L2TO30N
CmgzDQoJe21zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1zdHlsZS1saW5rOiLmoIfpopggMyBD
aGFyIjsNCgltc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzsNCgltYXJnaW4tcmlnaHQ6MGNtOw0KCW1z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvOw0KCW1hcmdpbi1sZWZ0OjBjbTsNCglmb250LXNpemU6
MTMuNXB0Ow0KCWZvbnQtZmFtaWx5OuWui+S9kzt9DQpoNA0KCXttc28tc3R5bGUtcHJpb3JpdHk6
OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDQgQ2hhciI7DQoJbXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87DQoJbWFyZ2luLXJpZ2h0OjBjbTsNCgltc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzsN
CgltYXJnaW4tbGVmdDowY207DQoJZm9udC1zaXplOjEyLjBwdDsNCglmb250LWZhbWlseTrlrovk
vZM7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7
DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlzaXRlZCwg
c3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7DQoJY29s
b3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KcHJlDQoJe21zby1zdHls
ZS1wcmlvcml0eTo5OTsNCgltc28tc3R5bGUtbGluazoiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7
DQoJbWFyZ2luOjBjbTsNCgltYXJnaW4tYm90dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjEyLjBw
dDsNCglmb250LWZhbWlseTrlrovkvZM7fQ0Kc3Bhbi5IVE1MQ2hhcg0KCXttc28tc3R5bGUtbmFt
ZToiSFRNTCDpooTorr7moLzlvI8gQ2hhciI7DQoJbXNvLXN0eWxlLXByaW9yaXR5Ojk5Ow0KCW1z
by1zdHlsZS1saW5rOiJIVE1MIOmihOiuvuagvOW8jyI7DQoJZm9udC1mYW1pbHk6IkNvdXJpZXIg
TmV3Ijt9DQpzcGFuLjNDaGFyDQoJe21zby1zdHlsZS1uYW1lOiLmoIfpopggMyBDaGFyIjsNCglt
c28tc3R5bGUtcHJpb3JpdHk6OTsNCgltc28tc3R5bGUtbGluazoi5qCH6aKYIDMiOw0KCWZvbnQt
ZmFtaWx5OuWui+S9kzsNCglmb250LXdlaWdodDpib2xkO30NCnNwYW4uNENoYXINCgl7bXNvLXN0
eWxlLW5hbWU6Iuagh+mimCA0IENoYXIiOw0KCW1zby1zdHlsZS1wcmlvcml0eTo5Ow0KCW1zby1z
dHlsZS1saW5rOiLmoIfpopggNCI7DQoJZm9udC1mYW1pbHk6IkNhbGlicmkgTGlnaHQiLHNhbnMt
c2VyaWY7DQoJZm9udC13ZWlnaHQ6Ym9sZDt9DQpzcGFuLkVtYWlsU3R5bGUyMQ0KCXttc28tc3R5
bGUtdHlwZTpwZXJzb25hbC1yZXBseTsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJp
ZjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0DQoJe21zby1zdHlsZS10eXBlOmV4
cG9ydC1vbmx5Ow0KCWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmO30NCkBwYWdlIFdv
cmRTZWN0aW9uMQ0KCXtzaXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDkwLjBw
dCA3Mi4wcHQgOTAuMHB0O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7
fQ0KLS0+PC9zdHlsZT48IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMg
djpleHQ9ImVkaXQiIHNwaWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lm
IGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFw
IHY6ZXh0PSJlZGl0IiBkYXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlm
XS0tPg0KPC9oZWFkPg0KPGJvZHkgbGFuZz0iWkgtQ04iIGxpbms9ImJsdWUiIHZsaW5rPSJwdXJw
bGUiPg0KPGRpdiBjbGFzcz0iV29yZFNlY3Rpb24xIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mb
hem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hku7bkuro8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bh
bj48L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmll
cm1hbiBbbWFpbHRvOmFuZHlAeXVtYXdvcmtzLmNvbV0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBz
dHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVv
dDssc2Fucy1zZXJpZiI+5Y+R6YCB5pe26Ze0PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9z
cGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7
kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8c3BhbiBsYW5nPSJFTi1VUyI+OTwvc3Bhbj7mnIg8c3Bh
biBsYW5nPSJFTi1VUyI+MjY8L3NwYW4+5pelPHNwYW4gbGFuZz0iRU4tVVMiPg0KIDA6MDA8YnI+
DQo8L3NwYW4+PGI+5pS25Lu25Lq6PHNwYW4gbGFuZz0iRU4tVVMiPjo8L3NwYW4+PC9iPjxzcGFu
IGxhbmc9IkVOLVVTIj4gU3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpICZsdDtqYXNv
bi5zdGVybmVAbm9raWEuY29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7mioTpgIE8c3BhbiBsYW5nPSJF
Ti1VUyI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBRaW4gV3UgJmx0O2JpbGwud3VA
aHVhd2VpLmNvbSZndDs7IEZlbmdjaG9uZyAoZnJhbmspICZsdDtmcmFuay5mZW5nY2hvbmdAaHVh
d2VpLmNvbSZndDs7IG5ldG1vZEBpZXRmLm9yZzsgWWFuZ2FuZyAmbHQ7eWFuZ2FuZ0BodWF3ZWku
Y29tJmd0Ozxicj4NCjwvc3Bhbj48Yj7kuLvpopg8c3BhbiBsYW5nPSJFTi1VUyI+Ojwvc3Bhbj48
L2I+PHNwYW4gbGFuZz0iRU4tVVMiPiBSZTogW25ldG1vZF0gPC9zcGFuPg0K562U5aSNPHNwYW4g
bGFuZz0iRU4tVVMiPjogPC9zcGFuPuetlOWkjTxzcGFuIGxhbmc9IkVOLVVTIj46IFBsZWFzZSBj
bGFyaWZ5IGltcGxlbWVudGF0aW9uIGFib3V0DQo8L3NwYW4+4oCYPHNwYW4gbGFuZz0iRU4tVVMi
PndoZW48L3NwYW4+4oCZPHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+PC9vOnA+PC9zcGFuPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJz
cDs8L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48
c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+PG86cD4mbmJzcDs8L286cD48
L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5n
PSJFTi1VUyI+T24gV2VkLCBTZXAgMjUsIDIwMTkgYXQgODo1OSBBTSBBbmR5IEJpZXJtYW4gJmx0
OzxhIGhyZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iPmFuZHlAeXVtYXdvcmtzLmNvbTwv
YT4mZ3Q7IHdyb3RlOjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUg
c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGlu
ZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4N
CjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxv
OnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+
PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPk9uIFdlZCwgU2Vw
IDI1LCAyMDE5IGF0IDg6NDQgQU0gU3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRhd2EpICZs
dDs8YSBocmVmPSJtYWlsdG86amFzb24uc3Rlcm5lQG5va2lhLmNvbSIgdGFyZ2V0PSJfYmxhbmsi
Pmphc29uLnN0ZXJuZUBub2tpYS5jb208L2E+Jmd0OyB3cm90ZTo8bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpz
b2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6
NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tQ0EiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+UHJvY2Vzc2luZyBvcmRlciBzaG91
bGQgbm90IG1hdHRlci4gVGhlIGV2YWx1YXRpb24gb2YgdGhlICd3aGVuJyBzdGF0ZW1lbnQgc2hv
dWxkIGJlIGRvbmUgYXNzdW1pbmcgYW4NCiBhdG9taWMgYXBwbGljYXRpb24gb2YgdGhlIGVkaXQt
Y29uZmlnLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1DQSIgc3R5bGU9ImZvbnQtc2l6
ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4mbmJz
cDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tQ0EiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SSBhZ3JlZSB0
aGF0IGEgc3RhbmRhcmRzIGNvbXBsaWFudCBzZXJ2ZXIgc2hvdWxkIGRvIGFzIFJvYiBzYWlkOjwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1DQSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tQ0EiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+LSBGb3Ig4oCcc2NlbmUgMeKA
nSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRo
ZSBjb25maWcgZGF0YXN0b3JlIGFmdGVyIHRoZQ0KIGVkaXQtY29uZmlnIGhhcyBiZWVuIGFwcGxp
ZWQgaXMgdmFsaWQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUNBIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYi
Pi0gRm9yIOKAnHNjZW5lIDLigJ0sIHRoZSBjb25maWcgY2hhbmdlIGlzIHJlamVjdGVkIGJlY2F1
c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUNCiBlZGl0LWNv
bmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLUNBIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWYiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1DQSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmIj5Gcm9tIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgbWF5IGluZGVlZCBt
ZWFuIHByb2Nlc3NpbmcgdGhlICd3aGVuJyBhZnRlciBhIGZpcnN0IHBhc3MgdGhhdCBzZXRzIHRo
ZSB2YXJpb3VzDQogbGVhZnMgdG8gdGVudGF0aXZlIHZhbHVlcy4gQnV0IHRoYXQncyBpbXBsZW1l
bnRhdGlvbiBkZXRhaWwuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUNBIiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWYiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1DQSIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj5J
TU8gdGhlIGF1dG8tY2xlYXJpbmcgYmVoYXZpb3Igb2YgJ3doZW4nIG1heSBiZSBjb21wbGljYXRl
ZCBidXQgdGhhdCBpcyBob3cgaXQgaXMgZGVmaW5lZCAoc2FtZSB3aXRoDQogJ2Nob2ljZScpLiBD
bGllbnRzIGNhbiBhbmQgc2hvdWxkIGRlcGVuZCBvbiB0aGluZ3MgYmVpbmcgYXV0b21hdGljYWxs
eSBkZWxldGVkLiBJZiB5b3Ugd2FudCB2YWxpZGF0aW9uIGVycm9ycyAoaS5lLiBmb3JjZSB0aGUg
Y2xpZW50IHRvIGNsZWFyIGFsbCB0aGUgZGVwZW5kYW50IGxlYWZzIGluc3RlYWQgb2YgYXV0by1j
bGVhcmluZykgdGhlbiB1c2UgYSAnbXVzdCcgc3RhdGVtZW50Ljwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1DQSIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmIj4mbmJzcDs8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUNBIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+W1Fpbl06IEdvb2QgY2xhcmlmaWNhdGlvbi48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+JiM0Mzsx
PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5ZQU5HIGNs
ZWFybHkgZGVmaW5lcyAmcXVvdDttdXN0JnF1b3Q7IGFuZCAmcXVvdDt3aGVuJnF1b3Q7IHdpdGgg
ZGlmZmVyZW50IGJlaGF2aW9yLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5BIHNlcnZlciB0aGF0IGRv
ZXMgbm90IGltcGxlbWVudCB0aGUgYXV0by1kZWxldGUgYXNwZWN0cyBvZiB3aGVuLXN0bXQgaXMg
bm90IGNvbXBsaWFudCB0byB0aGUgUkZDLjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5i
c3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
PjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+b29wcyAtLSBz
L211c3Qtc3RtdC93aGVuLXN0bXQvPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFu
IGxhbmc9IkVOLVVTIj5bUWluXTogaW1wbGVtZW50IHRoZSBhdXRvLWRlbGV0ZSBhc3BlY3RzIG9m
IG11c3Qtc3RtdCBpcyBhIG11c3QgZm9yIHNlcnZlciBvciBpbXBsZW1lbnQgY2xpZW50IGZvcmNl
IGRlbGV0ZSBhc3BlY3RzIG9mIG11c3Qgc3RtdCBpcyBhIG11c3QgZm9yIGEgc2VydmVyPzxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVT
Ij5TbyBmb3IgYm90aCZuYnNwOyA8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+
4oCcc2NlbmUgMeKAnTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyI+IGFuZA0KPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLUNBIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPuKAnHNjZW5lIDLigJ08L3NwYW4+PHNwYW4gbGFuZz0i
RU4tVVMiPiwgdGhlIGNsaWVudCB3aWxsIG5vdCByZWNlaXZlIHZhbGlkYXRpb24gZXJyb3IgdW5s
ZXNzIHdoZW4gc3RhdGVtZW50IGlzIHJlcGxhY2VkIHdpdGggbXVzdCBzdGF0ZW1lbnQgaW4gdGhl
IGJlbG93IGV4YW1wbGUgbW9kZWw/DQo8bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIj48c3BhbiBsYW5nPSJFTi1VUyI+SSB0aG91Z2h0IHZhbGlkYXRpb24gZXJyb3Ig
d2lsbCBzdGlsbCBiZSByZWNlaXZlZCB3aGVuIHRoZSBjb25maWcgY2hhbmdlIGlzIHJlamVjdCBp
bg0KPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYiPuKAnHNjZW5lIDLigJ0uPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxi
bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu
MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJp
Z2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTti
b3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7
bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXJpZ2h0OjBjbSI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tQ0EiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+SmFzb248L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPC9k
aXY+DQo8L2Jsb2NrcXVvdGU+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFu
Zz0iRU4tVVMiPjxvOnA+Jm5ic3A7PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiPjxzcGFuIGxhbmc9IkVOLVVTIj5BbmR5PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PHNwYW4gbGFuZz0i
RU4tVVMiPiZuYnNwOzxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUg
c3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGlu
ZzowY20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtIj4N
CjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1DQSIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxkaXYgc3R5bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkIGJsdWUg
MS41cHQ7cGFkZGluZzowY20gMGNtIDBjbSA0LjBwdCI+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9y
ZGVyOm5vbmU7Ym9yZGVyLXRvcDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNt
IDBjbSAwY20iPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90Oyxz
YW5zLXNlcmlmIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+
IG5ldG1vZA0KICZsdDs8YSBocmVmPSJtYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmciIHRh
cmdldD0iX2JsYW5rIj5uZXRtb2QtYm91bmNlc0BpZXRmLm9yZzwvYT4mZ3Q7DQo8Yj5PbiBCZWhh
bGYgT2YgPC9iPlFpbiBXdTxicj4NCjxiPlNlbnQ6PC9iPiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTAs
IDIwMTkgMTA6MzMgUE08YnI+DQo8Yj5Ubzo8L2I+IEZlbmdjaG9uZyAoZnJhbmspICZsdDs8YSBo
cmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5m
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7OyBBbmR5IEJpZXJtYW4gJmx0OzxhIGhy
ZWY9Im1haWx0bzphbmR5QHl1bWF3b3Jrcy5jb20iIHRhcmdldD0iX2JsYW5rIj5hbmR5QHl1bWF3
b3Jrcy5jb208L2E+Jmd0Ozxicj4NCjxiPkNjOjwvYj4gPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBp
ZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT47IFlhbmdhbmcgJmx0
OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55YW5n
YW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBbbmV0bW9kXSA8L3Nw
YW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7TVMgR290
aGljJnF1b3Q7Ij7nrZTlpI08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZiI+Og0K
PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O01T
IEdvdGhpYyZxdW90OyI+562U5aSNPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWYi
PjogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmTwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8L2Rpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tQ0EiPiZuYnNwOzxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5XaHkgcHJvY2Vzc2luZyBvcmRlciBtYXR0ZXI/IE15
IGludGVycHJldGF0aW9uIGlzIGJvdGggbGVhZiBub2RlIHZhbHVlcyAoaS5lLixsZWFmIGEsDQog
bGVhZiBiKSBzaG91bGQgYmUgdmFsaWRhdGVkIHRvZ2V0aGVyIGFuZCBjb21taXQgYXMgYSB3aG9s
ZSw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
NXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0
OTdEIj5SRkM2MjQxIHNhaWQ6PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+4oCcPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4dC1pbmRlbnQ6MjEuMHB0
Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SWYgdGhlIGRl
dmljZSBpcyB1bmFibGUgdG8gY29tbWl0IGFsbCBvZiB0aGUgY2hhbmdlcyBpbiB0aGU8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQt
ZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY2FuZGlkYXRlIGNv
bmZpZ3VyYXRpb24gZGF0YXN0b3JlLCB0aGVuIHRoZSBydW5uaW5nPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVv
dDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmZpZ3VyYXRpb24gTVVTVCByZW1h
aW4gdW5jaGFuZ2VkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZv
bnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlm
O2NvbG9yOiMxRjQ5N0QiPuKAnTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPlNvIHZhbGlkYXRlIHRoZSBsZWFmIG5vZGUgdmFsdWUgaW4g
dGhlIGVkaXQtY29uZmlnIHJlcXVlc3QgKG1lc3NhZ2UgY29udGVudCB2YWxpZGF0aW9uKQ0KIGlz
IG5vdCBpbXBvcnRhbnQsIHZhbGlkYXRlIHRoZSBsZWFmIG5vZGUgdmFsdWUgdGhhdCBpcyBhcHBs
aWVkIHRvICZsdDtydW5uaW5nJmd0OyAoZGF0YXN0b3JlIHZhbGlkYXRpb24pIGlzIHRoZSBrZXku
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3
RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZh
bWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SSB0aGlu
ayB3aGF0IHlvdSB3YW50IHRvIHJhaXNlIGlzIHRoZSBzZXJ2ZXIgc2hvdWxkIGhvbGQgb24gdG8g
c2VuZCByZXBseSB3aXRoIGFuICZxdW90O3Vua25vd24tZWxlbWVudCZxdW90OyAmbHQ7ZXJyb3It
dGFnJmd0OyBpbiB0aGUgJmx0O3JwYy1lcnJvciZndDsgZHVyaW5nIHBheWxvYWQgcGFyc2luZyBw
aGFzZSBhbmQgTkVUQ09ORiAmbHQ7ZWRpdC1jb25maWcmZ3Q7IDwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1DQSI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNh
bnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+UHJvY2Vzc2luZyB1bnRpbCBhbGwgdmFsaWRhdGlvbiBj
b21wbGV0ZSwgb3RoZXJ3aXNlIGl0IHNlZW1zIHNlcnZlciB3aWxsIDwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+U2VuZCBtdWx0aXBsZSBycGx5IHdpdGggJnF1b3Q7
dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVy
cm9yJmd0OyB3aGljaCBzZWVtcyBub3QgcmVhc29uYWJsZS48L3NwYW4+PHNwYW4gbGFuZz0iRU4t
Q0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5z
LXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+LVFpbjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48
L3NwYW4+PC9wcmU+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRvcDpz
b2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGNtIDBjbSAwY20iPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PC9zcGFuPjwv
Yj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvl
vq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+DQogbmV0bW9kIFs8YSBocmVmPSJtYWlsdG86
bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5tYWlsdG86bmV0bW9kLWJv
dW5jZXNAaWV0Zi5vcmc8L2E+XQ0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7ku6Po
oaggPC9zcGFuPg0KPC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+RmVuZ2No
b25nIChmcmFuayk8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuWPkemAgeaX
tumXtDwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj46PC9z
cGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiAyMDE5PC9zcGFuPjxz
cGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7
kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5z
LXNlcmlmIj45PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7mnIg8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9
r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4xMTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+
5pelPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+DQogOToyOTxicj4N
Cjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5pS25Lu25Lq6PC9zcGFuPjwvYj48Yj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/p
m4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IEFuZHkgQmllcm1hbg0KICZsdDs8YSBocmVmPSJtYWls
dG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+YW5keUB5dW1hd29ya3MuY29t
PC9hPiZndDs8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuaKhOmAgTwvc3Bh
bj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQt
ZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj46PC9zcGFuPjwvYj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPg0KPGEgaHJlZj0ibWFpbHRvOm5ldG1v
ZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5ldG1vZEBpZXRmLm9yZzwvYT47IFlhbmdhbmcg
Jmx0OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55
YW5nYW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1z
ZXJpZiI+5Li76aKYPC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy
aWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IFtuZXRt
b2RdDQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuetlOWkjTwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v
6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24g
YWJvdXQNCjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+4oCYPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/p
m4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+d2hlbjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+
4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5i
c3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3
RCI+QW5keSw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1z
ZXJpZjtjb2xvcjojMUY0OTdEIj5XaGV0aGVyIGRpZmZlcmVudCByZXN1bHQgd291bGQgb2NjdXIg
YWNjb3JkaW5nIGRpZmZlcmVudCBwcm9jZXNzIG9yZGVyPw0KPC9zcGFuPjxzcGFuIGxhbmc9IkVO
LUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtD
YWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+QWNjb3JkaW5nIDguMy4yPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
aWYgc2VydmVyIHByb2Nlc3Mg4oCYYT0gM+KAmSBmaXJzdGx5LCBiIHdpbGwgYmUgZGVsZXRlZCBi
eSBzeXN0ZW0gYW5kIGJlY29tZXMgYSBub24tZXhpc3QNCiBzY2hlbWEgbm9kZSwgYW5kIHRoZW4g
Jm5ic3A7d2hlbiDigJhiPTXigJkgaXMgcHJvY2Vzc2VkICwgc2VydmVyIHdpbGwgcmVwb3J0IGEg
4oCYdW5rbm93bi1lbGVtZW504oCZIGVycm9yLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPkJ1dCBpZiBzZXJ2ZXIgcHJvY2VzcyDigJhi
PTXigJkgZmlyc3RseSwgaXQgd2lsbCBiZSBhY2NlcHRlZCBieSBzZXJ2ZXIsIGFuZCB0aGVuIHdo
ZW4g4oCYYT0z4oCZDQogaXMgcHJvY2Vzc2VkLCBiIHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0s
IGJ1dCByZXBvcnQgT0suPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SWYgc2VjIDguMy4yIGlzIG5vdCByaWdodC4gV2hh
dCBpcyB0aGUgcmlnaHQ/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2Vy
aWY7Y29sb3I6IzFGNDk3RCI+V2hlbiBub2RlIGEgYW5kIG5vZGUgYiBpbiB0aGUgc2FtZSByZXF1
ZXN0LCBhbmQgYiB0YWdnZWQgd2hlbiBjb25kaXRpb24sIGHigJlzIHZhbHVlIHdpbGwNCiBjYXVz
ZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB3aGljaCBpcyBtb3JlIHBy
aW9yPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMx
RjQ5N0QiPkFjY29yZGluZyB5b3UgYW5kIFJvYuKAmXMgaW50ZXJwcmV0YXRpb24gLCBtYXliZSBu
b2RlIOKAmWHigJkgaXMgbW9yZSBwcmlvcj8gSWYgeWVzLCB3aHkgbm9kZQ0KIOKAmGLigJkgc2hv
dWxkIGJlIHByb2Nlc3NlZCBsYXRlcj8gPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVT
IiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7
LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SSB0aGluayB3aGV0aGVyIGluIGVk
aXQtY29uZmlnIHByb2Nlc3NpbmcgcGhhc2UgdGhlIGNvbmZpZ3VyYXRpb24gdGFnZ2VkIHdoZW4g
c2hvdWxkIG5vdA0KIGJlIGV2YWx1YXRlZCBhbmQgYmUgZGVsYXllZCB0byBjb21taXQgb3IgdmFs
aWRhdGU/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+V2hlbiBjb21taXQgb3IgdmFsaWRhdGUgb3BlcmF0aW9uIGlzIGlzc3VlZCwmbmJz
cDsgdGhlIGRhdGEgbm9kZSB0YWdnZWQgd2hlbiB3aWxsIGJlIGV2YWx1YXRlZCwNCiBhbmQgaWYg
aXTigJlzIGV2YWx1YXRlZCB0byBmYWxzZSwgdGhpcyBkYXRhIHdpbGwgYmUgZGVsZXRlZCBieSBz
eXN0ZW0gaW1tZWRpYXRlbHksIHNlcnZlciBzaG91bGQgbm90IHJlcG9ydCBhbnkgZXJyb3IuPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6
IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0
LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9k
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7l
jY7kuLrmioDmnK/mnInpmZDlhazlj7g8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJj
b2xvcjojMUY0OTdEIj4gSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC48L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48aW1nIGJvcmRlcj0i
MCIgd2lkdGg9IjEwMiIgaGVpZ2h0PSIzMiIgaWQ9ImdtYWlsLW1fLTEzNzE1NjA3ODQyNDc5MTMx
MDdnbWFpbC1tXzYyNjQwNjY3NTAyODIzODAyNDHlm77niYdfeDAwMjBfMiIgc3JjPSJjaWQ6aW1h
Z2UwMDEucG5nQDAxRDU3NDU0LjAzMTdCRDYwIiBhbHQ9IkNvbXBhbnlfbG9nbyI+PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7kuKrkurrnrb7lkI3vvJrlhq/lhrI8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48YnI+DQo8L3Nw
YW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuaJi+OAgOOAgOacuu+8mjwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjEzNzc2NjEyOTgzPGJyPg0KPC9z
cGFuPjxzcGFuIHN0eWxlPSJjb2xvcjojMUY0OTdEIj7nlLXlrZDpgq7ku7bvvJo8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj48YSBocmVmPSJtYWlsdG86ZnJh
bmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj5mcmFuay5mZW5nY2hvbmdA
aHVhd2VpLmNvbTwvYT48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuWF
rOWPuOe9keWdgO+8mjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5
N0QiPjxhIGhyZWY9Imh0dHA6Ly93d3cuaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnd3dy5o
dWF3ZWkuY29tPC9hPjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPGRpdiBjbGFzcz0iTXNvTm9ybWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1h
bGlnbjpjZW50ZXIiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+DQo8
aHIgc2l6ZT0iMSIgd2lkdGg9IjEwMCUiIGFsaWduPSJjZW50ZXIiPg0KPC9zcGFuPjwvZGl2Pg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtZmFt
aWx5OiZxdW90O1RhaG9tYSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPu+7vzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtmb250LWZhbWlseTom
cXVvdDtBcmlhbCZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOmdyYXkiPg0KPC9zcGFuPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr
5pyJ5Y2O5Li65YWs5Y+455qE5L+d5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i
5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aBPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1
b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6Ny41cHQ7Y29sb3I6Z3JheSI+5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP
5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN
5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBz
dHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6Ny41
cHQ7Y29sb3I6Z3JheSI+55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25LqG5pys6YKu5Lu277yM
6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu
5Lu277yBPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+PGJyPg0K
VGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBpbmZv
cm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2gNCjxicj4NCmlzIGludGVuZGVkIG9ubHkgZm9yIHRo
ZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNl
IG9mIHRoZQ0KPGJyPg0KaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChp
bmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbA0KPGJyPg0KZGlz
Y2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVy
IHRoYW4gdGhlIGludGVuZGVkIDxicj4NCnJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5
b3UgcmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVy
IGJ5DQo8YnI+DQpwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0ITwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZu
YnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Y+R5Lu25Lq6PC9z
cGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjo8L3NwYW4+PC9i
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTom
cXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+DQogQW5keSBCaWVybWFuIFs8YSBo
cmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+bWFpbHRvOmFu
ZHlAeXVtYXdvcmtzLmNvbTwvYT5dDQo8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2Vy
aWYiPuWPkemAgeaXtumXtDwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5z
LXNlcmlmIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiAy
MDE5PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90
O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lubQ8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7
kSZxdW90OyxzYW5zLXNlcmlmIj45PC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7mnIg8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4xMDwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDss
c2Fucy1zZXJpZiI+5pelPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+
DQogMTA6NTY8YnI+DQo8L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuaUtuS7tuS6ujwv
c3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj46PC9zcGFuPjwv
Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPiBGZW5nY2hvbmcNCiAoZnJhbmsp
ICZsdDs8YSBocmVmPSJtYWlsdG86ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20iIHRhcmdldD0i
X2JsYW5rIj5mcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJyPg0KPC9zcGFuPjxi
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mb
hem7kSZxdW90OyxzYW5zLXNlcmlmIj7mioTpgIE8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xp
u5EmcXVvdDssc2Fucy1zZXJpZiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90Oyxz
YW5zLXNlcmlmIj4gUm9iIFdpbHRvbg0KIChyd2lsdG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3
aWx0b25AY2lzY28uY29tIiB0YXJnZXQ9Il9ibGFuayI+cndpbHRvbkBjaXNjby5jb208L2E+Jmd0
OzsNCjxhIGhyZWY9Im1haWx0bzpuZXRtb2RAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRt
b2RAaWV0Zi5vcmc8L2E+OyBZYW5nYW5nICZsdDs8YSBocmVmPSJtYWlsdG86eWFuZ2FuZ0BodWF3
ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+eWFuZ2FuZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8
L3NwYW4+PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
5b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuS4u+mimDwvc3Bhbj48L2I+PGI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+
rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buR
JnF1b3Q7LHNhbnMtc2VyaWYiPiBSZTogW25ldG1vZF0NCiBQbGVhc2UgY2xhcmlmeSBpbXBsZW1l
bnRhdGlvbiBhYm91dCA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuKAmDwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
5b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPndoZW48L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMt
c2VyaWYiPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9w
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8ZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xv
cjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
Pk9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzo0MCBQTSBGZW5nY2hvbmcgKGZyYW5rKSAmbHQ7PGEg
aHJlZj0ibWFpbHRvOmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+
ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb208L2E+Jmd0OyB3cm90ZTo8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5
bGU9ImJvcmRlcjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzow
Y20gMGNtIDBjbSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdp
bi1yaWdodDowY207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdE
Ij5BbmR5LDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9y
OiMxRjQ5N0QiPldoZXRoZXIgYWxsIGNvbnN0cmFpbnRzIG9uIGNvbnRlbnQgaW4gJmx0O2NvbmZp
ZyZndDsgcGFyYW1ldGVyIHdpbGwgbm90IGJlIGV2YWx1YXRlZCBpbiBwYXlsb2FkDQogcGFyc2lu
ZyBwaGFzZSwgZm9yIGV4YW1wbGUsIGEgbGVhZuKAmXMgdmFsdWUgZXhjZWVkIHJhbmdlPzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9u
dC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPk5l
dGNvbmYgc2VydmVyIHNob3VsZCB0cmVhdCBpdCBhcyBhIGJsb2NrIGRhdGE/PC9zcGFuPjxzcGFu
IGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWls
eTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+Jm5ic3A7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwv
ZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+RmllbGQgdmFsaWRhdGlvbiBhbmQgZGF0YXN0b3JlIHZhbGlkYXRpb24gYXJl
IDIgZGlmZmVyZW50IHRoaW5ncy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPndoZW4tc3RtdCBwcm9jZXNzaW5nIGlzIG5laXRoZXIuIEl0IGlzIGJ5IGZh
ciB0aGUgaGFyZGVzdCBwYXJ0IG9mIGFuIGF1dG9tYXRlZCBzZXJ2ZXIgdG8gZ2V0IHJpZ2h0Ljwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxi
bG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCAjQ0NDQ0NDIDEu
MHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2luLWxlZnQ6NC44cHQ7bWFyZ2luLXRv
cDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0b206NS4wcHQiPg0KPGRpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7
Y29sb3I6IzFGNDk3RCI+QW5vdGhlciBxdWVzdGlvbjo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0Ei
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZxdW90O0NhbGli
cmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0
eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5OiZx
dW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5JbiBlZGl0LWNvbmZp
ZyBwcm9jZXNzaW5nIHBoYXNlLCB3aGV0aGVyIGNvbnN0cmFpbnRzIG9uIGNvbnRlbnQgaW4gJmx0
O2NvbmZpZyZndDsgcGFyYW1ldGVyDQogbmVlZHMgYmUgZXZhbHVhdGVkPzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6
JnF1b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPklmIHllcywgd2hl
biAmbmJzcDtjb25maWd1cmF0aW9uIG1vZGlmaWNhdGlvbiBjYXVzZSB3aGVuIGNvbmRpdGlvbiBp
cyBldmFsdWF0ZWQgdG8gZmFsc2UsIHRoZQ0KIG5vZGUgdGFnZ2VkIHdoZW4gd2lsbCBiZSBhdXRv
bWF0aWNhbGx5IGRlbGV0ZWQgYnkgc3lzdGVtLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q2FsaWJyaSZx
dW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPlRoZW4sIGluIHNjZW5lIDIsIHdoZXRoZXIg
ZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBvY2N1ciBhY2NvcmRpbmcgZGlmZmVyZW50IHByb2Nlc3Mg
b3JkZXI/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5TaW5jZSB0aGUgJmx0O2NvbmZpZyZndDsgcGFyYW1ldGVyIGlz
IGFueXhtbCwgdGhlIFlBTkcgY29uc3RyYWludHMgZGVmaW5lZCBvbiBkYXRhc3RvcmUgY29udGVu
dHM8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2
Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPmFyZSBu
b3QgZW5mb3JjZWQgYXMgcGFydCBvZiBSUEMgaW5wdXQgdmFsaWRhdGlvbi48L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SXQgd291bGQgYmUgbmljZSBpZiBO
RVRDT05GIGRlZmluZWQgYmVoYXZpb3IgZm9yIHByb3ZpZGluZyAmbHQ7Y29uZmlnJmd0OyBkYXRh
IHRoYXQgd2lsbCBnZXQgZGVsZXRlZDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyI+aW1tZWRpYXRlbHkgYnkgdGhlIHNlcnZlci4mbmJzcDsgV2UgaGF2ZSBh
IENMSSBwYXJhbWV0ZXIgZm9yIHRoaXMgc2luY2Ugc29tZSB2ZW5kb3JzIHdhbnQgdG88L3NwYW4+
PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPnRyZWF0IHRoaXMgYXMg
YW4gZXJyb3IgYW5kIG90aGVyIGp1c3Qgc2lsZW50bHkgZGVsZXRlIG5vZGVzLiZuYnNwOyBOb3Rl
IHRoYXQgd2hlbi1zdG10IGNhbiBzaWxlbnRseTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+ZGVsZXRlIGV4aXN0aW5nIG5vZGVzIG5vdCBpbmNsdWRlZCBp
biB0aGUgZWRpdC4gKExhZGEgZG9lcyBub3QgYWdyZWUgdGhpcyBpcyBob3cgaXQgc2hvdWxkIHdv
cmssPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rp
dj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5zbyB3
ZSBuZWVkIHlhbmctbmV4dCB0byBkZWNpZGUuIE1heWJlIE5FVENPTkYgbmVlZHMgYSAtLWZvcmNl
IHBhcmFtZXRlciBmb3IgdGhpcyBwdXJwb3NlLik8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxv
OnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5BbmR5PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9y
ZGVyLWxlZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21h
cmdpbi1sZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4t
Ym90dG9tOjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9
Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPiZuYnNwOzwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdiBjbGFzcz0iTXNvTm9y
bWFsIiBhbGlnbj0iY2VudGVyIiBzdHlsZT0idGV4dC1hbGlnbjpjZW50ZXIiPjxzcGFuIGxhbmc9
IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJp
JnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+DQo8aHIgc2l6ZT0iMSIgd2lkdGg9IjEw
MCUiIGFsaWduPSJjZW50ZXIiPg0KPC9zcGFuPjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5Y2O5Li65oqA5pyv5pyJ6ZmQ5YWs5Y+4PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+IEh1YXdlaSBUZWNo
bm9sb2dpZXMgQ28uLCBMdGQuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iY29sb3I6IzFGNDk3RCI+PGltZyBib3JkZXI9IjAiIHdpZHRoPSIxMDIiIGhlaWdodD0iMzIi
IGlkPSJnbWFpbC1tXy0xMzcxNTYwNzg0MjQ3OTEzMTA3Z21haWwtbV82MjY0MDY2NzUwMjgyMzgw
MjQxZ21haWwtbV8tNzA4MDYwOTIxNzU5NzUzNDE2OOWbvueJh194MDAyMF8yIiBzcmM9ImNpZDpp
bWFnZTAwMS5wbmdAMDFENTc0NTQuMDMxN0JENjAiIGFsdD0iQ29tcGFueV9sb2dvIj48L3NwYW4+
PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuetvuWQje+8muWGr+WG
sjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxicj4NCjwv
c3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5omL44CA44CA5py677yaPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+MTM3NzY2MTI5ODM8YnI+DQo8
L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPueUteWtkOmCruS7tu+8mjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxhIGhyZWY9Im1haWx0bzpm
cmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9u
Z0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+
5YWs5Y+4572R5Z2A77yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFG
NDk3RCI+PGEgaHJlZj0iaHR0cDovL3d3dy5odWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+d3d3
Lmh1YXdlaS5jb208L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0
LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdEIj4N
CjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9kaXY+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1m
YW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+77u/PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+DQo8L3NwYW4+PHNwYW4g
c3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mnKzpgq7ku7blj4rlhbbpmYTku7bl
kKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrp
naLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoE8L3NwYW4+PHNwYW4gbGFu
Zz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwm
cXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXlvaLl
vI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLjgIHl
pI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK08L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fu
cy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTo3
LjVwdDtjb2xvcjpncmF5Ij7nmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7ku7bv
vIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTmnKzp
gq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+
DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGlu
Zm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJyPg0KaXMgaW50ZW5kZWQgb25seSBmb3Ig
dGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFueSB1
c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkg
KGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQo8YnI+DQpk
aXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3Ro
ZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElm
IHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5k
ZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtm
b250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+
Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hku7bkuro8
L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+Ojwvc3Bhbj48
L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5
OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4NCiBBbmR5IEJpZXJtYW4gW21h
aWx0bzo8YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+
YW5keUB5dW1hd29ya3MuY29tPC9hPl0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1z
ZXJpZiI+5Y+R6YCB5pe26Ze0PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+
IDIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1
b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF
6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuaciDwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1p
bHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjEwPC9zcGFuPjxzcGFuIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90
OyxzYW5zLXNlcmlmIj7ml6U8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlm
Ij4NCiAxMDoxOTxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtm
b250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5pS25Lu25Lq6
PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjo8L3NwYW4+
PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWls
eTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+IEZlbmdjaG9uZw0KIChmcmFu
aykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0
PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9hPiZndDs8YnI+DQo8L3NwYW4+
PGI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v
6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuaKhOmAgTwvc3Bhbj48L2I+PGI+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mb
hem7kSZxdW90OyxzYW5zLXNlcmlmIj46PC9zcGFuPjwvYj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7
LHNhbnMtc2VyaWYiPiBSb2IgV2lsdG9uDQogKHJ3aWx0b24pICZsdDs8YSBocmVmPSJtYWlsdG86
cndpbHRvbkBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5yd2lsdG9uQGNpc2NvLmNvbTwvYT4m
Z3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOm5ldG1vZEBpZXRmLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPm5l
dG1vZEBpZXRmLm9yZzwvYT47IFlhbmdhbmcgJmx0OzxhIGhyZWY9Im1haWx0bzp5YW5nYW5nQGh1
YXdlaS5jb20iIHRhcmdldD0iX2JsYW5rIj55YW5nYW5nQGh1YXdlaS5jb208L2E+Jmd0Ozxicj4N
Cjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+5Li76aKYPC9zcGFuPjwvYj48Yj48c3Bh
biBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7
5b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xp
u5EmcXVvdDssc2Fucy1zZXJpZiI+IFJlOiBbbmV0bW9kXQ0KIFBsZWFzZSBjbGFyaWZ5IGltcGxl
bWVudGF0aW9uIGFib3V0IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250
LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+4oCYPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+d2hlbjwvc3Bhbj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fu
cy1zZXJpZiI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8ZGl2
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxwIGNs
YXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2lu
LWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5PbiBNb24sIFNlcCA5LCAyMDE5IGF0
IDc6MTAgUE0gRmVuZ2Nob25nIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5n
Y2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWku
Y29tPC9hPiZndDsgd3JvdGU6PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8L2Rpdj4NCjxibG9ja3F1b3RlIHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXIt
bGVmdDpzb2xpZCAjQ0NDQ0NDIDEuMHB0O3BhZGRpbmc6MGNtIDBjbSAwY20gNi4wcHQ7bWFyZ2lu
LWxlZnQ6NC44cHQ7bWFyZ2luLXRvcDo1LjBwdDttYXJnaW4tcmlnaHQ6MGNtO21hcmdpbi1ib3R0
b206NS4wcHQiPg0KPGRpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxp
YnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+SGkgYW5keSw8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFtaWx5
OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2Zv
bnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj5Z
b3Ugb25seSB0YWxrIGFib3V0IHRoZSBjb25zdHJhaW50cyBvbiBycGMgb3BlcmF0aW9u4oCZcyBw
YXJhbWV0ZXI/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29s
b3I6IzFGNDk3RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0
OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHls
ZT0iZm9udC1zaXplOjEwLjVwdDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMt
c2VyaWY7Y29sb3I6IzFGNDk3RCI+RG8geW91IGhhdmUgYW55IG9waW5pb24gYWJvdXQgbXkgcXVl
c3Rpb24/PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9ibG9ja3F1b3RlPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+OC4zLjEgZG9lcyBub3QgYXBwbHkgdG8gbGVhZiAnYicuPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxk
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5UaGUgUlBDIHBh
cmFtZXRlciBpcyBjYWxsZWQgJ2NvbmZpZycuPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpw
PjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLVVTIj5JdCBoYXMgbm8gd2hlbi1zdG10cyB0byBldmFsdWF0ZS48L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRp
dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlJvYiBpcyBjb3Jy
ZWN0Ljwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9k
aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+SGlz
IGV4YW1wbGUgc2hvd3Mgd2hhdCA4LjMuMSB3b3VsZCBjb3Zlci48L3NwYW4+PHNwYW4gbGFuZz0i
RU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJF
Ti1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+QW5keTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1D
QSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0Ei
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGJsb2NrcXVvdGUgc3R5bGU9ImJvcmRl
cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBj
bSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tdG9wOjUuMHB0O21hcmdpbi1yaWdodDow
Y207bWFyZ2luLWJvdHRvbTo1LjBwdCI+DQo8ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjojMUY0OTdEIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXYgY2xh
c3M9Ik1zb05vcm1hbCIgYWxpZ249ImNlbnRlciIgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyIj48
c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC41cHQ7Zm9udC1mYW1pbHk6JnF1
b3Q7Q2FsaWJyaSZxdW90OyxzYW5zLXNlcmlmO2NvbG9yOiMxRjQ5N0QiPg0KPGhyIHNpemU9IjEi
IHdpZHRoPSIxMDAlIiBhbGlnbj0iY2VudGVyIj4NCjwvc3Bhbj48L2Rpdj4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuWNjuS4uuaKgOacr+aciemZ
kOWFrOWPuDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPiBI
dWF3ZWkgVGVjaG5vbG9naWVzIENvLiwgTHRkLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxpbWcgYm9yZGVyPSIwIiB3aWR0aD0iMTAyIiBo
ZWlnaHQ9IjMyIiBpZD0iZ21haWwtbV8tMTM3MTU2MDc4NDI0NzkxMzEwN2dtYWlsLW1fNjI2NDA2
Njc1MDI4MjM4MDI0MWdtYWlsLW1fLTcwODA2MDkyMTc1OTc1MzQxNjhtXy0xNzQ2NjU4MTUxMDk0
MzYyODcyZ21haWwtbV8tNDU0MjU3NDg0NzUzNjU3MDI4OeWbvueJh194MDAyMF8yIiBzcmM9ImNp
ZDppbWFnZTAwMS5wbmdAMDFENTc0NTQuMDMxN0JENjAiIGFsdD0iQ29tcGFueV9sb2dvIj48L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPuS4quS6uuetvuWQje+8muWG
r+WGsjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxicj4N
Cjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+5omL44CA44CA5py677yaPC9zcGFu
PjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6IzFGNDk3RCI+MTM3NzY2MTI5ODM8YnI+
DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPueUteWtkOmCruS7tu+8mjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImNvbG9yOiMxRjQ5N0QiPjxhIGhyZWY9Im1haWx0
bzpmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdj
aG9uZ0BodWF3ZWkuY29tPC9hPjxicj4NCjwvc3Bhbj48c3BhbiBzdHlsZT0iY29sb3I6IzFGNDk3
RCI+5YWs5Y+4572R5Z2A77yaPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iY29sb3I6
IzFGNDk3RCI+PGEgaHJlZj0iaHR0cDovL3d3dy5odWF3ZWkuY29tIiB0YXJnZXQ9Il9ibGFuayI+
d3d3Lmh1YXdlaS5jb208L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwv
c3Bhbj48L3A+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0
ZXh0LWFsaWduOmNlbnRlciI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJjb2xvcjojMUY0OTdE
Ij4NCjxociBzaXplPSIxIiB3aWR0aD0iMTAwJSIgYWxpZ249ImNlbnRlciI+DQo8L3NwYW4+PC9k
aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87
bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9u
dC1mYW1pbHk6JnF1b3Q7VGFob21hJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3RCI+77u/
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjcuNXB0O2ZvbnQtZmFt
aWx5OiZxdW90O0FyaWFsJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6Z3JheSI+DQo8L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mnKzpgq7ku7blj4rlhbbpmYTk
u7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nk
uIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoE8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJp
YWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9
ImZvbnQtc2l6ZTo3LjVwdDtjb2xvcjpncmF5Ij7mraLku7vkvZXlhbbku5bkurrku6Xku7vkvZXl
vaLlvI/kvb/nlKjvvIjljIXmi6zkvYbkuI3pmZDkuo7lhajpg6jmiJbpg6jliIblnLDms4TpnLLj
gIHlpI3liLbjgIHmiJbmlaPlj5HvvInmnKzpgq7ku7bkuK08L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6Ny41cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDss
c2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48YnI+DQo8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6
ZTo3LjVwdDtjb2xvcjpncmF5Ij7nmoTkv6Hmga/jgILlpoLmnpzmgqjplJnmlLbkuobmnKzpgq7k
u7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xlj5Hku7bkurrlubbliKDpmaTm
nKzpgq7ku7bvvIE8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6Ny41
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7QXJpYWwmcXVvdDssc2Fucy1zZXJpZjtjb2xvcjpncmF5Ij48
YnI+DQpUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFs
IGluZm9ybWF0aW9uIGZyb20gSFVBV0VJLCB3aGljaA0KPGJyPg0KaXMgaW50ZW5kZWQgb25seSBm
b3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQgYWJvdmUuIEFu
eSB1c2Ugb2YgdGhlDQo8YnI+DQppbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3
YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsDQo8YnI+
DQpkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMg
b3RoZXIgdGhhbiB0aGUgaW50ZW5kZWQgPGJyPg0KcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQu
IElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBz
ZW5kZXIgYnkNCjxicj4NCnBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQh
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjVw
dDtmb250LWZhbWlseTomcXVvdDtDYWxpYnJpJnF1b3Q7LHNhbnMtc2VyaWY7Y29sb3I6IzFGNDk3
RCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7lj5Hku7bk
uro8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+Ojwvc3Bh
bj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4NCiBBbmR5IEJpZXJtYW4g
W21haWx0bzo8YSBocmVmPSJtYWlsdG86YW5keUB5dW1hd29ya3MuY29tIiB0YXJnZXQ9Il9ibGFu
ayI+YW5keUB5dW1hd29ya3MuY29tPC9hPl0NCjxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHlsZT0i
Zm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fu
cy1zZXJpZiI+5Y+R6YCB5pe26Ze0PC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5
bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7
LHNhbnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJp
ZiI+IDIwMTk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6
JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuW5tDwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v
6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjk8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPuac
iDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1m
YW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNhbnMtc2VyaWYiPjEwPC9zcGFuPjxzcGFu
IHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZx
dW90OyxzYW5zLXNlcmlmIj7ml6U8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250
LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNl
cmlmIj4NCiAxOjE0PGJyPg0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7mlLbku7bk
uro8L3NwYW4+PC9iPjxiPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBw
dDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+Ojwvc3Bh
bj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj4gUm9iIFdpbHRvbg0KIChy
d2lsdG9uKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOnJ3aWx0b25AY2lzY28uY29tIiB0YXJnZXQ9Il9i
bGFuayI+cndpbHRvbkBjaXNjby5jb208L2E+Jmd0Ozxicj4NCjwvc3Bhbj48Yj48c3BhbiBzdHls
ZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDss
c2Fucy1zZXJpZiI+5oqE6YCBPC9zcGFuPjwvYj48Yj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxMS4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q75b6u6L2v6ZuF6buRJnF1b3Q7LHNh
bnMtc2VyaWYiPjo8L3NwYW4+PC9iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXpl
OjExLjBwdDtmb250LWZhbWlseTomcXVvdDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+
IEZlbmdjaG9uZw0KIChmcmFuaykgJmx0OzxhIGhyZWY9Im1haWx0bzpmcmFuay5mZW5nY2hvbmdA
aHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPmZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPC9h
PiZndDs7DQo8YSBocmVmPSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+
bmV0bW9kQGlldGYub3JnPC9hPjsgWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdA
aHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJy
Pg0KPC9zcGFuPjxiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7kuLvpopg8L3NwYW4+PC9iPjxiPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdDtmb250LWZhbWlseTomcXVv
dDvlvq7ova/pm4Xpu5EmcXVvdDssc2Fucy1zZXJpZiI+Ojwvc3Bhbj48L2I+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mb
hem7kSZxdW90OyxzYW5zLXNlcmlmIj4gUmU6IFtuZXRtb2RdDQogUGxlYXNlIGNsYXJpZnkgaW1w
bGVtZW50YXRpb24gYWJvdXQgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2Zv
bnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj7igJg8L3NwYW4+
PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZx
dW90O+W+rui9r+mbhem7kSZxdW90OyxzYW5zLXNlcmlmIj53aGVuPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O+W+rui9r+mbhem7kSZxdW90Oyxz
YW5zLXNlcmlmIj7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkhpLDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGRpdj4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1D
QSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Tm9uZSBvZiB0aGUgb3BlcmF0aW9ucyB0aGF0IGFj
Y2VwdCBvciByZXR1cm4gZGF0YXN0b3JlIGNvbnRlbnRzIGV4cG9zZSB0aGUgZGF0YXN0b3JlIG9i
amVjdHM8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwv
ZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1h
bHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPmlu
IHRoZSBSUEMgcGFyYW1ldGVycy4mbmJzcDsgVGhleSBhcmUgYWx3YXlzIGFueXhtbCBvciBhbnlk
YXRhLiBUaGlzIG1lYW5zIHRoYXQ8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+
PC9zcGFuPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiPnRoZXJlIGFyZSBubyBkZXNjZW5kYW50IGRhdGEgbm9kZXMgZGVmaW5lZCBh
dCBhbGwgYWNjb3JkaW5nIHRvIHRoZSBSUEMgb3BlcmF0aW9uPC9zcGFuPjxzcGFuIGxhbmc9IkVO
LUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5hbmQgdGhlcmVmb3JlIHRoZSBjb25zdHJhaW50
cyBvbiB0aG9zZSBub2RlcyBkbyBub3QgZXhpc3QgaW4gdGhlIFJQQyBvcGVyYXRpb24gZWl0aGVy
Ljwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPC9kaXY+
DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N
CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjwvZGl2Pg0K
PC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxkaXY+DQo8
ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+T24gTW9uLCBT
ZXAgOSwgMjAxOSBhdCA2OjQxIEFNIFJvYiBXaWx0b24gKHJ3aWx0b24pICZsdDs8YSBocmVmPSJt
YWlsdG86cndpbHRvbkBjaXNjby5jb20iIHRhcmdldD0iX2JsYW5rIj5yd2lsdG9uQGNpc2NvLmNv
bTwvYT4mZ3Q7IHdyb3RlOjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPC9kaXY+DQo8YmxvY2txdW90ZSBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLWxl
ZnQ6c29saWQgI0NDQ0NDQyAxLjBwdDtwYWRkaW5nOjBjbSAwY20gMGNtIDYuMHB0O21hcmdpbi1s
ZWZ0OjQuOHB0O21hcmdpbi10b3A6NS4wcHQ7bWFyZ2luLXJpZ2h0OjBjbTttYXJnaW4tYm90dG9t
OjUuMHB0Ij4NCjxkaXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPkhpIEZyYW5rLDwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZuYnNwOzwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPk15
IGludGVycHJldGF0aW9uIG9mIHdoYXQgdGhlIGV4cGVjdGVkIGJlaGF2aW91ciBpcyBhcyBmb2xs
b3dzLjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZv
bnQtc2l6ZToxMS4wcHQiPkZvcg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0
Ij7igJw8L3NwYW4+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5z
Y2VuZSAxPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij7igJ08L3NwYW4+PHNw
YW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4sIHRoZSBjb25maWcgY2hh
bmdlIGlzIGFjY2VwdGVkIGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9y
ZQ0KIGFmdGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZhbGlkLjwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiZu
YnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAg
Y2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJn
aW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZTox
MS4wcHQiPkZvcg0KPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij7igJw8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5zY2VuZSAyPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij7igJ08L3NwYW4+PHNwYW4gbGFuZz0i
RU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij4sIHRoZSBjb25maWcgY2hhbmdlIGlzIHJl
amVjdGVkIGJlY2F1c2UgdGhlIHJlc3VsdCBvZiB0aGUgY29uZmlnIGRhdGFzdG9yZQ0KIGFmdGVy
IHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuPC9zcGFuPjxzcGFu
IGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9z
cGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0i
TXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0
b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+
TXkgaW50ZXJwcmV0YXRpb24gaXMgdGhhdCB0aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXls
b2FkIHBhcnNpbmcgaXMgcHJpbWFyeSBpbnRlbmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuJm5i
c3A7IEUuZy4gaWYgdGhlIFJQQyB3YXMNCiBkZWZpbmVkIHNvbWV0aGluZyBsaWtlIGJlbG93LCB0
aGVuIHRoZSA8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPuKAmDwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPndoZW48L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1HQiIg
c3R5bGU9ImZvbnQtc2l6ZToxMS4wcHQiPiBydWxlIGluIDguMy4xIHdvdWxkIGVuZm9yY2UgdGhh
dA0KIGEgemlwLWNvZGUgY2FuIG9ubHkgYmUgcHJvdmlkZWQgaWYgdGhlIGNvdW50cnkgaXMgdGhl
IFVTQS48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6
MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJm
b250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9y
OmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcnBjIHJvY2stdGhl
LWhvdXNlIHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNr
Ij4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaW5wdXQg
ezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4w
cHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNw
OyZuYnNwOyAmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDts
ZWFmIGNvdW50cnkgezwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+
PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRv
O21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZv
bnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6
YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
Q0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFtaWx5OiZxdW90O0Nv
dXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1D
QSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291
cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsZWFmIHppcC1jb2RlIHs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg
d2hlbiDigJwuLi9jb3VudHJ5ID0g4oCYdXNh4oCZ4oCdOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1D
QSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291
cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB0eXBlIHN0cmluZzs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0
O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4mbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1HQiIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcmcXVvdDs7Y29sb3I6YmxhY2siPiZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTom
cXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+Jm5ic3A7ICZuYnNwOyZuYnNwOyZu
YnNwOyZuYnNwOyZuYnNwO308L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tR0IiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2lu
LXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4t
R0IiIHN0eWxlPSJmb250LXNpemU6MTEuMHB0Ij5UaGFua3MsPC9zcGFuPjxzcGFuIGxhbmc9IkVO
LUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0i
bXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFu
IGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Um9iPC9zcGFuPjxzcGFuIGxh
bmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBz
dHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8i
PjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5ic3A7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+Jm5i
c3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLUdCIiBzdHlsZT0iZm9udC1zaXplOjEx
LjBwdCI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48
L3A+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItbGVmdDpzb2xpZCBibHVlIDEuNXB0
O3BhZGRpbmc6MGNtIDBjbSAwY20gNC4wcHQiPg0KPGRpdj4NCjxkaXYgc3R5bGU9ImJvcmRlcjpu
b25lO2JvcmRlci10b3A6c29saWQgI0UxRTFFMSAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20g
MGNtIj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0
bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PGI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTEuMHB0Ij5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gbGFuZz0iRU4tVVMiIHN0
eWxlPSJmb250LXNpemU6MTEuMHB0Ij4gbmV0bW9kICZsdDs8YSBocmVmPSJtYWlsdG86bmV0bW9k
LWJvdW5jZXNAaWV0Zi5vcmciIHRhcmdldD0iX2JsYW5rIj5uZXRtb2QtYm91bmNlc0BpZXRmLm9y
ZzwvYT4mZ3Q7DQo8Yj5PbiBCZWhhbGYgT2YgPC9iPkZlbmdjaG9uZyAoZnJhbmspPGJyPg0KPGI+
U2VudDo8L2I+IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5PGJyPg0KPGI+VG86PC9iPiA8YSBocmVm
PSJtYWlsdG86bmV0bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3Jn
PC9hPjxicj4NCjxiPkNjOjwvYj4gWWFuZ2FuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhbmdhbmdA
aHVhd2VpLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhbmdhbmdAaHVhd2VpLmNvbTwvYT4mZ3Q7PGJy
Pg0KPGI+U3ViamVjdDo8L2I+IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u
IGFib3V0IDwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+4oCYPC9zcGFuPjxz
cGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+d2hlbjwvc3Bhbj48c3Bh
biBzdHlsZT0iZm9udC1zaXplOjExLjBwdCI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1HQiI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48
bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1h
cmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9
IkVOLVVTIj5IaSBhbGwsPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPkluIFJGQzc5NTAgc2VjdG9uIDgsIHNl
dmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbjwvc3Bhbj7vvJo8c3BhbiBsYW5nPSJFTi1DQSI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVTIj5JbiBzZWN0aW9u
IDxhIGhyZWY9Imh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM3OTUwI3NlY3Rpb24tOC4y
IiB0YXJnZXQ9Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZh
bWlseTomcXVvdDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjayI+OC4yPC9zcGFuPjwvYT48
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7IENvbmZpZ3Vy
YXRpb24gRGF0YSBNb2RpZmljYXRpb25zPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4t
dG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1V
UyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyBvJm5i
c3A7IElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1Y2gg
dGhhdCBhbnk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4N
CjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28t
bWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbm9k
ZSdzICZxdW90O3doZW4mcXVvdDsgZXhwcmVzc2lvbiBiZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBu
b2RlIGluIHRoZSBkYXRhPC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0i
Zm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i
c3A7IHRyZWUgd2l0aCB0aGUgJnF1b3Q7d2hlbiZxdW90OyBleHByZXNzaW9uIGlzIGRlbGV0ZWQg
YnkgdGhlIHNlcnZlci48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcD4NCjxoND48c3BhbiBsYW5nPSJFTi1VUyI+SW4gPGEgaHJlZj0iaHR0cHM6Ly90b29scy5p
ZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMSIgdGFyZ2V0PSJfYmxhbmsiPg0KPHNw
YW4gc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6JnF1b3Q7Q291cmllciBOZXcm
cXVvdDs7Y29sb3I6YmxhY2s7dGV4dC1kZWNvcmF0aW9uOm5vbmUiPjguMy4xPC9zcGFuPjwvYT48
L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2ZvbnQtZmFt
aWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5ic3A7IFBheWxvYWQg
UGFyc2luZzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9oND4N
CjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJs
YWNrIj4mbmJzcDsmbmJzcDsgbyZuYnNwOyBJZiBkYXRhIGZvciBhIG5vZGUgdGFnZ2VkIHdpdGgg
JnF1b3Q7d2hlbiZxdW90OyBpcyBwcmVzZW50IGFuZCB0aGUgJnF1b3Q7d2hlbiZxdW90Ozwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wcmU+DQo8cHJlPjxzcGFu
IGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+Jm5ic3A7
Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gJnF1b3Q7ZmFs
c2UmcXVvdDssIHRoZSBzZXJ2ZXIgTVVTVCByZXBseSB3aXRoIGFuPC9zcGFuPjxzcGFuIGxhbmc9
IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3ByZT4NCjxwcmU+PHNwYW4gbGFuZz0iRU4tVVMi
IHN0eWxlPSJmb250LXNpemU6MTAuMHB0O2NvbG9yOmJsYWNrIj4mbmJzcDsmbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsgJnF1b3Q7dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7
IGluIHRoZSAmbHQ7cnBjLWVycm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+
PC9vOnA+PC9zcGFuPjwvcHJlPg0KPGg0PjxzcGFuIGxhbmc9IkVOLVVTIj5JbiA8YSBocmVmPSJo
dHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNzk1MCNzZWN0aW9uLTguMy4yIiB0YXJnZXQ9
Il9ibGFuayI+DQo8c3BhbiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtmb250LWZhbWlseTomcXVv
dDtDb3VyaWVyIE5ldyZxdW90Oztjb2xvcjpibGFjazt0ZXh0LWRlY29yYXRpb246bm9uZSI+OC4z
LjI8L3NwYW4+PC9hPjwvc3Bhbj48YSBuYW1lPSJtXy0xMzcxNTYwNzg0MjQ3OTEzMTA3X21fNjI2
NDA2Njc1MDI4MjM4Ij48L2E+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTAu
MHB0O2ZvbnQtZmFtaWx5OiZxdW90O0NvdXJpZXIgTmV3JnF1b3Q7O2NvbG9yOmJsYWNrIj4uJm5i
c3A7IE5FVENPTkYNCiAmbHQ7ZWRpdC1jb25maWcmZ3Q7IFByb2Nlc3Npbmc8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvaDQ+DQo8cHJlPjxzcGFuIGxhbmc9IkVO
LVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpibGFjayI+TW9kaWZpY2F0aW9uIHJl
cXVlc3RzIGZvciBub2RlcyB0YWdnZWQgd2l0aCAmcXVvdDt3aGVuJnF1b3Q7LCBhbmQgdGhlICZx
dW90O3doZW4mcXVvdDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFu
PjwvcHJlPg0KPHByZT48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxMC4wcHQ7
Y29sb3I6YmxhY2siPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjb25kaXRpb24gZXZh
bHVhdGVzIHRvICZxdW90O2ZhbHNlJnF1b3Q7LiZuYnNwOyBJbiB0aGlzIGNhc2UsIHRoZSBzZXJ2
ZXIgTVVTVDwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wcmU+
DQo8cHJlPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjEwLjBwdDtjb2xvcjpi
bGFjayI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJlcGx5IHdpdGggYW4gJnF1b3Q7
dW5rbm93bi1lbGVtZW50JnF1b3Q7ICZsdDtlcnJvci10YWcmZ3Q7IGluIHRoZSAmbHQ7cnBjLWVy
cm9yJmd0Oy48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcHJl
Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21z
by1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj5ZQU5HIG1vZHVsZTwvc3Bhbj7vvJo8c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+bW9kdWxlIGZvbyB7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgbmFtZXNwYWNlDQo8L3NwYW4+4oCcPHNwYW4gbGFuZz0i
RU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zv
by5jb208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj47PC9zcGFuPjxzcGFuIGxhbmc9
IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgcHJlZml4DQo8L3NwYW4+4oCcPHNwYW4gbGFu
Zz0iRU4tVVMiPmZvbzwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1VUyI+Ozwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
O3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPkxlYWYgYSB7PC9zcGFu
PuKApjxzcGFuIGxhbmc9IkVOLVVTIj59PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwv
bzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10
b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG87dGV4dC1pbmRlbnQ6MTUuNzVw
dCI+DQo8c3BhbiBsYW5nPSJFTi1VUyI+TGVhZiBiIHs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0Ei
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28t
bWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0bzt0ZXh0LWluZGVu
dDoxNS43NXB0Ij4NCjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsgV2hlbiA8L3NwYW4+4oCcPHNw
YW4gbGFuZz0iRU4tVVMiPmEgPSAxMDwvc3Bhbj7igJ08c3BhbiBsYW5nPSJFTi1VUyI+Ozwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1z
b05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9t
LWFsdDphdXRvO3RleHQtaW5kZW50OjE1Ljc1cHQiPg0KPHNwYW4gbGFuZz0iRU4tVVMiPn08L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPn08L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0Ei
PjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxoMz48c3BhbiBsYW5nPSJFTi1VUyI+U2NlbmUgMTog
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L2gzPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIGZpcnN0IGVkaXQtY29uZmln
IHJlcXVlc3Q6PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7ZWRpdC1jb25m
aWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0
O3RhcmdldCZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7Y2FuZGlkYXRlLyZndDs8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxl
PSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNw
YW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L3RhcmdldCZndDsNCjwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jmx0O2NvbmZpZyZndDs8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw
OyZuYnNwOyAmbHQ7YSB4bWxucz0NCjwvc3Bhbj7igJw8c3BhbiBsYW5nPSJFTi1VUyI+PGEgaHJl
Zj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRwOi8vZm9vLmNvbTwvYT48L3Nw
YW4+4oCdPHNwYW4gbGFuZz0iRU4tVVMiPiZndDszJmx0Oy9hJmd0Ozwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29uZmlnJmd0Ozwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNvbmZpZyZndDs8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoaXMgcmVxdWVzdCB3aWxsIHNldCBhID0gMy48L3NwYW4+
PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29O
b3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1h
bHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1D
QSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1z
by1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBs
YW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0Ojwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86
cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJn
aW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJF
Ti1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8m
Z3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBj
bGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdp
bi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90
YXJnZXQmZ3Q7DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwv
cD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNw
OyZuYnNwOyZsdDtjb25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9DQo8L3NwYW4+4oCcPHNw
YW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+
aHR0cDovL2Zvby5jb208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7MTAmbHQ7
L2EmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8
cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1h
cmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJz
cDsmbmJzcDsmbmJzcDsgJmx0O2IgeG1sbnM9DQo8L3NwYW4+4oCcPHNwYW4gbGFuZz0iRU4tVVMi
PjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208
L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7NSZsdDsvYiZndDs8L3NwYW4+PHNw
YW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3Jt
YWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6
YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyAmbHQ7L2NvbmZpZyZndDs8L3Nw
YW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJN
c29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRv
bS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZsdDsvZWRpdC1jb25maWcmZ3Q7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
Q0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5BY2NvcmRpbmcgOC4zLjEsIGlu
IHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBhPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250
LXNpemU6MTQuMHB0Ij7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNp
emU6MTQuMHB0Ij5zDQogdmFsdWUgaW4gY2FuZGlkYXRlIGRhdGFzdG9yZSBpcyAzLHNvIGxlYWYg
Yjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+4oCZPC9zcGFuPjxzcGFuIGxh
bmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+cyB3aGVuIGNvbmRpdGlvbiBpcyBl
dmFsdWF0ZWQgdG8gZmFsc2UsIHNlcnZlciB3aWxsIHJlcG9ydA0KPC9zcGFuPjxzcGFuIHN0eWxl
PSJmb250LXNpemU6MTQuMHB0Ij7igJg8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJm
b250LXNpemU6MTQuMHB0Ij51bmtub3duLWVsZW1lbnQ8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQt
c2l6ZToxNC4wcHQiPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6
ZToxNC4wcHQiPiBlcnJvci48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxl
PSJmb250LXNpemU6MTQuMHB0Ij5JcyBpdCBleHBlY3RlZCBieSB1c2VyPzwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPGgzPjxzcGFuIGxhbmc9IkVOLVVT
Ij5TY2VuZSAyOjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9o
Mz4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bztt
c28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPlRoZSBmaXJzdCBl
ZGl0LWNvbmZpZyByZXF1ZXN0Ojwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48
L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFs
dDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0
O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3Nw
YW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDph
dXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7
Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpw
Pjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3At
YWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4m
bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2NhbmRpZGF0ZS8mZ3Q7PC9zcGFuPjxz
cGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9y
bWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0
OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8
L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNz
PSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJv
dHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtj
b25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+
DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNv
LW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsm
bmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9DQo8L3NwYW4+4oCcPHNwYW4gbGFuZz0iRU4t
VVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJnZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5j
b208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVTIj4mZ3Q7MTAmbHQ7L2EmZ3Q7PC9zcGFu
PjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNv
Tm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20t
YWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsgJmx0Oy9jb25maWcmZ3Q7
PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFz
cz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1i
b3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbHQ7L2VkaXQtY29uZmlnJmd0Ozwv
c3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9
Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90
dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhpcyByZXF1ZXN0IHdpbGwgc2V0IGEg
PSAxMC48L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNwOzwvc3Bhbj48c3Bh
biBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1h
bCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDph
dXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+VGhlIHNlY29uZCByZXF1ZXN0Ojwvc3Bhbj48c3BhbiBs
YW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIg
c3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRv
Ij48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0O2VkaXQtY29uZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5n
PSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5
bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48
c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDt0YXJnZXQmZ3Q7PC9zcGFuPjxzcGFu
IGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFs
IiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1
dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0
O2NhbmRpZGF0ZS8mZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1
dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxhbmc9IkVOLVVTIj4mbmJzcDsm
bmJzcDsgJmx0Oy90YXJnZXQmZ3Q7DQo8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9v
OnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRv
cC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMi
PiZuYnNwOyZuYnNwOyZuYnNwOyZsdDtjb25maWcmZ3Q7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNB
Ij48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHlsZT0ibXNv
LW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxzcGFuIGxh
bmc9IkVOLVVTIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgJmx0O2EgeG1sbnM9DQo8
L3NwYW4+4oCcPHNwYW4gbGFuZz0iRU4tVVMiPjxhIGhyZWY9Imh0dHA6Ly9mb28uY29tIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cDovL2Zvby5jb208L2E+PC9zcGFuPuKAnTxzcGFuIGxhbmc9IkVOLVVT
Ij4mZ3Q7MyZsdDsvYSZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9z
cGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6
YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiPiZuYnNw
OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAmbHQ7YiB4bWxucz0NCjwvc3Bhbj7igJw8c3BhbiBs
YW5nPSJFTi1VUyI+PGEgaHJlZj0iaHR0cDovL2Zvby5jb20iIHRhcmdldD0iX2JsYW5rIj5odHRw
Oi8vZm9vLmNvbTwvYT48L3NwYW4+4oCdPHNwYW4gbGFuZz0iRU4tVVMiPiZndDs1Jmx0Oy9iJmd0
Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jm5ic3A7Jm5ic3A7ICZsdDsvY29u
ZmlnJmd0Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0K
PHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1t
YXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyI+Jmx0Oy9lZGl0LWNvbmZp
ZyZndDs8L3NwYW4+PHNwYW4gbGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxw
IGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFy
Z2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTQuMHB0Ij5BY2NvcmRpbmcgOC4zLjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRo
ZSBhPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij7igJk8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5zDQogdmFsdWUgaW4gY2FuZGlk
YXRlIGRhdGFzdG9yZSBpcyAxMCwgc28gbGVhZiBiPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LXNp
emU6MTQuMHB0Ij7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6
MTQuMHB0Ij5zIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0byB0cnVlLCBzZXJ2ZXIgd2ls
bCBhY2NlcHQgdGhpcyByZXF1ZXN0IGluIHBheWxvYWQgcGFyc2luZyBwaGFzZS4NCjwvc3Bhbj48
c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05v
cm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFs
dDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPiZuYnNw
Ozwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xh
c3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4t
Ym90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4w
cHQiPkluIGVkaXQtY29uZmlnIHJlcXVlc3QgcHJvY2Vzc2luZyBwaGFzZSwgaWYgbGVhZiBhPC9z
cGFuPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij7igJk8L3NwYW4+PHNwYW4gbGFuZz0i
RU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5zDQogbW9kaWZpY2F0aW9uIGlzIHByb2Nl
c3NlZCBmaXJzdGx5LCB0aGUgYTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+
4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+cyB2
YWx1ZSB3aWxsIGJlIGNoYW5nZWQgdG8gMywgc28gdGhlIGI8L3NwYW4+PHNwYW4gc3R5bGU9ImZv
bnQtc2l6ZToxNC4wcHQiPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQt
c2l6ZToxNC4wcHQiPnMNCiB3aGVuIGNvbmRpdGlvbiB3aWxsIGJlIGZhbHNlLCB3aGVuIHNlcnZl
ciBwcm9jZXNzIGI8L3NwYW4+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPuKAmTwvc3Bh
bj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPnMgbW9kaWZpY2F0
aW9uLCBiIHdpbGwgYmUgdHJlYXRlZCBhcyB1bmtub3duLWVsZW1lbnQsIHRoZSBlZGl0LWNvbmZp
ZyByZXF1ZXN0IHdpbGwgZmFpbC4NCjwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+PG86cD48L286
cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1tYXJnaW4tdG9w
LWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5nPSJFTi1VUyIg
c3R5bGU9ImZvbnQtc2l6ZToxNC4wcHQiPklmIGxlYWYgYjwvc3Bhbj48c3BhbiBzdHlsZT0iZm9u
dC1zaXplOjE0LjBwdCI+4oCZPC9zcGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1z
aXplOjE0LjBwdCI+cyBtb2RpZmljYXRpb24gaXMgcHJvY2Vzc2VkIGZpcnN0bHksDQogc2VydmVy
IHdpbGwgYWNjZXB0IHRoaXMgbW9kaWZpY2F0aW9uICxiZWNhdXNlIGI8L3NwYW4+PHNwYW4gc3R5
bGU9ImZvbnQtc2l6ZToxNC4wcHQiPuKAmTwvc3Bhbj48c3BhbiBsYW5nPSJFTi1VUyIgc3R5bGU9
ImZvbnQtc2l6ZToxNC4wcHQiPnMgd2hlbiBjb25kaXRpb24gaXMgdHJ1ZSwgYW5kIHdoZW4gc2Vy
dmVyIHByb2Nlc3MgYTwvc3Bhbj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+4oCZPC9z
cGFuPjxzcGFuIGxhbmc9IkVOLVVTIiBzdHlsZT0iZm9udC1zaXplOjE0LjBwdCI+cw0KIG1vZGlm
aWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdpbGwgYmUgYWNjZXB0ZWQsIGFuZCBiPC9zcGFu
PjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij7igJk8L3NwYW4+PHNwYW4gbGFuZz0iRU4t
VVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5zIHdoZW4gY29uZGl0aW9uIHdpbGwgYmUgZXZh
bHVhdGVkIHRvIGZhbHNlLCBsZWFmIGIgd2lsbCBiZSBkZWxldGVkIGF1dG9tYXRpY2FsbHksIHRo
ZSBlZGl0LWNvbmZpZyByZXF1ZXN0IHdpbGwNCiBiZSBPSy48L3NwYW4+PHNwYW4gbGFuZz0iRU4t
Q0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJt
c28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0byI+PHNwYW4g
bGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij4mbmJzcDs8L3NwYW4+PHNwYW4g
bGFuZz0iRU4tQ0EiPjxvOnA+PC9vOnA+PC9zcGFuPjwvcD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwi
IHN0eWxlPSJtc28tbWFyZ2luLXRvcC1hbHQ6YXV0bzttc28tbWFyZ2luLWJvdHRvbS1hbHQ6YXV0
byI+PHNwYW4gbGFuZz0iRU4tVVMiIHN0eWxlPSJmb250LXNpemU6MTQuMHB0Ij5Ib3cgc2VydmVy
IHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0dWF0aW9uPzwvc3Bhbj48c3BhbiBsYW5nPSJFTi1DQSI+
PG86cD48L286cD48L3NwYW4+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCIgc3R5bGU9Im1zby1t
YXJnaW4tdG9wLWFsdDphdXRvO21zby1tYXJnaW4tYm90dG9tLWFsdDphdXRvIj48c3BhbiBsYW5n
PSJFTi1VUyI+Jm5ic3A7PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bh
bj48L3A+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIiBzdHls
ZT0ibXNvLW1hcmdpbi10b3AtYWx0OmF1dG87bXNvLW1hcmdpbi1ib3R0b20tYWx0OmF1dG8iPjxz
cGFuIGxhbmc9IkVOLVVTIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXzxicj4NCm5ldG1vZCBtYWlsaW5nIGxpc3Q8YnI+DQo8YSBocmVmPSJtYWlsdG86bmV0
bW9kQGlldGYub3JnIiB0YXJnZXQ9Il9ibGFuayI+bmV0bW9kQGlldGYub3JnPC9hPjxicj4NCjxh
IGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kIiB0YXJn
ZXQ9Il9ibGFuayI+aHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2Q8
L2E+PC9zcGFuPjxzcGFuIGxhbmc9IkVOLUNBIj48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Js
b2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4N
CjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYmxvY2txdW90ZT4NCjwvZGl2Pg0KPC9kaXY+DQo8
L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Jsb2NrcXVvdGU+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9i
bG9ja3F1b3RlPg0KPC9kaXY+DQo8L2Rpdj4NCjwvZGl2Pg0KPC9ib2R5Pg0KPC9odG1sPg0K

--_000_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_--

--_004_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_
Content-Type: image/png; name="image001.png"
Content-Description: image001.png
Content-Disposition: inline; filename="image001.png"; size=5474;
 creation-date="Thu, 26 Sep 2019 02:54:45 GMT";
 modification-date="Thu, 26 Sep 2019 02:54:45 GMT"
Content-ID: <image001.png@01D57454.0317BD60>
Content-Transfer-Encoding: base64

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
YII=

--_004_B8F9A780D330094D99AF023C5877DABAA932351Cdggeml511mbschi_--


From nobody Wed Sep 25 20:57:43 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 034A9120170 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 20:57:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 qJczKq21uAdv for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 20:57:38 -0700 (PDT)
Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2421C1200DF for <netmod@ietf.org>; Wed, 25 Sep 2019 20:57:37 -0700 (PDT)
Received: by mail-lj1-x22e.google.com with SMTP id l21so609583lje.4 for <netmod@ietf.org>; Wed, 25 Sep 2019 20:57:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=RZ93amr+3qBn/UyWldbkFPQ6hr6QSzAMoAqKcxqCyxo=; b=Z6URi5M3vWv1iUYSY0iZnb7EcWQTR4vHq4KgLCtZzM+SqcejPHsecoDRKaXwyYcwc+ H4xDYMNuPFQwjjt36qsljYocM1Z2Zi47QbrBxzggRrcfFCzz3p6jNukkHMNjpRvJ49/g 8HTFMo42s5WofyhE4ZZRRkWpk6yguZ5k5j8vVcwNClnjM+RWHHY6uOLk8/6uPsHy9Dvo xJT7O1hF0bIQMrvWa8MRQA382ox1FyhoeKnAicPjHhIVnSHE5OMdEjHSDP8ONoh40cNj LQhHTLaWm2UzjIBZXEXg59IBLusksq4YxdpHshpXi+CEP4xIbCGjfQyqSa+0vxDuzdAF 7eWw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=RZ93amr+3qBn/UyWldbkFPQ6hr6QSzAMoAqKcxqCyxo=; b=JcIrRd6bEW58wfOwzaX2NBznkbfAYcJvgjiPSzY2736J+1a2EUE3RQZa/thbX9ycOm hgu9h1RkW8hrmvxsLTJFUFGrLxn1yjOrRyZPjCSu/u0Xt+qMSEq0OG8RW1eW8QBhcwHP ERCICuX07V2/rjuX45qr49bDmND4AHXo6N6Jx5Lr77GhhJTIKB7SqKoTOfXEXDtokM0o rvFhfGEgaMQnJbP8FFSXbi96V98Qvb8YFGklRlhdpp3wamCpTmuDP+2sDa8cJK7khGvC iV7Nu+hBqMSjiRvHcKfAcotQ1iR7ADnOfEivS8bQHv8G8DJo0UnNxeov3WsZJHAKyPcj 1c2A==
X-Gm-Message-State: APjAAAVSdSiOMJC7N+5M1pYgt8likm7B39q80vDzqJ07v2x2c79cbvk3 Riby6s4RjF+SOroixfKrMklYMPRcsnG9qy9rUY+ygA==
X-Google-Smtp-Source: APXvYqyYNof1DOQgdwAxFAa29RG5/3UwsaY4D/IuDB1UHlX4kP5+rm3uvB9GQYiWMWV6acACnRQa0/0bfq04axM1bco=
X-Received: by 2002:a2e:b00b:: with SMTP id y11mr979203ljk.50.1569470255009; Wed, 25 Sep 2019 20:57:35 -0700 (PDT)
MIME-Version: 1.0
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com> <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com> <CABCOCHQcdz-5eNm+WZyFw7++XBtgk1xomuxKindsLavrpy3fGQ@mail.gmail.com> <B8F9A780D330094D99AF023C5877DABAA932351C@dggeml511-mbs.china.huawei.com>
In-Reply-To: <B8F9A780D330094D99AF023C5877DABAA932351C@dggeml511-mbs.china.huawei.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Wed, 25 Sep 2019 20:57:23 -0700
Message-ID: <CABCOCHSNY12_esOW-Oh4YW8oLtf=6QMGm6MkRuf9CW9P-WAoaQ@mail.gmail.com>
To: Qin Wu <bill.wu@huawei.com>
Cc: "Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com>,  "Fengchong (frank)" <frank.fengchong@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Content-Type: multipart/related; boundary="000000000000099a0a05936cc565"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/n6dy8jSo6aoziPtI6uZFNdtvh34>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 03:57:42 -0000

--000000000000099a0a05936cc565
Content-Type: multipart/alternative; boundary="000000000000099a0905936cc564"

--000000000000099a0905936cc564
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Wed, Sep 25, 2019 at 7:54 PM Qin Wu <bill.wu@huawei.com> wrote:

> *=E5=8F=91=E4=BB=B6=E4=BA=BA:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:* 2019=E5=B9=B49=E6=9C=8826=E6=97=
=A5 0:00
> *=E6=94=B6=E4=BB=B6=E4=BA=BA:* Sterne, Jason (Nokia - CA/Ottawa) <jason.s=
terne@nokia.com>
> *=E6=8A=84=E9=80=81:* Qin Wu <bill.wu@huawei.com>; Fengchong (frank) <
> frank.fengchong@huawei.com>; netmod@ietf.org; Yangang <yangang@huawei.com=
>
> *=E4=B8=BB=E9=A2=98:* Re: [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D=
: Please clarify implementation about =E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Wed, Sep 25, 2019 at 8:59 AM Andy Bierman <andy@yumaworks.com> wrote:
>
>
>
>
>
> On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jason (Nokia - CA/Ottawa) <
> jason.sterne@nokia.com> wrote:
>
> Processing order should not matter. The evaluation of the 'when' statemen=
t
> should be done assuming an atomic application of the edit-config.
>
>
>
> I agree that a standards compliant server should do as Rob said:
>
>
>
> - For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because th=
e result of the
> config datastore after the edit-config has been applied is valid.
>
> - For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because th=
e result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> From an implementation that may indeed mean processing the 'when' after a
> first pass that sets the various leafs to tentative values. But that's
> implementation detail.
>
>
>
> IMO the auto-clearing behavior of 'when' may be complicated but that is
> how it is defined (same with 'choice'). Clients can and should depend on
> things being automatically deleted. If you want validation errors (i.e.
> force the client to clear all the dependant leafs instead of auto-clearin=
g)
> then use a 'must' statement.
>
>
>
> [Qin]: Good clarification.
>
>
>
> +1
>
>
>
> YANG clearly defines "must" and "when" with different behavior.
>
> A server that does not implement the auto-delete aspects of when-stmt is
> not compliant to the RFC.
>
>
>
>
>
>
>
> oops -- s/must-stmt/when-stmt/
>
>
>
> [Qin]: implement the auto-delete aspects of must-stmt is a must for serve=
r
> or implement client force delete aspects of must stmt is a must for a
> server?
>
> So for both  =E2=80=9Cscene 1=E2=80=9D and =E2=80=9Cscene 2=E2=80=9D, the=
 client will not receive
> validation error unless when statement is replaced with must statement in
> the below example model?
>
> I thought validation error will still be received when the config change
> is reject in =E2=80=9Cscene 2=E2=80=9D.
>


sorry for the confusion. it was right the first time.
when-stmt has auto-delete.
must-stmt has error instead of auto-delete.

 Andy

Jason
>
>
>
> Andy
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Qin Wu
> *Sent:* Tuesday, September 10, 2019 10:33 PM
> *To:* Fengchong (frank) <frank.fengchong@huawei.com>; Andy Bierman <
> andy@yumaworks.com>
> *Cc:* netmod@ietf.org; Yangang <yangang@huawei.com>
> *Subject:* [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please clarif=
y implementation about =E2=80=98when=E2=80=99
>
>
>
> Why processing order matter? My interpretation is both leaf node values
> (i.e.,leaf a, leaf b) should be validated together and commit as a whole,
>
> RFC6241 said:
>
> =E2=80=9C
>
> If the device is unable to commit all of the changes in the
>
>          candidate configuration datastore, then the running
>
>          configuration MUST remain unchanged.
>
> =E2=80=9D
>
> So validate the leaf node value in the edit-config request (message
> content validation) is not important, validate the leaf node value that i=
s
> applied to <running> (datastore validation) is the key.
>
>
>
> I think what you want to raise is the server should hold on to send reply=
 with an "unknown-element" <error-tag> in the <rpc-error> during payload pa=
rsing phase and NETCONF <edit-config>
>
> Processing until all validation complete, otherwise it seems server will
>
> Send multiple rply with "unknown-element" <error-tag> in the <rpc-error> =
which seems not reasonable.
>
>
>
> -Qin
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* netmod [mailto:netmod-bounces@ietf.org <=
netmod-bounces@ietf.org>]
> *=E4=BB=A3=E8=A1=A8 *Fengchong (frank)
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8811=E6=97=
=A5 9:29
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Andy Bierman <andy@yumaworks.com>
> *=E6=8A=84=E9=80=81**:* netmod@ietf.org; Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* [netmod] =E7=AD=94=E5=A4=8D: Please clarify imple=
mentation about =E2=80=98when=E2=80=99
>
>
>
> Andy,
>
>
>
> Whether different result would occur according different process order?
>
> According 8.3.2
>
> if server process =E2=80=98a=3D 3=E2=80=99 firstly, b will be deleted by =
system and becomes
> a non-exist schema node, and then  when =E2=80=98b=3D5=E2=80=99 is proces=
sed , server will
> report a =E2=80=98unknown-element=E2=80=99 error.
>
> But if server process =E2=80=98b=3D5=E2=80=99 firstly, it will be accepte=
d by server, and
> then when =E2=80=98a=3D3=E2=80=99 is processed, b will be deleted by syst=
em, but report OK.
>
>
>
> If sec 8.3.2 is not right. What is the right?
>
> When node a and node b in the same request, and b tagged when condition,
> a=E2=80=99s value will cause b=E2=80=99s condition is evaluated to false,=
 which is more
> prior?
>
> According you and Rob=E2=80=99s interpretation , maybe node =E2=80=99a=E2=
=80=99 is more prior? If
> yes, why node =E2=80=98b=E2=80=99 should be processed later?
>
>
>
> I think whether in edit-config processing phase the configuration tagged
> when should not be evaluated and be delayed to commit or validate?
>
> When commit or validate operation is issued,  the data node tagged when
> will be evaluated, and if it=E2=80=99s evaluated to false, this data will=
 be
> deleted by system immediately, server should not report any error.
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com =
<andy@yumaworks.com>]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 10:56
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huawe=
i.com>
> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@=
ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <
> frank.fengchong@huawei.com> wrote:
>
> Andy,
>
> Whether all constraints on content in <config> parameter will not be
> evaluated in payload parsing phase, for example, a leaf=E2=80=99s value e=
xceed
> range?
>
> Netconf server should treat it as a block data?
>
>
>
>
>
> Field validation and datastore validation are 2 different things.
>
> when-stmt processing is neither. It is by far the hardest part of an
> automated server to get right.
>
>
>
> Another question:
>
>
>
> In edit-config processing phase, whether constraints on content in
> <config> parameter needs be evaluated?
>
> If yes, when  configuration modification cause when condition is evaluate=
d
> to false, the node tagged when will be automatically deleted by system.
>
> Then, in scene 2, whether different result would occur according differen=
t
> process order?
>
>
>
>
>
> Since the <config> parameter is anyxml, the YANG constraints defined on
> datastore contents
>
> are not enforced as part of RPC input validation.
>
>
>
> It would be nice if NETCONF defined behavior for providing <config> data
> that will get deleted
>
> immediately by the server.  We have a CLI parameter for this since some
> vendors want to
>
> treat this as an error and other just silently delete nodes.  Note that
> when-stmt can silently
>
> delete existing nodes not included in the edit. (Lada does not agree this
> is how it should work,
>
> so we need yang-next to decide. Maybe NETCONF needs a --force parameter
> for this purpose.)
>
>
>
>
>
> Andy
>
>
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 10:19
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huawe=
i.com>
> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@=
ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
> frank.fengchong@huawei.com> wrote:
>
> Hi andy,
>
>
>
> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>
>
>
> Do you have any opinion about my question?
>
>
>
> 8.3.1 does not apply to leaf 'b'.
>
> The RPC parameter is called 'config'.
>
> It has no when-stmts to evaluate.
>
> Rob is correct.
>
> His example shows what 8.3.1 would cover.
>
>
>
> Andy
>
>
>
>
>
>
> ------------------------------
>
> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8 =
Huawei Technologies Co., Ltd.
>
> [image: Company_logo]
>
> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
> ------------------------------
>
> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=
=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=
=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=
=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=
=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
> This e-mail and its attachments contain confidential information from
> HUAWEI, which
> is intended only for the person or entity whose address is listed above.
> Any use of the
> information contained herein in any way (including, but not limited to,
> total or partial
> disclosure, reproduction, or dissemination) by persons other than the
> intended
> recipient(s) is prohibited. If you receive this e-mail in error, please
> notify the sender by
> phone or email immediately and delete it!
>
>
>
> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=97=
=A5 1:14
> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Rob Wilton (rwilton) <rwilton@cisco.com>
> *=E6=8A=84=E9=80=81**:* Fengchong (frank) <frank.fengchong@huawei.com>; n=
etmod@ietf.org;
> Yangang <yangang@huawei.com>
> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about =
=E2=80=98when=E2=80=99
>
>
>
> Hi,
>
>
>
> None of the operations that accept or return datastore contents expose th=
e
> datastore objects
>
> in the RPC parameters.  They are always anyxml or anydata. This means tha=
t
>
> there are no descendant data nodes defined at all according to the RPC
> operation
>
> and therefore the constraints on those nodes do not exist in the RPC
> operation either.
>
>
>
>
>
>
>
> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> Hi Frank,
>
>
>
> My interpretation of what the expected behaviour is as follows.
>
>
>
> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the =
result of the
> config datastore after the edit-config has been applied is valid.
>
>
>
> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the =
result of the
> config datastore after the edit-config has been applied is invalid.
>
>
>
> My interpretation is that the block of text in 8.3.1 payload parsing is
> primary intended to refer to RFC input.  E.g. if the RPC was defined
> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 would=
 enforce that a
> zip-code can only be provided if the country is the USA.
>
>
>
>        rpc rock-the-house {
>
>          input {
>
>            leaf country {
>
>              type string;
>
>            }
>
>            leaf zip-code {
>
>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>
>              type string;
>
>            }
>
>          }
>
>        }
>
>
>
> Thanks,
>
> Rob
>
>
>
>
>
>
>
> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> *Sent:* 06 September 2019 08:19
> *To:* netmod@ietf.org
> *Cc:* Yangang <yangang@huawei.com>
> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>
>
>
> Hi all,
>
>
>
> In RFC7950 secton 8, several description about when=EF=BC=9A
> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
> Configuration Data Modifications
>
>    o  If a request modifies a configuration data node such that any
>
>       node's "when" expression becomes false, then the node in the data
>
>       tree with the "when" expression is deleted by the server.
> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
> Parsing
>
>    o  If data for a node tagged with "when" is present and the "when"
>
>       condition evaluates to "false", the server MUST reply with an
>
>       "unknown-element" <error-tag> in the <rpc-error>.
>
> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
> <edit-config> Processing
>
> Modification requests for nodes tagged with "when", and the "when"
>
>       condition evaluates to "false".  In this case, the server MUST
>
>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>
>
>
> YANG module=EF=BC=9A
>
> module foo {
>
>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>
>    prefix =E2=80=9Cfoo=E2=80=9D;
>
> Leaf a {=E2=80=A6}
>
> Leaf b {
>
>   When =E2=80=9Ca =3D 10=E2=80=9D;
>
> }
>
> }
> Scene 1:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 3.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false, =
server
> will report =E2=80=98unknown-element=E2=80=99 error.
>
> Is it expected by user?
> Scene 2:
>
> The first edit-config request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>
>    </config>
>
> </edit-config>
>
> This request will set a =3D 10.
>
>
>
> The second request:
>
> <edit-config>
>
>    <target>
>
>       <candidate/>
>
>    </target>
>
>    <config>
>
>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>
>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>
>    </config>
>
> </edit-config>
>
> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in c=
andidate
> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true,=
 server
> will accept this request in payload parsing phase.
>
>
>
> In edit-config request processing phase, if leaf a=E2=80=99s modification=
 is
> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
> condition will be false, when server process b=E2=80=99s modification, b =
will be
> treated as unknown-element, the edit-config request will fail.
>
> If leaf b=E2=80=99s modification is processed firstly, server will accept=
 this
> modification ,because b=E2=80=99s when condition is true, and when server=
 process
> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
> condition will be evaluated to false, leaf b will be deleted automaticall=
y,
> the edit-config request will be OK.
>
>
>
> How server should process this situation?
>
>
>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>
>

--000000000000099a0905936cc564
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, Sep 25, 2019 at 7:54 PM Qin W=
u &lt;<a href=3D"mailto:bill.wu@huawei.com">bill.wu@huawei.com</a>&gt; wrot=
e:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0=
.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang=3D"ZH-CN">
<div class=3D"gmail-m_4362233490982330167WordSection1">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA<span=
 lang=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:=
11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Andy Bie=
rman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@y=
umaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4<span lang=
=3D"EN-US">:</span></span></b><span lang=3D"EN-US" style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> 2019</span><s=
pan style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">=E5=B9=B4<span lang=3D"EN-US">9</span>=E6=9C=88<span lang=
=3D"EN-US">26</span>=E6=97=A5<span lang=3D"EN-US">
 0:00<br>
</span><b>=E6=94=B6=E4=BB=B6=E4=BA=BA<span lang=3D"EN-US">:</span></b><span=
 lang=3D"EN-US"> Sterne, Jason (Nokia - CA/Ottawa) &lt;<a href=3D"mailto:ja=
son.sterne@nokia.com" target=3D"_blank">jason.sterne@nokia.com</a>&gt;<br>
</span><b>=E6=8A=84=E9=80=81<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Qin Wu &lt;<a href=3D"mailto:bill.wu@huawei.com" target=3D"_blank">=
bill.wu@huawei.com</a>&gt;; Fengchong (frank) &lt;<a href=3D"mailto:frank.f=
engchong@huawei.com" target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; =
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b>=E4=B8=BB=E9=A2=98<span lang=3D"EN-US">:</span></b><span lang=3D"=
EN-US"> Re: [netmod] </span>
=E7=AD=94=E5=A4=8D<span lang=3D"EN-US">: </span>=E7=AD=94=E5=A4=8D<span lan=
g=3D"EN-US">: Please clarify implementation about
</span>=E2=80=98<span lang=3D"EN-US">when</span>=E2=80=99<span lang=3D"EN-U=
S"><u></u><u></u></span></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Wed, Sep 25, 2019 at 8:59 AM=
 Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">a=
ndy@yumaworks.com</a>&gt; wrote:<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Wed, Sep 25, 2019 at 8:44 AM=
 Sterne, Jason (Nokia - CA/Ottawa) &lt;<a href=3D"mailto:jason.sterne@nokia=
.com" target=3D"_blank">jason.sterne@nokia.com</a>&gt; wrote:<u></u><u></u>=
</span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">Processing order should not matter. The evaluation=
 of the &#39;when&#39; statement should be done assuming an
 atomic application of the edit-config.</span><span lang=3D"EN-CA"><u></u><=
u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0</span><span lang=3D"EN-CA"><u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">I agree that a standards compliant server should d=
o as Rob said:</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0</span><span lang=3D"EN-CA"><u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">- For =E2=80=9Cscene 1=E2=80=9D, the config change=
 is accepted because the result of the config datastore after the
 edit-config has been applied is valid.</span><span lang=3D"EN-CA"><u></u><=
u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">- For =E2=80=9Cscene 2=E2=80=9D, the config change=
 is rejected because the result of the config datastore after the
 edit-config has been applied is invalid.</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0</span><span lang=3D"EN-CA"><u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">From an implementation that may indeed mean proces=
sing the &#39;when&#39; after a first pass that sets the various
 leafs to tentative values. But that&#39;s implementation detail.</span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0</span><span lang=3D"EN-CA"><u></u><u></u></=
span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">IMO the auto-clearing behavior of &#39;when&#39; m=
ay be complicated but that is how it is defined (same with
 &#39;choice&#39;). Clients can and should depend on things being automatic=
ally deleted. If you want validation errors (i.e. force the client to clear=
 all the dependant leafs instead of auto-clearing) then use a &#39;must&#39=
; statement.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">[Qin]: Good clarification.<=
u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">+1<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG clearly defines &quot;must=
&quot; and &quot;when&quot; with different behavior.<u></u><u></u></span></=
p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">A server that does not implemen=
t the auto-delete aspects of when-stmt is not compliant to the RFC.<u></u><=
u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">oops -- s/must-stmt/when-stmt/<=
u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">[Qin]: implement the auto-delet=
e aspects of must-stmt is a must for server or implement client force delet=
e aspects of must stmt is a must for a server?<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">So for both=C2=A0 </span><span =
lang=3D"EN-CA" style=3D"font-size:11pt;font-family:Calibri,sans-serif">=E2=
=80=9Cscene 1=E2=80=9D</span><span lang=3D"EN-US"> and
</span><span lang=3D"EN-CA" style=3D"font-size:11pt;font-family:Calibri,san=
s-serif">=E2=80=9Cscene 2=E2=80=9D</span><span lang=3D"EN-US">, the client =
will not receive validation error unless when statement is replaced with mu=
st statement in the below example model?
<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">I thought validation error will=
 still be received when the config change is reject in
</span><span lang=3D"EN-CA" style=3D"font-size:11pt;font-family:Calibri,san=
s-serif">=E2=80=9Cscene 2=E2=80=9D.</span></p></div></div></div></div></div=
></blockquote><div><br></div><div><br></div><div>sorry for the confusion. i=
t was right the first time.</div><div>when-stmt has auto-delete.</div><div>=
must-stmt has error instead of auto-delete.</div><div><br></div><div>=C2=A0=
Andy</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:=
0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=
<div lang=3D"ZH-CN"><div class=3D"gmail-m_4362233490982330167WordSection1">=
<div><div><div><p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u><u></u></=
span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">Jason</span><span lang=3D"EN-CA"><u></u><u></u></s=
pan></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US"><u></u>=C2=A0<u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy<u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0<u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin-left:4=
.8pt;margin-right:0cm">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-CA" style=3D"font-size:11pt;font-fa=
mily:Calibri,sans-serif">=C2=A0</span><span lang=3D"EN-CA"><u></u><u></u></=
span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt;font=
-family:Calibri,sans-serif">From:</span></b><span lang=3D"EN-US" style=3D"f=
ont-size:11pt;font-family:Calibri,sans-serif"> netmod
 &lt;<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bo=
unces@ietf.org</a>&gt;
<b>On Behalf Of </b>Qin Wu<br>
<b>Sent:</b> Tuesday, September 10, 2019 10:33 PM<br>
<b>To:</b> Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.c=
om" target=3D"_blank">frank.fengchong@huawei.com</a>&gt;; Andy Bierman &lt;=
<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks.com<=
/a>&gt;<br>
<b>Cc:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a>; Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blan=
k">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] </span><span style=3D"font-size:11pt;font-family:&=
quot;MS Gothic&quot;">=E7=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:Calibri,sans-serif">:
</span><span style=3D"font-size:11pt;font-family:&quot;MS Gothic&quot;">=E7=
=AD=94=E5=A4=8D</span><span lang=3D"EN-US" style=3D"font-size:11pt;font-fam=
ily:Calibri,sans-serif">: Please clarify implementation about =E2=80=98when=
=E2=80=99</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-CA">=C2=A0<u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Why processing order matter=
? My interpretation is both leaf node values (i.e.,leaf a,
 leaf b) should be validated together and commit as a whole,</span><span la=
ng=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">RFC6241 said:</span><span l=
ang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9C</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:21pt">
<span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-ser=
if;color:rgb(31,73,125)">If the device is unable to commit all of the chang=
es in the</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 candidate configuration datastore, then the running</=
span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0 configuration MUST remain unchanged.</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=E2=80=9D</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">So validate the leaf node v=
alue in the edit-config request (message content validation)
 is not important, validate the leaf node value that is applied to &lt;runn=
ing&gt; (datastore validation) is the key.</span><span lang=3D"EN-CA"><u></=
u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">I think what you want to raise is the server =
should hold on to send reply with an &quot;unknown-element&quot; &lt;error-=
tag&gt; in the &lt;rpc-error&gt; during payload parsing phase and NETCONF &=
lt;edit-config&gt; </span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Processing until all validation complete, oth=
erwise it seems server will </span><span lang=3D"EN-CA"><u></u><u></u></spa=
n></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">Send multiple rply with &quot;unknown-element=
&quot; &lt;error-tag&gt; in the &lt;rpc-error&gt; which seems not reasonabl=
e.</span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"EN-CA"><u></u><u><=
/u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,san=
s-serif;color:rgb(31,73,125)">-Qin</span><span lang=3D"EN-CA"><u></u><u></u=
></span></pre>
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA</spa=
n></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=
=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" st=
yle=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans=
-serif">
 netmod [<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">mailt=
o:netmod-bounces@ietf.org</a>]
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E4=BB=A3=E8=A1=A8 </span>
</b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=
=BD=AF=E9=9B=85=E9=BB=91,sans-serif">Fengchong (frank)<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span></b>=
<b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D=
"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif=
"> 2019</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">9</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">11</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">
 9:29<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><span =
lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Andy B=
ierman
 &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">andy@yumaworks=
.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> [netmod]
</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">=E7=AD=94=E5=A4=8D</span><span lang=3D"EN-US" styl=
e=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-s=
erif">: Please clarify implementation about
</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">=E2=80=98</span><span lang=3D"EN-US" style=3D"font=
-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">whe=
n</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">=E2=80=99</span><span lang=3D"EN-CA"><u></u><u></u=
></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
Andy,</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether different result wo=
uld occur according different process order?
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According 8.3.2</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">if server process =E2=80=98=
a=3D 3=E2=80=99 firstly, b will be deleted by system and becomes a non-exis=
t
 schema node, and then =C2=A0when =E2=80=98b=3D5=E2=80=99 is processed , se=
rver will report a =E2=80=98unknown-element=E2=80=99 error.</span><span lan=
g=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">But if server process =E2=
=80=98b=3D5=E2=80=99 firstly, it will be accepted by server, and then when =
=E2=80=98a=3D3=E2=80=99
 is processed, b will be deleted by system, but report OK.</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If sec 8.3.2 is not right. =
What is the right?</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When node a and node b in t=
he same request, and b tagged when condition, a=E2=80=99s value will
 cause b=E2=80=99s condition is evaluated to false, which is more prior?</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">According you and Rob=E2=80=
=99s interpretation , maybe node =E2=80=99a=E2=80=99 is more prior? If yes,=
 why node
 =E2=80=98b=E2=80=99 should be processed later? </span><span lang=3D"EN-CA"=
><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">I think whether in edit-con=
fig processing phase the configuration tagged when should not
 be evaluated and be delayed to commit or validate?</span><span lang=3D"EN-=
CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">When commit or validate ope=
ration is issued,=C2=A0 the data node tagged when will be evaluated,
 and if it=E2=80=99s evaluated to false, this data will be deleted by syste=
m immediately, server should not report any error.</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</span><span lang=
=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologies Co., Ltd.</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" id=3D"gmail-m_436223349098233=
0167gmail-m_-1371560784247913107gmail-m_6264066750282380241=E5=9B=BE=E7=89=
=87_x0020_2" src=3D"cid:16d6bb642f94cff311" alt=3D"Company_logo"></span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span lang=3D"EN-US"=
 style=3D"color:rgb(31,73,125)"><br>
</span><span style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=80=E3=80=80=E6=
=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">1=
3776612983<br>
</span><span style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=90=E9=82=AE=E4=
=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengch=
ong@huawei.com</a><br>
</span><span style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=B8=E7=BD=91=E5=
=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a></span=
><span lang=3D"EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA</spa=
n></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=
=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" st=
yle=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans=
-serif">
 Andy Bierman [<a href=3D"mailto:andy@yumaworks.com" target=3D"_blank">mail=
to:andy@yumaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span></b>=
<b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D=
"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif=
"> 2019</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">9</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">10</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">
 10:56<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><span =
lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Fengch=
ong
 (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank=
">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Rob Wilton
 (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_blank">rwilt=
on@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Re: [netmod]
 Please clarify implementation about </span><span style=3D"font-size:11pt;f=
ont-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=98</span=
><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">when</span><span style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=99</spa=
n><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:40 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt; wrote:</span><span lang=3D"E=
N-CA"><u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Andy,</span><span lang=3D"E=
N-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Whether all constraints on =
content in &lt;config&gt; parameter will not be evaluated in payload
 parsing phase, for example, a leaf=E2=80=99s value exceed range?</span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Netconf server should treat=
 it as a block data?</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Field validation and datastore =
validation are 2 different things.</span><span lang=3D"EN-CA"><u></u><u></u=
></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">when-stmt processing is neither=
. It is by far the hardest part of an automated server to get right.</span>=
<span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Another question:</span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">In edit-config processing p=
hase, whether constraints on content in &lt;config&gt; parameter
 needs be evaluated?</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">If yes, when =C2=A0configur=
ation modification cause when condition is evaluated to false, the
 node tagged when will be automatically deleted by system.</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Then, in scene 2, whether d=
ifferent result would occur according different process order?</span><span =
lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Since the &lt;config&gt; parame=
ter is anyxml, the YANG constraints defined on datastore contents</span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">are not enforced as part of RPC=
 input validation.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It would be nice if NETCONF def=
ined behavior for providing &lt;config&gt; data that will get deleted</span=
><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">immediately by the server.=C2=
=A0 We have a CLI parameter for this since some vendors want to</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">treat this as an error and othe=
r just silently delete nodes.=C2=A0 Note that when-stmt can silently</span>=
<span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">delete existing nodes not inclu=
ded in the edit. (Lada does not agree this is how it should work,</span><sp=
an lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">so we need yang-next to decide.=
 Maybe NETCONF needs a --force parameter for this purpose.)</span><span lan=
g=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy</span><span lang=3D"EN-CA"=
><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</span><span lang=
=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologies Co., Ltd.</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" id=3D"gmail-m_436223349098233=
0167gmail-m_-1371560784247913107gmail-m_6264066750282380241gmail-m_-7080609=
217597534168=E5=9B=BE=E7=89=87_x0020_2" src=3D"cid:16d6bb642f94cff311" alt=
=3D"Company_logo"></span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span lang=3D"EN-US"=
 style=3D"color:rgb(31,73,125)"><br>
</span><span style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=80=E3=80=80=E6=
=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">1=
3776612983<br>
</span><span style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=90=E9=82=AE=E4=
=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengch=
ong@huawei.com</a><br>
</span><span style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=B8=E7=BD=91=E5=
=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a></span=
><span lang=3D"EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA</spa=
n></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=
=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" st=
yle=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans=
-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span></b>=
<b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D=
"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif=
"> 2019</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">9</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">10</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">
 10:19<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><span =
lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Fengch=
ong
 (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank=
">frank.fengchong@huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Rob Wilton
 (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_blank">rwilt=
on@cisco.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Re: [netmod]
 Please clarify implementation about </span><span style=3D"font-size:11pt;f=
ont-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=98</span=
><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">when</span><span style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=99</spa=
n><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 7:10 PM =
Fengchong (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=
=3D"_blank">frank.fengchong@huawei.com</a>&gt; wrote:</span><span lang=3D"E=
N-CA"><u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Hi andy,</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">You only talk about the con=
straints on rpc operation=E2=80=99s parameter?</span><span lang=3D"EN-CA"><=
u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">Do you have any opinion abo=
ut my question?</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
</div>
</blockquote>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">8.3.1 does not apply to leaf &#=
39;b&#39;.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The RPC parameter is called &#3=
9;config&#39;.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">It has no when-stmts to evaluat=
e.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Rob is correct.</span><span lan=
g=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">His example shows what 8.3.1 wo=
uld cover.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Andy</span><span lang=3D"EN-CA"=
><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"font-size:10.5pt;font-family:Calibri,sans-serif;co=
lor:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E5=8D=8E=E4=B8=
=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8</span><span lang=
=3D"EN-US" style=3D"color:rgb(31,73,125)"> Huawei Technologies Co., Ltd.</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">=
<img border=3D"0" width=3D"102" height=3D"32" id=3D"gmail-m_436223349098233=
0167gmail-m_-1371560784247913107gmail-m_6264066750282380241gmail-m_-7080609=
217597534168m_-1746658151094362872gmail-m_-4542574847536570289=E5=9B=BE=E7=
=89=87_x0020_2" src=3D"cid:16d6bb642f94cff311" alt=3D"Company_logo"></span>=
<span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span style=3D"color:rgb(31,73,125)">=E4=B8=AA=E4=BA=
=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2</span><span lang=3D"EN-US"=
 style=3D"color:rgb(31,73,125)"><br>
</span><span style=3D"color:rgb(31,73,125)">=E6=89=8B=E3=80=80=E3=80=80=E6=
=9C=BA=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)">1=
3776612983<br>
</span><span style=3D"color:rgb(31,73,125)">=E7=94=B5=E5=AD=90=E9=82=AE=E4=
=BB=B6=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank">frank.fengch=
ong@huawei.com</a><br>
</span><span style=3D"color:rgb(31,73,125)">=E5=85=AC=E5=8F=B8=E7=BD=91=E5=
=9D=80=EF=BC=9A</span><span lang=3D"EN-US" style=3D"color:rgb(31,73,125)"><=
a href=3D"http://www.huawei.com" target=3D"_blank">www.huawei.com</a></span=
><span lang=3D"EN-CA"><u></u><u></u></span></p>
<div class=3D"MsoNormal" align=3D"center" style=3D"text-align:center"><span=
 lang=3D"EN-US" style=3D"color:rgb(31,73,125)">
<hr size=3D"1" width=3D"100%" align=3D"center">
</span></div>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-family:Tahoma,san=
s-serif;color:rgb(31,73,125)">=EF=BB=BF</span><span lang=3D"EN-US" style=3D=
"font-size:7.5pt;font-family:Arial,sans-serif;color:gray">
</span><span style=3D"font-size:7.5pt;color:gray">=E6=9C=AC=E9=82=AE=E4=BB=
=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=
=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=
=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=
=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=
=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E6=AD=A2=E4=BB=BB=E4=BD=
=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=
=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=
=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=
=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=
=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD</span><span lang=3D"EN-US" style=3D"fo=
nt-size:7.5pt;font-family:Arial,sans-serif;color:gray"><br>
</span><span style=3D"font-size:7.5pt;color:gray">=E7=9A=84=E4=BF=A1=E6=81=
=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E4=BA=86=E6=9C=AC=
=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=
=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=
=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=81</span><s=
pan lang=3D"EN-US" style=3D"font-size:7.5pt;font-family:Arial,sans-serif;co=
lor:gray"><br>
This e-mail and its attachments contain confidential information from HUAWE=
I, which
<br>
is intended only for the person or entity whose address is listed above. An=
y use of the
<br>
information contained herein in any way (including, but not limited to, tot=
al or partial
<br>
disclosure, reproduction, or dissemination) by persons other than the inten=
ded <br>
recipient(s) is prohibited. If you receive this e-mail in error, please not=
ify the sender by
<br>
phone or email immediately and delete it!</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10.5pt;font-=
family:Calibri,sans-serif;color:rgb(31,73,125)">=C2=A0</span><span lang=3D"=
EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><b><span style=3D"font-size:11pt;font-family:=E5=BE=
=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E4=BB=B6=E4=BA=BA</spa=
n></b><b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=
=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" st=
yle=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans=
-serif">
 Andy Bierman [mailto:<a href=3D"mailto:andy@yumaworks.com" target=3D"_blan=
k">andy@yumaworks.com</a>]
<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4</span></b>=
<b><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D=
"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif=
"> 2019</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E5=B9=B4</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">9</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=9C=88</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">10</span><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=
=E9=9B=85=E9=BB=91,sans-serif">=E6=97=A5</span><span lang=3D"EN-US" style=
=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-se=
rif">
 1:14<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=94=B6=E4=BB=B6=E4=BA=BA</span></b><b><span =
lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=
=85=E9=BB=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-siz=
e:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Rob Wi=
lton
 (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_blank">rwilt=
on@cisco.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E6=8A=84=E9=80=81</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Fengchong
 (frank) &lt;<a href=3D"mailto:frank.fengchong@huawei.com" target=3D"_blank=
">frank.fengchong@huawei.com</a>&gt;;
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a>; Y=
angang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@=
huawei.com</a>&gt;<br>
</span><b><span style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=
=9B=85=E9=BB=91,sans-serif">=E4=B8=BB=E9=A2=98</span></b><b><span lang=3D"E=
N-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=
=91,sans-serif">:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt;fo=
nt-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif"> Re: [netmod]
 Please clarify implementation about </span><span style=3D"font-size:11pt;f=
ont-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=98</span=
><span lang=3D"EN-US" style=3D"font-size:11pt;font-family:=E5=BE=AE=E8=BD=
=AF=E9=9B=85=E9=BB=91,sans-serif">when</span><span style=3D"font-size:11pt;=
font-family:=E5=BE=AE=E8=BD=AF=E9=9B=85=E9=BB=91,sans-serif">=E2=80=99</spa=
n><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi,</span><span lang=3D"EN-CA">=
<u></u><u></u></span></p>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">None of the operations that acc=
ept or return datastore contents expose the datastore objects</span><span l=
ang=3D"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">in the RPC parameters.=C2=A0 Th=
ey are always anyxml or anydata. This means that</span><span lang=3D"EN-CA"=
><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">there are no descendant data no=
des defined at all according to the RPC operation</span><span lang=3D"EN-CA=
"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">and therefore the constraints o=
n those nodes do not exist in the RPC operation either.</span><span lang=3D=
"EN-CA"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">On Mon, Sep 9, 2019 at 6:41 AM =
Rob Wilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com" target=3D"_bl=
ank">rwilton@cisco.com</a>&gt; wrote:</span><span lang=3D"EN-CA"><u></u><u>=
</u></span></p>
</div>
<blockquote style=3D"border-top:none;border-right:none;border-bottom:none;b=
order-left:1pt solid rgb(204,204,204);padding:0cm 0cm 0cm 6pt;margin:5pt 0c=
m 5pt 4.8pt">
<div>
<div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Hi Fra=
nk,</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation of what the expected behaviour is as follows.</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span style=3D"font-size:11pt">=E2=80=9C</span><span lang=3D"EN-GB" =
style=3D"font-size:11pt">scene 1</span><span style=3D"font-size:11pt">=E2=
=80=9D</span><span lang=3D"EN-GB" style=3D"font-size:11pt">, the config cha=
nge is accepted because the result of the config datastore
 after the edit-config has been applied is valid.</span><span lang=3D"EN-CA=
"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">For
</span><span style=3D"font-size:11pt">=E2=80=9C</span><span lang=3D"EN-GB" =
style=3D"font-size:11pt">scene 2</span><span style=3D"font-size:11pt">=E2=
=80=9D</span><span lang=3D"EN-GB" style=3D"font-size:11pt">, the config cha=
nge is rejected because the result of the config datastore
 after the edit-config has been applied is invalid.</span><span lang=3D"EN-=
CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">My int=
erpretation is that the block of text in 8.3.1 payload parsing is primary i=
ntended to refer to RFC input.=C2=A0 E.g. if the RPC was
 defined something like below, then the </span><span style=3D"font-size:11p=
t">=E2=80=98</span><span lang=3D"EN-GB" style=3D"font-size:11pt">when</span=
><span style=3D"font-size:11pt">=E2=80=99</span><span lang=3D"EN-GB" style=
=3D"font-size:11pt"> rule in 8.3.1 would enforce that
 a zip-code can only be provided if the country is the USA.</span><span lan=
g=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0 rpc rock-the-house {</span><span lang=3D"EN-CA"><u></u><u></u></span></=
p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 input {</span><span lang=3D"EN-CA"><u></u><u></u></span></p=
>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0 =C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0leaf country {</span><span lang=3D"EN-CA"><u>=
</u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-CA"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 leaf zip-code {</span><span lang=3D"EN-CA"><u><=
/u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 when =E2=80=9C../country =3D =E2=80=
=98usa=E2=80=99=E2=80=9D;</span><span lang=3D"EN-CA"><u></u><u></u></span><=
/p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 type string;</span><span lang=3D"EN=
-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-CA"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0 }</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:10pt;font-fa=
mily:&quot;Courier New&quot;;color:black">=C2=A0 =C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0}</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Thanks=
,</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">Rob</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-GB" style=3D"font-size:11pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<div style=3D"border-top:none;border-right:none;border-bottom:none;border-l=
eft:1.5pt solid blue;padding:0cm 0cm 0cm 4pt">
<div>
<div style=3D"border-right:none;border-bottom:none;border-left:none;border-=
top:1pt solid rgb(225,225,225);padding:3pt 0cm 0cm">
<p class=3D"MsoNormal"><b><span lang=3D"EN-US" style=3D"font-size:11pt">Fro=
m:</span></b><span lang=3D"EN-US" style=3D"font-size:11pt"> netmod &lt;<a h=
ref=3D"mailto:netmod-bounces@ietf.org" target=3D"_blank">netmod-bounces@iet=
f.org</a>&gt;
<b>On Behalf Of </b>Fengchong (frank)<br>
<b>Sent:</b> 06 September 2019 08:19<br>
<b>To:</b> <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf=
.org</a><br>
<b>Cc:</b> Yangang &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_bla=
nk">yangang@huawei.com</a>&gt;<br>
<b>Subject:</b> [netmod] Please clarify implementation about </span><span s=
tyle=3D"font-size:11pt">=E2=80=98</span><span lang=3D"EN-US" style=3D"font-=
size:11pt">when</span><span style=3D"font-size:11pt">=E2=80=99</span><span =
lang=3D"EN-CA"><u></u><u></u></span></p>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-GB">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">Hi all,</span><span lang=3D"EN-=
CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">In RFC7950 secton 8, several de=
scription about when</span>=EF=BC=9A<span lang=3D"EN-CA"><u></u><u></u></sp=
an></p>
<h3><span lang=3D"EN-US">In section <a href=3D"https://tools.ietf.org/html/=
rfc7950#section-8.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck">8.2</span></a></span><span lang=3D"EN-US" style=3D"font-size:10pt;font-=
family:&quot;Courier New&quot;;color:black">.=C2=A0 Configuration Data Modi=
fications</span><span lang=3D"EN-CA"><u></u><u></u></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0 o=C2=A0 If a request modifies a configuration data node =
such that any</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 node&#39;s &quot;when&quot; expression=
 becomes false, then the node in the data</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:10pt;color:b=
lack">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 tree with the &quot;when&quot; express=
ion is deleted by the server.</span><span lang=3D"EN-CA"><u></u><u></u></sp=
an></p>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.1" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.1</span></a></span><span lang=3D"EN-US" style=
=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=A0=
 Payload Parsing</span><span lang=3D"EN-CA"><u></u><u></u></span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
 o=C2=A0 If data for a node tagged with &quot;when&quot; is present and the=
 &quot;when&quot;</span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;, the server MUS=
T reply with an</span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 &quot;unknown-element&quot; &lt;error-tag&gt; in the &lt=
;rpc-error&gt;.</span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<h4><span lang=3D"EN-US">In <a href=3D"https://tools.ietf.org/html/rfc7950#=
section-8.3.2" target=3D"_blank">
<span style=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:bla=
ck;text-decoration:none">8.3.2</span></a></span><a name=3D"m_43622334909823=
30167_m_-1371560784247913107_m_626406675028238"></a><span lang=3D"EN-US" st=
yle=3D"font-size:10pt;font-family:&quot;Courier New&quot;;color:black">.=C2=
=A0 NETCONF
 &lt;edit-config&gt; Processing</span><span lang=3D"EN-CA"><u></u><u></u></=
span></h4>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">Modification=
 requests for nodes tagged with &quot;when&quot;, and the &quot;when&quot;<=
/span><span lang=3D"EN-CA"><u></u><u></u></span></pre>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 condition evaluates to &quot;false&quot;.=C2=A0 In this =
case, the server MUST</span><span lang=3D"EN-CA"><u></u><u></u></span></pre=
>
<pre><span lang=3D"EN-US" style=3D"font-size:10pt;color:black">=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0 reply with an &quot;unknown-element&quot; &lt;error-tag&=
gt; in the &lt;rpc-error&gt;.</span><span lang=3D"EN-CA"><u></u><u></u></sp=
an></pre>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">YANG module</span>=EF=BC=9A<spa=
n lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">module foo {</span><span lang=
=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 namespace
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">;</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 prefix
</span>=E2=80=9C<span lang=3D"EN-US">foo</span>=E2=80=9D<span lang=3D"EN-US=
">;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf a {</span>=E2=80=A6<span lang=3D"EN-US">}</span><=
span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">Leaf b {</span><span lang=3D"EN-CA"><u></u><u></u></sp=
an></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">=C2=A0 When </span>=E2=80=9C<span lang=3D"EN-US">a =3D=
 10</span>=E2=80=9D<span lang=3D"EN-US">;</span><span lang=3D"EN-CA"><u></u=
><u></u></span></p>
<p class=3D"MsoNormal" style=3D"text-indent:15.75pt">
<span lang=3D"EN-US">}</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">}</span><span lang=3D"EN-CA"><u=
></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 1: </span><span lang=3D"EN-CA"><u></u><u></u=
></span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;3&lt;/a&g=
t;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 3.<=
/span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;10&lt;/a&=
gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;5&lt;/b&g=
t;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span style=3D"font-si=
ze:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s
 value in candidate datastore is 3,so leaf b</span><span style=3D"font-size=
:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s when=
 condition is evaluated to false, server will report
</span><span style=3D"font-size:14pt">=E2=80=98</span><span lang=3D"EN-US" =
style=3D"font-size:14pt">unknown-element</span><span style=3D"font-size:14p=
t">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt"> error.</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Is it =
expected by user?</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<h3><span lang=3D"EN-US">Scene 2:</span><span lang=3D"EN-CA"><u></u><u></u>=
</span></h3>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The first edit-config request:<=
/span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;10&lt;/a&=
gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">This request will set a =3D 10.=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">The second request:</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;edit-config&gt;</span><span=
 lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;target&gt;</sp=
an><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;candidate/&gt;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/target&gt;
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0&lt;config&gt=
;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;a xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;3&lt;/a&g=
t;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 =
&lt;b xmlns=3D
</span>=E2=80=9C<span lang=3D"EN-US"><a href=3D"http://foo.com" target=3D"_=
blank">http://foo.com</a></span>=E2=80=9D<span lang=3D"EN-US">&gt;5&lt;/b&g=
t;</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0=C2=A0 &lt;/config&gt;</s=
pan><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">&lt;/edit-config&gt;</span><spa=
n lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">Accord=
ing 8.3.1, in rpc payload parsing phase, the a</span><span style=3D"font-si=
ze:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s
 value in candidate datastore is 10, so leaf b</span><span style=3D"font-si=
ze:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s wh=
en condition is evaluated to true, server will accept this request in paylo=
ad parsing phase.
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">In edi=
t-config request processing phase, if leaf a</span><span style=3D"font-size=
:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s
 modification is processed firstly, the a</span><span style=3D"font-size:14=
pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s value w=
ill be changed to 3, so the b</span><span style=3D"font-size:14pt">=E2=80=
=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s
 when condition will be false, when server process b</span><span style=3D"f=
ont-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt=
">s modification, b will be treated as unknown-element, the edit-config req=
uest will fail.
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">If lea=
f b</span><span style=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-U=
S" style=3D"font-size:14pt">s modification is processed firstly,
 server will accept this modification ,because b</span><span style=3D"font-=
size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s =
when condition is true, and when server process a</span><span style=3D"font=
-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size:14pt">s
 modification , this modification will be accepted, and b</span><span style=
=3D"font-size:14pt">=E2=80=99</span><span lang=3D"EN-US" style=3D"font-size=
:14pt">s when condition will be evaluated to false, leaf b will be deleted =
automatically, the edit-config request will
 be OK.</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">=C2=A0=
</span><span lang=3D"EN-CA"><u></u><u></u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US" style=3D"font-size:14pt">How se=
rver should process this situation?</span><span lang=3D"EN-CA"><u></u><u></=
u></span></p>
<p class=3D"MsoNormal"><span lang=3D"EN-US">=C2=A0</span><span lang=3D"EN-C=
A"><u></u><u></u></span></p>
</div>
</div>
</div>
<p class=3D"MsoNormal"><span lang=3D"EN-US">_______________________________=
________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" target=3D"_blank">=
https://www.ietf.org/mailman/listinfo/netmod</a></span><span lang=3D"EN-CA"=
><u></u><u></u></span></p>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</div>

</blockquote></div></div>

--000000000000099a0905936cc564--

--000000000000099a0a05936cc565
Content-Type: image/png; name="image001.png"
Content-Disposition: inline; filename="image001.png"
Content-Transfer-Encoding: base64
Content-ID: <16d6bb642f94cff311>
X-Attachment-Id: 16d6bb642f94cff311

iVBORw0KGgoAAAANSUhEUgAAAGYAAAAgCAYAAADg3g0TAAAAAXNSR0IArs4c6QAAAARnQU1BAACx
jwv8YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAkdEVYdFNvZnR3YXJlAEFkb2JlIFBob3Rvc2hv
cCBDUzIgV2luZG93c7w1Sd8AAAAHdElNRQfXAhoQEjW06nUsAAAUtElEQVRoQ+1bB3uU1dYd6ZAE
EhJICD0gIEGUjgUbKHrBe/ETRUEQHhFBUK4iCEiRoiAKShMURK6IlSJKFVGkSKTXUEIgpPdkSibT
MuuudeDFqNzvF2Q/Hud9Tz977b32PpPBhtwcwJUPDwqQBzsK4UUJKK5rxQ3WgG0upCIb+Xzyogz+
IFBayjYf4FcHD0uAlfwvcO2VQ00Jsj/K7GzIZclnccDLKjcLu1fIDcQGJ7XvdVLZdhTByeK7Cow0
S8Wr+Dxe5HvS4QcVSwDh4xhq1EsEfAJFSPioZT8Hue0odbvg4auGay4/i8CAN4+lkBUlpl2gaWiF
/F1sRkMBH226lLC4UUyN07aNlxAjwC7X4IMzjR50BSjk55ULBgSH3wevxnuo+lKOKqU3lGYZAPwB
zcfhLAKA6LKtmIWgcpwAU7sBrUL+JjZjsixlBMdr/AYEh/pTq9ApokLtVGHiYWDTWmDRPJSsWopg
1nm4PfSAANuzUuE9+SuCJ34EUhMAx3nWF8AVdBsAzFwBAij38muxqyxJH6oA5n+ITcbul3bkHRQS
jcgKQZG/CRJU/OlTCE6ZjJT7eyDhlhY4+H+9ULj7Kyo4k+3sfeZ3JG1YiItfzYB920L4j62Dt5hj
5BMEoYxYeK/FHoMEi8ByyllVVyF/E1sJAZHijMKCZbRwP8MLXwSUi585uciYMwen49vjQlQ9nGtY
D8fubofU5VPZnkT3ykDwt21IWz8Hud+9Cdemqcj7YTZyTqxngCH1eTgRUfBwDYO91tGDGJCfFcH/
xmILWsFbGgrQwp2kpyJmaoV8LiDh7DuA/Y/0wdE6USiOaYBgp3Yo7N0NV15/FriwH7h8Fv7tX6Fg
3Wxgzzzg19nI+mYcrmyeD3/iXnoU53D6EXSWMuYLIaKhNa1CgCrk72IznCIr1oMjg8pOJDWdAlJo
7RkE6POv8Wv7zjgbGo7C2rURaNUEnvs7IWPoo8BvW4HMy/Cs+xTpi14CNkwGfpyCnDUjkf35dCBh
M0Eh1RUzcmUxMchgVldA4F0EvYSolNIiKoC5odiM1ToVC3IRPLcfJwcNRlL/gcCR36nIVODTz3Ck
XUccsNnga9IEaBUHT6d4ZP+zF7B1HZB0FvmrliBvxgvsOwGOj4bBvnoUipeNB7Z9Riok3TnykfrB
hzgwZhy96mcClU1giug9DGJlxioY04IIBAKMd36Ulf2BlterDV4VtUmsvlY/fZZ/lrjdJheEx+Mx
/a2xdrvSmz/mkpSUmAuCEavdEmsezWHtRWvk59PQKJpfUlRUZPZkSWGhovVVUX+Nt54tcTgcvAuW
/m3PLpcLttJCKihAuilNQcqy2djXJA5H6zdD4M1p9BqmxZs24liHjrgcWR/5tULha9QQxTc3R+FD
PYGvqPijCchYPBeeN0YBbz4H7+yn4Xh3KDLn8H0vgbMnw7f5G5zo/xR23N4NqRMIzilmbi6CY2dq
7SfFUUnlDyXRZrXp8qI+OqCK2lU01hqvTx3q/xMLEI21FF1+HWtezVd+T9bcUp41h8QCRmMk1h4l
Vj/10Vqq13N5Q5BY/a19qK+tpIxJa4Bo7/0OO3t2wZGqNXCxcihOt28PrFnFjCwBl5/og6yoWJRU
rY2SevXhaNMKad260ENWAgd24cy01+AeMwwYMQAYPQAFz/fBpbfoQcn7SIt7cG7UECTfeRcOxTTC
/tZtgJVLaS4p3EIR8w2POYx1MEss5Vib/uunRM/qU15REkuh1hw+H68C10CQlUo5qlOxxpaf1xLV
3UiRlshLJJrTEq1jnUXjrHX/Kppb46w1JNY47cnGOzghzcWVd6bi+5hw5EREwRcRjRPVQpHX+0F6
BKln3hQk1QwFQqNQEFYbnnbxONq0EbB0IfDzDzg68hnkPfkvYDCBebwf8h65B4FVb12903zwJk7d
2RH22+ORTyo8HFIb7rFjgLxzZFE7846rm5JIUbIafVpiWZGlSEtJOoQOYCnUOpREdXovP0/59vLK
Kg+MtVZ5y1V9+X3JY/6qbHmSNcbyWI1TsehJBqK28kZkzeNUKLkmOp/G2Wg/hlLSX3kZCfXrIyu8
Nhw1QlBYpQ7ORcUAcycB330CZ+tWKKkZhowqlZAbWx8Ho+sCs98A1n6IC8/8E+kP3QU8+gjQhZ99
CdKe74Etq5H1j57IiGuC7DrVUBhRExcJTP5AxrArZ3jLcTFz/kMxliL1nJGRgd9++w2XL182dZZY
Cr5w4QIOHTqE9PR0837+/Hns2rXL9Nd4iTVfVlYW9uzZY8ZIrDkspWnM8ePHkZycbN4lUvTZs2dx
4MCB68ZQXqnqm5iYiHPnzl2ruSrW2ppPeyrvTRLFJrVp7ykpKTh58iSOHTt2rfXqOVRsDI2MVPlw
TJiIs02b41yVm5DJQI+wBrhcJRQnOrUlpZF6xo5AdmQYMqvakFTFhuTW9JhJowncROTywpnWvT3y
Ot6GwtakwNGvAju3ovD5wUiMjYGncQPkc0wmS1JEGLKfGcT4lWzyDotAdGjr4FLYp59+ivvuuw+j
Ro3C6dOnzQGlUNGHDjJs2DB06NABGzduNPWLFy/GQw89hFmzZl1XpOYRON9++y0eeOABDB061Bza
og61a66+ffvitttuu96uMQcPHsRrr72Gpk2b4u233zZJgQXkxYsX8eSTT+KWW27BI488gn379pm9
a495eXn46aefzN5VBEBubq6Zb9KkSejVqxfatWuHli1bIj4+Hg0aNED//v1x6tQpM+8LL7yAHj16
MCvTWvraZeVqZN55J5JCqiOvalU4q9VGTqVQJFYNIUU9BXw0C/be7ZEfXgWZ1WxIaRUNvD4cmD4a
BbxwXoqLxoUWjZF9373A/MXAuBlIaRaP8zVrwhnJOerYkFOLgN4eR3p7l1Sm2EZgrsVXKddybSl/
4sSJsNFAOnfubDZdXk6cOGHq1b5kyRIz7tlnn0VV7nvAgAHX6cRS5LJly0zfxo0bG2u1RNY9d+5c
1OQeq1SpgsjISKxaxbhKkYKlyEqVKqF79+7X96Ax8syYmBgzp8ZqDkt0DgFauXJl3HrrrSgoKEBC
QgIGkiXUv1q1asYI7rjjDjOv+rz44otmvaSkJHTq1Mn0s+EMU+Icchzd0jl8CE7FxeJinVCcY2Np
SAPkVgpHen1S2jxmU+OfQXYUFR1VB0cJEMaPAN6ZiJSWMTgeVh0XmjdB8Fl6w0efwB1/D9KqRJO+
YpDEufKibDjfoBIKB/UGTjIVz2TgPEGvyf4jrSzP8TqsDtG1a1dcucI7FUWWLG+QletQAuKTTz4x
bY8//jhq854lD5PyLLqSqI8O26JFi+vUp3RWdKT5Q0JCcPfdd5s+8jpZuOSbb74xFq36r7/+2tQJ
9BUrVpg6gXLTTTehT58+ZoziiDxLRlOrVi3MmDHDeNGrr75q+jdhjF29erWhTnlHZmamGWfR4ZEj
R4wXhYWFwfZL/yFIGE4F79lO4jwC/4xXcaBNHM5XrwtPeDPk14hGUq1w5N3TDVi+AOjZE1fCI5EZ
1wIYxXGzpyOlbSscj4zA5Rb0htWfAk8ORGrtRsir0QAFIdFIrR+Nw7fEwPXyE8D+b4Hd3wEvv4KE
vv3hO37aUIsUKUAsjp45c6Y5tOhAVCbrF10UFxcbehAwOqyUrrYhQ4aY/iNHjjT9LJAl6iMLjouL
MwqxaFPeoTlEJbJqAScP2bp1q5lTce7BBx80fcaPH2/A1P7UXx4mQDRnw4YNjRerbffu3cab6tat
i6NHj5q41p4ZroxIVKl9aW0BrCJD07tE55In6Ry2za06YlGdeljTvSOKmJkZgFYsQ0nXHkiuWhdp
LFdC6uFS42ZMh0ldpJhTTXnAxi1JVxNBAsbx9vHYFVuPMed1YMxY5DdvjZwa9ZFdLQonbTWR3bED
MO3fzOC+Ab5YgtPd2mOfrRIudr0POHjkOufrU0UbnTJlilGSrPL+++/Hvffei3vuucfEA32GhoYa
S//444/N2NGjR5vDv/TSS+Zd9CblSpmy0oiICLRp0+Y6lQlscXl0dDQ+++wzozCtKa8bPHiw2Yc8
4IMPPjAW3Lp1a6SmpiInJwd16tQx8eWXX34xMUZjFixYYICxPF0xLTs7G5s3bzYUWb16dcTGxqJf
v37GK2VwGqtzCWh5zqVLl9CxY0eEh4fD9lPzTtgQEYe1letirS0EmT14o39/EbCE5d9j4WreFtm1
onGGdxvvA2xbtwbu0cOREEPvmEkP2rgJWzu0xa/9qOTt64FefXHZFgZXTd57Gt0MDOpPMJYzhi1E
Zs+7cSAsHElMLIrrNMexZgRs38E/Wbcl8hiBogPJKkUDOmDbtm1Rn9mjrFjl/fffN1b3/PPPm/fn
nnvuugVaYsWYZs2a4fffSaMUeYvoplWrVli3bp1R+MqVK8166iulS7Zt22Y8SXX79+83WZqeZSxS
puKQDMJaV8Fb7e+88445186dO40B6Sz6lHfJGORRWlvJhRICZY5KPHRWjbd5xk7Hyqox2GCLwvHw
1thiq4w91cMR6P8YMGcGC+8jj/bDydhG2Fw3HFkjeZHc9C2O3M2b/6z3qPTPsfFhBvzPl6NsxiQc
bxiHjEh61319gJfoJe+/Dc9TfXGyaUOcj2qIjLBGOGWrhazapMIhLzPFYYy7JrJQFVmrqEMbFF+L
32XpUopS1LVr1xrLUvuaNWvMGAVcHfyVV14xsUjFSlUFTL169Uw8Eb8LBCUJGi9vkHLUJkWpTrQ3
btw4423yvEGDBhnlT548GdOmTTMGMmIEaZwij5AHyfJFmda+BKLVrjXkVQryojztQdSpTG3Hjh3X
03h9CiQxhQ0bt2D5rV2w1BaBn2o2wX4ClBgai+RGzXGoSezVAL90JuPLXCQO7o8fu3TlSVfAvnAR
3Ou/RHDfDiQtYpb19Xrs4R0mmbyLN3m/eW82MHkCXO2YRhOQvJD6KKnbAjkhzXCicjQyuxLY+Ut4
u/ojg9JFy4oxCpxStBSmjEVieYKCtuhMCpCVK+6MHTvWvOtgVrIg0ZgJEyaYNile94gtW7YYWlFd
ly5djEfcfPPNxhtVBIIyOClOsnDhQlOnPkpz5VXz5883bVKmwNB8mkug9e7d23iARPcUvWstJSgK
+JZYFC5RjNW97U5mxlrLpm9/Ty5ahEUtb8VcWxX8UCUSu6uGYxMn2t0gEosibNjV7y54F0wDvqJ1
Tp6JwlkEIisV/oKrX6sgjbn/spXIHcn7y0fLzMXzfP8Hsb9lLM7XjkBG5drIvikCFytFYn/VKCTE
d4ZnNoG7yGzE+fcvFSVWuqz0UYq2YobK4cOHTZqpdt1fJOvXrzfUpLoxY8bg+++/x/bt202MkEJl
hcOHDzepuGKI+onvFaBFSbJiZWwK/LpnqF3ZlNp0EZTyjSWzXlRkga8sTAmH6lXUZ/ny5abeugLo
TmYyLbY//PDDxohEwUuXLjWU9+671CdFVCbvNXN5HETQVwTXLzvw0f10x6bN8AsPvblpA+xo1QS7
u8ZjQ/NYbKEHlTxH6lm9jnFBPO1CJkqQiFxehWjpJ46SkHcwrX4Pu7p1xrdxMdgT3wyJLZoivfnN
yG7WFhdu6YCzA55EyVoG7JwznCMfQf+fv3TUQeQh2rwsU0F07969f7Iu0YQCtyxrEY1KbbovCExx
uLIaeZsoSYesUaOGAUXpqC5/mldF3qb1JNa3wZpn6tSppl0AyGtkDFK+grrWFG1JrG+idYGVh2kt
xUKBW97QlATokiojE6VpX9beVJQiyzDS0tIMQ4gabSVUa6Ejjatk0PLJdbup3A/fZ9o8gQkAkZw6
mXGGQf7FaXAPHIuieQzkDhdSCtJxGX5c4v29WHd4jxt5X3yNnFfYfxypbN484K1ZwNw5vISSCucx
mVi/CTh2iFq4pO2iQKCW/fHdl4KlpSjdpmfTq2T5FpVJFE+UHclDRHeKPdZ3TWoTd2ucYpTizZw5
c7BhwwajHIm+mlH29eWXX16ft/ydR3vQ/JpbY/UsJevuJCsXmLrfSFQv6pVC5SXTp0838c/yJiUl
mtvK8DSHvETzzKN+RIda54svvjCpuQxAMVP1tkJ4qFbekLNTkPifFVg/dCB2Dn4Cp8cMw4Wn+6P0
sUFw3PUvpN32D6T0G4Wi/2wAcklfDAVO/b1YepQxF7vh2/Erske/gfQej8HDMeg7GOjdD3iGcerp
EXA8MRTutwj2uZMcUIAcegxvFDpDhfxFbDmkI94eUJaTioMff4gpd3XDwFqV8VKtqngnoi6WVArD
qlqx2HPvY/Au+4KRl9Tn9NHDqFB7EIE0gio2kuGn5yL4+QZcHPIiElp3w67QJjjYqA1+YHr8WbVI
bIzviozZBOaKPMYJOw3CX/EnzBuKLcdbhIB+HeGjgjPSkbz2c6xkUHwjKgbjeeNf0L0bfp4xBc6z
h9mHlOGke+Sxr4CQp+gLXHlNMf/HFBVlTgRSzyBx8bvY1u8xrGjQHCtZ1j3wEJLnkxJP0VtK7PAE
HcjxF1UA8z/ERqYkLXkRLCmmgqntEifKeF+4tHg5zixYBO/JQwiWZtEpXNCfCAIeXgYFBLHxFnjN
7/gUFgLExE+UHGwoUabm4P0k5TwyP1yGwo9Wwv/zTsZ6xjEvwS0tRsArNxONVQBzI7HBTjAYxJwe
OwpLCvjMdyczlEL9zpjap6IdzNpy3PkmyBdQkVlBN4oIkL4Ytrt9hsmUn9BX4PY6EDDzsEbFy+LM
J1AMtD47Q5MbAT/ndRJg/Xi5IsTcUGwmkPv8VLmflq5Q7Kd6/VSfD1J9kcdJPwmyhobOksGel4JO
eobGXNWrGC2XTw5Zf5DFuE8JXPZs+MpcbCllCzMu9izlvJofTo7O5trXvvavkD+LjeZLJXrg85bC
4/PCwWc3gShj1lWqXwNK8yrUt93uhIueorggALNzM3g/JETegPmDV4CguNwEhJfGoO4dQfYkSAH2
178QKPK5UOgqhqfMa/C4esevkBuJiTEuJy1XP92nptxKg4WKtCZXEE85+KIgr3AgkHy0fp+iP190
B/CxXb+1DZQZhRsnUF8f3+mNPgHGWjsB0bOm0LT6lwV6rpC/CvBf3ueVojZn8csAAAAASUVORK5C
YII=
--000000000000099a0a05936cc565--


From nobody Wed Sep 25 23:50:13 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2BD8712004C for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 23:50:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 sYYsNMFRDCGD for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 23:50:06 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 77F16120045 for <netmod@ietf.org>; Wed, 25 Sep 2019 23:50:05 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id D1D191821292; Thu, 26 Sep 2019 08:51:37 +0200 (CEST)
Received: from localhost (nat-1.nic.cz [217.31.205.1]) by trail.lhotka.name (Postfix) with ESMTPSA id EE2FE1821290; Thu, 26 Sep 2019 08:51:17 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Andy Bierman <andy@yumaworks.com>, "Sterne\, Jason \(Nokia - CA\/Ottawa\)" <jason.sterne@nokia.com>
Cc: "netmod\@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
In-Reply-To: <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com>
References: <5756FB984666AD4BB8E1D63E2E3AA3D001F20F2C@dggemm513-mbs.china.huawei.com> <MN2PR11MB4366224F81AD9884FA130B37B5B70@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHRc2R0ZBV25LRO6-FxV4GOf6HfN2NWzk9dEeNby3XVdUw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBA8@dggemm513-mbx.china.huawei.com> <CABCOCHQCs093B0j6XpGvNH+idrs+PZHAcOhe=KYDN3RpccqgZw@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2CBE4@dggemm513-mbx.china.huawei.com> <CABCOCHRGzVpSOLue5bOx=5-ONWE=d1Hcn4RZ1=ZRAOx_sRqQLg@mail.gmail.com> <5756FB984666AD4BB8E1D63E2E3AA3D001F2D325@dggemm513-mbx.china.huawei.com> <B8F9A780D330094D99AF023C5877DABAA92F70D5@dggeml511-mbx.china.huawei.com> <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com>
Mail-Followup-To: Andy Bierman <andy@yumaworks.com>, "Sterne\, Jason \(Nokia - CA\/Ottawa\)" <jason.sterne@nokia.com>, "netmod\@ietf.org" <netmod@ietf.org>, Yangang <yangang@huawei.com>
Date: Thu, 26 Sep 2019 08:49:43 +0200
Message-ID: <87h84z4kmw.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/UcC9cu_kecQW8MUmuknleCRNAF8>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 06:50:11 -0000

Andy Bierman <andy@yumaworks.com> writes:

> On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jason (Nokia - CA/Ottawa) <
> jason.sterne@nokia.com> wrote:
>
>> Processing order should not matter. The evaluation of the 'when' stateme=
nt
>> should be done assuming an atomic application of the edit-config.
>>
>>
>>
>> I agree that a standards compliant server should do as Rob said:
>>
>>
>>
>> - For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because t=
he result of the
>> config datastore after the edit-config has been applied is valid.
>>
>> - For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because t=
he result of the
>> config datastore after the edit-config has been applied is invalid.
>>
>>
>>
>> From an implementation that may indeed mean processing the 'when' after a
>> first pass that sets the various leafs to tentative values. But that's
>> implementation detail.
>>
>>
>>
>> IMO the auto-clearing behavior of 'when' may be complicated but that is
>> how it is defined (same with 'choice'). Clients can and should depend on
>> things being automatically deleted. If you want validation errors (i.e.
>> force the client to clear all the dependant leafs instead of auto-cleari=
ng)
>> then use a 'must' statement.
>>
>>
>>
>
> +1
>
> YANG clearly defines "must" and "when" with different behavior.
> A server that does not implement the auto-delete aspects of when-stmt is
> not compliant to the RFC.

I don't agree with this. RFC 7950 says in sec. 8.1:

   The following properties are true in all data trees:

   ...

   o  There MUST be no nodes tagged with "when" present if the "when"
      condition evaluates to "false" in the data tree.

This can also be prevented if the server rejects an edit operation that wou=
ld create such a situation.

Lada


>
>
>> Jason
>>
>
> Andy
>
>
>>
>>
>> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Qin Wu
>> *Sent:* Tuesday, September 10, 2019 10:33 PM
>> *To:* Fengchong (frank) <frank.fengchong@huawei.com>; Andy Bierman <
>> andy@yumaworks.com>
>> *Cc:* netmod@ietf.org; Yangang <yangang@huawei.com>
>> *Subject:* [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please clari=
fy implementation about =E2=80=98when=E2=80=99
>>
>>
>>
>> Why processing order matter? My interpretation is both leaf node values
>> (i.e.,leaf a, leaf b) should be validated together and commit as a whole,
>>
>> RFC6241 said:
>>
>> =E2=80=9C
>>
>> If the device is unable to commit all of the changes in the
>>
>>          candidate configuration datastore, then the running
>>
>>          configuration MUST remain unchanged.
>>
>> =E2=80=9D
>>
>> So validate the leaf node value in the edit-config request (message
>> content validation) is not important, validate the leaf node value that =
is
>> applied to <running> (datastore validation) is the key.
>>
>>
>>
>> I think what you want to raise is the server should hold on to send repl=
y with an "unknown-element" <error-tag> in the <rpc-error> during payload p=
arsing phase and NETCONF <edit-config>
>>
>> Processing until all validation complete, otherwise it seems server will
>>
>> Send multiple rply with "unknown-element" <error-tag> in the <rpc-error>=
 which seems not reasonable.
>>
>>
>>
>> -Qin
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* netmod [mailto:netmod-bounces@ietf.org =
<netmod-bounces@ietf.org>]
>> *=E4=BB=A3=E8=A1=A8 *Fengchong (frank)
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8811=E6=
=97=A5 9:29
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Andy Bierman <andy@yumaworks.com>
>> *=E6=8A=84=E9=80=81**:* netmod@ietf.org; Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* [netmod] =E7=AD=94=E5=A4=8D: Please clarify impl=
ementation about =E2=80=98when=E2=80=99
>>
>>
>>
>> Andy,
>>
>>
>>
>> Whether different result would occur according different process order?
>>
>> According 8.3.2
>>
>> if server process =E2=80=98a=3D 3=E2=80=99 firstly, b will be deleted by=
 system and becomes
>> a non-exist schema node, and then  when =E2=80=98b=3D5=E2=80=99 is proce=
ssed , server will
>> report a =E2=80=98unknown-element=E2=80=99 error.
>>
>> But if server process =E2=80=98b=3D5=E2=80=99 firstly, it will be accept=
ed by server, and
>> then when =E2=80=98a=3D3=E2=80=99 is processed, b will be deleted by sys=
tem, but report OK.
>>
>>
>>
>> If sec 8.3.2 is not right. What is the right?
>>
>> When node a and node b in the same request, and b tagged when condition,
>> a=E2=80=99s value will cause b=E2=80=99s condition is evaluated to false=
, which is more
>> prior?
>>
>> According you and Rob=E2=80=99s interpretation , maybe node =E2=80=99a=
=E2=80=99 is more prior? If
>> yes, why node =E2=80=98b=E2=80=99 should be processed later?
>>
>>
>>
>> I think whether in edit-config processing phase the configuration tagged
>> when should not be evaluated and be delayed to commit or validate?
>>
>> When commit or validate operation is issued,  the data node tagged when
>> will be evaluated, and if it=E2=80=99s evaluated to false, this data wil=
l be
>> deleted by system immediately, server should not report any error.
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com=
 <andy@yumaworks.com>]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 10:56
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huaw=
ei.com>
>> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod=
@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <
>> frank.fengchong@huawei.com> wrote:
>>
>> Andy,
>>
>> Whether all constraints on content in <config> parameter will not be
>> evaluated in payload parsing phase, for example, a leaf=E2=80=99s value =
exceed
>> range?
>>
>> Netconf server should treat it as a block data?
>>
>>
>>
>>
>>
>> Field validation and datastore validation are 2 different things.
>>
>> when-stmt processing is neither. It is by far the hardest part of an
>> automated server to get right.
>>
>>
>>
>> Another question:
>>
>>
>>
>> In edit-config processing phase, whether constraints on content in
>> <config> parameter needs be evaluated?
>>
>> If yes, when  configuration modification cause when condition is evaluat=
ed
>> to false, the node tagged when will be automatically deleted by system.
>>
>> Then, in scene 2, whether different result would occur according differe=
nt
>> process order?
>>
>>
>>
>>
>>
>> Since the <config> parameter is anyxml, the YANG constraints defined on
>> datastore contents
>>
>> are not enforced as part of RPC input validation.
>>
>>
>>
>> It would be nice if NETCONF defined behavior for providing <config> data
>> that will get deleted
>>
>> immediately by the server.  We have a CLI parameter for this since some
>> vendors want to
>>
>> treat this as an error and other just silently delete nodes.  Note that
>> when-stmt can silently
>>
>> delete existing nodes not included in the edit. (Lada does not agree this
>> is how it should work,
>>
>> so we need yang-next to decide. Maybe NETCONF needs a --force parameter
>> for this purpose.)
>>
>>
>>
>>
>>
>> Andy
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 10:19
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Fengchong (frank) <frank.fengchong@huaw=
ei.com>
>> *=E6=8A=84=E9=80=81**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod=
@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
>> frank.fengchong@huawei.com> wrote:
>>
>> Hi andy,
>>
>>
>>
>> You only talk about the constraints on rpc operation=E2=80=99s parameter?
>>
>>
>>
>> Do you have any opinion about my question?
>>
>>
>>
>> 8.3.1 does not apply to leaf 'b'.
>>
>> The RPC parameter is called 'config'.
>>
>> It has no when-stmts to evaluate.
>>
>> Rob is correct.
>>
>> His example shows what 8.3.1 would cover.
>>
>>
>>
>> Andy
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> =E5=8D=8E=E4=B8=BA=E6=8A=80=E6=9C=AF=E6=9C=89=E9=99=90=E5=85=AC=E5=8F=B8=
 Huawei Technologies Co., Ltd.
>>
>> [image: Company_logo]
>>
>> =E4=B8=AA=E4=BA=BA=E7=AD=BE=E5=90=8D=EF=BC=9A=E5=86=AF=E5=86=B2
>> =E6=89=8B =E6=9C=BA=EF=BC=9A13776612983
>> =E7=94=B5=E5=AD=90=E9=82=AE=E4=BB=B6=EF=BC=9Afrank.fengchong@huawei.com
>> =E5=85=AC=E5=8F=B8=E7=BD=91=E5=9D=80=EF=BC=9Awww.huawei.com
>> ------------------------------
>>
>> =EF=BB=BF =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=
=B6=E5=90=AB=E6=9C=89=E5=8D=8E=E4=B8=BA=E5=85=AC=E5=8F=B8=E7=9A=84=E4=BF=9D=
=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91=E9=
=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5=87=
=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6=81
>> =E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB=
=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4=
=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88=
=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E3=80=81=E6=88=96=
=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E4=B8=AD
>> =E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=
=E6=94=B6=E4=BA=86=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=
=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=
=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=
=E4=BB=B6=EF=BC=81
>> This e-mail and its attachments contain confidential information from
>> HUAWEI, which
>> is intended only for the person or entity whose address is listed above.
>> Any use of the
>> information contained herein in any way (including, but not limited to,
>> total or partial
>> disclosure, reproduction, or dissemination) by persons other than the
>> intended
>> recipient(s) is prohibited. If you receive this e-mail in error, please
>> notify the sender by
>> phone or email immediately and delete it!
>>
>>
>>
>> *=E5=8F=91=E4=BB=B6=E4=BA=BA**:* Andy Bierman [mailto:andy@yumaworks.com]
>> *=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4**:* 2019=E5=B9=B49=E6=9C=8810=E6=
=97=A5 1:14
>> *=E6=94=B6=E4=BB=B6=E4=BA=BA**:* Rob Wilton (rwilton) <rwilton@cisco.com>
>> *=E6=8A=84=E9=80=81**:* Fengchong (frank) <frank.fengchong@huawei.com>; =
netmod@ietf.org;
>> Yangang <yangang@huawei.com>
>> *=E4=B8=BB=E9=A2=98**:* Re: [netmod] Please clarify implementation about=
 =E2=80=98when=E2=80=99
>>
>>
>>
>> Hi,
>>
>>
>>
>> None of the operations that accept or return datastore contents expose t=
he
>> datastore objects
>>
>> in the RPC parameters.  They are always anyxml or anydata. This means th=
at
>>
>> there are no descendant data nodes defined at all according to the RPC
>> operation
>>
>> and therefore the constraints on those nodes do not exist in the RPC
>> operation either.
>>
>>
>>
>>
>>
>>
>>
>> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
>> wrote:
>>
>> Hi Frank,
>>
>>
>>
>> My interpretation of what the expected behaviour is as follows.
>>
>>
>>
>> For =E2=80=9Cscene 1=E2=80=9D, the config change is accepted because the=
 result of the
>> config datastore after the edit-config has been applied is valid.
>>
>>
>>
>> For =E2=80=9Cscene 2=E2=80=9D, the config change is rejected because the=
 result of the
>> config datastore after the edit-config has been applied is invalid.
>>
>>
>>
>> My interpretation is that the block of text in 8.3.1 payload parsing is
>> primary intended to refer to RFC input.  E.g. if the RPC was defined
>> something like below, then the =E2=80=98when=E2=80=99 rule in 8.3.1 woul=
d enforce that a
>> zip-code can only be provided if the country is the USA.
>>
>>
>>
>>        rpc rock-the-house {
>>
>>          input {
>>
>>            leaf country {
>>
>>              type string;
>>
>>            }
>>
>>            leaf zip-code {
>>
>>              when =E2=80=9C../country =3D =E2=80=98usa=E2=80=99=E2=80=9D;
>>
>>              type string;
>>
>>            }
>>
>>          }
>>
>>        }
>>
>>
>>
>> Thanks,
>>
>> Rob
>>
>>
>>
>>
>>
>>
>>
>> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
>> *Sent:* 06 September 2019 08:19
>> *To:* netmod@ietf.org
>> *Cc:* Yangang <yangang@huawei.com>
>> *Subject:* [netmod] Please clarify implementation about =E2=80=98when=E2=
=80=99
>>
>>
>>
>> Hi all,
>>
>>
>>
>> In RFC7950 secton 8, several description about when=EF=BC=9A
>> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>.
>> Configuration Data Modifications
>>
>>    o  If a request modifies a configuration data node such that any
>>
>>       node's "when" expression becomes false, then the node in the data
>>
>>       tree with the "when" expression is deleted by the server.
>> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>.  Payload
>> Parsing
>>
>>    o  If data for a node tagged with "when" is present and the "when"
>>
>>       condition evaluates to "false", the server MUST reply with an
>>
>>       "unknown-element" <error-tag> in the <rpc-error>.
>>
>> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>.  NETCONF
>> <edit-config> Processing
>>
>> Modification requests for nodes tagged with "when", and the "when"
>>
>>       condition evaluates to "false".  In this case, the server MUST
>>
>>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
>>
>>
>>
>> YANG module=EF=BC=9A
>>
>> module foo {
>>
>>    namespace =E2=80=9Chttp://foo.com=E2=80=9D;
>>
>>    prefix =E2=80=9Cfoo=E2=80=9D;
>>
>> Leaf a {=E2=80=A6}
>>
>> Leaf b {
>>
>>   When =E2=80=9Ca =3D 10=E2=80=9D;
>>
>> }
>>
>> }
>> Scene 1:
>>
>> The first edit-config request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>>
>>    </config>
>>
>> </edit-config>
>>
>> This request will set a =3D 3.
>>
>>
>>
>> The second request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>>
>>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>>
>>    </config>
>>
>> </edit-config>
>>
>>
>>
>> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in =
candidate
>> datastore is 3,so leaf b=E2=80=99s when condition is evaluated to false,=
 server
>> will report =E2=80=98unknown-element=E2=80=99 error.
>>
>> Is it expected by user?
>> Scene 2:
>>
>> The first edit-config request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>10</a>
>>
>>    </config>
>>
>> </edit-config>
>>
>> This request will set a =3D 10.
>>
>>
>>
>> The second request:
>>
>> <edit-config>
>>
>>    <target>
>>
>>       <candidate/>
>>
>>    </target>
>>
>>    <config>
>>
>>       <a xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>3</a>
>>
>>       <b xmlns=3D =E2=80=9Chttp://foo.com=E2=80=9D>5</b>
>>
>>    </config>
>>
>> </edit-config>
>>
>> According 8.3.1, in rpc payload parsing phase, the a=E2=80=99s value in =
candidate
>> datastore is 10, so leaf b=E2=80=99s when condition is evaluated to true=
, server
>> will accept this request in payload parsing phase.
>>
>>
>>
>> In edit-config request processing phase, if leaf a=E2=80=99s modificatio=
n is
>> processed firstly, the a=E2=80=99s value will be changed to 3, so the b=
=E2=80=99s when
>> condition will be false, when server process b=E2=80=99s modification, b=
 will be
>> treated as unknown-element, the edit-config request will fail.
>>
>> If leaf b=E2=80=99s modification is processed firstly, server will accep=
t this
>> modification ,because b=E2=80=99s when condition is true, and when serve=
r process
>> a=E2=80=99s modification , this modification will be accepted, and b=E2=
=80=99s when
>> condition will be evaluated to false, leaf b will be deleted automatical=
ly,
>> the edit-config request will be OK.
>>
>>
>>
>> How server should process this situation?
>>
>>
>>
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>>
>>
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

--=20
Ladislav Lhotka=20
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Wed Sep 25 23:57:16 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 269951200F6 for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 23:57:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 rCcFXoPGqNHe for <netmod@ietfa.amsl.com>; Wed, 25 Sep 2019 23:57:11 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 4D823120815 for <netmod@ietf.org>; Wed, 25 Sep 2019 23:57:11 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 24A731AE018A; Thu, 26 Sep 2019 08:57:09 +0200 (CEST)
Date: Thu, 26 Sep 2019 08:56:44 +0200 (CEST)
Message-Id: <20190926.085644.1268671875357328723.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: andy@yumaworks.com, jason.sterne@nokia.com, netmod@ietf.org, yangang@huawei.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <87h84z4kmw.fsf@nic.cz>
References: <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com> <87h84z4kmw.fsf@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/4aQKnTxDssDm5DL0XEhI8v4xg20>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 06:57:15 -0000

TGFkaXNsYXYgTGhvdGthIDxsaG90a2FAbmljLmN6PiB3cm90ZToNCj4gQW5keSBCaWVybWFuIDxh
bmR5QHl1bWF3b3Jrcy5jb20+IHdyaXRlczoNCj4gDQo+ID4gT24gV2VkLCBTZXAgMjUsIDIwMTkg
YXQgODo0NCBBTSBTdGVybmUsIEphc29uIChOb2tpYSAtIENBL090dGF3YSkgPA0KPiA+IGphc29u
LnN0ZXJuZUBub2tpYS5jb20+IHdyb3RlOg0KPiA+DQo+ID4+IFByb2Nlc3Npbmcgb3JkZXIgc2hv
dWxkIG5vdCBtYXR0ZXIuIFRoZSBldmFsdWF0aW9uIG9mIHRoZSAnd2hlbicgc3RhdGVtZW50DQo+
ID4+IHNob3VsZCBiZSBkb25lIGFzc3VtaW5nIGFuIGF0b21pYyBhcHBsaWNhdGlvbiBvZiB0aGUg
ZWRpdC1jb25maWcuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEkgYWdyZWUgdGhhdCBhIHN0YW5k
YXJkcyBjb21wbGlhbnQgc2VydmVyIHNob3VsZCBkbyBhcyBSb2Igc2FpZDoNCj4gPj4NCj4gPj4N
Cj4gPj4NCj4gPj4gLSBGb3Ig4oCcc2NlbmUgMeKAnSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNj
ZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRoZQ0KPiA+PiBjb25maWcgZGF0YXN0b3JlIGFm
dGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIHZhbGlkLg0KPiA+Pg0KPiA+
PiAtIEZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNh
dXNlIHRoZSByZXN1bHQgb2YgdGhlDQo+ID4+IGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVk
aXQtY29uZmlnIGhhcyBiZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCj4gPj4NCj4gPj4NCj4gPj4N
Cj4gPj4gRnJvbSBhbiBpbXBsZW1lbnRhdGlvbiB0aGF0IG1heSBpbmRlZWQgbWVhbiBwcm9jZXNz
aW5nIHRoZSAnd2hlbicgYWZ0ZXIgYQ0KPiA+PiBmaXJzdCBwYXNzIHRoYXQgc2V0cyB0aGUgdmFy
aW91cyBsZWFmcyB0byB0ZW50YXRpdmUgdmFsdWVzLiBCdXQgdGhhdCdzDQo+ID4+IGltcGxlbWVu
dGF0aW9uIGRldGFpbC4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gSU1PIHRoZSBhdXRvLWNsZWFy
aW5nIGJlaGF2aW9yIG9mICd3aGVuJyBtYXkgYmUgY29tcGxpY2F0ZWQgYnV0IHRoYXQgaXMNCj4g
Pj4gaG93IGl0IGlzIGRlZmluZWQgKHNhbWUgd2l0aCAnY2hvaWNlJykuIENsaWVudHMgY2FuIGFu
ZCBzaG91bGQgZGVwZW5kIG9uDQo+ID4+IHRoaW5ncyBiZWluZyBhdXRvbWF0aWNhbGx5IGRlbGV0
ZWQuIElmIHlvdSB3YW50IHZhbGlkYXRpb24gZXJyb3JzIChpLmUuDQo+ID4+IGZvcmNlIHRoZSBj
bGllbnQgdG8gY2xlYXIgYWxsIHRoZSBkZXBlbmRhbnQgbGVhZnMgaW5zdGVhZCBvZiBhdXRvLWNs
ZWFyaW5nKQ0KPiA+PiB0aGVuIHVzZSBhICdtdXN0JyBzdGF0ZW1lbnQuDQo+ID4+DQo+ID4+DQo+
ID4+DQo+ID4NCj4gPiArMQ0KPiA+DQo+ID4gWUFORyBjbGVhcmx5IGRlZmluZXMgIm11c3QiIGFu
ZCAid2hlbiIgd2l0aCBkaWZmZXJlbnQgYmVoYXZpb3IuDQo+ID4gQSBzZXJ2ZXIgdGhhdCBkb2Vz
IG5vdCBpbXBsZW1lbnQgdGhlIGF1dG8tZGVsZXRlIGFzcGVjdHMgb2Ygd2hlbi1zdG10IGlzDQo+
ID4gbm90IGNvbXBsaWFudCB0byB0aGUgUkZDLg0KPiANCj4gSSBkb24ndCBhZ3JlZSB3aXRoIHRo
aXMuIFJGQyA3OTUwIHNheXMgaW4gc2VjLiA4LjE6DQo+IA0KPiAgICBUaGUgZm9sbG93aW5nIHBy
b3BlcnRpZXMgYXJlIHRydWUgaW4gYWxsIGRhdGEgdHJlZXM6DQo+IA0KPiAgICAuLi4NCj4gDQo+
ICAgIG8gIFRoZXJlIE1VU1QgYmUgbm8gbm9kZXMgdGFnZ2VkIHdpdGggIndoZW4iIHByZXNlbnQg
aWYgdGhlICJ3aGVuIg0KPiAgICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIgaW4g
dGhlIGRhdGEgdHJlZS4NCg0KSXQgYWxzbyBzYXlzIGluIDguMjoNCg0KICAgbyAgSWYgYSByZXF1
ZXN0IG1vZGlmaWVzIGEgY29uZmlndXJhdGlvbiBkYXRhIG5vZGUgc3VjaCB0aGF0IGFueQ0KICAg
ICAgbm9kZSdzICJ3aGVuIiBleHByZXNzaW9uIGJlY29tZXMgZmFsc2UsIHRoZW4gdGhlIG5vZGUg
aW4gdGhlIGRhdGENCiAgICAgIHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Npb24gaXMgZGVs
ZXRlZCBieSB0aGUgc2VydmVyLg0KDQoNCi9tYXJ0aW4NCg0KPiANCj4gVGhpcyBjYW4gYWxzbyBi
ZSBwcmV2ZW50ZWQgaWYgdGhlIHNlcnZlciByZWplY3RzIGFuIGVkaXQgb3BlcmF0aW9uDQo+IHRo
YXQgd291bGQgY3JlYXRlIHN1Y2ggYSBzaXR1YXRpb24uDQo+IA0KPiBMYWRhDQo+IA0KPiANCj4g
Pg0KPiA+DQo+ID4+IEphc29uDQo+ID4+DQo+ID4NCj4gPiBBbmR5DQo+ID4NCj4gPg0KPiA+Pg0K
PiA+Pg0KPiA+PiAqRnJvbToqIG5ldG1vZCA8bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+ICpPbiBC
ZWhhbGYgT2YgKlFpbiBXdQ0KPiA+PiAqU2VudDoqIFR1ZXNkYXksIFNlcHRlbWJlciAxMCwgMjAx
OSAxMDozMyBQTQ0KPiA+PiAqVG86KiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25n
QGh1YXdlaS5jb20+OyBBbmR5IEJpZXJtYW4gPA0KPiA+PiBhbmR5QHl1bWF3b3Jrcy5jb20+DQo+
ID4+ICpDYzoqIG5ldG1vZEBpZXRmLm9yZzsgWWFuZ2FuZyA8eWFuZ2FuZ0BodWF3ZWkuY29tPg0K
PiA+PiAqU3ViamVjdDoqIFtuZXRtb2RdIOetlOWkjTog562U5aSNOiBQbGVhc2UgY2xhcmlmeSBp
bXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IFdo
eSBwcm9jZXNzaW5nIG9yZGVyIG1hdHRlcj8gTXkgaW50ZXJwcmV0YXRpb24gaXMgYm90aCBsZWFm
IG5vZGUgdmFsdWVzDQo+ID4+IChpLmUuLGxlYWYgYSwgbGVhZiBiKSBzaG91bGQgYmUgdmFsaWRh
dGVkIHRvZ2V0aGVyIGFuZCBjb21taXQgYXMgYSB3aG9sZSwNCj4gPj4NCj4gPj4gUkZDNjI0MSBz
YWlkOg0KPiA+Pg0KPiA+PiDigJwNCj4gPj4NCj4gPj4gSWYgdGhlIGRldmljZSBpcyB1bmFibGUg
dG8gY29tbWl0IGFsbCBvZiB0aGUgY2hhbmdlcyBpbiB0aGUNCj4gPj4NCj4gPj4gICAgICAgICAg
Y2FuZGlkYXRlIGNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlLCB0aGVuIHRoZSBydW5uaW5nDQo+ID4+
DQo+ID4+ICAgICAgICAgIGNvbmZpZ3VyYXRpb24gTVVTVCByZW1haW4gdW5jaGFuZ2VkLg0KPiA+
Pg0KPiA+PiDigJ0NCj4gPj4NCj4gPj4gU28gdmFsaWRhdGUgdGhlIGxlYWYgbm9kZSB2YWx1ZSBp
biB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCAobWVzc2FnZQ0KPiA+PiBjb250ZW50IHZhbGlkYXRp
b24pIGlzIG5vdCBpbXBvcnRhbnQsIHZhbGlkYXRlIHRoZSBsZWFmIG5vZGUgdmFsdWUgdGhhdCBp
cw0KPiA+PiBhcHBsaWVkIHRvIDxydW5uaW5nPiAoZGF0YXN0b3JlIHZhbGlkYXRpb24pIGlzIHRo
ZSBrZXkuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEkgdGhpbmsgd2hhdCB5b3Ugd2FudCB0byBy
YWlzZSBpcyB0aGUgc2VydmVyIHNob3VsZCBob2xkIG9uIHRvIHNlbmQgcmVwbHkgd2l0aCBhbiAi
dW5rbm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4gZHVyaW5nIHBh
eWxvYWQgcGFyc2luZyBwaGFzZSBhbmQgTkVUQ09ORiA8ZWRpdC1jb25maWc+DQo+ID4+DQo+ID4+
IFByb2Nlc3NpbmcgdW50aWwgYWxsIHZhbGlkYXRpb24gY29tcGxldGUsIG90aGVyd2lzZSBpdCBz
ZWVtcyBzZXJ2ZXIgd2lsbA0KPiA+Pg0KPiA+PiBTZW5kIG11bHRpcGxlIHJwbHkgd2l0aCAidW5r
bm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4gd2hpY2ggc2VlbXMg
bm90IHJlYXNvbmFibGUuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IC1RaW4NCj4gPj4NCj4gPj4g
KuWPkeS7tuS6uioqOiogbmV0bW9kIFttYWlsdG86bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmcgPG5l
dG1vZC1ib3VuY2VzQGlldGYub3JnPl0NCj4gPj4gKuS7o+ihqCAqRmVuZ2Nob25nIChmcmFuaykN
Cj4gPj4gKuWPkemAgeaXtumXtCoqOiogMjAxOeW5tDnmnIgxMeaXpSA5OjI5DQo+ID4+ICrmlLbk
u7bkuroqKjoqIEFuZHkgQmllcm1hbiA8YW5keUB5dW1hd29ya3MuY29tPg0KPiA+PiAq5oqE6YCB
Kio6KiBuZXRtb2RAaWV0Zi5vcmc7IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbT4NCj4gPj4g
KuS4u+mimCoqOiogW25ldG1vZF0g562U5aSNOiBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlv
biBhYm91dCDigJh3aGVu4oCZDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEFuZHksDQo+ID4+DQo+
ID4+DQo+ID4+DQo+ID4+IFdoZXRoZXIgZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBvY2N1ciBhY2Nv
cmRpbmcgZGlmZmVyZW50IHByb2Nlc3Mgb3JkZXI/DQo+ID4+DQo+ID4+IEFjY29yZGluZyA4LjMu
Mg0KPiA+Pg0KPiA+PiBpZiBzZXJ2ZXIgcHJvY2VzcyDigJhhPSAz4oCZIGZpcnN0bHksIGIgd2ls
bCBiZSBkZWxldGVkIGJ5IHN5c3RlbSBhbmQgYmVjb21lcw0KPiA+PiBhIG5vbi1leGlzdCBzY2hl
bWEgbm9kZSwgYW5kIHRoZW4gIHdoZW4g4oCYYj014oCZIGlzIHByb2Nlc3NlZCAsIHNlcnZlciB3
aWxsDQo+ID4+IHJlcG9ydCBhIOKAmHVua25vd24tZWxlbWVudOKAmSBlcnJvci4NCj4gPj4NCj4g
Pj4gQnV0IGlmIHNlcnZlciBwcm9jZXNzIOKAmGI9NeKAmSBmaXJzdGx5LCBpdCB3aWxsIGJlIGFj
Y2VwdGVkIGJ5IHNlcnZlciwgYW5kDQo+ID4+IHRoZW4gd2hlbiDigJhhPTPigJkgaXMgcHJvY2Vz
c2VkLCBiIHdpbGwgYmUgZGVsZXRlZCBieSBzeXN0ZW0sIGJ1dCByZXBvcnQgT0suDQo+ID4+DQo+
ID4+DQo+ID4+DQo+ID4+IElmIHNlYyA4LjMuMiBpcyBub3QgcmlnaHQuIFdoYXQgaXMgdGhlIHJp
Z2h0Pw0KPiA+Pg0KPiA+PiBXaGVuIG5vZGUgYSBhbmQgbm9kZSBiIGluIHRoZSBzYW1lIHJlcXVl
c3QsIGFuZCBiIHRhZ2dlZCB3aGVuIGNvbmRpdGlvbiwNCj4gPj4gYeKAmXMgdmFsdWUgd2lsbCBj
YXVzZSBi4oCZcyBjb25kaXRpb24gaXMgZXZhbHVhdGVkIHRvIGZhbHNlLCB3aGljaCBpcyBtb3Jl
DQo+ID4+IHByaW9yPw0KPiA+Pg0KPiA+PiBBY2NvcmRpbmcgeW91IGFuZCBSb2LigJlzIGludGVy
cHJldGF0aW9uICwgbWF5YmUgbm9kZSDigJlh4oCZIGlzIG1vcmUgcHJpb3I/IElmDQo+ID4+IHll
cywgd2h5IG5vZGUg4oCYYuKAmSBzaG91bGQgYmUgcHJvY2Vzc2VkIGxhdGVyPw0KPiA+Pg0KPiA+
Pg0KPiA+Pg0KPiA+PiBJIHRoaW5rIHdoZXRoZXIgaW4gZWRpdC1jb25maWcgcHJvY2Vzc2luZyBw
aGFzZSB0aGUgY29uZmlndXJhdGlvbiB0YWdnZWQNCj4gPj4gd2hlbiBzaG91bGQgbm90IGJlIGV2
YWx1YXRlZCBhbmQgYmUgZGVsYXllZCB0byBjb21taXQgb3IgdmFsaWRhdGU/DQo+ID4+DQo+ID4+
IFdoZW4gY29tbWl0IG9yIHZhbGlkYXRlIG9wZXJhdGlvbiBpcyBpc3N1ZWQsICB0aGUgZGF0YSBu
b2RlIHRhZ2dlZCB3aGVuDQo+ID4+IHdpbGwgYmUgZXZhbHVhdGVkLCBhbmQgaWYgaXTigJlzIGV2
YWx1YXRlZCB0byBmYWxzZSwgdGhpcyBkYXRhIHdpbGwgYmUNCj4gPj4gZGVsZXRlZCBieSBzeXN0
ZW0gaW1tZWRpYXRlbHksIHNlcnZlciBzaG91bGQgbm90IHJlcG9ydCBhbnkgZXJyb3IuDQo+ID4+
DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
PiA+Pg0KPiA+PiDljY7kuLrmioDmnK/mnInpmZDlhazlj7ggSHVhd2VpIFRlY2hub2xvZ2llcyBD
by4sIEx0ZC4NCj4gPj4NCj4gPj4gW2ltYWdlOiBDb21wYW55X2xvZ29dDQo+ID4+DQo+ID4+IOS4
quS6uuetvuWQje+8muWGr+WGsg0KPiA+PiDmiYsg5py677yaMTM3NzY2MTI5ODMNCj4gPj4g55S1
5a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20NCj4gPj4g5YWs5Y+4572R5Z2A
77yad3d3Lmh1YXdlaS5jb20NCj4gPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+
ID4+DQo+ID4+IO+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTk
v53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTk
uKrkurrmiJbnvqTnu4TjgILnpoENCj4gPj4g5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i
5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB
5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQo+ID4+IOeahOS/oeaBr+OAguWmguae
nOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuef
peWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQ0KPiA+PiBUaGlzIGUtbWFpbCBhbmQgaXRz
IGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20NCj4gPj4g
SFVBV0VJLCB3aGljaA0KPiA+PiBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVu
dGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4NCj4gPj4gQW55IHVzZSBvZiB0aGUN
Cj4gPj4gaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcs
IGJ1dCBub3QgbGltaXRlZCB0bywNCj4gPj4gdG90YWwgb3IgcGFydGlhbA0KPiA+PiBkaXNjbG9z
dXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhh
biB0aGUNCj4gPj4gaW50ZW5kZWQNCj4gPj4gcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElm
IHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2UNCj4gPj4gbm90aWZ5IHRo
ZSBzZW5kZXIgYnkNCj4gPj4gcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBp
dCENCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gKuWPkeS7tuS6uioqOiogQW5keSBCaWVybWFuIFtt
YWlsdG86YW5keUB5dW1hd29ya3MuY29tIDxhbmR5QHl1bWF3b3Jrcy5jb20+XQ0KPiA+PiAq5Y+R
6YCB5pe26Ze0Kio6KiAyMDE55bm0OeaciDEw5pelIDEwOjU2DQo+ID4+ICrmlLbku7bkuroqKjoq
IEZlbmdjaG9uZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCj4gPj4gKuaK
hOmAgSoqOiogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPjsgbmV0bW9k
QGlldGYub3JnOw0KPiA+PiBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQo+ID4+ICrkuLvp
opgqKjoqIFJlOiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDi
gJh3aGVu4oCZDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+
IE9uIE1vbiwgU2VwIDksIDIwMTkgYXQgNzo0MCBQTSBGZW5nY2hvbmcgKGZyYW5rKSA8DQo+ID4+
IGZyYW5rLmZlbmdjaG9uZ0BodWF3ZWkuY29tPiB3cm90ZToNCj4gPj4NCj4gPj4gQW5keSwNCj4g
Pj4NCj4gPj4gV2hldGhlciBhbGwgY29uc3RyYWludHMgb24gY29udGVudCBpbiA8Y29uZmlnPiBw
YXJhbWV0ZXIgd2lsbCBub3QgYmUNCj4gPj4gZXZhbHVhdGVkIGluIHBheWxvYWQgcGFyc2luZyBw
aGFzZSwgZm9yIGV4YW1wbGUsIGEgbGVhZuKAmXMgdmFsdWUgZXhjZWVkDQo+ID4+IHJhbmdlPw0K
PiA+Pg0KPiA+PiBOZXRjb25mIHNlcnZlciBzaG91bGQgdHJlYXQgaXQgYXMgYSBibG9jayBkYXRh
Pw0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBGaWVsZCB2YWxpZGF0aW9uIGFu
ZCBkYXRhc3RvcmUgdmFsaWRhdGlvbiBhcmUgMiBkaWZmZXJlbnQgdGhpbmdzLg0KPiA+Pg0KPiA+
PiB3aGVuLXN0bXQgcHJvY2Vzc2luZyBpcyBuZWl0aGVyLiBJdCBpcyBieSBmYXIgdGhlIGhhcmRl
c3QgcGFydCBvZiBhbg0KPiA+PiBhdXRvbWF0ZWQgc2VydmVyIHRvIGdldCByaWdodC4NCj4gPj4N
Cj4gPj4NCj4gPj4NCj4gPj4gQW5vdGhlciBxdWVzdGlvbjoNCj4gPj4NCj4gPj4NCj4gPj4NCj4g
Pj4gSW4gZWRpdC1jb25maWcgcHJvY2Vzc2luZyBwaGFzZSwgd2hldGhlciBjb25zdHJhaW50cyBv
biBjb250ZW50IGluDQo+ID4+IDxjb25maWc+IHBhcmFtZXRlciBuZWVkcyBiZSBldmFsdWF0ZWQ/
DQo+ID4+DQo+ID4+IElmIHllcywgd2hlbiAgY29uZmlndXJhdGlvbiBtb2RpZmljYXRpb24gY2F1
c2Ugd2hlbiBjb25kaXRpb24gaXMgZXZhbHVhdGVkDQo+ID4+IHRvIGZhbHNlLCB0aGUgbm9kZSB0
YWdnZWQgd2hlbiB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCBieSBzeXN0ZW0uDQo+ID4+
DQo+ID4+IFRoZW4sIGluIHNjZW5lIDIsIHdoZXRoZXIgZGlmZmVyZW50IHJlc3VsdCB3b3VsZCBv
Y2N1ciBhY2NvcmRpbmcgZGlmZmVyZW50DQo+ID4+IHByb2Nlc3Mgb3JkZXI/DQo+ID4+DQo+ID4+
DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IFNpbmNlIHRoZSA8Y29uZmlnPiBwYXJhbWV0ZXIgaXMg
YW55eG1sLCB0aGUgWUFORyBjb25zdHJhaW50cyBkZWZpbmVkIG9uDQo+ID4+IGRhdGFzdG9yZSBj
b250ZW50cw0KPiA+Pg0KPiA+PiBhcmUgbm90IGVuZm9yY2VkIGFzIHBhcnQgb2YgUlBDIGlucHV0
IHZhbGlkYXRpb24uDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEl0IHdvdWxkIGJlIG5pY2UgaWYg
TkVUQ09ORiBkZWZpbmVkIGJlaGF2aW9yIGZvciBwcm92aWRpbmcgPGNvbmZpZz4gZGF0YQ0KPiA+
PiB0aGF0IHdpbGwgZ2V0IGRlbGV0ZWQNCj4gPj4NCj4gPj4gaW1tZWRpYXRlbHkgYnkgdGhlIHNl
cnZlci4gIFdlIGhhdmUgYSBDTEkgcGFyYW1ldGVyIGZvciB0aGlzIHNpbmNlIHNvbWUNCj4gPj4g
dmVuZG9ycyB3YW50IHRvDQo+ID4+DQo+ID4+IHRyZWF0IHRoaXMgYXMgYW4gZXJyb3IgYW5kIG90
aGVyIGp1c3Qgc2lsZW50bHkgZGVsZXRlIG5vZGVzLiAgTm90ZSB0aGF0DQo+ID4+IHdoZW4tc3Rt
dCBjYW4gc2lsZW50bHkNCj4gPj4NCj4gPj4gZGVsZXRlIGV4aXN0aW5nIG5vZGVzIG5vdCBpbmNs
dWRlZCBpbiB0aGUgZWRpdC4gKExhZGEgZG9lcyBub3QgYWdyZWUgdGhpcw0KPiA+PiBpcyBob3cg
aXQgc2hvdWxkIHdvcmssDQo+ID4+DQo+ID4+IHNvIHdlIG5lZWQgeWFuZy1uZXh0IHRvIGRlY2lk
ZS4gTWF5YmUgTkVUQ09ORiBuZWVkcyBhIC0tZm9yY2UgcGFyYW1ldGVyDQo+ID4+IGZvciB0aGlz
IHB1cnBvc2UuKQ0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBBbmR5DQo+ID4+
DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IC0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQ0KPiA+Pg0KPiA+PiDljY7kuLrmioDmnK/mnInpmZDlhazlj7ggSHVhd2VpIFRl
Y2hub2xvZ2llcyBDby4sIEx0ZC4NCj4gPj4NCj4gPj4gW2ltYWdlOiBDb21wYW55X2xvZ29dDQo+
ID4+DQo+ID4+IOS4quS6uuetvuWQje+8muWGr+WGsg0KPiA+PiDmiYsg5py677yaMTM3NzY2MTI5
ODMNCj4gPj4g55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5jb20NCj4gPj4g
5YWs5Y+4572R5Z2A77yad3d3Lmh1YXdlaS5jb20NCj4gPj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tDQo+ID4+DQo+ID4+IO+7vyDmnKzpgq7ku7blj4rlhbbpmYTku7blkKvmnInljY7k
uLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7lj5HpgIHnu5nkuIrpnaLlnLDlnYDk
uK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoENCj4gPj4g5q2i5Lu75L2V5YW25LuW5Lq6
5Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG
5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys6YKu5Lu25LitDQo+ID4+IOeahOS/
oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8jOivt+aCqOeri+WNs+eUteivneaI
lumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmCruS7tu+8gQ0KPiA+PiBUaGlzIGUt
bWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9u
IGZyb20NCj4gPj4gSFVBV0VJLCB3aGljaA0KPiA+PiBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUg
cGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92ZS4NCj4gPj4gQW55
IHVzZSBvZiB0aGUNCj4gPj4gaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5
IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywNCj4gPj4gdG90YWwgb3IgcGFydGlhbA0K
PiA+PiBkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNv
bnMgb3RoZXIgdGhhbiB0aGUNCj4gPj4gaW50ZW5kZWQNCj4gPj4gcmVjaXBpZW50KHMpIGlzIHBy
b2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWlsIGluIGVycm9yLCBwbGVhc2UNCj4g
Pj4gbm90aWZ5IHRoZSBzZW5kZXIgYnkNCj4gPj4gcGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkg
YW5kIGRlbGV0ZSBpdCENCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gKuWPkeS7tuS6uioqOiogQW5k
eSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29ya3MuY29tXQ0KPiA+PiAq5Y+R6YCB5pe26Ze0
Kio6KiAyMDE55bm0OeaciDEw5pelIDEwOjE5DQo+ID4+ICrmlLbku7bkuroqKjoqIEZlbmdjaG9u
ZyAoZnJhbmspIDxmcmFuay5mZW5nY2hvbmdAaHVhd2VpLmNvbT4NCj4gPj4gKuaKhOmAgSoqOiog
Um9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPjsgbmV0bW9kQGlldGYub3Jn
Ow0KPiA+PiBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQo+ID4+ICrkuLvpopgqKjoqIFJl
OiBbbmV0bW9kXSBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZ
DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9uIE1vbiwg
U2VwIDksIDIwMTkgYXQgNzoxMCBQTSBGZW5nY2hvbmcgKGZyYW5rKSA8DQo+ID4+IGZyYW5rLmZl
bmdjaG9uZ0BodWF3ZWkuY29tPiB3cm90ZToNCj4gPj4NCj4gPj4gSGkgYW5keSwNCj4gPj4NCj4g
Pj4NCj4gPj4NCj4gPj4gWW91IG9ubHkgdGFsayBhYm91dCB0aGUgY29uc3RyYWludHMgb24gcnBj
IG9wZXJhdGlvbuKAmXMgcGFyYW1ldGVyPw0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBEbyB5b3Ug
aGF2ZSBhbnkgb3BpbmlvbiBhYm91dCBteSBxdWVzdGlvbj8NCj4gPj4NCj4gPj4NCj4gPj4NCj4g
Pj4gOC4zLjEgZG9lcyBub3QgYXBwbHkgdG8gbGVhZiAnYicuDQo+ID4+DQo+ID4+IFRoZSBSUEMg
cGFyYW1ldGVyIGlzIGNhbGxlZCAnY29uZmlnJy4NCj4gPj4NCj4gPj4gSXQgaGFzIG5vIHdoZW4t
c3RtdHMgdG8gZXZhbHVhdGUuDQo+ID4+DQo+ID4+IFJvYiBpcyBjb3JyZWN0Lg0KPiA+Pg0KPiA+
PiBIaXMgZXhhbXBsZSBzaG93cyB3aGF0IDguMy4xIHdvdWxkIGNvdmVyLg0KPiA+Pg0KPiA+Pg0K
PiA+Pg0KPiA+PiBBbmR5DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+Pg0KPiA+PiDljY7kuLrmioDmnK/m
nInpmZDlhazlj7ggSHVhd2VpIFRlY2hub2xvZ2llcyBDby4sIEx0ZC4NCj4gPj4NCj4gPj4gW2lt
YWdlOiBDb21wYW55X2xvZ29dDQo+ID4+DQo+ID4+IOS4quS6uuetvuWQje+8muWGr+WGsg0KPiA+
PiDmiYsg5py677yaMTM3NzY2MTI5ODMNCj4gPj4g55S15a2Q6YKu5Lu277yaZnJhbmsuZmVuZ2No
b25nQGh1YXdlaS5jb20NCj4gPj4g5YWs5Y+4572R5Z2A77yad3d3Lmh1YXdlaS5jb20NCj4gPj4g
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4+DQo+ID4+IO+7vyDmnKzpgq7ku7bl
j4rlhbbpmYTku7blkKvmnInljY7kuLrlhazlj7jnmoTkv53lr4bkv6Hmga/vvIzku4XpmZDkuo7l
j5HpgIHnu5nkuIrpnaLlnLDlnYDkuK3liJflh7rnmoTkuKrkurrmiJbnvqTnu4TjgILnpoENCj4g
Pj4g5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN
6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi244CB5oiW5pWj5Y+R77yJ5pys
6YKu5Lu25LitDQo+ID4+IOeahOS/oeaBr+OAguWmguaenOaCqOmUmeaUtuS6huacrOmCruS7tu+8
jOivt+aCqOeri+WNs+eUteivneaIlumCruS7tumAmuefpeWPkeS7tuS6uuW5tuWIoOmZpOacrOmC
ruS7tu+8gQ0KPiA+PiBUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29u
ZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20NCj4gPj4gSFVBV0VJLCB3aGljaA0KPiA+PiBpcyBp
bnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxp
c3RlZCBhYm92ZS4NCj4gPj4gQW55IHVzZSBvZiB0aGUNCj4gPj4gaW5mb3JtYXRpb24gY29udGFp
bmVkIGhlcmVpbiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywNCj4g
Pj4gdG90YWwgb3IgcGFydGlhbA0KPiA+PiBkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24sIG9yIGRp
c3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiB0aGUNCj4gPj4gaW50ZW5kZWQNCj4g
Pj4gcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRoaXMgZS1tYWls
IGluIGVycm9yLCBwbGVhc2UNCj4gPj4gbm90aWZ5IHRoZSBzZW5kZXIgYnkNCj4gPj4gcGhvbmUg
b3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdCENCj4gPj4NCj4gPj4NCj4gPj4NCj4g
Pj4gKuWPkeS7tuS6uioqOiogQW5keSBCaWVybWFuIFttYWlsdG86YW5keUB5dW1hd29ya3MuY29t
XQ0KPiA+PiAq5Y+R6YCB5pe26Ze0Kio6KiAyMDE55bm0OeaciDEw5pelIDE6MTQNCj4gPj4gKuaU
tuS7tuS6uioqOiogUm9iIFdpbHRvbiAocndpbHRvbikgPHJ3aWx0b25AY2lzY28uY29tPg0KPiA+
PiAq5oqE6YCBKio6KiBGZW5nY2hvbmcgKGZyYW5rKSA8ZnJhbmsuZmVuZ2Nob25nQGh1YXdlaS5j
b20+OyBuZXRtb2RAaWV0Zi5vcmc7DQo+ID4+IFlhbmdhbmcgPHlhbmdhbmdAaHVhd2VpLmNvbT4N
Cj4gPj4gKuS4u+mimCoqOiogUmU6IFtuZXRtb2RdIFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0
aW9uIGFib3V0IOKAmHdoZW7igJkNCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gSGksDQo+ID4+DQo+
ID4+DQo+ID4+DQo+ID4+IE5vbmUgb2YgdGhlIG9wZXJhdGlvbnMgdGhhdCBhY2NlcHQgb3IgcmV0
dXJuIGRhdGFzdG9yZSBjb250ZW50cyBleHBvc2UgdGhlDQo+ID4+IGRhdGFzdG9yZSBvYmplY3Rz
DQo+ID4+DQo+ID4+IGluIHRoZSBSUEMgcGFyYW1ldGVycy4gIFRoZXkgYXJlIGFsd2F5cyBhbnl4
bWwgb3IgYW55ZGF0YS4gVGhpcyBtZWFucyB0aGF0DQo+ID4+DQo+ID4+IHRoZXJlIGFyZSBubyBk
ZXNjZW5kYW50IGRhdGEgbm9kZXMgZGVmaW5lZCBhdCBhbGwgYWNjb3JkaW5nIHRvIHRoZSBSUEMN
Cj4gPj4gb3BlcmF0aW9uDQo+ID4+DQo+ID4+IGFuZCB0aGVyZWZvcmUgdGhlIGNvbnN0cmFpbnRz
IG9uIHRob3NlIG5vZGVzIGRvIG5vdCBleGlzdCBpbiB0aGUgUlBDDQo+ID4+IG9wZXJhdGlvbiBl
aXRoZXIuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IE9u
IE1vbiwgU2VwIDksIDIwMTkgYXQgNjo0MSBBTSBSb2IgV2lsdG9uIChyd2lsdG9uKSA8cndpbHRv
bkBjaXNjby5jb20+DQo+ID4+IHdyb3RlOg0KPiA+Pg0KPiA+PiBIaSBGcmFuaywNCj4gPj4NCj4g
Pj4NCj4gPj4NCj4gPj4gTXkgaW50ZXJwcmV0YXRpb24gb2Ygd2hhdCB0aGUgZXhwZWN0ZWQgYmVo
YXZpb3VyIGlzIGFzIGZvbGxvd3MuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEZvciDigJxzY2Vu
ZSAx4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyBhY2NlcHRlZCBiZWNhdXNlIHRoZSByZXN1bHQg
b2YgdGhlDQo+ID4+IGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBi
ZWVuIGFwcGxpZWQgaXMgdmFsaWQuDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEZvciDigJxzY2Vu
ZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNhdXNlIHRoZSByZXN1bHQg
b2YgdGhlDQo+ID4+IGNvbmZpZyBkYXRhc3RvcmUgYWZ0ZXIgdGhlIGVkaXQtY29uZmlnIGhhcyBi
ZWVuIGFwcGxpZWQgaXMgaW52YWxpZC4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gTXkgaW50ZXJw
cmV0YXRpb24gaXMgdGhhdCB0aGUgYmxvY2sgb2YgdGV4dCBpbiA4LjMuMSBwYXlsb2FkIHBhcnNp
bmcgaXMNCj4gPj4gcHJpbWFyeSBpbnRlbmRlZCB0byByZWZlciB0byBSRkMgaW5wdXQuICBFLmcu
IGlmIHRoZSBSUEMgd2FzIGRlZmluZWQNCj4gPj4gc29tZXRoaW5nIGxpa2UgYmVsb3csIHRoZW4g
dGhlIOKAmHdoZW7igJkgcnVsZSBpbiA4LjMuMSB3b3VsZCBlbmZvcmNlIHRoYXQgYQ0KPiA+PiB6
aXAtY29kZSBjYW4gb25seSBiZSBwcm92aWRlZCBpZiB0aGUgY291bnRyeSBpcyB0aGUgVVNBLg0K
PiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiAgICAgICAgcnBjIHJvY2stdGhlLWhvdXNlIHsNCj4gPj4N
Cj4gPj4gICAgICAgICAgaW5wdXQgew0KPiA+Pg0KPiA+PiAgICAgICAgICAgIGxlYWYgY291bnRy
eSB7DQo+ID4+DQo+ID4+ICAgICAgICAgICAgICB0eXBlIHN0cmluZzsNCj4gPj4NCj4gPj4gICAg
ICAgICAgICB9DQo+ID4+DQo+ID4+ICAgICAgICAgICAgbGVhZiB6aXAtY29kZSB7DQo+ID4+DQo+
ID4+ICAgICAgICAgICAgICB3aGVuIOKAnC4uL2NvdW50cnkgPSDigJh1c2HigJnigJ07DQo+ID4+
DQo+ID4+ICAgICAgICAgICAgICB0eXBlIHN0cmluZzsNCj4gPj4NCj4gPj4gICAgICAgICAgICB9
DQo+ID4+DQo+ID4+ICAgICAgICAgIH0NCj4gPj4NCj4gPj4gICAgICAgIH0NCj4gPj4NCj4gPj4N
Cj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+Pg0KPiA+PiBSb2INCj4gPj4NCj4gPj4NCj4gPj4NCj4g
Pj4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gKkZyb206KiBuZXRtb2QgPG5ldG1vZC1ib3VuY2Vz
QGlldGYub3JnPiAqT24gQmVoYWxmIE9mICpGZW5nY2hvbmcgKGZyYW5rKQ0KPiA+PiAqU2VudDoq
IDA2IFNlcHRlbWJlciAyMDE5IDA4OjE5DQo+ID4+ICpUbzoqIG5ldG1vZEBpZXRmLm9yZw0KPiA+
PiAqQ2M6KiBZYW5nYW5nIDx5YW5nYW5nQGh1YXdlaS5jb20+DQo+ID4+ICpTdWJqZWN0OiogW25l
dG1vZF0gUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQg4oCYd2hlbuKAmQ0KPiA+
Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBIaSBhbGwsDQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEluIFJG
Qzc5NTAgc2VjdG9uIDgsIHNldmVyYWwgZGVzY3JpcHRpb24gYWJvdXQgd2hlbu+8mg0KPiA+PiBJ
biBzZWN0aW9uIDguMiA8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlv
bi04LjI+Lg0KPiA+PiBDb25maWd1cmF0aW9uIERhdGEgTW9kaWZpY2F0aW9ucw0KPiA+Pg0KPiA+
PiAgICBvICBJZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBz
dWNoIHRoYXQgYW55DQo+ID4+DQo+ID4+ICAgICAgIG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBi
ZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluIHRoZSBkYXRhDQo+ID4+DQo+ID4+ICAgICAg
IHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0aGUgc2VydmVy
Lg0KPiA+PiBJbiA4LjMuMSA8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2Vj
dGlvbi04LjMuMT4uICBQYXlsb2FkDQo+ID4+IFBhcnNpbmcNCj4gPj4NCj4gPj4gICAgbyAgSWYg
ZGF0YSBmb3IgYSBub2RlIHRhZ2dlZCB3aXRoICJ3aGVuIiBpcyBwcmVzZW50IGFuZCB0aGUgIndo
ZW4iDQo+ID4+DQo+ID4+ICAgICAgIGNvbmRpdGlvbiBldmFsdWF0ZXMgdG8gImZhbHNlIiwgdGhl
IHNlcnZlciBNVVNUIHJlcGx5IHdpdGggYW4NCj4gPj4NCj4gPj4gICAgICAgInVua25vd24tZWxl
bWVudCIgPGVycm9yLXRhZz4gaW4gdGhlIDxycGMtZXJyb3I+Lg0KPiA+Pg0KPiA+PiBJbiA4LjMu
MiA8aHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzc5NTAjc2VjdGlvbi04LjMuMj4uICBO
RVRDT05GDQo+ID4+IDxlZGl0LWNvbmZpZz4gUHJvY2Vzc2luZw0KPiA+Pg0KPiA+PiBNb2RpZmlj
YXRpb24gcmVxdWVzdHMgZm9yIG5vZGVzIHRhZ2dlZCB3aXRoICJ3aGVuIiwgYW5kIHRoZSAid2hl
biINCj4gPj4NCj4gPj4gICAgICAgY29uZGl0aW9uIGV2YWx1YXRlcyB0byAiZmFsc2UiLiAgSW4g
dGhpcyBjYXNlLCB0aGUgc2VydmVyIE1VU1QNCj4gPj4NCj4gPj4gICAgICAgcmVwbHkgd2l0aCBh
biAidW5rbm93bi1lbGVtZW50IiA8ZXJyb3ItdGFnPiBpbiB0aGUgPHJwYy1lcnJvcj4uDQo+ID4+
DQo+ID4+DQo+ID4+DQo+ID4+IFlBTkcgbW9kdWxl77yaDQo+ID4+DQo+ID4+IG1vZHVsZSBmb28g
ew0KPiA+Pg0KPiA+PiAgICBuYW1lc3BhY2Ug4oCcaHR0cDovL2Zvby5jb23igJ07DQo+ID4+DQo+
ID4+ICAgIHByZWZpeCDigJxmb2/igJ07DQo+ID4+DQo+ID4+IExlYWYgYSB74oCmfQ0KPiA+Pg0K
PiA+PiBMZWFmIGIgew0KPiA+Pg0KPiA+PiAgIFdoZW4g4oCcYSA9IDEw4oCdOw0KPiA+Pg0KPiA+
PiB9DQo+ID4+DQo+ID4+IH0NCj4gPj4gU2NlbmUgMToNCj4gPj4NCj4gPj4gVGhlIGZpcnN0IGVk
aXQtY29uZmlnIHJlcXVlc3Q6DQo+ID4+DQo+ID4+IDxlZGl0LWNvbmZpZz4NCj4gPj4NCj4gPj4g
ICAgPHRhcmdldD4NCj4gPj4NCj4gPj4gICAgICAgPGNhbmRpZGF0ZS8+DQo+ID4+DQo+ID4+ICAg
IDwvdGFyZ2V0Pg0KPiA+Pg0KPiA+PiAgICA8Y29uZmlnPg0KPiA+Pg0KPiA+PiAgICAgICA8YSB4
bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MzwvYT4NCj4gPj4NCj4gPj4gICAgPC9jb25maWc+
DQo+ID4+DQo+ID4+IDwvZWRpdC1jb25maWc+DQo+ID4+DQo+ID4+IFRoaXMgcmVxdWVzdCB3aWxs
IHNldCBhID0gMy4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gVGhlIHNlY29uZCByZXF1ZXN0Og0K
PiA+Pg0KPiA+PiA8ZWRpdC1jb25maWc+DQo+ID4+DQo+ID4+ICAgIDx0YXJnZXQ+DQo+ID4+DQo+
ID4+ICAgICAgIDxjYW5kaWRhdGUvPg0KPiA+Pg0KPiA+PiAgICA8L3RhcmdldD4NCj4gPj4NCj4g
Pj4gICAgPGNvbmZpZz4NCj4gPj4NCj4gPj4gICAgICAgPGEgeG1sbnM9IOKAnGh0dHA6Ly9mb28u
Y29t4oCdPjEwPC9hPg0KPiA+Pg0KPiA+PiAgICAgICA8YiB4bWxucz0g4oCcaHR0cDovL2Zvby5j
b23igJ0+NTwvYj4NCj4gPj4NCj4gPj4gICAgPC9jb25maWc+DQo+ID4+DQo+ID4+IDwvZWRpdC1j
b25maWc+DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IEFjY29yZGluZyA4LjMuMSwgaW4gcnBjIHBh
eWxvYWQgcGFyc2luZyBwaGFzZSwgdGhlIGHigJlzIHZhbHVlIGluIGNhbmRpZGF0ZQ0KPiA+PiBk
YXRhc3RvcmUgaXMgMyxzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIGV2YWx1YXRlZCB0
byBmYWxzZSwgc2VydmVyDQo+ID4+IHdpbGwgcmVwb3J0IOKAmHVua25vd24tZWxlbWVudOKAmSBl
cnJvci4NCj4gPj4NCj4gPj4gSXMgaXQgZXhwZWN0ZWQgYnkgdXNlcj8NCj4gPj4gU2NlbmUgMjoN
Cj4gPj4NCj4gPj4gVGhlIGZpcnN0IGVkaXQtY29uZmlnIHJlcXVlc3Q6DQo+ID4+DQo+ID4+IDxl
ZGl0LWNvbmZpZz4NCj4gPj4NCj4gPj4gICAgPHRhcmdldD4NCj4gPj4NCj4gPj4gICAgICAgPGNh
bmRpZGF0ZS8+DQo+ID4+DQo+ID4+ICAgIDwvdGFyZ2V0Pg0KPiA+Pg0KPiA+PiAgICA8Y29uZmln
Pg0KPiA+Pg0KPiA+PiAgICAgICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MTA8L2E+
DQo+ID4+DQo+ID4+ICAgIDwvY29uZmlnPg0KPiA+Pg0KPiA+PiA8L2VkaXQtY29uZmlnPg0KPiA+
Pg0KPiA+PiBUaGlzIHJlcXVlc3Qgd2lsbCBzZXQgYSA9IDEwLg0KPiA+Pg0KPiA+Pg0KPiA+Pg0K
PiA+PiBUaGUgc2Vjb25kIHJlcXVlc3Q6DQo+ID4+DQo+ID4+IDxlZGl0LWNvbmZpZz4NCj4gPj4N
Cj4gPj4gICAgPHRhcmdldD4NCj4gPj4NCj4gPj4gICAgICAgPGNhbmRpZGF0ZS8+DQo+ID4+DQo+
ID4+ICAgIDwvdGFyZ2V0Pg0KPiA+Pg0KPiA+PiAgICA8Y29uZmlnPg0KPiA+Pg0KPiA+PiAgICAg
ICA8YSB4bWxucz0g4oCcaHR0cDovL2Zvby5jb23igJ0+MzwvYT4NCj4gPj4NCj4gPj4gICAgICAg
PGIgeG1sbnM9IOKAnGh0dHA6Ly9mb28uY29t4oCdPjU8L2I+DQo+ID4+DQo+ID4+ICAgIDwvY29u
ZmlnPg0KPiA+Pg0KPiA+PiA8L2VkaXQtY29uZmlnPg0KPiA+Pg0KPiA+PiBBY2NvcmRpbmcgOC4z
LjEsIGluIHJwYyBwYXlsb2FkIHBhcnNpbmcgcGhhc2UsIHRoZSBh4oCZcyB2YWx1ZSBpbiBjYW5k
aWRhdGUNCj4gPj4gZGF0YXN0b3JlIGlzIDEwLCBzbyBsZWFmIGLigJlzIHdoZW4gY29uZGl0aW9u
IGlzIGV2YWx1YXRlZCB0byB0cnVlLCBzZXJ2ZXINCj4gPj4gd2lsbCBhY2NlcHQgdGhpcyByZXF1
ZXN0IGluIHBheWxvYWQgcGFyc2luZyBwaGFzZS4NCj4gPj4NCj4gPj4NCj4gPj4NCj4gPj4gSW4g
ZWRpdC1jb25maWcgcmVxdWVzdCBwcm9jZXNzaW5nIHBoYXNlLCBpZiBsZWFmIGHigJlzIG1vZGlm
aWNhdGlvbiBpcw0KPiA+PiBwcm9jZXNzZWQgZmlyc3RseSwgdGhlIGHigJlzIHZhbHVlIHdpbGwg
YmUgY2hhbmdlZCB0byAzLCBzbyB0aGUgYuKAmXMgd2hlbg0KPiA+PiBjb25kaXRpb24gd2lsbCBi
ZSBmYWxzZSwgd2hlbiBzZXJ2ZXIgcHJvY2VzcyBi4oCZcyBtb2RpZmljYXRpb24sIGIgd2lsbCBi
ZQ0KPiA+PiB0cmVhdGVkIGFzIHVua25vd24tZWxlbWVudCwgdGhlIGVkaXQtY29uZmlnIHJlcXVl
c3Qgd2lsbCBmYWlsLg0KPiA+Pg0KPiA+PiBJZiBsZWFmIGLigJlzIG1vZGlmaWNhdGlvbiBpcyBw
cm9jZXNzZWQgZmlyc3RseSwgc2VydmVyIHdpbGwgYWNjZXB0IHRoaXMNCj4gPj4gbW9kaWZpY2F0
aW9uICxiZWNhdXNlIGLigJlzIHdoZW4gY29uZGl0aW9uIGlzIHRydWUsIGFuZCB3aGVuIHNlcnZl
ciBwcm9jZXNzDQo+ID4+IGHigJlzIG1vZGlmaWNhdGlvbiAsIHRoaXMgbW9kaWZpY2F0aW9uIHdp
bGwgYmUgYWNjZXB0ZWQsIGFuZCBi4oCZcyB3aGVuDQo+ID4+IGNvbmRpdGlvbiB3aWxsIGJlIGV2
YWx1YXRlZCB0byBmYWxzZSwgbGVhZiBiIHdpbGwgYmUgZGVsZXRlZCBhdXRvbWF0aWNhbGx5LA0K
PiA+PiB0aGUgZWRpdC1jb25maWcgcmVxdWVzdCB3aWxsIGJlIE9LLg0KPiA+Pg0KPiA+Pg0KPiA+
Pg0KPiA+PiBIb3cgc2VydmVyIHNob3VsZCBwcm9jZXNzIHRoaXMgc2l0dWF0aW9uPw0KPiA+Pg0K
PiA+Pg0KPiA+Pg0KPiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXw0KPiA+PiBuZXRtb2QgbWFpbGluZyBsaXN0DQo+ID4+IG5ldG1vZEBpZXRmLm9yZw0K
PiA+PiBodHRwczovL3d3dy5pZXRmLm9yZy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0KPiA+Pg0K
PiA+Pg0KPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
DQo+ID4gbmV0bW9kIG1haWxpbmcgbGlzdA0KPiA+IG5ldG1vZEBpZXRmLm9yZw0KPiA+IGh0dHBz
Oi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kDQo+IA0KPiAtLSANCj4gTGFk
aXNsYXYgTGhvdGthIA0KPiBIZWFkLCBDWi5OSUMgTGFicw0KPiBQR1AgS2V5IElEOiAweEI4Rjky
QjA4QTlGNzZDNjcNCj4gDQo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fDQo+IG5ldG1vZCBtYWlsaW5nIGxpc3QNCj4gbmV0bW9kQGlldGYub3JnDQo+IGh0
dHBzOi8vd3d3LmlldGYub3JnL21haWxtYW4vbGlzdGluZm8vbmV0bW9kDQo=


From nobody Thu Sep 26 00:02:47 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B99131200F6 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:02:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 k_OiPx0HVz7I for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:02:44 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 4710512004C for <netmod@ietf.org>; Thu, 26 Sep 2019 00:02:44 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id 30FDA1821292; Thu, 26 Sep 2019 09:04:17 +0200 (CEST)
Received: from localhost (nat-1.nic.cz [217.31.205.1]) by trail.lhotka.name (Postfix) with ESMTPSA id 1DB871821290; Thu, 26 Sep 2019 09:04:16 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: "Sterne\, Jason \(Nokia - CA\/Ottawa\)" <jason.sterne@nokia.com>, "netmod\@ietf.org" <netmod@ietf.org>
In-Reply-To: <VI1PR07MB3981888B6E7B657DD0E97F219B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
References: <VI1PR07MB3981888B6E7B657DD0E97F219B870@VI1PR07MB3981.eurprd07.prod.outlook.com>
Mail-Followup-To: "Sterne\, Jason \(Nokia - CA\/Ottawa\)" <jason.sterne@nokia.com>, "netmod\@ietf.org" <netmod@ietf.org>
Date: Thu, 26 Sep 2019 09:02:42 +0200
Message-ID: <87ef034k19.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/rSnSqcW7Sp87SCgacbRBNOU4wus>
Subject: Re: [netmod] evaluating 'when' statements with unconfigured leafs
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 07:02:46 -0000

"Sterne, Jason (Nokia - CA/Ottawa)" <jason.sterne@nokia.com> writes:

> Hi all,
>
> I saw some recent questions about 'when' statements. I had another one related to evaluating 'when' statements that involve leafs that don't currently have a value at all.
>
> leaf foo {
>     type enumeration {
>         enum val1;
>         enum val2;
>     }
> }
>
> leaf bar {
>     when "../foo != 'val2'";
>     type uint8;
> }
>
> Notice that foo does not have a default statement. So if no manager has set leaf foo, it doesn't exist in the config.
>
> In that case, does the "when" statement evaluate to 'true'  (i.e. leaf bar is allowed to have a value) ?
>
> i.e. assuming leaf foo is not set at all, is this accepted?
> <bar>23</bar>
>
> Or is there something special here because of the non-existence of leaf foo?
>
> If the "when" evaluates to 'false', then does the following "when" evaluate differently than the one above?
>     when "not(../foo = 'val2')";

Indeed it does. If the "foo" instance doesn't exist, then this expression evaluates to true.

Lada

>
> Jason
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

-- 
Ladislav Lhotka 
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep 26 00:09:06 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 29AEF1200F6 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:09:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level: 
X-Spam-Status: No, score=-6.997 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 qQ5Bw4muXiT6 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:09:01 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [217.31.204.67]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 093A412004C for <netmod@ietf.org>; Thu, 26 Sep 2019 00:09:01 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:a744:2697:a0ec:a420]) by mail.nic.cz (Postfix) with ESMTPSA id F1857140C3D; Thu, 26 Sep 2019 09:08:57 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1569481738; bh=BbrWvJpcU5+LpKDdRr8CxyCWOGDeGfMEn/Om6XNC1VA=; h=From:To:Date; b=jMwDGdIA8pzikMoNJie/mSABQTfaoHirsXsJHUJJhvYsR7dC01m0hSCJ11jBWl+Sw BOVxTXqMuwIq2eCsrFnjUhUHCxd5mU/++uYtOUdkAWyJZ7UUnKa7u472Zf0TIc/Vfg vrR8xV/nKcL1HFSWExisHe3nP+323+08I8NzvHqI=
Message-ID: <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: andy@yumaworks.com, jason.sterne@nokia.com, netmod@ietf.org,  yangang@huawei.com
Date: Thu, 26 Sep 2019 09:08:56 +0200
In-Reply-To: <20190926.085644.1268671875357328723.mbj@tail-f.com>
References: <VI1PR07MB398192BDD1C0BD1212FA15A69B870@VI1PR07MB3981.eurprd07.prod.outlook.com> <CABCOCHQRReksw-TWqdVLPEpuB05Un4bHts7asHxQtb9YKcvMMg@mail.gmail.com> <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.0 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/ECwDa3-hpGXuPugzFWn-TK8dE44>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 07:09:05 -0000

On Thu, 2019-09-26 at 08:56 +0200, Martin Bjorklund wrote:
> Ladislav Lhotka <lhotka@nic.cz> wrote:
> > Andy Bierman <andy@yumaworks.com> writes:
> 
> > 
> 
> > > On Wed, Sep 25, 2019 at 8:44 AM Sterne, Jason (Nokia - CA/Ottawa) <
> 
> > > jason.sterne@nokia.com> wrote:
> 
> > >
> 
> > >> Processing order should not matter. The evaluation of the 'when'
> statement
> 
> > >> should be done assuming an atomic application of the edit-config.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> I agree that a standards compliant server should do as Rob said:
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> - For “scene 1”, the config change is accepted because the result of the
> 
> > >> config datastore after the edit-config has been applied is valid.
> 
> > >>
> 
> > >> - For “scene 2”, the config change is rejected because the result of the
> 
> > >> config datastore after the edit-config has been applied is invalid.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> From an implementation that may indeed mean processing the 'when' after a
> 
> > >> first pass that sets the various leafs to tentative values. But that's
> 
> > >> implementation detail.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> IMO the auto-clearing behavior of 'when' may be complicated but that is
> 
> > >> how it is defined (same with 'choice'). Clients can and should depend on
> 
> > >> things being automatically deleted. If you want validation errors (i.e.
> 
> > >> force the client to clear all the dependant leafs instead of auto-
> clearing)
> 
> > >> then use a 'must' statement.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >
> 
> > > +1
> 
> > >
> 
> > > YANG clearly defines "must" and "when" with different behavior.
> 
> > > A server that does not implement the auto-delete aspects of when-stmt is
> 
> > > not compliant to the RFC.
> 
> > 
> 
> > I don't agree with this. RFC 7950 says in sec. 8.1:
> 
> > 
> 
> >    The following properties are true in all data trees:
> 
> > 
> 
> >    ...
> 
> > 
> 
> >    o  There MUST be no nodes tagged with "when" present if the "when"
> 
> >       condition evaluates to "false" in the data tree.
> 
> 
> It also says in 8.2:
> 
>    o  If a request modifies a configuration data node such that any
>       node's "when" expression becomes false, then the node in the data
>       tree with the "when" expression is deleted by the server.

Right. But the request won't modify a configuration data node because it is
rejected. So the premise of the above implication doesn't hold, and the
conclusion doesn't apply.

Lada 

> 
> 
> /martin
> 
> > 
> 
> > This can also be prevented if the server rejects an edit operation
> 
> > that would create such a situation.
> 
> > 
> 
> > Lada
> 
> > 
> 
> > 
> 
> > >
> 
> > >
> 
> > >> Jason
> 
> > >>
> 
> > >
> 
> > > Andy
> 
> > >
> 
> > >
> 
> > >>
> 
> > >>
> 
> > >> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Qin Wu
> 
> > >> *Sent:* Tuesday, September 10, 2019 10:33 PM
> 
> > >> *To:* Fengchong (frank) <frank.fengchong@huawei.com>; Andy Bierman <
> 
> > >> andy@yumaworks.com>
> 
> > >> *Cc:* netmod@ietf.org; Yangang <yangang@huawei.com>
> 
> > >> *Subject:* [netmod] 答复: 答复: Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Why processing order matter? My interpretation is both leaf node values
> 
> > >> (i.e.,leaf a, leaf b) should be validated together and commit as a whole,
> 
> > >>
> 
> > >> RFC6241 said:
> 
> > >>
> 
> > >> “
> 
> > >>
> 
> > >> If the device is unable to commit all of the changes in the
> 
> > >>
> 
> > >>          candidate configuration datastore, then the running
> 
> > >>
> 
> > >>          configuration MUST remain unchanged.
> 
> > >>
> 
> > >> ”
> 
> > >>
> 
> > >> So validate the leaf node value in the edit-config request (message
> 
> > >> content validation) is not important, validate the leaf node value that
> is
> 
> > >> applied to <running> (datastore validation) is the key.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> I think what you want to raise is the server should hold on to send reply
> with an "unknown-element" <error-tag> in the <rpc-error> during payload
> parsing phase and NETCONF <edit-config>
> 
> > >>
> 
> > >> Processing until all validation complete, otherwise it seems server will
> 
> > >>
> 
> > >> Send multiple rply with "unknown-element" <error-tag> in the <rpc-error>
> which seems not reasonable.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> -Qin
> 
> > >>
> 
> > >> *发件人**:* netmod [mailto:netmod-bounces@ietf.org <netmod-bounces@ietf.org>
> ]
> 
> > >> *代表 *Fengchong (frank)
> 
> > >> *发送时间**:* 2019年9月11日 9:29
> 
> > >> *收件人**:* Andy Bierman <andy@yumaworks.com>
> 
> > >> *抄送**:* netmod@ietf.org; Yangang <yangang@huawei.com>
> 
> > >> *主题**:* [netmod] 答复: Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Andy,
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Whether different result would occur according different process order?
> 
> > >>
> 
> > >> According 8.3.2
> 
> > >>
> 
> > >> if server process ‘a= 3’ firstly, b will be deleted by system and becomes
> 
> > >> a non-exist schema node, and then  when ‘b=5’ is processed , server will
> 
> > >> report a ‘unknown-element’ error.
> 
> > >>
> 
> > >> But if server process ‘b=5’ firstly, it will be accepted by server, and
> 
> > >> then when ‘a=3’ is processed, b will be deleted by system, but report OK.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> If sec 8.3.2 is not right. What is the right?
> 
> > >>
> 
> > >> When node a and node b in the same request, and b tagged when condition,
> 
> > >> a’s value will cause b’s condition is evaluated to false, which is more
> 
> > >> prior?
> 
> > >>
> 
> > >> According you and Rob’s interpretation , maybe node ’a’ is more prior? If
> 
> > >> yes, why node ‘b’ should be processed later?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> I think whether in edit-config processing phase the configuration tagged
> 
> > >> when should not be evaluated and be delayed to commit or validate?
> 
> > >>
> 
> > >> When commit or validate operation is issued,  the data node tagged when
> 
> > >> will be evaluated, and if it’s evaluated to false, this data will be
> 
> > >> deleted by system immediately, server should not report any error.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> 华为技术有限公司 Huawei Technologies Co., Ltd.
> 
> > >>
> 
> > >> [image: Company_logo]
> 
> > >>
> 
> > >> 个人签名：冯冲
> 
> > >> 手 机：13776612983
> 
> > >> 电子邮件：frank.fengchong@huawei.com
> 
> > >> 公司网址：www.huawei.com
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> ﻿ 本邮件及其附件含有华为公司的保密信息，仅限于发送给上面地址中列出的个人或群组。禁
> 
> > >> 止任何其他人以任何形式使用（包括但不限于全部或部分地泄露、复制、或散发）本邮件中
> 
> > >> 的信息。如果您错收了本邮件，请您立即电话或邮件通知发件人并删除本邮件！
> 
> > >> This e-mail and its attachments contain confidential information from
> 
> > >> HUAWEI, which
> 
> > >> is intended only for the person or entity whose address is listed above.
> 
> > >> Any use of the
> 
> > >> information contained herein in any way (including, but not limited to,
> 
> > >> total or partial
> 
> > >> disclosure, reproduction, or dissemination) by persons other than the
> 
> > >> intended
> 
> > >> recipient(s) is prohibited. If you receive this e-mail in error, please
> 
> > >> notify the sender by
> 
> > >> phone or email immediately and delete it!
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> *发件人**:* Andy Bierman [mailto:andy@yumaworks.com <andy@yumaworks.com>]
> 
> > >> *发送时间**:* 2019年9月10日 10:56
> 
> > >> *收件人**:* Fengchong (frank) <frank.fengchong@huawei.com>
> 
> > >> *抄送**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@ietf.org;
> 
> > >> Yangang <yangang@huawei.com>
> 
> > >> *主题**:* Re: [netmod] Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> On Mon, Sep 9, 2019 at 7:40 PM Fengchong (frank) <
> 
> > >> frank.fengchong@huawei.com> wrote:
> 
> > >>
> 
> > >> Andy,
> 
> > >>
> 
> > >> Whether all constraints on content in <config> parameter will not be
> 
> > >> evaluated in payload parsing phase, for example, a leaf’s value exceed
> 
> > >> range?
> 
> > >>
> 
> > >> Netconf server should treat it as a block data?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Field validation and datastore validation are 2 different things.
> 
> > >>
> 
> > >> when-stmt processing is neither. It is by far the hardest part of an
> 
> > >> automated server to get right.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Another question:
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> In edit-config processing phase, whether constraints on content in
> 
> > >> <config> parameter needs be evaluated?
> 
> > >>
> 
> > >> If yes, when  configuration modification cause when condition is
> evaluated
> 
> > >> to false, the node tagged when will be automatically deleted by system.
> 
> > >>
> 
> > >> Then, in scene 2, whether different result would occur according
> different
> 
> > >> process order?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Since the <config> parameter is anyxml, the YANG constraints defined on
> 
> > >> datastore contents
> 
> > >>
> 
> > >> are not enforced as part of RPC input validation.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> It would be nice if NETCONF defined behavior for providing <config> data
> 
> > >> that will get deleted
> 
> > >>
> 
> > >> immediately by the server.  We have a CLI parameter for this since some
> 
> > >> vendors want to
> 
> > >>
> 
> > >> treat this as an error and other just silently delete nodes.  Note that
> 
> > >> when-stmt can silently
> 
> > >>
> 
> > >> delete existing nodes not included in the edit. (Lada does not agree this
> 
> > >> is how it should work,
> 
> > >>
> 
> > >> so we need yang-next to decide. Maybe NETCONF needs a --force parameter
> 
> > >> for this purpose.)
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Andy
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> 华为技术有限公司 Huawei Technologies Co., Ltd.
> 
> > >>
> 
> > >> [image: Company_logo]
> 
> > >>
> 
> > >> 个人签名：冯冲
> 
> > >> 手 机：13776612983
> 
> > >> 电子邮件：frank.fengchong@huawei.com
> 
> > >> 公司网址：www.huawei.com
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> ﻿ 本邮件及其附件含有华为公司的保密信息，仅限于发送给上面地址中列出的个人或群组。禁
> 
> > >> 止任何其他人以任何形式使用（包括但不限于全部或部分地泄露、复制、或散发）本邮件中
> 
> > >> 的信息。如果您错收了本邮件，请您立即电话或邮件通知发件人并删除本邮件！
> 
> > >> This e-mail and its attachments contain confidential information from
> 
> > >> HUAWEI, which
> 
> > >> is intended only for the person or entity whose address is listed above.
> 
> > >> Any use of the
> 
> > >> information contained herein in any way (including, but not limited to,
> 
> > >> total or partial
> 
> > >> disclosure, reproduction, or dissemination) by persons other than the
> 
> > >> intended
> 
> > >> recipient(s) is prohibited. If you receive this e-mail in error, please
> 
> > >> notify the sender by
> 
> > >> phone or email immediately and delete it!
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> *发件人**:* Andy Bierman [mailto:andy@yumaworks.com]
> 
> > >> *发送时间**:* 2019年9月10日 10:19
> 
> > >> *收件人**:* Fengchong (frank) <frank.fengchong@huawei.com>
> 
> > >> *抄送**:* Rob Wilton (rwilton) <rwilton@cisco.com>; netmod@ietf.org;
> 
> > >> Yangang <yangang@huawei.com>
> 
> > >> *主题**:* Re: [netmod] Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> On Mon, Sep 9, 2019 at 7:10 PM Fengchong (frank) <
> 
> > >> frank.fengchong@huawei.com> wrote:
> 
> > >>
> 
> > >> Hi andy,
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> You only talk about the constraints on rpc operation’s parameter?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Do you have any opinion about my question?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> 8.3.1 does not apply to leaf 'b'.
> 
> > >>
> 
> > >> The RPC parameter is called 'config'.
> 
> > >>
> 
> > >> It has no when-stmts to evaluate.
> 
> > >>
> 
> > >> Rob is correct.
> 
> > >>
> 
> > >> His example shows what 8.3.1 would cover.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Andy
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> 华为技术有限公司 Huawei Technologies Co., Ltd.
> 
> > >>
> 
> > >> [image: Company_logo]
> 
> > >>
> 
> > >> 个人签名：冯冲
> 
> > >> 手 机：13776612983
> 
> > >> 电子邮件：frank.fengchong@huawei.com
> 
> > >> 公司网址：www.huawei.com
> 
> > >> ------------------------------
> 
> > >>
> 
> > >> ﻿ 本邮件及其附件含有华为公司的保密信息，仅限于发送给上面地址中列出的个人或群组。禁
> 
> > >> 止任何其他人以任何形式使用（包括但不限于全部或部分地泄露、复制、或散发）本邮件中
> 
> > >> 的信息。如果您错收了本邮件，请您立即电话或邮件通知发件人并删除本邮件！
> 
> > >> This e-mail and its attachments contain confidential information from
> 
> > >> HUAWEI, which
> 
> > >> is intended only for the person or entity whose address is listed above.
> 
> > >> Any use of the
> 
> > >> information contained herein in any way (including, but not limited to,
> 
> > >> total or partial
> 
> > >> disclosure, reproduction, or dissemination) by persons other than the
> 
> > >> intended
> 
> > >> recipient(s) is prohibited. If you receive this e-mail in error, please
> 
> > >> notify the sender by
> 
> > >> phone or email immediately and delete it!
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> *发件人**:* Andy Bierman [mailto:andy@yumaworks.com]
> 
> > >> *发送时间**:* 2019年9月10日 1:14
> 
> > >> *收件人**:* Rob Wilton (rwilton) <rwilton@cisco.com>
> 
> > >> *抄送**:* Fengchong (frank) <frank.fengchong@huawei.com>; netmod@ietf.org;
> 
> > >> Yangang <yangang@huawei.com>
> 
> > >> *主题**:* Re: [netmod] Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Hi,
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> None of the operations that accept or return datastore contents expose
> the
> 
> > >> datastore objects
> 
> > >>
> 
> > >> in the RPC parameters.  They are always anyxml or anydata. This means
> that
> 
> > >>
> 
> > >> there are no descendant data nodes defined at all according to the RPC
> 
> > >> operation
> 
> > >>
> 
> > >> and therefore the constraints on those nodes do not exist in the RPC
> 
> > >> operation either.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> On Mon, Sep 9, 2019 at 6:41 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> 
> > >> wrote:
> 
> > >>
> 
> > >> Hi Frank,
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> My interpretation of what the expected behaviour is as follows.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> For “scene 1”, the config change is accepted because the result of the
> 
> > >> config datastore after the edit-config has been applied is valid.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> For “scene 2”, the config change is rejected because the result of the
> 
> > >> config datastore after the edit-config has been applied is invalid.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> My interpretation is that the block of text in 8.3.1 payload parsing is
> 
> > >> primary intended to refer to RFC input.  E.g. if the RPC was defined
> 
> > >> something like below, then the ‘when’ rule in 8.3.1 would enforce that a
> 
> > >> zip-code can only be provided if the country is the USA.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>        rpc rock-the-house {
> 
> > >>
> 
> > >>          input {
> 
> > >>
> 
> > >>            leaf country {
> 
> > >>
> 
> > >>              type string;
> 
> > >>
> 
> > >>            }
> 
> > >>
> 
> > >>            leaf zip-code {
> 
> > >>
> 
> > >>              when “../country = ‘usa’”;
> 
> > >>
> 
> > >>              type string;
> 
> > >>
> 
> > >>            }
> 
> > >>
> 
> > >>          }
> 
> > >>
> 
> > >>        }
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Thanks,
> 
> > >>
> 
> > >> Rob
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> *From:* netmod <netmod-bounces@ietf.org> *On Behalf Of *Fengchong (frank)
> 
> > >> *Sent:* 06 September 2019 08:19
> 
> > >> *To:* netmod@ietf.org
> 
> > >> *Cc:* Yangang <yangang@huawei.com>
> 
> > >> *Subject:* [netmod] Please clarify implementation about ‘when’
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> Hi all,
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> In RFC7950 secton 8, several description about when：
> 
> > >> In section 8.2 <https://tools.ietf.org/html/rfc7950#section-8.2>;.
> 
> > >> Configuration Data Modifications
> 
> > >>
> 
> > >>    o  If a request modifies a configuration data node such that any
> 
> > >>
> 
> > >>       node's "when" expression becomes false, then the node in the data
> 
> > >>
> 
> > >>       tree with the "when" expression is deleted by the server.
> 
> > >> In 8.3.1 <https://tools.ietf.org/html/rfc7950#section-8.3.1>;.  Payload
> 
> > >> Parsing
> 
> > >>
> 
> > >>    o  If data for a node tagged with "when" is present and the "when"
> 
> > >>
> 
> > >>       condition evaluates to "false", the server MUST reply with an
> 
> > >>
> 
> > >>       "unknown-element" <error-tag> in the <rpc-error>.
> 
> > >>
> 
> > >> In 8.3.2 <https://tools.ietf.org/html/rfc7950#section-8.3.2>;.  NETCONF
> 
> > >> <edit-config> Processing
> 
> > >>
> 
> > >> Modification requests for nodes tagged with "when", and the "when"
> 
> > >>
> 
> > >>       condition evaluates to "false".  In this case, the server MUST
> 
> > >>
> 
> > >>       reply with an "unknown-element" <error-tag> in the <rpc-error>.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> YANG module：
> 
> > >>
> 
> > >> module foo {
> 
> > >>
> 
> > >>    namespace “http://foo.com”;
> 
> > >>
> 
> > >>    prefix “foo”;
> 
> > >>
> 
> > >> Leaf a {…}
> 
> > >>
> 
> > >> Leaf b {
> 
> > >>
> 
> > >>   When “a = 10”;
> 
> > >>
> 
> > >> }
> 
> > >>
> 
> > >> }
> 
> > >> Scene 1:
> 
> > >>
> 
> > >> The first edit-config request:
> 
> > >>
> 
> > >> <edit-config>
> 
> > >>
> 
> > >>    <target>
> 
> > >>
> 
> > >>       <candidate/>
> 
> > >>
> 
> > >>    </target>
> 
> > >>
> 
> > >>    <config>
> 
> > >>
> 
> > >>       <a xmlns= “http://foo.com”>3</a>
> 
> > >>
> 
> > >>    </config>
> 
> > >>
> 
> > >> </edit-config>
> 
> > >>
> 
> > >> This request will set a = 3.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> The second request:
> 
> > >>
> 
> > >> <edit-config>
> 
> > >>
> 
> > >>    <target>
> 
> > >>
> 
> > >>       <candidate/>
> 
> > >>
> 
> > >>    </target>
> 
> > >>
> 
> > >>    <config>
> 
> > >>
> 
> > >>       <a xmlns= “http://foo.com”>10</a>
> 
> > >>
> 
> > >>       <b xmlns= “http://foo.com”>5</b>
> 
> > >>
> 
> > >>    </config>
> 
> > >>
> 
> > >> </edit-config>
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> According 8.3.1, in rpc payload parsing phase, the a’s value in candidate
> 
> > >> datastore is 3,so leaf b’s when condition is evaluated to false, server
> 
> > >> will report ‘unknown-element’ error.
> 
> > >>
> 
> > >> Is it expected by user?
> 
> > >> Scene 2:
> 
> > >>
> 
> > >> The first edit-config request:
> 
> > >>
> 
> > >> <edit-config>
> 
> > >>
> 
> > >>    <target>
> 
> > >>
> 
> > >>       <candidate/>
> 
> > >>
> 
> > >>    </target>
> 
> > >>
> 
> > >>    <config>
> 
> > >>
> 
> > >>       <a xmlns= “http://foo.com”>10</a>
> 
> > >>
> 
> > >>    </config>
> 
> > >>
> 
> > >> </edit-config>
> 
> > >>
> 
> > >> This request will set a = 10.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> The second request:
> 
> > >>
> 
> > >> <edit-config>
> 
> > >>
> 
> > >>    <target>
> 
> > >>
> 
> > >>       <candidate/>
> 
> > >>
> 
> > >>    </target>
> 
> > >>
> 
> > >>    <config>
> 
> > >>
> 
> > >>       <a xmlns= “http://foo.com”>3</a>
> 
> > >>
> 
> > >>       <b xmlns= “http://foo.com”>5</b>
> 
> > >>
> 
> > >>    </config>
> 
> > >>
> 
> > >> </edit-config>
> 
> > >>
> 
> > >> According 8.3.1, in rpc payload parsing phase, the a’s value in candidate
> 
> > >> datastore is 10, so leaf b’s when condition is evaluated to true, server
> 
> > >> will accept this request in payload parsing phase.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> In edit-config request processing phase, if leaf a’s modification is
> 
> > >> processed firstly, the a’s value will be changed to 3, so the b’s when
> 
> > >> condition will be false, when server process b’s modification, b will be
> 
> > >> treated as unknown-element, the edit-config request will fail.
> 
> > >>
> 
> > >> If leaf b’s modification is processed firstly, server will accept this
> 
> > >> modification ,because b’s when condition is true, and when server process
> 
> > >> a’s modification , this modification will be accepted, and b’s when
> 
> > >> condition will be evaluated to false, leaf b will be deleted
> automatically,
> 
> > >> the edit-config request will be OK.
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> How server should process this situation?
> 
> > >>
> 
> > >>
> 
> > >>
> 
> > >> _______________________________________________
> 
> > >> netmod mailing list
> 
> > >> netmod@ietf.org
> 
> > >> https://www.ietf.org/mailman/listinfo/netmod
> 
> > >>
> 
> > >>
> 
> > > _______________________________________________
> 
> > > netmod mailing list
> 
> > > netmod@ietf.org
> 
> > > https://www.ietf.org/mailman/listinfo/netmod
> 
> > 
> 
> > -- 
> 
> > Ladislav Lhotka 
> 
> > Head, CZ.NIC Labs
> 
> > PGP Key ID: 0xB8F92B08A9F76C67
> 
> > 
> 
> > _______________________________________________
> 
> > netmod mailing list
> 
> > netmod@ietf.org
> 
> > https://www.ietf.org/mailman/listinfo/netmod
> 
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep 26 00:46:09 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7BEFD120820 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:45:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 6ej4ElD820BU for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 00:45:53 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 40A7B12083F for <netmod@ietf.org>; Thu, 26 Sep 2019 00:45:53 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id A84511AE018A; Thu, 26 Sep 2019 09:45:51 +0200 (CEST)
Date: Thu, 26 Sep 2019 09:45:26 +0200 (CEST)
Message-Id: <20190926.094526.272771637371098799.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: andy@yumaworks.com, jason.sterne@nokia.com, netmod@ietf.org, yangang@huawei.com
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=utf-8
Content-Transfer-Encoding: base64
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/S21vkw1nHtJgdZKqzdzz86FP0YY>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 07:46:07 -0000

TGFkaXNsYXYgTGhvdGthIDxsaG90a2FAbmljLmN6PiB3cm90ZToNCj4gT24gVGh1LCAyMDE5LTA5
LTI2IGF0IDA4OjU2ICswMjAwLCBNYXJ0aW4gQmpvcmtsdW5kIHdyb3RlOg0KPiA+IExhZGlzbGF2
IExob3RrYSA8bGhvdGthQG5pYy5jej4gd3JvdGU6DQo+ID4gPiBBbmR5IEJpZXJtYW4gPGFuZHlA
eXVtYXdvcmtzLmNvbT4gd3JpdGVzOg0KPiA+IA0KPiA+ID4gDQo+ID4gDQo+ID4gPiA+IE9uIFdl
ZCwgU2VwIDI1LCAyMDE5IGF0IDg6NDQgQU0gU3Rlcm5lLCBKYXNvbiAoTm9raWEgLSBDQS9PdHRh
d2EpIDwNCj4gPiANCj4gPiA+ID4gamFzb24uc3Rlcm5lQG5va2lhLmNvbT4gd3JvdGU6DQo+ID4g
DQo+ID4gPiA+DQo+ID4gDQo+ID4gPiA+PiBQcm9jZXNzaW5nIG9yZGVyIHNob3VsZCBub3QgbWF0
dGVyLiBUaGUgZXZhbHVhdGlvbiBvZiB0aGUgJ3doZW4nDQo+ID4gc3RhdGVtZW50DQo+ID4gDQo+
ID4gPiA+PiBzaG91bGQgYmUgZG9uZSBhc3N1bWluZyBhbiBhdG9taWMgYXBwbGljYXRpb24gb2Yg
dGhlIGVkaXQtY29uZmlnLg0KPiA+IA0KPiA+ID4gPj4NCj4gPiANCj4gPiA+ID4+DQo+ID4gDQo+
ID4gPiA+Pg0KPiA+IA0KPiA+ID4gPj4gSSBhZ3JlZSB0aGF0IGEgc3RhbmRhcmRzIGNvbXBsaWFu
dCBzZXJ2ZXIgc2hvdWxkIGRvIGFzIFJvYiBzYWlkOg0KPiA+IA0KPiA+ID4gPj4NCj4gPiANCj4g
PiA+ID4+DQo+ID4gDQo+ID4gPiA+Pg0KPiA+IA0KPiA+ID4gPj4gLSBGb3Ig4oCcc2NlbmUgMeKA
nSwgdGhlIGNvbmZpZyBjaGFuZ2UgaXMgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgcmVzdWx0IG9mIHRo
ZQ0KPiA+IA0KPiA+ID4gPj4gY29uZmlnIGRhdGFzdG9yZSBhZnRlciB0aGUgZWRpdC1jb25maWcg
aGFzIGJlZW4gYXBwbGllZCBpcyB2YWxpZC4NCj4gPiANCj4gPiA+ID4+DQo+ID4gDQo+ID4gPiA+
PiAtIEZvciDigJxzY2VuZSAy4oCdLCB0aGUgY29uZmlnIGNoYW5nZSBpcyByZWplY3RlZCBiZWNh
dXNlIHRoZSByZXN1bHQgb2YgdGhlDQo+ID4gDQo+ID4gPiA+PiBjb25maWcgZGF0YXN0b3JlIGFm
dGVyIHRoZSBlZGl0LWNvbmZpZyBoYXMgYmVlbiBhcHBsaWVkIGlzIGludmFsaWQuDQo+ID4gDQo+
ID4gPiA+Pg0KPiA+IA0KPiA+ID4gPj4NCj4gPiANCj4gPiA+ID4+DQo+ID4gDQo+ID4gPiA+PiBG
cm9tIGFuIGltcGxlbWVudGF0aW9uIHRoYXQgbWF5IGluZGVlZCBtZWFuIHByb2Nlc3NpbmcgdGhl
ICd3aGVuJyBhZnRlciBhDQo+ID4gDQo+ID4gPiA+PiBmaXJzdCBwYXNzIHRoYXQgc2V0cyB0aGUg
dmFyaW91cyBsZWFmcyB0byB0ZW50YXRpdmUgdmFsdWVzLiBCdXQgdGhhdCdzDQo+ID4gDQo+ID4g
PiA+PiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuDQo+ID4gDQo+ID4gPiA+Pg0KPiA+IA0KPiA+ID4g
Pj4NCj4gPiANCj4gPiA+ID4+DQo+ID4gDQo+ID4gPiA+PiBJTU8gdGhlIGF1dG8tY2xlYXJpbmcg
YmVoYXZpb3Igb2YgJ3doZW4nIG1heSBiZSBjb21wbGljYXRlZCBidXQgdGhhdCBpcw0KPiA+IA0K
PiA+ID4gPj4gaG93IGl0IGlzIGRlZmluZWQgKHNhbWUgd2l0aCAnY2hvaWNlJykuIENsaWVudHMg
Y2FuIGFuZCBzaG91bGQgZGVwZW5kIG9uDQo+ID4gDQo+ID4gPiA+PiB0aGluZ3MgYmVpbmcgYXV0
b21hdGljYWxseSBkZWxldGVkLiBJZiB5b3Ugd2FudCB2YWxpZGF0aW9uIGVycm9ycyAoaS5lLg0K
PiA+IA0KPiA+ID4gPj4gZm9yY2UgdGhlIGNsaWVudCB0byBjbGVhciBhbGwgdGhlIGRlcGVuZGFu
dCBsZWFmcyBpbnN0ZWFkIG9mIGF1dG8tDQo+ID4gY2xlYXJpbmcpDQo+ID4gDQo+ID4gPiA+PiB0
aGVuIHVzZSBhICdtdXN0JyBzdGF0ZW1lbnQuDQo+ID4gDQo+ID4gPiA+Pg0KPiA+IA0KPiA+ID4g
Pj4NCj4gPiANCj4gPiA+ID4+DQo+ID4gDQo+ID4gPiA+DQo+ID4gDQo+ID4gPiA+ICsxDQo+ID4g
DQo+ID4gPiA+DQo+ID4gDQo+ID4gPiA+IFlBTkcgY2xlYXJseSBkZWZpbmVzICJtdXN0IiBhbmQg
IndoZW4iIHdpdGggZGlmZmVyZW50IGJlaGF2aW9yLg0KPiA+IA0KPiA+ID4gPiBBIHNlcnZlciB0
aGF0IGRvZXMgbm90IGltcGxlbWVudCB0aGUgYXV0by1kZWxldGUgYXNwZWN0cyBvZiB3aGVuLXN0
bXQgaXMNCj4gPiANCj4gPiA+ID4gbm90IGNvbXBsaWFudCB0byB0aGUgUkZDLg0KPiA+IA0KPiA+
ID4gDQo+ID4gDQo+ID4gPiBJIGRvbid0IGFncmVlIHdpdGggdGhpcy4gUkZDIDc5NTAgc2F5cyBp
biBzZWMuIDguMToNCj4gPiANCj4gPiA+IA0KPiA+IA0KPiA+ID4gICAgVGhlIGZvbGxvd2luZyBw
cm9wZXJ0aWVzIGFyZSB0cnVlIGluIGFsbCBkYXRhIHRyZWVzOg0KPiA+IA0KPiA+ID4gDQo+ID4g
DQo+ID4gPiAgICAuLi4NCj4gPiANCj4gPiA+IA0KPiA+IA0KPiA+ID4gICAgbyAgVGhlcmUgTVVT
VCBiZSBubyBub2RlcyB0YWdnZWQgd2l0aCAid2hlbiIgcHJlc2VudCBpZiB0aGUgIndoZW4iDQo+
ID4gDQo+ID4gPiAgICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIgaW4gdGhlIGRh
dGEgdHJlZS4NCj4gPiANCj4gPiANCj4gPiBJdCBhbHNvIHNheXMgaW4gOC4yOg0KPiA+IA0KPiA+
ICAgIG8gIElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2RlIHN1
Y2ggdGhhdCBhbnkNCj4gPiAgICAgICBub2RlJ3MgIndoZW4iIGV4cHJlc3Npb24gYmVjb21lcyBm
YWxzZSwgdGhlbiB0aGUgbm9kZSBpbiB0aGUgZGF0YQ0KPiA+ICAgICAgIHRyZWUgd2l0aCB0aGUg
IndoZW4iIGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0aGUgc2VydmVyLg0KPiANCj4gUmlnaHQu
IEJ1dCB0aGUgcmVxdWVzdCB3b24ndCBtb2RpZnkgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBi
ZWNhdXNlIGl0IGlzDQo+IHJlamVjdGVkLiBTbyB0aGUgcHJlbWlzZSBvZiB0aGUgYWJvdmUgaW1w
bGljYXRpb24gZG9lc24ndCBob2xkLCBhbmQgdGhlDQo+IGNvbmNsdXNpb24gZG9lc24ndCBhcHBs
eS4NCg0KV2l0aCB0aGUgc2FtZSBsb2dpYyB5b3UgY2FuIGNsYWltIGNvbmZvcm1hbmNlIGlmIHlv
dSByZWplY3QgYSByZXF1ZXN0DQp0byBjcmVhdGUgbm9kZXMgdW5kZXIgYSBjYXNlIGlmIGFub3Ro
ZXIgY2FzZSBpcyBhY3RpdmUuICBJIHRoaW5rIGl0IGlzDQpxdWl0ZSBjbGVhciB0aGF0IHRoaXMg
YXV0by1kZWxldGlvbiBpcyBwYXJ0IG9mIHRoZSBzcGVjLCBhbmQgc29tZXRoaW5nDQpjbGllbnRz
IGNhbiByZWx5IG9uLiAgSWYgdGhlIGludGVudGlvbiBoYWQgYmVlbiB0aGF0IHRoaXMgd2FzIG9w
dGlvbmFsDQp0byBpbXBsZW1lbnQsIGl0IHdvdWxkIGhhdmUgYmVlbiBjbGVhcmx5IHN0YXRlZCwg
YW5kIHRoZXJlIHdvdWxkIGhhdmUNCmJlZW4gbWVjaGFuaXNtIHByZXNlbnQgZm9yIGNsaWVudHMg
dG8gZGV0ZWN0IHRoaXMuDQoNCg0KL21hcnRpbg0K


From nobody Thu Sep 26 02:39:58 2019
Return-Path: <J.Schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A7B5212086F for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 02:39:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.923
X-Spam-Level: 
X-Spam-Status: No, score=-1.923 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FROM_EXCESS_BASE64=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.026, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com
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 snd4oOm3y9xi for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 02:39:54 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80079.outbound.protection.outlook.com [40.107.8.79]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 314BE12086D for <netmod@ietf.org>; Thu, 26 Sep 2019 02:39:54 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OFuW3hQRW/6z6rGQ0msvlhocI+KH10YdlRcAdMx4+rIFgF7EU8E/fMxsSQooptW8uR6PnKp0iNWO4z6AmAEISfOoxrJxd/UH+ASWO6xRM/KvOvYil6/+Cd0R0SuCDxiVSCK2MPlhfxH81suDtL6d6ntDf0oUg70C+UbIy5Afxh6JMefAlLlOaIn4g3Xzkza0VPB7s86jWbicuFGKLyDL1P0H1ct7X/XX91yGW5Ukevy/3QXY8t13YFwxL62VBMxFgo4nIoWzdJnqKkIMR5cT95UnkaJs9cIbjsNp1B9288ML+63IyArgxz2ZLrInedLInrXSIzltL3Pbm2lTRiNd0A==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oknW4gKdLuHO23GZ48BjQE/+11q+vSeY3BLu41wdKlY=; b=bxd7NB+Um9tvGUpB3hHXR7Bfm88bOMbDagLdE6LoCy0qf0moHkOLNUVy7TT7BgQpCQIlqpiWLoOEacm76Uc++Y9DKz0IsGaQPfR3tStXtzJzu58dM53UBpi8LoUDk/1EIlrMpKdLwhPBBl8hmg9ao1K8CjaEIpdm3mAYx9pp6n22tKFtWTALUQZ8wnGbc2p+JPf2d7vqgELwuZOkBssoDsPqmu7nASZftK4M6CsbCAf860gzIOyUvdN7T8/dQ3vRMj1VxVJccxC4ayHvk6oalk7JllO2vg/fsFt2u+WK+bNNb5Yolex7ogrWK9Ll3NGxyKg+IPxKON4toIJI03GvfA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oknW4gKdLuHO23GZ48BjQE/+11q+vSeY3BLu41wdKlY=; b=Ih9K91wXbPEIcemo+mmVmd/BPDRD8TpGeZ5wB3KPZF3LUnZJAqXV1lEcZ+1HGlckrXXWA2yHHgEr4AzG0FP7wakcGkG8TUA4iiRPVcQ7vhz9MO1o3va3hnZs1oZdY+4CVETQr17pm07VUJthjURnbjIZe+3CQpg3R7n2w7+h5I4=
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (10.186.159.71) by VI1P190MB0206.EURP190.PROD.OUTLOOK.COM (10.172.80.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20; Thu, 26 Sep 2019 09:39:51 +0000
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4]) by VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4%2]) with mapi id 15.20.2284.028; Thu, 26 Sep 2019 09:39:51 +0000
From: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
To: "lhotka@nic.cz" <lhotka@nic.cz>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxl?= =?utf-8?B?bWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
Thread-Index: AQHVdE5YPGxz5B41HEe6qg1OCwgbgA==
Date: Thu, 26 Sep 2019 09:39:51 +0000
Message-ID: <20190926093950.a5anv5zdbjtb7iwo@anna.jacobs.jacobs-university.de>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com>
In-Reply-To: <20190926.094526.272771637371098799.mbj@tail-f.com>
Reply-To: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4PR07CA0016.eurprd07.prod.outlook.com (2603:10a6:205:1::29) To VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12e::7)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=J.Schoenwaelder@jacobs-university.de; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2001:638:709:5::7]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c210fbc0-d4f3-4791-b868-08d742657a97
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:VI1P190MB0206; 
x-ms-traffictypediagnostic: VI1P190MB0206:
x-ms-exchange-purlcount: 1
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1P190MB0206FBD7203169BE6D8ED45FDE860@VI1P190MB0206.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0172F0EF77
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(396003)(136003)(346002)(366004)(376002)(39850400004)(189003)(199004)(66446008)(66556008)(478600001)(14454004)(8936002)(1730700003)(81156014)(81166006)(316002)(786003)(6436002)(43066004)(476003)(446003)(229853002)(6512007)(25786009)(6306002)(256004)(11346002)(52116002)(99286004)(6486002)(486006)(14444005)(224303003)(85202003)(7736002)(4326008)(305945005)(6246003)(5660300002)(6916009)(86362001)(46003)(2906002)(6116002)(2501003)(85182001)(2351001)(102836004)(6506007)(1076003)(386003)(71190400001)(76176011)(66476007)(5640700003)(186003)(3450700001)(66946007)(71200400001)(64756008)(777600001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P190MB0206; H:VI1P190MB0686.EURP190.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: jacobs-university.de does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: M0e4/hleOR+blhGY6V5wPVVmXqd+1sFYnZWZuLYQUGWflHK5hJEipfEwI2MqHZhBlKwaR2UL5peVQ59ulCzIRz74jVJjihebS7d7b+itixg2rctVTVtuCFv0/KKK2JRoago4nImsLxIBjKk/vcEuKTuDhbt2wAO1RIVkex/01+v/eSSxDLiNfKdzsQ2q8YQTijtCBWpuYzqeV1bDwvJziQQ+hZ+XsxHqSknPZUc6bEX8SBryJUkdZZoPuXOWG5+fU3RF3gSmwPZIw9usBjV1vQnHdKlmmHn/ZgsXi3ZPZqpqKbJMHSEHOiRjoUQWGoop55iFPJMVFqQXMUB5JsfkYyLohO6lqeDyyL1CoYl7ViNfge5bANvrFVUqgM0qLTD1AgGqFHLd1FEd9bbVnNFVB7YZTY3UsMkxbHIL/ARDrHEoVzf2/7FeXo4w4+sOwDAbIPaD+6hgcvRYm4RZqMU6hg==
Content-Type: text/plain; charset="utf-8"
Content-ID: <EE178CACDFB21F45B032746DC98C9260@EURP190.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: c210fbc0-d4f3-4791-b868-08d742657a97
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 09:39:51.3999 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: VQSXK5nTsCxHgUexEJJht6PI8+nziOkPQHEL9wE4nNpJsmwlsaBTI2EpzTMprEMUAzS4obftNVXiP7RY2HUwxXDAkY3NJbEGIoilkqJmkhY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0206
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/s4C2TPIh0u-Sp65-q5gvH_vMt3c>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 09:39:57 -0000

T24gVGh1LCBTZXAgMjYsIDIwMTkgYXQgMDk6NDU6MjZBTSArMDIwMCwgTWFydGluIEJqb3JrbHVu
ZCB3cm90ZToNCj4gPiA+IA0KPiA+ID4gPiAgICBvICBUaGVyZSBNVVNUIGJlIG5vIG5vZGVzIHRh
Z2dlZCB3aXRoICJ3aGVuIiBwcmVzZW50IGlmIHRoZSAid2hlbiINCj4gPiA+IA0KPiA+ID4gPiAg
ICAgICBjb25kaXRpb24gZXZhbHVhdGVzIHRvICJmYWxzZSIgaW4gdGhlIGRhdGEgdHJlZS4NCj4g
PiA+IA0KPiA+ID4gDQo+ID4gPiBJdCBhbHNvIHNheXMgaW4gOC4yOg0KPiA+ID4gDQo+ID4gPiAg
ICBvICBJZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNo
IHRoYXQgYW55DQo+ID4gPiAgICAgICBub2RlJ3MgIndoZW4iIGV4cHJlc3Npb24gYmVjb21lcyBm
YWxzZSwgdGhlbiB0aGUgbm9kZSBpbiB0aGUgZGF0YQ0KPiA+ID4gICAgICAgdHJlZSB3aXRoIHRo
ZSAid2hlbiIgZXhwcmVzc2lvbiBpcyBkZWxldGVkIGJ5IHRoZSBzZXJ2ZXIuDQo+ID4gDQo+ID4g
UmlnaHQuIEJ1dCB0aGUgcmVxdWVzdCB3b24ndCBtb2RpZnkgYSBjb25maWd1cmF0aW9uIGRhdGEg
bm9kZSBiZWNhdXNlIGl0IGlzDQo+ID4gcmVqZWN0ZWQuIFNvIHRoZSBwcmVtaXNlIG9mIHRoZSBh
Ym92ZSBpbXBsaWNhdGlvbiBkb2Vzbid0IGhvbGQsIGFuZCB0aGUNCj4gPiBjb25jbHVzaW9uIGRv
ZXNuJ3QgYXBwbHkuDQo+IA0KPiBXaXRoIHRoZSBzYW1lIGxvZ2ljIHlvdSBjYW4gY2xhaW0gY29u
Zm9ybWFuY2UgaWYgeW91IHJlamVjdCBhIHJlcXVlc3QNCj4gdG8gY3JlYXRlIG5vZGVzIHVuZGVy
IGEgY2FzZSBpZiBhbm90aGVyIGNhc2UgaXMgYWN0aXZlLiAgSSB0aGluayBpdCBpcw0KPiBxdWl0
ZSBjbGVhciB0aGF0IHRoaXMgYXV0by1kZWxldGlvbiBpcyBwYXJ0IG9mIHRoZSBzcGVjLCBhbmQg
c29tZXRoaW5nDQo+IGNsaWVudHMgY2FuIHJlbHkgb24uICBJZiB0aGUgaW50ZW50aW9uIGhhZCBi
ZWVuIHRoYXQgdGhpcyB3YXMgb3B0aW9uYWwNCj4gdG8gaW1wbGVtZW50LCBpdCB3b3VsZCBoYXZl
IGJlZW4gY2xlYXJseSBzdGF0ZWQsIGFuZCB0aGVyZSB3b3VsZCBoYXZlDQo+IGJlZW4gbWVjaGFu
aXNtIHByZXNlbnQgZm9yIGNsaWVudHMgdG8gZGV0ZWN0IHRoaXMuDQo+DQoNClllcywgdGhpcyBh
dXRvLWRlbGV0ZSBiZWhhdmlvdXIgaXMgcGFydCBvZiB0aGUgc3BlY2lmaWNhdGlvbiBhbmQgaXQN
CndhcyBub3QgYW4gb3ZlcnNpZ2h0IHRoYXQgdGhpcyBzbGlwcGVkIGluLg0KDQpTdXJlLCBvbmUg
Y2FuIGRpc2N1c3Mgd2hldGhlciB0aGlzIGZlYXR1cmUgaXMgdXNlZnVsIG9yIGhhcm1mdWwNCmJ1
dCB0aGUgb25seSB3YXkgdG8gb2ZmaWNpYWxseSByZW1vdmUgdGhpcyBpcyB0byBjcmVhdGUgYSBu
ZXcNCnNwZWNpZmljYXRpb24gYW5kIHRvIHJ1biBpdCB0aHJvdWdoIHRoZSBJRVRGIHByb2Nlc3Mu
DQoNCi9qcw0KDQotLSANCkp1ZXJnZW4gU2Nob2Vud2FlbGRlciAgICAgICAgICAgSmFjb2JzIFVu
aXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5IDQyMSAyMDAgMzU4NyAgICAgICAgIENh
bXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAg
MzEwMyAgICAgICAgIDxodHRwczovL3d3dy5qYWNvYnMtdW5pdmVyc2l0eS5kZS8+DQo=


From nobody Thu Sep 26 03:27:25 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2AC2B120899 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 03:27:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level: 
X-Spam-Status: No, score=-6.997 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 McnVGgQr-1yZ for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 03:27:20 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A0336120890 for <netmod@ietf.org>; Thu, 26 Sep 2019 03:27:19 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:a744:2697:a0ec:a420]) by mail.nic.cz (Postfix) with ESMTPSA id 9103E140ADA; Thu, 26 Sep 2019 12:27:17 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1569493637; bh=wK0uSKa2tiyjtD1X7lWAd8yiPNHpOTrL5laLJW7z1o4=; h=From:To:Date; b=e9om+o2DhdjqZ/cjlIU15HFzFMLmDhq0GrD1ge5CuV2Xr+zOdQjzn7o5XseGi6BHK y10+spSsD3NgA7abdd9CNoUCdVQP1UV/ktFkK5I0kgpHONqlFaKv+RkKJsSaW+eSqI SmaFjyIfOrZldDURUZjyBUvk5cGn86ppnxP+eIyA=
Message-ID: <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: =?ISO-8859-1?Q?Sch=F6nw=E4lder=2C_J=FCrgen?= <J.Schoenwaelder@jacobs-university.de>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Date: Thu, 26 Sep 2019 12:27:17 +0200
In-Reply-To: <20190926093950.a5anv5zdbjtb7iwo@anna.jacobs.jacobs-university.de>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <20190926093950.a5anv5zdbjtb7iwo@anna.jacobs.jacobs-university.de>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.0 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/yFFMiXICXla2FYq4Goh6W1zPu0A>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 10:27:23 -0000

On Thu, 2019-09-26 at 09:39 +0000, Schönwälder, Jürgen wrote:
> On Thu, Sep 26, 2019 at 09:45:26AM +0200, Martin Bjorklund wrote:
> > > > >    o  There MUST be no nodes tagged with "when" present if the "when"
> > > > >       condition evaluates to "false" in the data tree.
> > > > 
> > > > It also says in 8.2:
> > > > 
> > > >    o  If a request modifies a configuration data node such that any
> > > >       node's "when" expression becomes false, then the node in the data
> > > >       tree with the "when" expression is deleted by the server.
> > > 
> > > Right. But the request won't modify a configuration data node because it
> > > is
> > > rejected. So the premise of the above implication doesn't hold, and the
> > > conclusion doesn't apply.
> > 
> > With the same logic you can claim conformance if you reject a request
> > to create nodes under a case if another case is active.  I think it is
> > quite clear that this auto-deletion is part of the spec, and something
> > clients can rely on.  If the intention had been that this was optional
> > to implement, it would have been clearly stated, and there would have
> > been mechanism present for clients to detect this.
> > 
> 
> Yes, this auto-delete behaviour is part of the specification and it
> was not an oversight that this slipped in.

Of course I know it was the intention, even though I have been against it all
the time.

> 
> Sure, one can discuss whether this feature is useful or harmful
> but the only way to officially remove this is to create a new
> specification and to run it through the IETF process.

I do insist that the wording in 7950 permits my interpretation, so I don't
propose any change.

What I propose instead is to remove such protocol-specific parts from the
specification of the YANG language, and clarify it in the specification of
individual protocols.

Lada

> 
> /js
> 
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep 26 03:31:54 2019
Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 741A91208C2 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 03:31:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level: 
X-Spam-Status: No, score=-14.5 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=cdyceHUs; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=BHUcGqH/
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 AyoVcX2mLvIx for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 03:31:43 -0700 (PDT)
Received: from alln-iport-2.cisco.com (alln-iport-2.cisco.com [173.37.142.89]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E0001208B7 for <netmod@ietf.org>; Thu, 26 Sep 2019 03:31:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=2378; q=dns/txt; s=iport; t=1569493903; x=1570703503; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=pmqLquiWj33a3fk0Q3QUHaVKGyBN6rAPulacSgpKa8U=; b=cdyceHUsvvAau3psANDPw+bW5ZNSQAcxyAtz/9KGG3pP2dp0LOZ418kc PnQ64QnFEaZZy0ju+DHfuubpq6bran9KurupDSBSCVcFg89Ye0dJkoJqc WhfeFJFDZO/IPQUx1JSpJAe1aKQBKNIGD7kcg1H53mXjNyk2n39L3tqT6 M=;
IronPort-PHdr: =?us-ascii?q?9a23=3AXYzNABf8G5Bzs+ULRh/mRH2PlGMj4e+mNxMJ6p?= =?us-ascii?q?chl7NFe7ii+JKnJkHE+PFxlwGRD57D5adCjOzb++D7VGoM7IzJkUhKcYcEFn?= =?us-ascii?q?pnwd4TgxRmBceEDUPhK/u/dTM7GNhFUndu/mqwNg5eH8OtL1A=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AJAAA5koxd/4QNJK1mGgEBAQEBAgE?= =?us-ascii?q?BAQEMAgEBAQGBUwUBAQEBCwGBSlADbVYgBAsqCoQYg0cDhFKGJIJcl3SBLoE?= =?us-ascii?q?kA1QJAQEBDAEBGAsKAgEBg3pFAheDFyM0CQ4CAwkBAQQBAQECAQUEbYUtDIV?= =?us-ascii?q?KAQEBBAEBEBERDAEBLAsBCwQCAQYCDgMEAQEDAiYCAgIlCxUFAwgCBAENBQg?= =?us-ascii?q?agwGBagMdAQIMkzCQYQKBOIhhc4Eygn0BAQWFFhiCFwMGgQwoAYwLGIFAP4F?= =?us-ascii?q?Xgkw+gmEBAYEqIRiDCTKCJo0bgj+HYJVaCoIilSWCNodLjyqDP4pcmRUCBAI?= =?us-ascii?q?EBQIOAQEFgVI4gVhwFTuCbFAQFIFOU4MfhRSFP3OBKYp/gTEBgSIBAQ?=
X-IronPort-AV: E=Sophos;i="5.64,551,1559520000"; d="scan'208";a="339474256"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-2.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 26 Sep 2019 10:31:42 +0000
Received: from XCH-RCD-016.cisco.com (xch-rcd-016.cisco.com [173.37.102.26]) by alln-core-10.cisco.com (8.15.2/8.15.2) with ESMTPS id x8QAVg17025591 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 26 Sep 2019 10:31:42 GMT
Received: from xhs-rcd-002.cisco.com (173.37.227.247) by XCH-RCD-016.cisco.com (173.37.102.26) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 26 Sep 2019 05:31:41 -0500
Received: from xhs-aln-002.cisco.com (173.37.135.119) by xhs-rcd-002.cisco.com (173.37.227.247) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Thu, 26 Sep 2019 05:31:40 -0500
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-002.cisco.com (173.37.135.119) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Thu, 26 Sep 2019 05:31:40 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EahoumsAJORtfVn0z5/59jJ5UhdZt5zDvlSNk/6XM85RFidBjcKWXPOS5KwAa9UotNr0B0Cf5hHVO/Nfydu5jDRzP6+a+GO+pUQLLo9VBPS2/Zj1patwG5nADXcp5CS1GY6IUJN7rSmXRQW3G2AENI7/OO2QkBBSoMi/2tS2WtSSXlQu29+5xC/rBlvGAjrKbdQiCxfzgK5Xu0aShVUrlz7qeLgh0y2xwjfuWtUygwHcV+KAfgHjpl5/RTT/sfwjOon3xaw0NI1GBfpL32iODNJRKm744ukzZvft52blZvAO6c4rWFB8Lf45/K4RvhtHW6TcnI8vXMQQIeZV0e4EFQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pmqLquiWj33a3fk0Q3QUHaVKGyBN6rAPulacSgpKa8U=; b=WDv1ElIvcbS2BW3XSBxXz11g2U4OpO31fwUFJDgxAmUDqZfWRJ5LcaVi5RToLOGBzWfXfVUCZwxZsrOBX/3CBtKNFd4Hzc7ebWFSoSs37LdpAVnikxIyJs5ukpf23a1qsiEuDqFwDZCUXX3GhJN/RXgzrESkuuwMrRx6WA1u9ewYxgCn0OPizpGc02JffEzUanvFz6q1HgrRVqTgyvvg3MG345YqpRs19blt3YY9fDs83Q7RI/blGsmsy6xetCxXJ3IF1yHf184jnvrxfTiJVqKILgzs9Ag2rt8PFhr/nV9HbsgoDkKzynQGOAGgwa9uZPERAT6Eg9SIA1/etwgGJw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com;  s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pmqLquiWj33a3fk0Q3QUHaVKGyBN6rAPulacSgpKa8U=; b=BHUcGqH/D+vqSQb6bI2IP2Wq4eKZNf8OnX+XBdjgxxGhEiwlAFGNTykKvBBaRZf2SOAl4+2tFfBowe4kZ+7+mLzwydtZStvV08OzzacyxJNFucTOcMch/35QKSb0bAeSAZiMvN7BFQrDXe7DKyYfBIimT8l6XYuDgntWG5vGS98=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB3917.namprd11.prod.outlook.com (10.255.180.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.16; Thu, 26 Sep 2019 10:31:39 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549%2]) with mapi id 15.20.2305.016; Thu, 26 Sep 2019 10:31:39 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: Martin Bjorklund <mbj@tail-f.com>, "lhotka@nic.cz" <lhotka@nic.cz>
CC: "yangang@huawei.com" <yangang@huawei.com>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gIOetlOWkjTog562U5aSNOiBQbGVhc2UgY2xhcmlmeSBpbXBs?= =?utf-8?B?ZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZ?=
Thread-Index: AQHVc7pIpRw9mAVpyUKSYMk7jpaAJqc9hbKAgAAB9gCAAANpAIAACjIAgAAFo0A=
Date: Thu, 26 Sep 2019 10:31:39 +0000
Message-ID: <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com>
In-Reply-To: <20190926.094526.272771637371098799.mbj@tail-f.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com; 
x-originating-ip: [173.38.220.42]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 4a45fa3e-6111-4bef-291d-08d7426cb771
x-ms-traffictypediagnostic: MN2PR11MB3917:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <MN2PR11MB3917FA157D8C2D869684523AB5860@MN2PR11MB3917.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0172F0EF77
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(376002)(39860400002)(346002)(396003)(366004)(13464003)(189003)(199004)(9686003)(55016002)(2906002)(66066001)(6246003)(6306002)(86362001)(6436002)(33656002)(2501003)(99286004)(52536014)(6116002)(5660300002)(3846002)(224303003)(4326008)(229853002)(186003)(26005)(14454004)(76176011)(102836004)(53546011)(6506007)(7696005)(81156014)(446003)(476003)(486006)(11346002)(54906003)(8936002)(478600001)(110136005)(966005)(64756008)(66446008)(66476007)(76116006)(66556008)(66946007)(305945005)(7736002)(81166006)(71190400001)(71200400001)(25786009)(256004)(74316002)(316002)(14444005); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3917; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: edUa9AY9CqwLZteYN+sFYUVWftLMkkN7HeDG+xkJHh6QTVdO3F0qFyD8JkbgS98VqnTjSri6z1CIPgRS1hqTIEP3awoN98rfZZIEo5LNdIZuCsxwdmlImv3kn81rzGY+X7J4o1d91zaHYD1ohybnb03DOTR1Mgf9y3XCCRwAHxK9vfaHYSPLW5sG4Oeg8NC70JCSGtzou6jZkTy4nCoi3eGEEAMjWynGlT3wHkAZRI2+VIYd7/SfO5mRL82LCDw/FJ/0L7ZpXEPmn/tMc6nZ/wiNoJ/dy7vl9u1IPyypwrJDwgxbZR0UxTi2UC5v8HKg/v3T7uWuVn3t6eqpQ8GXHwFsUAAYL3MyMLvn3UkF5z1nnNIt2gDo0TvY+XNdSk5h4NMNpgLaThcDOnEfEyLzaJvr8hZ3+NHyeKwgMPnXoQILDwfN1L9FhhuxmWooOC9W4N0VNC4SxkV4KrHUwyFZpw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: 4a45fa3e-6111-4bef-291d-08d7426cb771
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 10:31:39.6812 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: lrlnb1mPgPGP/aeJZ5MAKEseUP1Ci4PyZJs2k9H6MoHIpNmEOwI+1EG+ntRcodf15Ii5egABl6g0wPIRe+apPA==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3917
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.26, xch-rcd-016.cisco.com
X-Outbound-Node: alln-core-10.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/IPd4w9zzX0DyCkP1CWcd2M7eKTQ>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 10:31:52 -0000

DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbmV0bW9kIDxuZXRtb2Qt
Ym91bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxmIE9mIE1hcnRpbiBCam9ya2x1bmQNCj4gU2VudDog
MjYgU2VwdGVtYmVyIDIwMTkgMDg6NDUNCj4gVG86IGxob3RrYUBuaWMuY3oNCj4gQ2M6IHlhbmdh
bmdAaHVhd2VpLmNvbTsgbmV0bW9kQGlldGYub3JnDQo+IFN1YmplY3Q6IFJlOiBbbmV0bW9kXSDn
rZTlpI06IOetlOWkjTogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQNCj4g4oCY
d2hlbuKAmQ0KPiANCj4gPiA+DQo+ID4gPiBJdCBhbHNvIHNheXMgaW4gOC4yOg0KPiA+ID4NCj4g
PiA+ICAgIG8gIElmIGEgcmVxdWVzdCBtb2RpZmllcyBhIGNvbmZpZ3VyYXRpb24gZGF0YSBub2Rl
IHN1Y2ggdGhhdCBhbnkNCj4gPiA+ICAgICAgIG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBiZWNv
bWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluIHRoZQ0KPiBkYXRhDQo+ID4gPiAgICAgICB0cmVl
IHdpdGggdGhlICJ3aGVuIiBleHByZXNzaW9uIGlzIGRlbGV0ZWQgYnkgdGhlIHNlcnZlci4NCj4g
Pg0KPiA+IFJpZ2h0LiBCdXQgdGhlIHJlcXVlc3Qgd29uJ3QgbW9kaWZ5IGEgY29uZmlndXJhdGlv
biBkYXRhIG5vZGUgYmVjYXVzZQ0KPiA+IGl0IGlzIHJlamVjdGVkLiBTbyB0aGUgcHJlbWlzZSBv
ZiB0aGUgYWJvdmUgaW1wbGljYXRpb24gZG9lc24ndCBob2xkLA0KPiA+IGFuZCB0aGUgY29uY2x1
c2lvbiBkb2Vzbid0IGFwcGx5Lg0KPiANCj4gV2l0aCB0aGUgc2FtZSBsb2dpYyB5b3UgY2FuIGNs
YWltIGNvbmZvcm1hbmNlIGlmIHlvdSByZWplY3QgYSByZXF1ZXN0IHRvDQo+IGNyZWF0ZSBub2Rl
cyB1bmRlciBhIGNhc2UgaWYgYW5vdGhlciBjYXNlIGlzIGFjdGl2ZS4gIEkgdGhpbmsgaXQgaXMg
cXVpdGUNCj4gY2xlYXIgdGhhdCB0aGlzIGF1dG8tZGVsZXRpb24gaXMgcGFydCBvZiB0aGUgc3Bl
YywgYW5kIHNvbWV0aGluZyBjbGllbnRzDQo+IGNhbiByZWx5IG9uLiAgSWYgdGhlIGludGVudGlv
biBoYWQgYmVlbiB0aGF0IHRoaXMgd2FzIG9wdGlvbmFsIHRvDQo+IGltcGxlbWVudCwgaXQgd291
bGQgaGF2ZSBiZWVuIGNsZWFybHkgc3RhdGVkLCBhbmQgdGhlcmUgd291bGQgaGF2ZSBiZWVuDQo+
IG1lY2hhbmlzbSBwcmVzZW50IGZvciBjbGllbnRzIHRvIGRldGVjdCB0aGlzLg0KPiANCkkgZG9u
J3QgbGlrZSB0aGUgJ3doZW4nIGJlaGF2aW91ciwgSSB3b3VsZCBoYXZlIHJhdGhlciB0aGF0IGNs
aWVudHMgd2VyZSBmb3JjZWQgdG8gZGVsZXRlIHRoZSBjb25maWd1cmF0aW9uIGV4cGxpY2l0bHkg
KG9yIHBhc3MgYW4gb3B0aW9uIGZvciBhbiBpbXBsaWNpdCBkZWxldGUpLg0KDQpIb3dldmVyLCBJ
IGRvIGFncmVlIHdpdGggTWFydGluICYgSnVlcmdlbiwgdGhhdCB0aGUgaW50ZW50IG9mIHRoZSBz
cGVjIGlzIHRoYXQgc2VydmVycyBwZXJmb3JtIHRoZSAnd2hlbicgYXV0by1kZWxldGUgYmVoYXZp
b3VyLCBhbmQgY2xpZW50cyBtdXN0IGJlIGFibGUgdG8gcmVseSBvbiBjb21wbGlhbnQgc2VydmVy
cyBiZWhhdmluZyB0aGlzIHdheS4NCg0KVGhhbmtzLA0KUm9iDQoNCg0KPiANCj4gL21hcnRpbg0K
PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBuZXRt
b2QgbWFpbGluZyBsaXN0DQo+IG5ldG1vZEBpZXRmLm9yZw0KPiBodHRwczovL3d3dy5pZXRmLm9y
Zy9tYWlsbWFuL2xpc3RpbmZvL25ldG1vZA0K


From nobody Thu Sep 26 04:04:43 2019
Return-Path: <J.Schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3B0DD1208A7 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 04:04:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FROM_EXCESS_BASE64=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com
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 jud3CozBqzkW for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 04:04:39 -0700 (PDT)
Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-db5eur03on061a.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe0a::61a]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 377D21208A0 for <netmod@ietf.org>; Thu, 26 Sep 2019 04:04:39 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TzXQDAkUUZslJ++6By0qogIqHbiHBHHkmaF/tOc2AME4tSYMQz+bzubwFXar1Joq/ZhDmJj9+2wVO61wfE7jK5sq5mg3k+0NC2uEcO6H2XddXbGvumuefaRjvLgreLuuuzM2djsH+RRD9Wr4n4o/JO4wIUN4CfLDWt1UovPZARDnN3aORNfw3b8WnLI6MIMa8z7Wj2yFRJ2OwZWuflmqg5bijQiCFOm8X2NnQO+JMhZgH/S5Gt228I/r0neqwzP4tk2ON9x4Vbl5e+G57dFyuvFxunHchUbJtSMWfBus6Q5oPzMqFGIGpYK9IidW+J7zGY2I6RZfYaPm/SAdMrGV5Q==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a7WzBk8uDAP7brEZOQjz38pRSH7PAADzktOjsrethoY=; b=gtEFtihD4mRC54lTB69Q59jqT+i34Bu1Wx0StlaxEveinHFpd140PfDq7qvCS2lgfLZaEfesWmIbMlQJtuQwa3onorU3F/WVpV/5vt5lHBtSZL4qaQWKnE+7E7obLXA8do8WBNIm6tkjVwBqRiT5HTHl2nPr7Y26MM/O/EEMJp0E0MUpXimkTUh8or2lSr/Kn72rtb4XFU7EXYhMetM+s0YaUqkGIPT3ODRGCoLkKp69EyZAMyAFzT4EAHEaTYTk02NIJP71zQ0+QzgLqlZnknNjEOlUSX9uqD4/DIQj8SNpE4JnUVTI6OToywlzXRh06OsZmf7VmqU7E0pR7qyBUA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=a7WzBk8uDAP7brEZOQjz38pRSH7PAADzktOjsrethoY=; b=QKqqpMSJBewxXolXPP+B0h+ZtlmZv3atExdgwXLqNjEug+ddkY7gRmRpquplSA0NoDPSm1xczloNJ8wKqCDg4yCphIo26LmMBlVkTkpPOCGwimPB33xB8L6i0ywitv1fTrlalbLTEpK+Rk2fCSuNk3VpP5Y3nEIw5dGao9vs4fI=
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (10.186.159.71) by VI1P190MB0141.EURP190.PROD.OUTLOOK.COM (10.172.15.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.17; Thu, 26 Sep 2019 11:04:36 +0000
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4]) by VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4%2]) with mapi id 15.20.2284.028; Thu, 26 Sep 2019 11:04:36 +0000
From: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
To: Ladislav Lhotka <lhotka@nic.cz>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0g562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxl?= =?utf-8?B?bWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
Thread-Index: AQHVdE5YPGxz5B41HEe6qg1OCwgbgKc9wVSAgAAKa4A=
Date: Thu, 26 Sep 2019 11:04:36 +0000
Message-ID: <20190926110435.3vaqzw6pqsnker3s@anna.jacobs.jacobs-university.de>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <20190926093950.a5anv5zdbjtb7iwo@anna.jacobs.jacobs-university.de> <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz>
In-Reply-To: <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz>
Reply-To: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM0PR04CA0018.eurprd04.prod.outlook.com (2603:10a6:208:122::31) To VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12e::7)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=J.Schoenwaelder@jacobs-university.de; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2001:638:709:5::7]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: dc0b702b-340f-49b4-c333-08d74271518d
x-ms-traffictypediagnostic: VI1P190MB0141:
x-ms-exchange-purlcount: 1
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1P190MB0141F21A91550619771245D0DE860@VI1P190MB0141.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:8882;
x-forefront-prvs: 0172F0EF77
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39850400004)(136003)(396003)(366004)(346002)(376002)(189003)(199004)(224303003)(46003)(99286004)(76176011)(446003)(11346002)(6512007)(85182001)(85202003)(52116002)(476003)(71200400001)(8936002)(486006)(71190400001)(5660300002)(81166006)(25786009)(6116002)(81156014)(6506007)(386003)(6246003)(256004)(186003)(102836004)(1076003)(4744005)(66946007)(6486002)(7736002)(66446008)(66556008)(229853002)(6916009)(6436002)(64756008)(66476007)(86362001)(3450700001)(2906002)(43066004)(478600001)(316002)(6306002)(4326008)(786003)(14454004)(305945005)(777600001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P190MB0141; H:VI1P190MB0686.EURP190.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: jacobs-university.de does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 334ZN/Ydg3dHrJhfgOVjElYanW7od5diz7vgfK1QLlz9B3CIBZ4U07EwBnSLgrPBHzxWZbZUEzpXyoiJXWNxWhR1ku5P0h1OkmeRxEZ93B3qgQSa1RX4fQ2muq1q3oIJXXGng28+pkqc+pZiSvotAnuejLCr6Lc61yYX8RRhNTWG2A0dfV0UvJcaJEsnq6UY6eqtsObOZlSdvLGjJIBwnsZkI/Qe4qJx3GxmVrXAu05QfaTsAYaBkHL/rOokEiREiFN/Y3lKrHYLmgff1PgoYUIi41gmK3UtLvq8VMd9tSnQnUasFe/Abl1bdtHLteM8qERmTkSZsiod78Iht1UGbJS4IrZ3/WqBpvxJxz94yY8SBzHA0ix3HnL25Woz/918n6vj8B509LWlbsGdVZTUs7St5c9e8oldFgGcHvAd6272hRH2sC1mo28TMw/xtQK1UfICRYIsT2yJ+SwxibzbYw==
Content-Type: text/plain; charset="utf-8"
Content-ID: <78B00B82833CCC4F9DAC03D429D5E2E8@EURP190.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: dc0b702b-340f-49b4-c333-08d74271518d
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 11:04:36.4608 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: TPzJ9nn1y+aIvXla+9qwnBtdDN+RWYy9RBpmitlEiwrc4PNpny0Pgm9uLaTKaAGxoEkZWvCtd7WcVpWYJaGseKfwU1dsfNqyusQocUV4JCA=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0141
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/RY-WMN9h9-skchl7zQp67M7hvoQ>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 11:04:41 -0000

T24gVGh1LCBTZXAgMjYsIDIwMTkgYXQgMTI6Mjc6MTdQTSArMDIwMCwgTGFkaXNsYXYgTGhvdGth
IHdyb3RlOg0KPiA+IA0KPiA+IFN1cmUsIG9uZSBjYW4gZGlzY3VzcyB3aGV0aGVyIHRoaXMgZmVh
dHVyZSBpcyB1c2VmdWwgb3IgaGFybWZ1bA0KPiA+IGJ1dCB0aGUgb25seSB3YXkgdG8gb2ZmaWNp
YWxseSByZW1vdmUgdGhpcyBpcyB0byBjcmVhdGUgYSBuZXcNCj4gPiBzcGVjaWZpY2F0aW9uIGFu
ZCB0byBydW4gaXQgdGhyb3VnaCB0aGUgSUVURiBwcm9jZXNzLg0KPiANCj4gSSBkbyBpbnNpc3Qg
dGhhdCB0aGUgd29yZGluZyBpbiA3OTUwIHBlcm1pdHMgbXkgaW50ZXJwcmV0YXRpb24sIHNvIEkg
ZG9uJ3QNCj4gcHJvcG9zZSBhbnkgY2hhbmdlLg0KDQpJdCBkb2VzIG5vdC4gWW91IGNhbm5vdCBj
aGVycnkgcGljayBzZW50ZW5jZXMuDQoNCj4gV2hhdCBJIHByb3Bvc2UgaW5zdGVhZCBpcyB0byBy
ZW1vdmUgc3VjaCBwcm90b2NvbC1zcGVjaWZpYyBwYXJ0cyBmcm9tIHRoZQ0KPiBzcGVjaWZpY2F0
aW9uIG9mIHRoZSBZQU5HIGxhbmd1YWdlLCBhbmQgY2xhcmlmeSBpdCBpbiB0aGUgc3BlY2lmaWNh
dGlvbiBvZg0KPiBpbmRpdmlkdWFsIHByb3RvY29scy4NCg0KVGhpcyBpcyBhIGRpZmZlcmVudCB0
b3BpYy4gTW92aW5nIHRoaW5ncyBhcm91bmQgZG9lcyBub3QgY2hhbmdlIHRoZQ0KbWVhbmluZyAo
dW5sZXNzIHlvdSBjaGFuZ2UgdGhpbmdzIGFzIHdlbGwgd2hpbGUgbW92aW5nIHRoaW5ncyBhcm91
bmQpLg0KDQovanMNCg0KLS0gDQpKdWVyZ2VuIFNjaG9lbndhZWxkZXIgICAgICAgICAgIEphY29i
cyBVbml2ZXJzaXR5IEJyZW1lbiBnR21iSA0KUGhvbmU6ICs0OSA0MjEgMjAwIDM1ODcgICAgICAg
ICBDYW1wdXMgUmluZyAxIHwgMjg3NTkgQnJlbWVuIHwgR2VybWFueQ0KRmF4OiAgICs0OSA0MjEg
MjAwIDMxMDMgICAgICAgICA8aHR0cHM6Ly93d3cuamFjb2JzLXVuaXZlcnNpdHkuZGUvPg0K


From nobody Thu Sep 26 04:29:58 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6A11412089D for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 04:29:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.997
X-Spam-Level: 
X-Spam-Status: No, score=-6.997 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, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=nic.cz
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 L_6FvWS0HMDc for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 04:29:54 -0700 (PDT)
Received: from mail.nic.cz (mail.nic.cz [IPv6:2001:1488:800:400::400]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5176C120823 for <netmod@ietf.org>; Thu, 26 Sep 2019 04:29:54 -0700 (PDT)
Received: from birdie (unknown [IPv6:2001:1488:fffe:6:a744:2697:a0ec:a420]) by mail.nic.cz (Postfix) with ESMTPSA id A8188140E39; Thu, 26 Sep 2019 13:29:52 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nic.cz; s=default; t=1569497392; bh=vjuAZLW5l7DFSvnpvPavR0z0gfNMIhw6fwf4uRhOblU=; h=From:To:Date; b=euFohDwncljEfdjxDQbH+fmyZhbzB7+6M+Cr/OTFnGH/vctyEfSFa1VxMnKa4GGcg BQEKEmqd8Y25dqyqxpQRNw7QYYcsTBz+o+MWjFovuV1HfI+brqPEiVUmjWukuvGbIA lE9AyBm2Q3oe6xr/PeXB+ErA1+s7AtpI6osdrSr8=
Message-ID: <87f295bea85a4b38dd2f7775e78f53464512878b.camel@nic.cz>
From: Ladislav Lhotka <lhotka@nic.cz>
To: =?ISO-8859-1?Q?Sch=F6nw=E4lder=2C_J=FCrgen?= <J.Schoenwaelder@jacobs-university.de>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Date: Thu, 26 Sep 2019 13:29:52 +0200
In-Reply-To: <20190926110435.3vaqzw6pqsnker3s@anna.jacobs.jacobs-university.de>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <20190926093950.a5anv5zdbjtb7iwo@anna.jacobs.jacobs-university.de> <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz> <20190926110435.3vaqzw6pqsnker3s@anna.jacobs.jacobs-university.de>
Organization: CZ.NIC
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.0 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Virus-Scanned: clamav-milter 0.100.3 at mail.nic.cz
X-Virus-Status: Clean
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/5yowQbH3HAD4b2vOk_wBWCY1eAY>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 11:29:57 -0000

On Thu, 2019-09-26 at 11:04 +0000, Schönwälder, Jürgen wrote:
> On Thu, Sep 26, 2019 at 12:27:17PM +0200, Ladislav Lhotka wrote:
> > > Sure, one can discuss whether this feature is useful or harmful
> > > but the only way to officially remove this is to create a new
> > > specification and to run it through the IETF process.
> > 
> > I do insist that the wording in 7950 permits my interpretation, so I don't
> > propose any change.
> 
> It does not. You cannot cherry pick sentences.

I am not aware of any cherry-picking on my side. Can you show that my
interpretation is not possible? Whatever the intent was, it is the text of the
spec that counts.

> 
> > What I propose instead is to remove such protocol-specific parts from the
> > specification of the YANG language, and clarify it in the specification of
> > individual protocols.
> 
> This is a different topic. Moving things around does not change the
> meaning (unless you change things as well while moving things around).

I wrote about clarification of protocols or server behaviour, which means
changes. It is also possible that different protocols use different approaches.

Lada

> 
> /js
> 
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
-- 
Ladislav Lhotka
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep 26 05:12:17 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 124CA120123 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 05:12:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 XPQUkVL8AaMk for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 05:12:13 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 23A26120047 for <netmod@ietf.org>; Thu, 26 Sep 2019 05:12:13 -0700 (PDT)
Received: from localhost (unknown [173.38.220.41]) by mail.tail-f.com (Postfix) with ESMTPSA id 0F9381AE018A; Thu, 26 Sep 2019 14:12:11 +0200 (CEST)
Date: Thu, 26 Sep 2019 14:11:46 +0200 (CEST)
Message-Id: <20190926.141146.1645978108701885454.mbj@tail-f.com>
To: lhotka@nic.cz
Cc: J.Schoenwaelder@jacobs-university.de, netmod@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <87f295bea85a4b38dd2f7775e78f53464512878b.camel@nic.cz>
References: <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz> <20190926110435.3vaqzw6pqsnker3s@anna.jacobs.jacobs-university.de> <87f295bea85a4b38dd2f7775e78f53464512878b.camel@nic.cz>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/-l8A93jDcDDQnHRmI--EPkagvzg>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 12:12:15 -0000

Ladislav Lhotka <lhotka@nic.cz> wrote:
> On Thu, 2019-09-26 at 11:04 +0000, Sch=F6nw=E4lder, J=FCrgen wrote:
> > On Thu, Sep 26, 2019 at 12:27:17PM +0200, Ladislav Lhotka wrote:
> > > > Sure, one can discuss whether this feature is useful or harmful=

> > > > but the only way to officially remove this is to create a new
> > > > specification and to run it through the IETF process.
> > > =

> > > I do insist that the wording in 7950 permits my interpretation, s=
o I don't
> > > propose any change.
> > =

> > It does not. You cannot cherry pick sentences.
> =

> I am not aware of any cherry-picking on my side. Can you show that my=

> interpretation is not possible?

8.2 says:

   o  If a request modifies a configuration data node such that any
      node's "when" expression becomes false, then the node in the data=
=3D

      tree with the "when" expression is deleted by the server.

This means that requests can modify config this way, otherwise this
text wouldn't be there.  This is not just an intention, but follows
from the text.

>  Whatever the intent was, it is the text of the
> spec that counts.

With this logic, no client can be certain of anything; a server would
be free to reject legal requests in any way it liked.  For example it
would be perfectly fine for a server to only accept requests that
modifies a single leaf at the time.



/martin



> =

> > =

> > > What I propose instead is to remove such protocol-specific parts =
from the
> > > specification of the YANG language, and clarify it in the specifi=
cation of
> > > individual protocols.
> > =

> > This is a different topic. Moving things around does not change the=

> > meaning (unless you change things as well while moving things aroun=
d).
> =

> I wrote about clarification of protocols or server behaviour, which m=
eans
> changes. It is also possible that different protocols use different a=
pproaches.
> =

> Lada
> =

> > =

> > /js
> > =

> > -- =

> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germ=
any
> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>=

> -- =

> Ladislav Lhotka
> Head, CZ.NIC Labs
> PGP Key ID: 0xB8F92B08A9F76C67
> =

> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod


From nobody Thu Sep 26 06:43:44 2019
Return-Path: <lhotka@nic.cz>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C654B120041 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 06:43:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 0acDHXoaduUL for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 06:43:39 -0700 (PDT)
Received: from trail.lhotka.name (trail.lhotka.name [77.48.224.143]) by ietfa.amsl.com (Postfix) with ESMTP id 06E7712002F for <netmod@ietf.org>; Thu, 26 Sep 2019 06:43:38 -0700 (PDT)
Received: by trail.lhotka.name (Postfix, from userid 109) id 2950E1821291; Thu, 26 Sep 2019 15:45:09 +0200 (CEST)
Received: from localhost (nat-1.nic.cz [217.31.205.1]) by trail.lhotka.name (Postfix) with ESMTPSA id 568FB1821290; Thu, 26 Sep 2019 15:45:07 +0200 (CEST)
From: Ladislav Lhotka <lhotka@nic.cz>
To: Martin Bjorklund <mbj@tail-f.com>
Cc: J.Schoenwaelder@jacobs-university.de, netmod@ietf.org
In-Reply-To: <20190926.141146.1645978108701885454.mbj@tail-f.com>
References: <229de5aa1bd41ea6a30b920c9c83321903294f49.camel@nic.cz> <20190926110435.3vaqzw6pqsnker3s@anna.jacobs.jacobs-university.de> <87f295bea85a4b38dd2f7775e78f53464512878b.camel@nic.cz> <20190926.141146.1645978108701885454.mbj@tail-f.com>
Mail-Followup-To: Martin Bjorklund <mbj@tail-f.com>, J.Schoenwaelder@jacobs-university.de, netmod@ietf.org
Date: Thu, 26 Sep 2019 15:43:34 +0200
Message-ID: <875zlf41h5.fsf@nic.cz>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/MDp_ny6zIRIgxGXs7l84fvGgZ-4>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 13:43:42 -0000

Martin Bjorklund <mbj@tail-f.com> writes:

> Ladislav Lhotka <lhotka@nic.cz> wrote:
>> On Thu, 2019-09-26 at 11:04 +0000, Sch=C3=B6nw=C3=A4lder, J=C3=BCrgen wr=
ote:
>> > On Thu, Sep 26, 2019 at 12:27:17PM +0200, Ladislav Lhotka wrote:
>> > > > Sure, one can discuss whether this feature is useful or harmful
>> > > > but the only way to officially remove this is to create a new
>> > > > specification and to run it through the IETF process.
>> > >=20
>> > > I do insist that the wording in 7950 permits my interpretation, so I=
 don't
>> > > propose any change.
>> >=20
>> > It does not. You cannot cherry pick sentences.
>>=20
>> I am not aware of any cherry-picking on my side. Can you show that my
>> interpretation is not possible?
>
> 8.2 says:
>
>    o  If a request modifies a configuration data node such that any
>       node's "when" expression becomes false, then the node in the data=3D
>
>       tree with the "when" expression is deleted by the server.
>
> This means that requests can modify config this way, otherwise this
> text wouldn't be there.  This is not just an intention, but follows
> from the text.
>
>>  Whatever the intent was, it is the text of the
>> spec that counts.
>
> With this logic, no client can be certain of anything; a server would
> be free to reject legal requests in any way it liked.  For example it
> would be perfectly fine for a server to only accept requests that
> modifies a single leaf at the time.
>

This is quite different. If a client tries to violate e.g. the "pattern" pr=
operty, the request is rejected. So there is a reason for the server to do =
the same for the other items in the same list of properties that have to be=
 true in all trees.

Again, I think the biggest problem is that YANG spec attempts to "hardcode"=
 this (and other) protocol behaviour. Different protocols and different dep=
loyments clearly need different approaches, and I think we have to live wit=
h it. Our (NETMOD) priority should IMO be to make YANG as widely usable as =
possible, and enforcing arbitrary protocol policies certainly doesn't help.

Lada

>
>
> /martin
>
>
>
>>=20
>> >=20
>> > > What I propose instead is to remove such protocol-specific parts fro=
m the
>> > > specification of the YANG language, and clarify it in the specificat=
ion of
>> > > individual protocols.
>> >=20
>> > This is a different topic. Moving things around does not change the
>> > meaning (unless you change things as well while moving things around).
>>=20
>> I wrote about clarification of protocols or server behaviour, which means
>> changes. It is also possible that different protocols use different appr=
oaches.
>>=20
>> Lada
>>=20
>> >=20
>> > /js
>> >=20
>> > --=20
>> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
>> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
>> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>> --=20
>> Ladislav Lhotka
>> Head, CZ.NIC Labs
>> PGP Key ID: 0xB8F92B08A9F76C67
>>=20
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod

--=20
Ladislav Lhotka=20
Head, CZ.NIC Labs
PGP Key ID: 0xB8F92B08A9F76C67


From nobody Thu Sep 26 07:33:36 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id ADEEC120271 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 07:33:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 eZSNDFI9O6KS for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 07:33:31 -0700 (PDT)
Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 484861201DB for <netmod@ietf.org>; Thu, 26 Sep 2019 07:33:31 -0700 (PDT)
Received: by mail-lj1-x236.google.com with SMTP id n14so2407970ljj.10 for <netmod@ietf.org>; Thu, 26 Sep 2019 07:33:31 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=Y3DeIegahKwRpkvjqdK8blOZzG+1hjB5HX2tRbJQvWw=; b=RN6RfBWPJEKmq5pP0g1Ke5O91uf+SteVrdjhbXNSCQgxZJh5uXChAMBp3rLPhFqAZC Yc43gUIZKw27RfPjfSiOcnb2GRhGSiCI9EnHle1bqW9Y7aaBkWtjmjwY1i+VJwJbl/6v VHyJza9ouxJDQWvEIGA1h6fL8DdR/amWrgjpPUKax77BRiJa1JLSbrtIhsn9IzX0NsqC LIVmUoMJDCbntzjLwL0jOnH9UnScos14iq4swaBRsRfVjOakKb9IqszILFvIU8psoRBc WBq8eDxsouoJElYxS1fGMUQkz0FrNj8W+ghSqVhIRG4BnPmrz5yJj6q43Za1TpGjnv7P B/1A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=Y3DeIegahKwRpkvjqdK8blOZzG+1hjB5HX2tRbJQvWw=; b=Sw1kE0dmzLBf0ntPZo6s4lbRI9+V04aAoBvphNT6kaDgdCl8qnMBlz+poPFf52yaqS 1cXJOO4tSIOjqW//NqAMAV1UEfQacBShfxzlrqCuRqpkXg8RRNm3Hc1L0PIKpGkcvHor TcLQ9eXCvbyev2jJvbTpv5VMxQL0GZpJu6DkHsYbUlbj9Ox7JItMecLTgLMBqxfwSEdF a++g6iLPNepuFka34CWwklzIwRHsKQk5OlK5yZhHM79A83s13rayQisqVfqfSChTFVgN pMoPH5pW0jpQdxfuOeJYC8ZKfedapdAPkraoY69PSTv1GVMa0qZytGvzhcR5yDQM/9x2 FueA==
X-Gm-Message-State: APjAAAXLDvTsRslRaGfVTokCNwEXXV4Z5fgZXG+wEN49kWRFzUR7BHt7 5/9ZrpNH0bFbCBkOZF9NI71nr0cosqN6dxAGGUv+lg==
X-Google-Smtp-Source: APXvYqyhfXV6nDqM4UvS/Fg822kat6re75TNkenbl5+SC7P0zvFP6wH+Kfri9IijqEoQAPXyGtet6zgJmN5HPrvU6Is=
X-Received: by 2002:a05:651c:104b:: with SMTP id x11mr2904319ljm.218.1569508409329;  Thu, 26 Sep 2019 07:33:29 -0700 (PDT)
MIME-Version: 1.0
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 26 Sep 2019 07:33:18 -0700
Message-ID: <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: Martin Bjorklund <mbj@tail-f.com>, "lhotka@nic.cz" <lhotka@nic.cz>, "netmod@ietf.org" <netmod@ietf.org>,  "yangang@huawei.com" <yangang@huawei.com>
Content-Type: multipart/alternative; boundary="00000000000035e418059375a77b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/fsCGGXdR68_qbtHiLPxVf-NTy_g>
Subject: Re: [netmod]  =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGlt?= =?utf-8?b?cGxlbWVudGF0aW9uIGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 14:33:35 -0000

--00000000000035e418059375a77b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2019 at 3:32 AM Rob Wilton (rwilton) <rwilton@cisco.com>
wrote:

>
>
> > -----Original Message-----
> > From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Bjorklund
> > Sent: 26 September 2019 08:45
> > To: lhotka@nic.cz
> > Cc: yangang@huawei.com; netmod@ietf.org
> > Subject: Re: [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please cl=
arify implementation about
> > =E2=80=98when=E2=80=99
> >
> > > >
> > > > It also says in 8.2:
> > > >
> > > >    o  If a request modifies a configuration data node such that any
> > > >       node's "when" expression becomes false, then the node in the
> > data
> > > >       tree with the "when" expression is deleted by the server.
> > >
> > > Right. But the request won't modify a configuration data node because
> > > it is rejected. So the premise of the above implication doesn't hold,
> > > and the conclusion doesn't apply.
> >
> > With the same logic you can claim conformance if you reject a request t=
o
> > create nodes under a case if another case is active.  I think it is qui=
te
> > clear that this auto-deletion is part of the spec, and something client=
s
> > can rely on.  If the intention had been that this was optional to
> > implement, it would have been clearly stated, and there would have been
> > mechanism present for clients to detect this.
> >
> I don't like the 'when' behaviour, I would have rather that clients were
> forced to delete the configuration explicitly (or pass an option for an
> implicit delete).
>
>
I hear the opposite from customers.
They insist that the server implement every last detail of the
machine-readable YANG,
especially when-stmt auto-deletion. The auto-cleanup is seen as a feature.


> However, I do agree with Martin & Juergen, that the intent of the spec is
> that servers perform the 'when' auto-delete behaviour, and clients must b=
e
> able to rely on compliant servers behaving this way.
>
>
agreed.
It is hard to argue against consistent, predicable server behavior
for datastore editing.  (NP containers and NMDA are also causing problems,
and should be fixed in yang-next if that ever happens).


Thanks,
> Rob
>
>

Andy


>
> >
> > /martin
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod
>

--00000000000035e418059375a77b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 26, 2019 at 3:32 AM Rob W=
ilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com">rwilton@cisco.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><=
br>
<br>
&gt; -----Original Message-----<br>
&gt; From: netmod &lt;<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"=
_blank">netmod-bounces@ietf.org</a>&gt; On Behalf Of Martin Bjorklund<br>
&gt; Sent: 26 September 2019 08:45<br>
&gt; To: <a href=3D"mailto:lhotka@nic.cz" target=3D"_blank">lhotka@nic.cz</=
a><br>
&gt; Cc: <a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yangang@hu=
awei.com</a>; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@i=
etf.org</a><br>
&gt; Subject: Re: [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please c=
larify implementation about<br>
&gt; =E2=80=98when=E2=80=99<br>
&gt; <br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; It also says in 8.2:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 o=C2=A0 If a request modifies a configuration d=
ata node such that any<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0node&#39;s &quot;when&quot; expres=
sion becomes false, then the node in the<br>
&gt; data<br>
&gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0tree with the &quot;when&quot; exp=
ression is deleted by the server.<br>
&gt; &gt;<br>
&gt; &gt; Right. But the request won&#39;t modify a configuration data node=
 because<br>
&gt; &gt; it is rejected. So the premise of the above implication doesn&#39=
;t hold,<br>
&gt; &gt; and the conclusion doesn&#39;t apply.<br>
&gt; <br>
&gt; With the same logic you can claim conformance if you reject a request =
to<br>
&gt; create nodes under a case if another case is active.=C2=A0 I think it =
is quite<br>
&gt; clear that this auto-deletion is part of the spec, and something clien=
ts<br>
&gt; can rely on.=C2=A0 If the intention had been that this was optional to=
<br>
&gt; implement, it would have been clearly stated, and there would have bee=
n<br>
&gt; mechanism present for clients to detect this.<br>
&gt; <br>
I don&#39;t like the &#39;when&#39; behaviour, I would have rather that cli=
ents were forced to delete the configuration explicitly (or pass an option =
for an implicit delete).<br>
<br></blockquote><div><br></div><div>I hear the opposite from customers.</d=
iv><div>They insist that the server implement every last detail of the mach=
ine-readable YANG,</div><div>especially when-stmt auto-deletion. The auto-c=
leanup is seen as a feature.</div><div>=C2=A0</div><blockquote class=3D"gma=
il_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,2=
04,204);padding-left:1ex">
However, I do agree with Martin &amp; Juergen, that the intent of the spec =
is that servers perform the &#39;when&#39; auto-delete behaviour, and clien=
ts must be able to rely on compliant servers behaving this way.<br>
<br></blockquote><div><br></div><div>agreed.</div><div>It is hard to argue =
against consistent, predicable=C2=A0server behavior</div><div>for datastore=
 editing.=C2=A0 (NP containers and NMDA are also causing problems,</div><di=
v>and should be fixed in yang-next if that ever happens).</div><div><br></d=
iv><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px=
 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks,<br>
Rob<br>
<br></blockquote><div><br></div><div><br></div><div>Andy</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
&gt; <br>
&gt; /martin<br>
&gt; _______________________________________________<br>
&gt; netmod mailing list<br>
&gt; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</=
a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"norefe=
rrer" target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br=
>
_______________________________________________<br>
netmod mailing list<br>
<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</a><br=
>
<a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"noreferrer"=
 target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br>
</blockquote></div></div>

--00000000000035e418059375a77b--


From nobody Thu Sep 26 09:14:52 2019
Return-Path: <ietfc@btconnect.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59DF8120A50 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 09:14:51 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.248
X-Spam-Level: 
X-Spam-Status: No, score=0.248 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
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 YztqejGL4IwN for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 09:14:48 -0700 (PDT)
Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-he1eur02on072c.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe05::72c]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 743C6120A4B for <netmod@ietf.org>; Thu, 26 Sep 2019 09:14:47 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=K0z7xdbtIWawbu0xYxHSwzobqwHqHLzvwOs38wcOJj1g/kVdcT+KmGHmTvl12X6NcR5K9/qGWDJq6NOG20PBxUHiGn3Jq24wi5ksbICGgiAgjszdoj7gcN1w5gKr++kvljOJK+raBxNh88WiZCR84XA+5tZ2oT8jw29RfZypah7CE8tieArVLe6bgzHfeT+zUiCv7DIsgzd6bFBuBoE7t/QU2Peas565jsQXd0Y+7rO6epi11gTukaJBHF/1+pTHJJ3270iDHBOJbx8cIL2j3xO8tBUwqgLqULTKWuTBU2UC0Tl2pLsxRZwk+FPjmEW3mndyBpV4g/P8u8rULGe7WQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vHKo5uZpAL4/oCzvPSkmYngRrXhTUmJ4Z/myJBMtB6Q=; b=Xn75EETsWaprp9Ab8f4OnoS7wdqd7kQIFEH+k946/HP33VZ+0NgatkE7gWRdjD9HKzfZLN/id31bahY2uWnbfdQFwbMOhBtfIHi1Td1CqRUXUavY2zX/ui3TnSbce023PLmIYHNQjjf2GgbPsxOSor7NoYfhIOcGfqk//AZNNU8fkCNnkgzb2pqmBLRlF8DI44h23dK+ck0aIlj0fu3ZUYN2mf7QmL6hbH05aKEPLxpp+GswI2fJIcZ75iQLV1jpY3ltN82GhPiWxaxV92hWDVn1OdFgXsWF1V+nD8cSkf3btBjhiwyS4hlaIrAQjP03dNWcHUXg6Lnk4P7fMkFrkA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vHKo5uZpAL4/oCzvPSkmYngRrXhTUmJ4Z/myJBMtB6Q=; b=uvhpMnveIXUOE6Gjnhb89cs8JWwj6qqCyMXpTZCFAe4LvDysgltRIwnbe8tsixWFjzfJqKbDBtF5SviKIR1F5TZPZQAXpH5EJ0Hvbbbw+IJfalZnJk6hS5RRXoETmB/VphHP82E77pSphP0vaq6LqnN8mL22/x0U+9l3izs5f+0=
Received: from AM6PR07MB5944.eurprd07.prod.outlook.com (20.178.91.205) by AM6PR07MB4085.eurprd07.prod.outlook.com (52.134.116.33) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.14; Thu, 26 Sep 2019 16:14:45 +0000
Received: from AM6PR07MB5944.eurprd07.prod.outlook.com ([fe80::c01e:2ff4:7649:142]) by AM6PR07MB5944.eurprd07.prod.outlook.com ([fe80::c01e:2ff4:7649:142%7]) with mapi id 15.20.2327.004; Thu, 26 Sep 2019 16:14:45 +0000
From: tom petch <ietfc@btconnect.com>
To: Andy Bierman <andy@yumaworks.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?V2hhdCdzIHRoZSBwcm9ibGVtIHdpdGggTk1EQT8gd2FzIFJlOiBbbmV0bW9k?= =?utf-8?B?XSAg562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0?= =?utf-8?B?aW9uIGFib3V0IOKAmHdoZW7igJk=?=
Thread-Index: AQHVdIWCScnacP0QVkaiE+VCF3oTXA==
Date: Thu, 26 Sep 2019 16:14:45 +0000
Message-ID: <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: LO2P265CA0117.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::33) To AM6PR07MB5944.eurprd07.prod.outlook.com (2603:10a6:20b:90::13)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: Microsoft Outlook Express 6.00.2800.1106
x-originating-ip: [86.139.211.103]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9620cea1-0314-43fe-119c-08d7429ca557
x-ms-traffictypediagnostic: AM6PR07MB4085:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <AM6PR07MB40859705427F70FB5C7B9EC3A0860@AM6PR07MB4085.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:9508;
x-forefront-prvs: 0172F0EF77
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(39860400002)(366004)(396003)(346002)(376002)(13464003)(199004)(189003)(1556002)(25786009)(44736005)(50226002)(8936002)(6436002)(6486002)(81166006)(316002)(81156014)(71200400001)(71190400001)(256004)(14444005)(446003)(66066001)(486006)(14454004)(2906002)(224303003)(476003)(3846002)(6116002)(61296003)(81816011)(6916009)(5660300002)(6512007)(9686003)(4326008)(52116002)(64756008)(66556008)(66476007)(66446008)(6306002)(6506007)(386003)(62236002)(14496001)(44716002)(53546011)(66946007)(4720700003)(966005)(81686011)(478600001)(99286004)(86362001)(305945005)(186003)(7736002)(102836004)(26005)(76176011)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM6PR07MB4085; H:AM6PR07MB5944.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:0; MX:1; 
received-spf: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: z72e6C0ZrTP1HQuLGGM2QScxWp1/h5gIqCMfmWfp/ASEtXyWrr6+6DrsMaeexP5AKzQtAukKOnQccsCWNCBCctgHrSuT0UfqfAXbn3VFb75orRoCdoZrOSqliQ33l1F6cj61AD6N/ll9kw2yAes51Kr7p/6Osg0o0ll48YmDR9gwR6dY3NDCZuFN65fFtZOo3acElRU2yynRQenqfyc7zT1Taj+POna/A/nhY0AQ3ggoxXsyXdaMpkktE+R7uZQ5ivRca5zplXINk3hRGIb7zYxW+xCscgIEVzWzsScIb9Nw2P+oLTrUGZS3qdtTDS6Gh2zOvrV0SFHhSVN1ioDPRNceqAHBBwXLts175UofgVCEMbfUW3AnFuO2mqlxVCs6q73PuztHbbV0wZA0Bgpex+oWty+Rx8xuId0mqR+4pJvm5o6vZK1rhT5y/iEmNyujeRwDslUEh8zVkPNjI7mGDw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <767FB26D3A0BA14AA6266B88EF9D7DBB@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9620cea1-0314-43fe-119c-08d7429ca557
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 16:14:45.4651 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3FXe9kOK9p1nkj5PVm9LPZC2dxV3d6L+pCbcN7E2Vj0lLPgpyIJWZZtkFH2rHf3k3ZQj0pJfGOmRqIPD/YCd+g==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB4085
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/EV8JnrYggNjsczs1YQ2oeDoa6WI>
Subject: [netmod] =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A__?= =?utf-8?b?IOetlOWkjTog562U5aSNOiBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlv?= =?utf-8?b?biBhYm91dCDigJh3aGVu4oCZ?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 16:14:52 -0000

SW5saW5lDQoNClRvbSBQZXRjaA0KDQotLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tDQpGcm9t
OiAiQW5keSBCaWVybWFuIiA8YW5keUB5dW1hd29ya3MuY29tPg0KVG86ICJSb2IgV2lsdG9uIChy
d2lsdG9uKSIgPHJ3aWx0b25AY2lzY28uY29tPg0KQ2M6IDxuZXRtb2RAaWV0Zi5vcmc+OyA8eWFu
Z2FuZ0BodWF3ZWkuY29tPg0KU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyNiwgMjAxOSAzOjMz
IFBNDQoNCk9uIFRodSwgU2VwIDI2LCAyMDE5IGF0IDM6MzIgQU0gUm9iIFdpbHRvbiAocndpbHRv
bikgPHJ3aWx0b25AY2lzY28uY29tPg0Kd3JvdGU6DQoNCj4NCj4NCj4gPiAtLS0tLU9yaWdpbmFs
IE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IG5ldG1vZCA8bmV0bW9kLWJvdW5jZXNAaWV0Zi5vcmc+
IE9uIEJlaGFsZiBPZiBNYXJ0aW4gQmpvcmtsdW5kDQo+ID4gU2VudDogMjYgU2VwdGVtYmVyIDIw
MTkgMDg6NDUNCj4gPiBUbzogbGhvdGthQG5pYy5jeg0KPiA+IENjOiB5YW5nYW5nQGh1YXdlaS5j
b207IG5ldG1vZEBpZXRmLm9yZw0KPiA+IFN1YmplY3Q6IFJlOiBbbmV0bW9kXSDnrZTlpI06IOet
lOWkjTogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRpb24gYWJvdXQNCj4gPiDigJh3aGVu4oCZ
DQo+ID4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgYWxzbyBzYXlzIGluIDguMjoNCj4gPiA+ID4NCj4g
PiA+ID4gICAgbyAgSWYgYSByZXF1ZXN0IG1vZGlmaWVzIGEgY29uZmlndXJhdGlvbiBkYXRhIG5v
ZGUgc3VjaCB0aGF0DQphbnkNCj4gPiA+ID4gICAgICAgbm9kZSdzICJ3aGVuIiBleHByZXNzaW9u
IGJlY29tZXMgZmFsc2UsIHRoZW4gdGhlIG5vZGUgaW4NCnRoZQ0KPiA+IGRhdGENCj4gPiA+ID4g
ICAgICAgdHJlZSB3aXRoIHRoZSAid2hlbiIgZXhwcmVzc2lvbiBpcyBkZWxldGVkIGJ5IHRoZSBz
ZXJ2ZXIuDQo+ID4gPg0KPiA+ID4gUmlnaHQuIEJ1dCB0aGUgcmVxdWVzdCB3b24ndCBtb2RpZnkg
YSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZQ0KYmVjYXVzZQ0KPiA+ID4gaXQgaXMgcmVqZWN0ZWQu
IFNvIHRoZSBwcmVtaXNlIG9mIHRoZSBhYm92ZSBpbXBsaWNhdGlvbiBkb2Vzbid0DQpob2xkLA0K
PiA+ID4gYW5kIHRoZSBjb25jbHVzaW9uIGRvZXNuJ3QgYXBwbHkuDQo+ID4NCj4gPiBXaXRoIHRo
ZSBzYW1lIGxvZ2ljIHlvdSBjYW4gY2xhaW0gY29uZm9ybWFuY2UgaWYgeW91IHJlamVjdCBhDQpy
ZXF1ZXN0IHRvDQo+ID4gY3JlYXRlIG5vZGVzIHVuZGVyIGEgY2FzZSBpZiBhbm90aGVyIGNhc2Ug
aXMgYWN0aXZlLiAgSSB0aGluayBpdCBpcw0KcXVpdGUNCj4gPiBjbGVhciB0aGF0IHRoaXMgYXV0
by1kZWxldGlvbiBpcyBwYXJ0IG9mIHRoZSBzcGVjLCBhbmQgc29tZXRoaW5nDQpjbGllbnRzDQo+
ID4gY2FuIHJlbHkgb24uICBJZiB0aGUgaW50ZW50aW9uIGhhZCBiZWVuIHRoYXQgdGhpcyB3YXMg
b3B0aW9uYWwgdG8NCj4gPiBpbXBsZW1lbnQsIGl0IHdvdWxkIGhhdmUgYmVlbiBjbGVhcmx5IHN0
YXRlZCwgYW5kIHRoZXJlIHdvdWxkIGhhdmUNCmJlZW4NCj4gPiBtZWNoYW5pc20gcHJlc2VudCBm
b3IgY2xpZW50cyB0byBkZXRlY3QgdGhpcy4NCj4gPg0KPiBJIGRvbid0IGxpa2UgdGhlICd3aGVu
JyBiZWhhdmlvdXIsIEkgd291bGQgaGF2ZSByYXRoZXIgdGhhdCBjbGllbnRzDQp3ZXJlDQo+IGZv
cmNlZCB0byBkZWxldGUgdGhlIGNvbmZpZ3VyYXRpb24gZXhwbGljaXRseSAob3IgcGFzcyBhbiBv
cHRpb24gZm9yDQphbg0KPiBpbXBsaWNpdCBkZWxldGUpLg0KDQpJIGhlYXIgdGhlIG9wcG9zaXRl
IGZyb20gY3VzdG9tZXJzLg0KVGhleSBpbnNpc3QgdGhhdCB0aGUgc2VydmVyIGltcGxlbWVudCBl
dmVyeSBsYXN0IGRldGFpbCBvZiB0aGUNCm1hY2hpbmUtcmVhZGFibGUgWUFORywNCmVzcGVjaWFs
bHkgd2hlbi1zdG10IGF1dG8tZGVsZXRpb24uIFRoZSBhdXRvLWNsZWFudXAgaXMgc2VlbiBhcyBh
DQpmZWF0dXJlLg0KDQo+IEhvd2V2ZXIsIEkgZG8gYWdyZWUgd2l0aCBNYXJ0aW4gJiBKdWVyZ2Vu
LCB0aGF0IHRoZSBpbnRlbnQgb2YgdGhlIHNwZWMNCmlzDQo+IHRoYXQgc2VydmVycyBwZXJmb3Jt
IHRoZSAnd2hlbicgYXV0by1kZWxldGUgYmVoYXZpb3VyLCBhbmQgY2xpZW50cw0KbXVzdCBiZQ0K
PiBhYmxlIHRvIHJlbHkgb24gY29tcGxpYW50IHNlcnZlcnMgYmVoYXZpbmcgdGhpcyB3YXkuDQo+
DQoNCmFncmVlZC4NCkl0IGlzIGhhcmQgdG8gYXJndWUgYWdhaW5zdCBjb25zaXN0ZW50LCBwcmVk
aWNhYmxlIHNlcnZlciBiZWhhdmlvcg0KZm9yIGRhdGFzdG9yZSBlZGl0aW5nLiAgKE5QIGNvbnRh
aW5lcnMgYW5kIE5NREEgYXJlIGFsc28gY2F1c2luZw0KcHJvYmxlbXMsDQphbmQgc2hvdWxkIGJl
IGZpeGVkIGluIHlhbmctbmV4dCBpZiB0aGF0IGV2ZXIgaGFwcGVucykuDQoNCjx0cD4NCg0KQW5k
eQ0KDQpUaGlzIGNhdWdodCBteSBleWUuICBXaGF0IGlzIHRoZSBwcm9ibGVtIHdpdGggTk1EQT8g
QW55dGhpbmcgc3BlY2lmaWM/DQoNCk15IG93biBwcm9ibGVtIGlzIHRoYXQgaXQgaXMgZGlmZmVy
ZW50IHRvIHdoYXQgaGFzIGJlZW4gcHJvcG9zZWQgYXMNCnN1aXRhYmxlIGZvciB0aGUgcHJldmlv
dXMgMTIgeWVhcnMgYnV0IEkgZG91YnQgaWYgbWFueSBjdXN0b21lcnMgd291bGQNCnRoaW5rIHRo
YXQuDQoNCg0KVG9tIFBldGNoDQoNClRoYW5rcywNCj4gUm9iDQo+DQo+DQoNCkFuZHkNCg0KDQo+
DQo+ID4NCj4gPiAvbWFydGluDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18NCj4gPiBuZXRtb2QgbWFpbGluZyBsaXN0DQo+ID4gbmV0bW9kQGlldGYu
b3JnDQo+ID4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRtb2QNCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCg0K


From nobody Thu Sep 26 10:44:19 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E5EFF1200C7 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 10:44:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 oFw21nW6JCt4 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 10:44:14 -0700 (PDT)
Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 51505120013 for <netmod@ietf.org>; Thu, 26 Sep 2019 10:44:14 -0700 (PDT)
Received: by mail-lf1-x12d.google.com with SMTP id r22so2363735lfm.1 for <netmod@ietf.org>; Thu, 26 Sep 2019 10:44:14 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gNP0Z1lU8IgpDYecXpP1kv12OTI2q/ECv7333jMJ9iE=; b=jHrifefleSLr67CMA6BGWLz9WJ4w+Q1pSrgHzbGo1vnzEufCuFBIGXzhebPTkKh3V2 ntosRZXBHEoElqPcu2MxIfoOrriulHivZElccY7zwtBuSkOo7wK3a4a9Z+HpeiBIng1R ZO5xx4NIbzN40ZyJZa0eEM6H3AHJLWoOw0DjTvIyePDaJ3pN4TYeL2kfvzSt/qXDZNr8 K1s+VoqkN4Xo1xe85+4RIyqJRHjBrSmH6p51jhDdQxeQsbsw8VfvImx1mp32bSg+LBc9 MFguArs5/nBEegY6ICkxIxGC2vgX5ANpL+DFEVFqc6ymocGIgzCf4NRF7cRSpctnQucB Tx5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=gNP0Z1lU8IgpDYecXpP1kv12OTI2q/ECv7333jMJ9iE=; b=FwCaY6GKsH0I2lZzZJgv/znnP5HAsuhFtqk4uCS0N9mtqF1IBnZGUGPAkR1v1sAzt6 HHFwP5cLYrHp9bkZ1UGVxIdPVock/nwypsNS3R3iK/nwRKsVIHyszZxHE5k9gE36lzdo HOeChQC4uh3Vx0UMVDdWX68dz39tDXNIGS4r9/fci/7C8ZhYmkJYoniefpHtS5aL2IB2 8i0Ei6tbkKqky+Yq9jC1z+etlHMbYpV6TTXgDkG8azgOapiv/B0zwHyc7tD6wEy5ioTJ RHC93uugtzvkHaPdLq27NiHCpafBp9OIsjbLNPZxdet4Om5ZQ7L8EJbecQPzVCfT31dC Mz/Q==
X-Gm-Message-State: APjAAAV2z2jYKspaejD9H69VIYxqF0njGIL5SAvkCo6/z567wUGZtbHN f13KF+OM93x2NZSg+mE78TPsIuuq/yAGhdLNB+/c6w==
X-Google-Smtp-Source: APXvYqwvhgxDCa47N2gr+93VuO0SQ6bSwGL520FNyLIdlc2DK34o5T1m2jmKrrzvmOaWVwegAo6cVvtkg5GH0dwwtIg=
X-Received: by 2002:ac2:46f8:: with SMTP id q24mr3011148lfo.51.1569519852389;  Thu, 26 Sep 2019 10:44:12 -0700 (PDT)
MIME-Version: 1.0
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net>
In-Reply-To: <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 26 Sep 2019 10:44:01 -0700
Message-ID: <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com>
To: tom petch <ietfc@btconnect.com>
Cc: "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000451bf205937851c7"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/7fod0FVOnckBwueR0U45KR9VpaQ>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A__?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 17:44:18 -0000

--000000000000451bf205937851c7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,


On Thu, Sep 26, 2019 at 9:14 AM tom petch <ietfc@btconnect.com> wrote:

> Inline
>
> Tom Petch
>
> ----- Original Message -----
> From: "Andy Bierman" <andy@yumaworks.com>
> To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
> Cc: <netmod@ietf.org>; <yangang@huawei.com>
> Sent: Thursday, September 26, 2019 3:33 PM
>
> On Thu, Sep 26, 2019 at 3:32 AM Rob Wilton (rwilton) <rwilton@cisco.com>
> wrote:
>
> >
> >
> > > -----Original Message-----
> > > From: netmod <netmod-bounces@ietf.org> On Behalf Of Martin Bjorklund
> > > Sent: 26 September 2019 08:45
> > > To: lhotka@nic.cz
> > > Cc: yangang@huawei.com; netmod@ietf.org
> > > Subject: Re: [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Please =
clarify implementation about
> > > =E2=80=98when=E2=80=99
> > >
> > > > >
> > > > > It also says in 8.2:
> > > > >
> > > > >    o  If a request modifies a configuration data node such that
> any
> > > > >       node's "when" expression becomes false, then the node in
> the
> > > data
> > > > >       tree with the "when" expression is deleted by the server.
> > > >
> > > > Right. But the request won't modify a configuration data node
> because
> > > > it is rejected. So the premise of the above implication doesn't
> hold,
> > > > and the conclusion doesn't apply.
> > >
> > > With the same logic you can claim conformance if you reject a
> request to
> > > create nodes under a case if another case is active.  I think it is
> quite
> > > clear that this auto-deletion is part of the spec, and something
> clients
> > > can rely on.  If the intention had been that this was optional to
> > > implement, it would have been clearly stated, and there would have
> been
> > > mechanism present for clients to detect this.
> > >
> > I don't like the 'when' behaviour, I would have rather that clients
> were
> > forced to delete the configuration explicitly (or pass an option for
> an
> > implicit delete).
>
> I hear the opposite from customers.
> They insist that the server implement every last detail of the
> machine-readable YANG,
> especially when-stmt auto-deletion. The auto-cleanup is seen as a
> feature.
>
> > However, I do agree with Martin & Juergen, that the intent of the spec
> is
> > that servers perform the 'when' auto-delete behaviour, and clients
> must be
> > able to rely on compliant servers behaving this way.
> >
>
> agreed.
> It is hard to argue against consistent, predicable server behavior
> for datastore editing.  (NP containers and NMDA are also causing
> problems,
> and should be fixed in yang-next if that ever happens).
>
> <tp>
>
> Andy
>
> This caught my eye.  What is the problem with NMDA? Anything specific?
>
> My own problem is that it is different to what has been proposed as
> suitable for the previous 12 years but I doubt if many customers would
> think that.
>
>
My comments are in the context of operator expectations for consistent
implementations.

The first problem with NMDA is the new YANG library.
There is an assumption that the client can and will change from an
architecture
where there is 1 schema tree per server to an architecture where there can
be a completely
different schema tree for configuration vs operational datastores.  There
is no such desire
or willingness on the client side to properly address this complexity. IMO
NMDA is going to
need to function without this complexity. The benefits of <operational> are
not hindered
at all (in a properly implemented server) if /yang-library is left out.

The IETF has completely punted the problem of converting data for a
configuration datastore
to the schema tree for <operational>. Deviations may be different.  A leaf
may
be string in 1 tree and decimal64 in the other. There is an incorrect
assumption
that software developers will deal with these corner-cases (correctly and
consistently).

The other big problem is an untested NMDA transition strategy that is not
well understood by vendors.
Should non-NMDA (/foo-state) be visible to <get-data> or just <get>?
Using the YANG library to separate the modules relies on the assumption tha=
t
the client is capable of managing each datastore independently (instead of
1 schema tree per server).



> Tom Petch
>
>
Andy


> Thanks,
> > Rob
> >
> >
>
> Andy
>
>
> >
> > >
> > > /martin
> > > _______________________________________________
> > > netmod mailing list
> > > netmod@ietf.org
> > > https://www.ietf.org/mailman/listinfo/netmod
> > _______________________________________________
>
>

--000000000000451bf205937851c7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div>Hi,</div><div><br></div><br><div class=3D"gmail_quote=
"><div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 26, 2019 at 9:14 AM tom=
 petch &lt;<a href=3D"mailto:ietfc@btconnect.com">ietfc@btconnect.com</a>&g=
t; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0p=
x 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Inline=
<br>
<br>
Tom Petch<br>
<br>
----- Original Message -----<br>
From: &quot;Andy Bierman&quot; &lt;<a href=3D"mailto:andy@yumaworks.com" ta=
rget=3D"_blank">andy@yumaworks.com</a>&gt;<br>
To: &quot;Rob Wilton (rwilton)&quot; &lt;<a href=3D"mailto:rwilton@cisco.co=
m" target=3D"_blank">rwilton@cisco.com</a>&gt;<br>
Cc: &lt;<a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.or=
g</a>&gt;; &lt;<a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yang=
ang@huawei.com</a>&gt;<br>
Sent: Thursday, September 26, 2019 3:33 PM<br>
<br>
On Thu, Sep 26, 2019 at 3:32 AM Rob Wilton (rwilton) &lt;<a href=3D"mailto:=
rwilton@cisco.com" target=3D"_blank">rwilton@cisco.com</a>&gt;<br>
wrote:<br>
<br>
&gt;<br>
&gt;<br>
&gt; &gt; -----Original Message-----<br>
&gt; &gt; From: netmod &lt;<a href=3D"mailto:netmod-bounces@ietf.org" targe=
t=3D"_blank">netmod-bounces@ietf.org</a>&gt; On Behalf Of Martin Bjorklund<=
br>
&gt; &gt; Sent: 26 September 2019 08:45<br>
&gt; &gt; To: <a href=3D"mailto:lhotka@nic.cz" target=3D"_blank">lhotka@nic=
.cz</a><br>
&gt; &gt; Cc: <a href=3D"mailto:yangang@huawei.com" target=3D"_blank">yanga=
ng@huawei.com</a>; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">net=
mod@ietf.org</a><br>
&gt; &gt; Subject: Re: [netmod] =E7=AD=94=E5=A4=8D: =E7=AD=94=E5=A4=8D: Ple=
ase clarify implementation about<br>
&gt; &gt; =E2=80=98when=E2=80=99<br>
&gt; &gt;<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt; It also says in 8.2:<br>
&gt; &gt; &gt; &gt;<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 o=C2=A0 If a request modifies a configurat=
ion data node such that<br>
any<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0node&#39;s &quot;when&quot; e=
xpression becomes false, then the node in<br>
the<br>
&gt; &gt; data<br>
&gt; &gt; &gt; &gt;=C2=A0 =C2=A0 =C2=A0 =C2=A0tree with the &quot;when&quot=
; expression is deleted by the server.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Right. But the request won&#39;t modify a configuration data=
 node<br>
because<br>
&gt; &gt; &gt; it is rejected. So the premise of the above implication does=
n&#39;t<br>
hold,<br>
&gt; &gt; &gt; and the conclusion doesn&#39;t apply.<br>
&gt; &gt;<br>
&gt; &gt; With the same logic you can claim conformance if you reject a<br>
request to<br>
&gt; &gt; create nodes under a case if another case is active.=C2=A0 I thin=
k it is<br>
quite<br>
&gt; &gt; clear that this auto-deletion is part of the spec, and something<=
br>
clients<br>
&gt; &gt; can rely on.=C2=A0 If the intention had been that this was option=
al to<br>
&gt; &gt; implement, it would have been clearly stated, and there would hav=
e<br>
been<br>
&gt; &gt; mechanism present for clients to detect this.<br>
&gt; &gt;<br>
&gt; I don&#39;t like the &#39;when&#39; behaviour, I would have rather tha=
t clients<br>
were<br>
&gt; forced to delete the configuration explicitly (or pass an option for<b=
r>
an<br>
&gt; implicit delete).<br>
<br>
I hear the opposite from customers.<br>
They insist that the server implement every last detail of the<br>
machine-readable YANG,<br>
especially when-stmt auto-deletion. The auto-cleanup is seen as a<br>
feature.<br>
<br>
&gt; However, I do agree with Martin &amp; Juergen, that the intent of the =
spec<br>
is<br>
&gt; that servers perform the &#39;when&#39; auto-delete behaviour, and cli=
ents<br>
must be<br>
&gt; able to rely on compliant servers behaving this way.<br>
&gt;<br>
<br>
agreed.<br>
It is hard to argue against consistent, predicable server behavior<br>
for datastore editing.=C2=A0 (NP containers and NMDA are also causing<br>
problems,<br>
and should be fixed in yang-next if that ever happens).<br>
<br>
&lt;tp&gt;<br>
<br>
Andy<br>
<br>
This caught my eye.=C2=A0 What is the problem with NMDA? Anything specific?=
<br>
<br>
My own problem is that it is different to what has been proposed as<br>
suitable for the previous 12 years but I doubt if many customers would<br>
think that.<br>
<br></blockquote><div><br></div><div>My comments are in the context of oper=
ator expectations for consistent implementations.</div><div><br></div><div>=
The first problem with NMDA is the new YANG library.</div><div>There is an =
assumption that the client can and will change from an architecture</div><d=
iv>where there is 1 schema tree per server to an architecture where there c=
an be a completely</div><div>different schema tree for configuration vs ope=
rational datastores.=C2=A0 There is no such desire</div><div>or willingness=
 on the client side to properly address this complexity. IMO NMDA is going =
to</div><div>need to function without this complexity. The benefits of &lt;=
operational&gt; are not hindered</div><div>at all (in a properly implemente=
d server) if /yang-library is left out.</div><div><br></div><div>The IETF h=
as completely punted the problem of converting data for a configuration dat=
astore</div><div>to the schema tree for &lt;operational&gt;. Deviations may=
 be different.=C2=A0 A leaf may</div><div>be string in 1 tree and decimal64=
 in the other. There is an incorrect assumption</div><div>that software dev=
elopers will deal with these corner-cases (correctly and consistently).</di=
v><div><br></div><div>The other big problem is an untested NMDA transition =
strategy that is not well understood by vendors.</div><div>Should non-NMDA =
(/foo-state) be visible to &lt;get-data&gt; or just &lt;get&gt;?</div><div>=
Using the YANG library to separate the modules relies on the assumption tha=
t</div><div>the client is capable of managing each datastore independently =
(instead of 1 schema tree per server).</div><div><br></div><div><br></div><=
blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-l=
eft:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Tom Petch<br>
<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockquote=
 class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px so=
lid rgb(204,204,204);padding-left:1ex">
Thanks,<br>
&gt; Rob<br>
&gt;<br>
&gt;<br>
<br>
Andy<br>
<br>
<br>
&gt;<br>
&gt; &gt;<br>
&gt; &gt; /martin<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; netmod mailing list<br>
&gt; &gt; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.=
org</a><br>
&gt; &gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"n=
oreferrer" target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</=
a><br>
&gt; _______________________________________________<br>
<br>
</blockquote></div></div>

--000000000000451bf205937851c7--


From nobody Thu Sep 26 11:35:22 2019
Return-Path: <J.Schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B6C63120116 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 11:35:20 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level: 
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FROM_EXCESS_BASE64=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com
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 HiBMBUbWUcWo for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 11:35:18 -0700 (PDT)
Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60076.outbound.protection.outlook.com [40.107.6.76]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A629C120103 for <netmod@ietf.org>; Thu, 26 Sep 2019 11:35:17 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kcziD2+t8xUJHm3VQeoy79Iy55ajItN2XMn/asbzROON/Q3inl4UX1Q2Y23ChAOfj4dy3lxDYe6088O+i/Hnayk05ZV6LQUuRTCepj/Fc7W3ynadTJXauKkx/vsBSH0ym95ZYPtde1YYQY469079SkmSyzvz9MLHCN2RYk9duWhonAPMPfsxkBlbDlHuruMNLpF2xzqslyZHkB4ndhJKige8FegnXF+tu2iFooYUaY1CI/iXxVbApLkG6qNvhSv9yyZDrU0RfjwFTEH5jvrSdDE5sGrm44i58pYXIC9+sVGvh2EsHjF055qwr9zrJPBVjmOSQ7UfehKZfRoU5lgMeA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0FT8ZAcx1zTcrhfJ5GT0WJLa17lq5cfplw79VAG5XBs=; b=OVgdBLa6BPWiRFArbfJTtMhJ2ElnlKPFgO8c9vetbBDMsSycwesBkhWwszCGabEg74M1/BGhYfSf1YJVQKEYRQ4DHmuETvXm43YXy5bFb2502I1A2Uf3z3/JYCoq9R0IIpk4SWjVw8J5jRfqd6YTAZTqa1YWtzN5yNrHXhDQkYHoD3QG0VJwf+I4kYdkQqgRqEFpms/MyHkui5zihuqL8y/QCgXb1iY+U/9SZ3zXmWvOVBucQoimkoqIPjkKrAshJmFOjyFIWydcDUHe7mS2eJQcBhxRVWOyd4oYlR2Ddj5AFDn9lhUzilKMmgjzbJr4BnNBkG/bYjIr1q6roxX8CA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0FT8ZAcx1zTcrhfJ5GT0WJLa17lq5cfplw79VAG5XBs=; b=G8+TGKVokt043Q+iAVZh6gWzVygBngKR+AQI/winHUJv+Xg7yQC3gdFcnn6DFvSmlbyouAvnCJcubImt77tIxHApwQCb6IGamwSgih7IZ8gEp3csMVvl/LhC0H5hk2q3UuRNIW3AKjsjBKweQneu2tLgLpF8IQZTMaVVU6gkL8k=
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (10.186.159.71) by VI1P190MB0062.EURP190.PROD.OUTLOOK.COM (10.172.13.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18; Thu, 26 Sep 2019 18:35:15 +0000
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4]) by VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4%2]) with mapi id 15.20.2284.028; Thu, 26 Sep 2019 18:35:14 +0000
From: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
To: Andy Bierman <andy@yumaworks.com>
CC: tom petch <ietfc@btconnect.com>, "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gV2hhdCdzIHRoZSBwcm9ibGVtIHdpdGggTk1EQT8gd2FzIFJl?= =?utf-8?B?OiAg562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0?= =?utf-8?B?aW9uIGFib3V0IOKAmHdoZW7igJk=?=
Thread-Index: AQHVdJkjYln0UqVlr0W6G+qKgxe5Jw==
Date: Thu, 26 Sep 2019 18:35:14 +0000
Message-ID: <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net> <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com>
In-Reply-To: <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com>
Reply-To: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: AM4P190CA0011.EURP190.PROD.OUTLOOK.COM (2603:10a6:200:56::21) To VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12e::7)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=J.Schoenwaelder@jacobs-university.de; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2001:638:709:5::7]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 80683667-2f94-4329-0310-08d742b045bd
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(711020)(4605104)(1401327)(2017052603328)(7193020); SRVR:VI1P190MB0062; 
x-ms-traffictypediagnostic: VI1P190MB0062:
x-ms-exchange-purlcount: 1
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1P190MB00626EB1891BD84B8AD1F67CDE860@VI1P190MB0062.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0172F0EF77
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(39850400004)(396003)(366004)(346002)(376002)(189003)(199004)(6436002)(64756008)(66556008)(66446008)(66946007)(54906003)(102836004)(99286004)(66476007)(386003)(5660300002)(6506007)(8936002)(305945005)(81156014)(81166006)(7736002)(76176011)(186003)(25786009)(85182001)(3450700001)(316002)(52116002)(786003)(486006)(43066004)(1076003)(85202003)(256004)(2906002)(6486002)(6916009)(46003)(224303003)(476003)(478600001)(11346002)(14454004)(446003)(6306002)(6512007)(86362001)(6116002)(71190400001)(71200400001)(6246003)(229853002)(4326008)(777600001); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P190MB0062; H:VI1P190MB0686.EURP190.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: jacobs-university.de does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: FRJrTrtb5FRq5ikvY1hVGLQ6X6nXKqrV9GQBW9rBbXsEUdijf1B+WlF5UMQkyOL4yOORp5IXv9dEHNy/eunrIZKdRsGbXZh1nrTGDX9EmoCxs9+zoyqP6ivilv7OBR8xhCxI9n7YH+1VBd7ljEfcMEAPTLlcU+B6oWGZYrXZF6aaR+nngVFt6YkLbUas1YZntGOH/r7rnjeAi4hSmRrKpwAVx6DUEnOgaJoQdpe8w8OuZhxHz+O+9ceNpRM3qdgjBs+/oQruikgwcqzWz+wW6XDze0PzZS4/G99BPOHFqAhABRVPG0ZVKl3Zhqe2fprYPanYoU5npKbtsRwe9x6nHBZCbeEUppfetnpdfP+bmQUvLtg20Yw9ogiXsVSoNBCCWID1oiB3ihGm5U2R+XgyHpqtZxOflxZ7OyXmW97n8mwfswxow9qDAcE1pwq6GwE75Z9utl6OwgbWl3xZgMNy+g==
Content-Type: text/plain; charset="utf-8"
Content-ID: <35DB3D7274361F4C9BF0E307E864769B@EURP190.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 80683667-2f94-4329-0310-08d742b045bd
X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Sep 2019 18:35:14.8917 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: WIk58RRunqYc/TVa6DA7c3i+YTahur16ubIPAN4ZcPA1kyUvDrS9l+mo3G4J4/bVm5bWhdFkZ3+ANDpoCVjMAzU+rWmQ+kyuerpTgo5atLU=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0062
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/uwmdLHrNkpLLU3QG9glTh2hzYE0>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A__?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 26 Sep 2019 18:35:21 -0000

T24gVGh1LCBTZXAgMjYsIDIwMTkgYXQgMTA6NDQ6MDFBTSAtMDcwMCwgQW5keSBCaWVybWFuIHdy
b3RlOg0KDQo+IFRoZSBJRVRGIGhhcyBjb21wbGV0ZWx5IHB1bnRlZCB0aGUgcHJvYmxlbSBvZiBj
b252ZXJ0aW5nIGRhdGEgZm9yIGENCj4gY29uZmlndXJhdGlvbiBkYXRhc3RvcmUgdG8gdGhlIHNj
aGVtYSB0cmVlIGZvciA8b3BlcmF0aW9uYWw+Lg0KDQpJIGFtIG5vdCBzdXJlLiBUaGUgPG9wZXJh
dGlvbmFsPiBtb2RlbCBjb25zaXN0cyBvZiB0aGUgYXBwbGllZA0KY29uZmlndXJhdGlvbiBwbHVz
IGFueSBjb25maWcgZmFsc2UgZXh0cmFzLiBOTURBIHNpbXBsaWZpZXMgdGhpbmdzDQpzaW5jZSB0
aGVyZSBpcyBub3cgYSBzaW5nbGUgdHJlZSBzdHJ1Y3R1cmUgaW5zdGVhZCBvZiB0d28gaWYgeW91
IGhhdmUNCnRvIGhhbmRsZSBtb2RlbHMgd2hlcmUgYXBwbGllZCBjb25maWd1cmF0aW9uIGNhbiBi
ZSBkaWZmZXJlbnQgdGhhbg0KaW50ZW5kZWQgY29uZmlnLiBJZiBJIGNvbmZpZ3VyZSAvZm9vL2Jh
ciBpbiA8cnVubmluZz4sIEkgY2FuIGNoZWNrDQovZm9vL2JhciBpbiA8b3BlcmF0aW9uYWw+IHdo
ZXRoZXIgaXQgZXhpc3RzIGFuZCBtYXRjaGVzIHdoYXQgSQ0KY29uZmlndXJlZC4NCg0KPiBEZXZp
YXRpb25zIG1heSBiZSBkaWZmZXJlbnQuICBBIGxlYWYgbWF5IGJlIHN0cmluZyBpbiAxIHRyZWUg
YW5kDQo+IGRlY2ltYWw2NCBpbiB0aGUgb3RoZXIuIFRoZXJlIGlzIGFuIGluY29ycmVjdCBhc3N1
bXB0aW9uIHRoYXQNCj4gc29mdHdhcmUgZGV2ZWxvcGVycyB3aWxsIGRlYWwgd2l0aCB0aGVzZSBj
b3JuZXItY2FzZXMgKGNvcnJlY3RseSBhbmQNCj4gY29uc2lzdGVudGx5KS4NCg0KTm90IHJlYWxs
eSB0cnVlIGZvciBhcHBsaWVkIGNvbmZpZy4gQW5kIHdpdGggbm9uIE5NREEsIHRoZXJlIGlzIG5v
DQpndWFyYW50ZWUgZWl0aGVyIHRoYXQgL2Zvby9iYXIgYW5kIC9mb28tc3RhdGUvYmFyIHVzZSB0
aGUgc2FtZSB0eXBlDQphbmQgc2VtYW50aWNzLg0KIA0KPiBUaGUgb3RoZXIgYmlnIHByb2JsZW0g
aXMgYW4gdW50ZXN0ZWQgTk1EQSB0cmFuc2l0aW9uIHN0cmF0ZWd5IHRoYXQgaXMgbm90DQo+IHdl
bGwgdW5kZXJzdG9vZCBieSB2ZW5kb3JzLg0KPiBTaG91bGQgbm9uLU5NREEgKC9mb28tc3RhdGUp
IGJlIHZpc2libGUgdG8gPGdldC1kYXRhPiBvciBqdXN0IDxnZXQ+Pw0KDQpQZXJoYXBzIHRoZXJl
IGlzIG1vcmUgZXhwbGFuYXRpb24gbmVjZXNzYXJ5LiBUaGUgaWRlYSBoZXJlIGlzIHRoYXQgYW4N
Ck5NREEgY2xpZW50IHNob3VsZCBub3QgYm90aGVyIHRvIHNlYXJjaCBmb3IgL2Zvby1zdGF0ZSwg
aXQgc2hvdWxkIHNlbmQNCmEgPGdldD4gZm9yIC9mb28vc3RhdGUgaW4gb3BlcmF0aW9uYWwuDQoN
ClllcywgTk1EQSByZXF1aXJlcyB1cGRhdGVzIHRvIGNsaWVudHMuIFdoZXRoZXIgdGhlc2UgYXJl
IHZpc2libGUgb3IgaW4NCndoaWNoIGZvcm0gdGhleSBhcmUgdmlzaWJsZSB0byBhcHBsaWNhdGlv
biBsb2dpYyBsaWtlbHkgZGVwZW5kcyBvbiB0aGUNCmNsaWVudCBkZXNpZ24uIEJ1dCB5ZXMsIE5N
REEgaXMgbm90IGZvciBmcmVlIGZvciBjbGllbnRzLiBCdXQgb25jZSB5b3UNCmhhdmUgdXBkYXRl
ZCwgd2UgYmVsaWV2ZSBOTURBIGFjdHVhbGx5IG1ha2VzIHRoaW5ncyBzaW1wbGVyIGFuZCBtb3Jl
DQpjb25zaXN0ZW50Lg0KDQo+IFVzaW5nIHRoZSBZQU5HIGxpYnJhcnkgdG8gc2VwYXJhdGUgdGhl
IG1vZHVsZXMgcmVsaWVzIG9uIHRoZSBhc3N1bXB0aW9uIHRoYXQNCj4gdGhlIGNsaWVudCBpcyBj
YXBhYmxlIG9mIG1hbmFnaW5nIGVhY2ggZGF0YXN0b3JlIGluZGVwZW5kZW50bHkgKGluc3RlYWQg
b2YNCj4gMSBzY2hlbWEgdHJlZSBwZXIgc2VydmVyKS4NCg0KWWVzLCBZQU5HIGxpYnJhcnkgY2Fu
IGV4cHJlc3MgcHJldHR5IGNvbXBsZXggc2VydmVyIG1vZGVsDQpvcmdhbml6YXRpb25zLiAgVGhp
cyBkb2VzIG5vdCBtZWFuIHRoYXQgYWxsIHNlcnZlciBoYXZlIHRvIHVzZSBzZXJ2ZXINCm1vZGVs
IG9yZ2FuaXphdGlvbnMuICBJIGFzc3VtZSB0aGF0IGFsc28gbWFueSBjbGllbnRzIHdpbGwgbm90
IGJlDQppbnRlcmVzdGVkIHRvIHVuZGVyc3RhbmQgdGhlIGVudGlyZSBzZXJ2ZXIgbW9kZWwsIHRo
ZXkgbGlrZWx5IHdhbnQgdG8NCmNoZWNrIHRoZSBleGlzdGFuY2Ugb2Ygb25seSB0aG9zZSBwaWVj
ZXMgdGhhdCB0aGV5IGNhcmUgYWJvdXQuDQoNCi9qcw0KDQotLSANCkp1ZXJnZW4gU2Nob2Vud2Fl
bGRlciAgICAgICAgICAgSmFjb2JzIFVuaXZlcnNpdHkgQnJlbWVuIGdHbWJIDQpQaG9uZTogKzQ5
IDQyMSAyMDAgMzU4NyAgICAgICAgIENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJt
YW55DQpGYXg6ICAgKzQ5IDQyMSAyMDAgMzEwMyAgICAgICAgIDxodHRwczovL3d3dy5qYWNvYnMt
dW5pdmVyc2l0eS5kZS8+DQo=


From nobody Thu Sep 26 20:42:44 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 78322120098 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 20:42:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 r_VK7tC3BAYz for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 20:42:40 -0700 (PDT)
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 77FE312001A for <netmod@ietf.org>; Thu, 26 Sep 2019 20:42:39 -0700 (PDT)
Received: by mail-lj1-x234.google.com with SMTP id j19so1062106lja.1 for <netmod@ietf.org>; Thu, 26 Sep 2019 20:42:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=696v3bjwHclarHbPlLZXOdJU1dKkujAT4V3pF3yGhCQ=; b=KrzEw1GgBn4YSJrgCRkscgRoUlZnSNcl0iVZjJ1qlMOpAP9OyJH+Jdl+YciFLmRNVb QizCviF34Rjv62nEVd9oeo8m0xq1WumUEp6CfkeE+TrNYpKmZzxkgOrP9dCXUmYqt6Ty 8ZNsb3kMXTUCwivD49R5mRvgXU6E9VxCVMByvuutQpdq7ScSwXFFVoh71Z34IAJqrbLQ jUfhH13Ba2deoCr63CtYGIk3dFu0l3uOTPDPhTn/hI/IH2Ot0BuHu5xG+nxL0UPRWKh/ mrERKywsT3zWcID7e/3UAfP4oEx6kB8JdOAuxdFcOrhNv8pg5oyLoPkfycgxbbY9NC7o M7hQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=696v3bjwHclarHbPlLZXOdJU1dKkujAT4V3pF3yGhCQ=; b=Xy9WJyJlSy6oFJFgQzvolXaMdtZ22AWnnaJArNEZfJwexmfp6adRRuM3hzXAc71OZR d5gcI/IM/owPbS1ILBI462/9hoNS9BH5m/kOZY138AogZLin3EdFe5aNH/w5QnvD+/l+ qBOhpHs6CZzGbf5eonH6XG6TD87e7SU3AwnDymijokeSklWNXfUiQilHIUzRXrpfVNN0 aikfeckgvrav2Bld7o2GuLBd6k5cC1JGHkRHwa3JHV485zoVAgnBN2kIjVBAaeTkdZsH 3MPJDtpgtJAyx/1TYxE3JevLE9oA3XCiONcEj/TW4l6WgISeApL7ACZOKpRoWI6Hb2fX F1cg==
X-Gm-Message-State: APjAAAXbjUlJ56/Mdb0oMs8wurSBhenUaB2SIIbgZjID5JfSDc38buzc dDf46fNvLP/o3NmGKYr9MzOuJ9tWFXqRqBlcujgEsQ==
X-Google-Smtp-Source: APXvYqwgoSkQmAb8sOxH1FsLwl+ZXh5VZ7t6Z2IZcKSlqOyDJ22lMqfIctS8KSD7nBmnETxySGEN27h0R+2uUEkA1Lo=
X-Received: by 2002:a2e:8684:: with SMTP id l4mr1182583lji.116.1569555757577;  Thu, 26 Sep 2019 20:42:37 -0700 (PDT)
MIME-Version: 1.0
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net> <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com> <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de>
In-Reply-To: <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de>
From: Andy Bierman <andy@yumaworks.com>
Date: Thu, 26 Sep 2019 20:42:26 -0700
Message-ID: <CABCOCHSWt-v2PZm88_TvCfwBsveHF8z7NxbZDen5vxLWcm6Nkw@mail.gmail.com>
To: =?UTF-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>
Cc: tom petch <ietfc@btconnect.com>, "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="00000000000062d09d059380ad27"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/kC8LmHUtN66GnXZxjqr4fOQjtyw>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A_?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 03:42:43 -0000

--00000000000062d09d059380ad27
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Thu, Sep 26, 2019 at 11:35 AM Sch=C3=B6nw=C3=A4lder, J=C3=BCrgen <
J.Schoenwaelder@jacobs-university.de> wrote:

> On Thu, Sep 26, 2019 at 10:44:01AM -0700, Andy Bierman wrote:
>
> > The IETF has completely punted the problem of converting data for a
> > configuration datastore to the schema tree for <operational>.
>
> I am not sure. The <operational> model consists of the applied
> configuration plus any config false extras. NMDA simplifies things
> since there is now a single tree structure instead of two if you have
> to handle models where applied configuration can be different than
> intended config. If I configure /foo/bar in <running>, I can check
> /foo/bar in <operational> whether it exists and matches what I
> configured.
>
> > Deviations may be different.  A leaf may be string in 1 tree and
> > decimal64 in the other. There is an incorrect assumption that
> > software developers will deal with these corner-cases (correctly and
> > consistently).
>
> Not really true for applied config. And with non NMDA, there is no
> guarantee either that /foo/bar and /foo-state/bar use the same type
> and semantics.
>
>

different deviation modules in each module-set are allowed in the YANG
library.
That makes it kind of mandatory for the client to support it, or choose to
not conform to the standard.




> The other big problem is an untested NMDA transition strategy that is not
> > well understood by vendors.
> > Should non-NMDA (/foo-state) be visible to <get-data> or just <get>?
>
> Perhaps there is more explanation necessary. The idea here is that an
> NMDA client should not bother to search for /foo-state, it should send
> a <get> for /foo/state in operational.
>
> Yes, NMDA requires updates to clients. Whether these are visible or in
> which form they are visible to application logic likely depends on the
> client design. But yes, NMDA is not for free for clients. But once you
> have updated, we believe NMDA actually makes things simpler and more
> consistent.
>
> > Using the YANG library to separate the modules relies on the assumption
> that
> > the client is capable of managing each datastore independently (instead
> of
> > 1 schema tree per server).
>
> Yes, YANG library can express pretty complex server model
> organizations.  This does not mean that all server have to use server
> model organizations.  I assume that also many clients will not be
> interested to understand the entire server model, they likely want to
> check the existance of only those pieces that they care about.
>
>
I am not trying to revive debates on the value of NMDA or the solution,
but more flexibility for the server means more complexity for the client.
IMO this is contributing to the slow adoption of NMDA.

I hope the industry will find a transition solution (NMDA Lite) that fully
supports
the protocol operations, but uses the same module-set(s) in the YANG librar=
y
for all datastores.  If this is the expected norm for servers then clients
that support it
will work.  (I would like to hear about even one NMDA implementation
that supports complex YANG libraries).


/js
>

Andy


>
> --
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
>

--00000000000062d09d059380ad27
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 26, 2019 at 11:35 AM Sch=
=C3=B6nw=C3=A4lder, J=C3=BCrgen &lt;<a href=3D"mailto:J.Schoenwaelder@jacob=
s-university.de">J.Schoenwaelder@jacobs-university.de</a>&gt; wrote:<br></d=
iv><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bord=
er-left:1px solid rgb(204,204,204);padding-left:1ex">On Thu, Sep 26, 2019 a=
t 10:44:01AM -0700, Andy Bierman wrote:<br>
<br>
&gt; The IETF has completely punted the problem of converting data for a<br=
>
&gt; configuration datastore to the schema tree for &lt;operational&gt;.<br=
>
<br>
I am not sure. The &lt;operational&gt; model consists of the applied<br>
configuration plus any config false extras. NMDA simplifies things<br>
since there is now a single tree structure instead of two if you have<br>
to handle models where applied configuration can be different than<br>
intended config. If I configure /foo/bar in &lt;running&gt;, I can check<br=
>
/foo/bar in &lt;operational&gt; whether it exists and matches what I<br>
configured.<br>
<br>
&gt; Deviations may be different.=C2=A0 A leaf may be string in 1 tree and<=
br>
&gt; decimal64 in the other. There is an incorrect assumption that<br>
&gt; software developers will deal with these corner-cases (correctly and<b=
r>
&gt; consistently).<br>
<br>
Not really true for applied config. And with non NMDA, there is no<br>
guarantee either that /foo/bar and /foo-state/bar use the same type<br>
and semantics.<br>
<br></blockquote><div><br></div><div><br></div><div>different deviation mod=
ules in each module-set are allowed in the YANG library.</div><div>That mak=
es it kind of mandatory for the client to support it, or choose to</div><di=
v>not conform to the standard.</div><div><br></div><div><br></div><div><br>=
</div><div><br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
&gt; The other big problem is an untested NMDA transition strategy that is =
not<br>
&gt; well understood by vendors.<br>
&gt; Should non-NMDA (/foo-state) be visible to &lt;get-data&gt; or just &l=
t;get&gt;?<br>
<br>
Perhaps there is more explanation necessary. The idea here is that an<br>
NMDA client should not bother to search for /foo-state, it should send<br>
a &lt;get&gt; for /foo/state in operational.<br>
<br>
Yes, NMDA requires updates to clients. Whether these are visible or in<br>
which form they are visible to application logic likely depends on the<br>
client design. But yes, NMDA is not for free for clients. But once you<br>
have updated, we believe NMDA actually makes things simpler and more<br>
consistent.<br>
<br>
&gt; Using the YANG library to separate the modules relies on the assumptio=
n that<br>
&gt; the client is capable of managing each datastore independently (instea=
d of<br>
&gt; 1 schema tree per server).<br>
<br>
Yes, YANG library can express pretty complex server model<br>
organizations.=C2=A0 This does not mean that all server have to use server<=
br>
model organizations.=C2=A0 I assume that also many clients will not be<br>
interested to understand the entire server model, they likely want to<br>
check the existance of only those pieces that they care about.<br>
<br></blockquote><div><br></div><div>I am not trying to revive debates on t=
he value of NMDA or the solution,</div><div>but more flexibility for the se=
rver means more complexity for the client.</div><div>IMO this is contributi=
ng to the slow adoption of NMDA.</div><div><br></div><div>I hope the indust=
ry will find a transition solution (NMDA Lite) that fully supports</div><di=
v>the protocol operations, but uses the same module-set(s) in the YANG libr=
ary</div><div>for all datastores.=C2=A0 If this is the expected norm for se=
rvers then clients that support it</div><div>will work.=C2=A0 (I would like=
 to hear about even one NMDA implementation</div><div>that supports complex=
 YANG libraries).</div><div><br></div><div><br></div><blockquote class=3D"g=
mail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204=
,204,204);padding-left:1ex">
/js<br></blockquote><div><br></div><div>Andy</div><div>=C2=A0</div><blockqu=
ote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px=
 solid rgb(204,204,204);padding-left:1ex">
<br>
-- <br>
Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs Univer=
sity Bremen gGmbH<br>
Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1 | 28=
759 Bremen | Germany<br>
Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt;<a h=
ref=3D"https://www.jacobs-university.de/" rel=3D"noreferrer" target=3D"_bla=
nk">https://www.jacobs-university.de/</a>&gt;<br>
</blockquote></div></div>

--00000000000062d09d059380ad27--


From nobody Thu Sep 26 22:21:32 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 51076120024 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 22:21:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.898
X-Spam-Level: 
X-Spam-Status: No, score=-6.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001] autolearn=ham autolearn_force=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 fKZ3Pu7kx0mm for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 22:21:29 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1E43A120018 for <netmod@ietf.org>; Thu, 26 Sep 2019 22:21:29 -0700 (PDT)
Received: from [192.168.0.107] (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8R5LLwb049760 for <netmod@ietf.org>; Fri, 27 Sep 2019 05:21:28 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be [192.168.0.107]
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: quoted-printable
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <DA50F2CC-8F40-4094-9EAB-2F58E5405667@bogus.com>
Date: Thu, 26 Sep 2019 22:21:16 -0700
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/HnuFcs1EqBBarDm_36KpeiX83so>
Subject: [netmod] Upcoming important Dates  leading to IETF 106
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 05:21:31 -0000

Folks,=20

It's worth noting that there are several important upcoming dates =
between the present and IETF 106 November 16-22 2019.


The early bird deadline for registration is this coming  Monday, =
September 30th.

October 18th is publication of the initial agenda

November 4th is Draft submission cutoff

November 6th the chairs have to publish the initial meeting agenda.

These are dates that we are going to be working towards and around for =
currently in the queue documents as well as new work.

Thanks
The NETMOD Chairs=


From nobody Thu Sep 26 22:32:30 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C18B8120020 for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 22:32:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.896
X-Spam-Level: 
X-Spam-Status: No, score=-6.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 a3tb61uTW71W for <netmod@ietfa.amsl.com>; Thu, 26 Sep 2019 22:32:28 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 49EA8120018 for <netmod@ietf.org>; Thu, 26 Sep 2019 22:32:28 -0700 (PDT)
Received: from [192.168.0.107] (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8R5WQfQ049897 for <netmod@ietf.org>; Fri, 27 Sep 2019 05:32:27 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be [192.168.0.107]
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_1B3F58A6-90E6-45F7-8E6A-F81BB98DD4A1"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <CBBD7EDD-0B53-4720-B76B-7932655FF27A@bogus.com>
Date: Thu, 26 Sep 2019 22:32:21 -0700
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/vfh14Q5lG4S4eZTfe2X4KkbLG-I>
Subject: [netmod] WG Last Call: draft-ietf-netmod-yang-data-ext version 4
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 05:32:30 -0000

--Apple-Mail=_1B3F58A6-90E6-45F7-8E6A-F81BB98DD4A1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

All,

This starts a two week working group last call for  =
draft-ietf-netmod-yang-data-ext-04

The working group last call ends on  Friday October 11th 2019.  Please =
send your comments to the working group mailing list.

Positive comments, e.g., "I've reviewed this document and believe it is =
ready for publication", are welcome!  This is useful and important, even =
from authors.

https://tools.ietf.org/html/draft-ietf-netmod-yang-data-ext-04 =
<https://tools.ietf.org/html/draft-ietf-netmod-yang-data-ext-04>

The diff from 03, produced prior to IETF 105 is available here:

=
https://tools.ietf.org/rfcdiff?difftype=3D--hwdiff&url2=3Ddraft-ietf-netmo=
d-yang-data-ext-04.txt =
<https://tools.ietf.org/rfcdiff?difftype=3D--hwdiff&url2=3Ddraft-ietf-netm=
od-yang-data-ext-04.txt>

Thanks
Joel


--Apple-Mail=_1B3F58A6-90E6-45F7-8E6A-F81BB98DD4A1
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">All,</span><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D"">This starts a two week working group =
last call for&nbsp;</span><span style=3D"color: rgba(0, 0, 0, 0.85098); =
font-family: &quot;Helvetica Neue&quot;;" class=3D"">&nbsp;</span><font =
face=3D"Helvetica Neue" class=3D""><span style=3D"caret-color: rgba(0, =
0, 0, 0.85098); color: rgba(0, 0, 0, 0.85098);" =
class=3D"">draft-ietf-netmod-yang-data-ext-04</span></font><div =
class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">The working group last call ends on &nbsp;Friday October =
11th 2019. &nbsp;Please send your comments to the working group mailing =
list.</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">Positive comments, e.g., "I've reviewed this document =
and believe it is ready for publication", are welcome! &nbsp;This is =
useful and important, even from authors.</span></div><div class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></div><div class=3D""><a =
href=3D"https://tools.ietf.org/html/draft-ietf-netmod-yang-data-ext-04" =
class=3D"">https://tools.ietf.org/html/draft-ietf-netmod-yang-data-ext-04<=
/a></div><div class=3D""><span style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D""><br class=3D""></span></div><div =
class=3D""><font color=3D"#000000" class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0);" class=3D"">The diff from 03, produced prior to IETF 105 =
is&nbsp;available here:</span></font></div><div class=3D""><font =
color=3D"#000000" class=3D""><span style=3D"caret-color: rgb(0, 0, 0);" =
class=3D""><br class=3D""></span></font></div><div class=3D""><a =
href=3D"https://tools.ietf.org/rfcdiff?difftype=3D--hwdiff&amp;url2=3Ddraf=
t-ietf-netmod-yang-data-ext-04.txt" =
class=3D"">https://tools.ietf.org/rfcdiff?difftype=3D--hwdiff&amp;url2=3Dd=
raft-ietf-netmod-yang-data-ext-04.txt</a></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></div><div class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">Thanks</span></div><div =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">Joel</span></div><div class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
class=3D""></span></div></body></html>=

--Apple-Mail=_1B3F58A6-90E6-45F7-8E6A-F81BB98DD4A1--


From nobody Thu Sep 26 22:35:58 2019
Return-Path: <joelja@bogus.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B8D97120020; Thu, 26 Sep 2019 22:35:56 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.896
X-Spam-Level: 
X-Spam-Status: No, score=-6.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 z6DtE-kHYW7S; Thu, 26 Sep 2019 22:35:55 -0700 (PDT)
Received: from nagasaki.bogus.com (nagasaki.bogus.com [IPv6:2001:418:1::81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2B9AF120018; Thu, 26 Sep 2019 22:35:55 -0700 (PDT)
Received: from [192.168.0.107] (c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209]) (authenticated bits=0) by nagasaki.bogus.com (8.15.2/8.15.2) with ESMTPSA id x8R5Zl7Y049970; Fri, 27 Sep 2019 05:35:54 GMT (envelope-from joelja@bogus.com)
X-Authentication-Warning: nagasaki.bogus.com: Host c-73-202-177-209.hsd1.ca.comcast.net [73.202.177.209] claimed to be [192.168.0.107]
From: Joel Jaeggli <joelja@bogus.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_1A59CA05-054A-4433-B31C-5EF1C0413DE4"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
Message-Id: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
Date: Thu, 26 Sep 2019 22:35:42 -0700
Cc: draft-ietf-netmod-yang-data-ext@ietf.org, NetMod WG Chairs <netmod-chairs@ietf.org>
To: NETMOD Working Group <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/EJ8IvOlh4vvPnMkRjY9NkZIlUsM>
Subject: [netmod] IPR check draft-ietf-netmod-yang-data-ext-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 05:35:57 -0000

--Apple-Mail=_1A59CA05-054A-4433-B31C-5EF1C0413DE4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Authors, Contributors, WG,

As part of WG Last Call for  draft-ietf-netmod-yang-data-ext-04

Are you aware of any IPR that applies to drafts identified above?

Please state either:

"No, I'm not aware of any IPR that applies to this draft"
or
"Yes, I'm aware of IPR that applies to this draft"

If so, has this IPR been disclosed in compliance with IETF IPR rules
(see RFCs 3669, 5378 and 8179 for more details)?

If yes to the above, please state either:

"Yes, the IPR has been disclosed in compliance with IETF IPR rules"
or
"No, the IPR has not been disclosed"

If you answer no, please provide any additional details you think
appropriate.

If you are listed as a document author or contributor please answer the
above by responding to this email regardless of whether or not you are
aware of any relevant IPR. This document will not advance to the next
stage until a response has been received from each author and listed
contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S
TO LINES.

If you are on the WG email list or attend WG meetings but are not listed
as an author or contributor, we remind you of your obligations under
the IETF IPR rules which encourages you to notify the IETF if you are
aware of IPR of others on an IETF contribution, or to refrain from
participating in any contribution or discussion related to your
undisclosed IPR. For more information, please see the RFCs listed above
and
http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty =
<http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty>.

Thank you,
NetMod WG Chairs

PS Please include all listed in the headers of this message in your
response.


--Apple-Mail=_1A59CA05-054A-4433-B31C-5EF1C0413DE4
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html; =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">Authors, Contributors, WG,</span><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">As part of WG Last Call =
for &nbsp;</span><font color=3D"#000000" class=3D""><span =
style=3D"caret-color: rgb(0, 0, 0);" =
class=3D"">draft-ietf-netmod-yang-data-ext-04</span></font><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">Are =
you aware of any IPR that applies to drafts identified above?</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">Please state either:</span><br style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">"No, I'm not aware of any =
IPR that applies to this draft"</span><br style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">or</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">"Yes, I'm aware of IPR that applies to this draft"</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">If =
so, has this IPR been disclosed in compliance with IETF IPR =
rules</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">(see RFCs 3669, 5378 and 8179 for more =
details)?</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">If yes to the above, please state either:</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">"Yes, the IPR has been disclosed in compliance with IETF IPR =
rules"</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">or</span><br style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D"">"No, the IPR has not been =
disclosed"</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D"">If you answer no, please provide any =
additional details you think</span><br style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D"">appropriate.</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">If =
you are listed as a document author or contributor please answer =
the</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">above by responding to this email regardless of whether =
or not you are</span><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D"">aware of any relevant IPR. This =
document will not advance to the next</span><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">stage until a response =
has been received from each author and listed</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS =
MESSAGE'S</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">TO LINES.</span><br style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, =
0, 0); color: rgb(0, 0, 0);" class=3D"">If you are on the WG email list =
or attend WG meetings but are not listed</span><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">as an author or =
contributor, we remind you of your obligations under</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">the =
IETF IPR rules which encourages you to notify the IETF if you =
are</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D"">aware of IPR of others on an IETF contribution, or to =
refrain from</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D"">participating in any contribution or =
discussion related to your</span><br style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, =
0); color: rgb(0, 0, 0);" class=3D"">undisclosed IPR. For more =
information, please see the RFCs listed above</span><br =
style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">and</span><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""><a =
href=3D"http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProper=
ty" =
class=3D"">http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualPro=
perty</a><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" =
class=3D"">.</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D"">Thank you,</span><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">NetMod WG =
Chairs</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, =
0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, =
0, 0);" class=3D"">PS Please include all listed in the headers of this =
message in your</span><br style=3D"caret-color: rgb(0, 0, 0); color: =
rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); =
color: rgb(0, 0, 0);" class=3D"">response.</span><br style=3D"caret-color:=
 rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: =
rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""></body></html>=

--Apple-Mail=_1A59CA05-054A-4433-B31C-5EF1C0413DE4--


From nobody Thu Sep 26 23:50:35 2019
Return-Path: <mbj@tail-f.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C1E6B12003F; Thu, 26 Sep 2019 23:50:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level: 
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 M-IuUThpkHqC; Thu, 26 Sep 2019 23:50:31 -0700 (PDT)
Received: from mail.tail-f.com (mail.tail-f.com [46.21.102.45]) by ietfa.amsl.com (Postfix) with ESMTP id 6B5E91200C1; Thu, 26 Sep 2019 23:50:31 -0700 (PDT)
Received: from localhost (h-46-233.A165.priv.bahnhof.se [46.59.46.233]) by mail.tail-f.com (Postfix) with ESMTPSA id 7137C1AE0115; Fri, 27 Sep 2019 08:50:29 +0200 (CEST)
Date: Fri, 27 Sep 2019 08:50:29 +0200 (CEST)
Message-Id: <20190927.085029.1161992144106817463.mbj@tail-f.com>
To: joelja@bogus.com
Cc: netmod@ietf.org, draft-ietf-netmod-yang-data-ext@ietf.org, netmod-chairs@ietf.org
From: Martin Bjorklund <mbj@tail-f.com>
In-Reply-To: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
References: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
X-Mailer: Mew version 6.7 on Emacs 25.2 / Mule 6.0 (HANACHIRUSATO)
Mime-Version: 1.0
Content-Type: Text/Plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/8bBQq1HBRFLPrJwFWZGr5YAvQNg>
Subject: Re: [netmod] IPR check draft-ietf-netmod-yang-data-ext-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 06:50:34 -0000

Joel Jaeggli <joelja@bogus.com> wrote:
> Authors, Contributors, WG,
> 
> As part of WG Last Call for  draft-ietf-netmod-yang-data-ext-04
> 
> Are you aware of any IPR that applies to drafts identified above?

No, I'm not aware of any IPR that applies to this draft


/martin


> 
> Please state either:
> 
> "No, I'm not aware of any IPR that applies to this draft"
> or
> "Yes, I'm aware of IPR that applies to this draft"
> 
> If so, has this IPR been disclosed in compliance with IETF IPR rules
> (see RFCs 3669, 5378 and 8179 for more details)?
> 
> If yes to the above, please state either:
> 
> "Yes, the IPR has been disclosed in compliance with IETF IPR rules"
> or
> "No, the IPR has not been disclosed"
> 
> If you answer no, please provide any additional details you think
> appropriate.
> 
> If you are listed as a document author or contributor please answer the
> above by responding to this email regardless of whether or not you are
> aware of any relevant IPR. This document will not advance to the next
> stage until a response has been received from each author and listed
> contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S
> TO LINES.
> 
> If you are on the WG email list or attend WG meetings but are not listed
> as an author or contributor, we remind you of your obligations under
> the IETF IPR rules which encourages you to notify the IETF if you are
> aware of IPR of others on an IETF contribution, or to refrain from
> participating in any contribution or discussion related to your
> undisclosed IPR. For more information, please see the RFCs listed above
> and
> http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty <http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty>.
> 
> Thank you,
> NetMod WG Chairs
> 
> PS Please include all listed in the headers of this message in your
> response.
> 


From nobody Fri Sep 27 03:06:16 2019
Return-Path: <ietfc@btconnect.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 245A4120113 for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 03:06:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.222
X-Spam-Level: 
X-Spam-Status: No, score=0.222 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RATWARE_MS_HASH=2.148, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.026, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=btconnect.onmicrosoft.com
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 vkFeXCq8LIYW for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 03:06:12 -0700 (PDT)
Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50106.outbound.protection.outlook.com [40.107.5.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 6B5F2120125 for <netmod@ietf.org>; Fri, 27 Sep 2019 03:06:10 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PkbbUkrJqLsWB2M2w37Nsuvps5ZUXcDLFbdNk5ZH+XxHoOnlKtfFjQRAJ+ZSGNtDhSLA1Gs1eCozRyKYoJmcZq9nMlTRCbzProh7TXXfO5S9aSiX/yrucMk6sgutkzWUDtihgJJrp9wtbcbhIhLZGtFw5pgk4xOK+veLujAQjK1LZI5pKr6ue4hZC7ckXVha8Ya7/QHE3KUNOFu16LM9I3Di6JPTlSlpTD4G6zX5VSV+KgmEo1ZQGA13g5Pzc68Ose41oeNgEplsSjx13Mt1EH3Ix5o8gb7eoDgj0OjBex3XaOXzobEU4UaMDhMRQ2+KgXqN9iBGpw/r3WQ78Qcfmg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QOrb/JV8pYey07QuudLuTPSeG2N2t44q0eSFmiJIKlg=; b=Uh6vT5XT1OLI9krQyd0PvaBEDriwtcA3LKkRJSZxrSN9GCqG3vyB5QJ//S9DraIU1PwBHpT4Jp/+/AqrJhDh9KtpadI2RX9SEFVvJRQC7hhGze6fATtaLtCu2sedeuB7+kxnZ1ZhLl46aRFNIU3pvua98uBQw17g9LEZsyMPSOyrKoKA5XIGjgCB8uiG+5axp0FKIeU6VkviEkZ8K65WoaK5FXzqj958ao7ZMxuNMfZZXRROZX9bXJWpbG5ampxmtemLBh1nVALbd3CYst5FZOarMYd+GkySZbATcAJFMzIpfJ63EHwxn1TTZ8rrp50mB7037arU1DvbtwxwPFuceA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=btconnect.com; dmarc=pass action=none header.from=btconnect.com; dkim=pass header.d=btconnect.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=btconnect.onmicrosoft.com; s=selector2-btconnect-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QOrb/JV8pYey07QuudLuTPSeG2N2t44q0eSFmiJIKlg=; b=BXkUoUcWWFDQj8oxb9Rue6L5BT72j/88URwFbxCdQzR+qnqqWxybNBYCV4cFTTskE8OHVxudRhdiR/YxR85AYFCotiIwhph3EK7DnHvc5wE7Lo3sdn4P4XkfFdtJvVtumeqTUbdZdW6RKUK4kCnnUtHjnIv99blVzRzL2zhcBm4=
Received: from AM0PR07MB5940.eurprd07.prod.outlook.com (20.178.23.32) by AM0PR07MB6129.eurprd07.prod.outlook.com (20.178.115.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.15; Fri, 27 Sep 2019 10:06:08 +0000
Received: from AM0PR07MB5940.eurprd07.prod.outlook.com ([fe80::6091:ebf9:c327:1c60]) by AM0PR07MB5940.eurprd07.prod.outlook.com ([fe80::6091:ebf9:c327:1c60%5]) with mapi id 15.20.2305.017; Fri, 27 Sep 2019 10:06:08 +0000
From: tom petch <ietfc@btconnect.com>
To: Andy Bierman <andy@yumaworks.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?V2hhdCdzIHRoZSBwcm9ibGVtIHdpdGggTk1EQT8gd2FzIFJlOiBbbmV0bW9k?= =?utf-8?B?XSDnrZTlpI06IOetlOWkjTogUGxlYXNlIGNsYXJpZnkgaW1wbGVtZW50YXRp?= =?utf-8?B?b24gYWJvdXQg4oCYd2hlbuKAmQ==?=
Thread-Index: AQHVdRsui+z1X74d5kGqOVr2DkzJuQ==
Date: Fri, 27 Sep 2019 10:06:08 +0000
Message-ID: <01c201d5751a$ead932c0$4001a8c0@gateway.2wire.net>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net> <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: LO2P265CA0116.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:c::32) To AM0PR07MB5940.eurprd07.prod.outlook.com (2603:10a6:208:103::32)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=ietfc@btconnect.com; 
x-ms-exchange-messagesentrepresentingtype: 1
x-mailer: Microsoft Outlook Express 6.00.2800.1106
x-originating-ip: [86.139.211.103]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 9bd4f4df-3c4a-4c31-d28f-08d74332511e
x-ms-traffictypediagnostic: AM0PR07MB6129:
x-ms-exchange-purlcount: 1
x-microsoft-antispam-prvs: <AM0PR07MB6129AD4BB0B9610CB7A33B59A0810@AM0PR07MB6129.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0173C6D4D5
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(376002)(366004)(39860400002)(346002)(136003)(396003)(13464003)(189003)(199004)(51914003)(486006)(66066001)(6506007)(66446008)(81156014)(8936002)(256004)(14444005)(86362001)(26005)(446003)(305945005)(7736002)(14454004)(71190400001)(966005)(50226002)(478600001)(1556002)(61296003)(44716002)(62236002)(81166006)(5660300002)(224303003)(186003)(81686011)(4326008)(2906002)(6306002)(81816011)(6512007)(316002)(4720700003)(99286004)(71200400001)(6436002)(66556008)(6916009)(76176011)(52116002)(6116002)(3846002)(9686003)(64756008)(6486002)(25786009)(44736005)(53546011)(66946007)(66476007)(386003)(229853002)(102836004)(14496001)(6246003)(476003)(74416001)(7726001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM0PR07MB6129; H:AM0PR07MB5940.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:0; 
received-spf: None (protection.outlook.com: btconnect.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: rels6f2RAl5dkihqCYxiMyUf5qWoM70xX0twj8aiGYF8n4L5TKhiC1pjZdu/PaYmgGkbiIARH9jPoTsj8Ji+Fa0pIObNvVyGM9MnGztNkzB7UJbOhy88Om7Hyqer+xPGgDBR/6cM2WmZeHgztcnOsO8nMSSSVS6kEtr1Bw81+WTV7qdZYi7WL+DRfq1sA5unbjmNP0J6Gl0lEMXbR2NyDGLL4SzPQ8fYvDYHCpzUzx7kUorjvGcC0yleWSXQLqO+iMhFqtdmQaJAVct2gK+oerpIlABMqqsyl+yJN6HP5/3So2s/bA+gN4ttFpxS+ZJ88PJXmxAyiATe6o1+YkLCSrpkLO6WCZ9qoGxXeE0AF/Xo4YDh9diwMBqz7Znk+PT2i30JILW4Fp7nmplRSzU3uF2B5SumOP8h3UnoHR72Pb1Y3vUj+4F1nkaqfoNXU5unf4UgGmYFVdhyiZA3b9g42Q==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <9247AE6A07B8AD43BC14CAC638730DBD@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: btconnect.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 9bd4f4df-3c4a-4c31-d28f-08d74332511e
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2019 10:06:08.6483 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: cf8853ed-96e5-465b-9185-806bfe185e30
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ZKMpJ7Y62fyOqzKN/EwQA2Ad/DWgKypen/QJKVgZRUsY5xHJ7adxEXarPZzh+zp0m5sPr+Z3XbYG0N16qA7EPw==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR07MB6129
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/uIMmhoWA67Ig2uHzlA3YAWUdlxk>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A__?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 10:06:14 -0000

QW5keQ0KDQpUaGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbiAtIG1ha2VzIHNlbnNlIHRvIG1lLg0K
DQpUb20gUGV0Y2gNCg0KDQotLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0tDQpGcm9tOiAiQW5k
eSBCaWVybWFuIiA8YW5keUB5dW1hd29ya3MuY29tPg0KVG86ICJ0b20gcGV0Y2giIDxpZXRmY0Bi
dGNvbm5lY3QuY29tPg0KQ2M6IDxuZXRtb2RAaWV0Zi5vcmc+DQpTZW50OiBUaHVyc2RheSwgU2Vw
dGVtYmVyIDI2LCAyMDE5IDY6NDQgUE0NCg0KDQpIaSwNCg0KDQpPbiBUaHUsIFNlcCAyNiwgMjAx
OSBhdCA5OjE0IEFNIHRvbSBwZXRjaCA8aWV0ZmNAYnRjb25uZWN0LmNvbT4gd3JvdGU6DQoNCj4g
SW5saW5lDQo+DQo+IFRvbSBQZXRjaA0KPg0KPiAtLS0tLSBPcmlnaW5hbCBNZXNzYWdlIC0tLS0t
DQo+IEZyb206ICJBbmR5IEJpZXJtYW4iIDxhbmR5QHl1bWF3b3Jrcy5jb20+DQo+IFRvOiAiUm9i
IFdpbHRvbiAocndpbHRvbikiIDxyd2lsdG9uQGNpc2NvLmNvbT4NCj4gQ2M6IDxuZXRtb2RAaWV0
Zi5vcmc+OyA8eWFuZ2FuZ0BodWF3ZWkuY29tPg0KPiBTZW50OiBUaHVyc2RheSwgU2VwdGVtYmVy
IDI2LCAyMDE5IDM6MzMgUE0NCj4NCj4gT24gVGh1LCBTZXAgMjYsIDIwMTkgYXQgMzozMiBBTSBS
b2IgV2lsdG9uIChyd2lsdG9uKQ0KPHJ3aWx0b25AY2lzY28uY29tPg0KPiB3cm90ZToNCj4NCj4g
Pg0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gRnJvbTogbmV0
bW9kIDxuZXRtb2QtYm91bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxmIE9mIE1hcnRpbg0KQmpvcmts
dW5kDQo+ID4gPiBTZW50OiAyNiBTZXB0ZW1iZXIgMjAxOSAwODo0NQ0KPiA+ID4gVG86IGxob3Rr
YUBuaWMuY3oNCj4gPiA+IENjOiB5YW5nYW5nQGh1YXdlaS5jb207IG5ldG1vZEBpZXRmLm9yZw0K
PiA+ID4gU3ViamVjdDogUmU6IFtuZXRtb2RdIOetlOWkjTog562U5aSNOiBQbGVhc2UgY2xhcmlm
eSBpbXBsZW1lbnRhdGlvbiBhYm91dA0KPiA+ID4g4oCYd2hlbuKAmQ0KPiA+ID4NCj4gPiA+ID4g
Pg0KPiA+ID4gPiA+IEl0IGFsc28gc2F5cyBpbiA4LjI6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAg
ICBvICBJZiBhIHJlcXVlc3QgbW9kaWZpZXMgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZSBzdWNo
DQp0aGF0DQo+IGFueQ0KPiA+ID4gPiA+ICAgICAgIG5vZGUncyAid2hlbiIgZXhwcmVzc2lvbiBi
ZWNvbWVzIGZhbHNlLCB0aGVuIHRoZSBub2RlIGluDQo+IHRoZQ0KPiA+ID4gZGF0YQ0KPiA+ID4g
PiA+ICAgICAgIHRyZWUgd2l0aCB0aGUgIndoZW4iIGV4cHJlc3Npb24gaXMgZGVsZXRlZCBieSB0
aGUNCnNlcnZlci4NCj4gPiA+ID4NCj4gPiA+ID4gUmlnaHQuIEJ1dCB0aGUgcmVxdWVzdCB3b24n
dCBtb2RpZnkgYSBjb25maWd1cmF0aW9uIGRhdGEgbm9kZQ0KPiBiZWNhdXNlDQo+ID4gPiA+IGl0
IGlzIHJlamVjdGVkLiBTbyB0aGUgcHJlbWlzZSBvZiB0aGUgYWJvdmUgaW1wbGljYXRpb24gZG9l
c24ndA0KPiBob2xkLA0KPiA+ID4gPiBhbmQgdGhlIGNvbmNsdXNpb24gZG9lc24ndCBhcHBseS4N
Cj4gPiA+DQo+ID4gPiBXaXRoIHRoZSBzYW1lIGxvZ2ljIHlvdSBjYW4gY2xhaW0gY29uZm9ybWFu
Y2UgaWYgeW91IHJlamVjdCBhDQo+IHJlcXVlc3QgdG8NCj4gPiA+IGNyZWF0ZSBub2RlcyB1bmRl
ciBhIGNhc2UgaWYgYW5vdGhlciBjYXNlIGlzIGFjdGl2ZS4gIEkgdGhpbmsgaXQNCmlzDQo+IHF1
aXRlDQo+ID4gPiBjbGVhciB0aGF0IHRoaXMgYXV0by1kZWxldGlvbiBpcyBwYXJ0IG9mIHRoZSBz
cGVjLCBhbmQgc29tZXRoaW5nDQo+IGNsaWVudHMNCj4gPiA+IGNhbiByZWx5IG9uLiAgSWYgdGhl
IGludGVudGlvbiBoYWQgYmVlbiB0aGF0IHRoaXMgd2FzIG9wdGlvbmFsIHRvDQo+ID4gPiBpbXBs
ZW1lbnQsIGl0IHdvdWxkIGhhdmUgYmVlbiBjbGVhcmx5IHN0YXRlZCwgYW5kIHRoZXJlIHdvdWxk
IGhhdmUNCj4gYmVlbg0KPiA+ID4gbWVjaGFuaXNtIHByZXNlbnQgZm9yIGNsaWVudHMgdG8gZGV0
ZWN0IHRoaXMuDQo+ID4gPg0KPiA+IEkgZG9uJ3QgbGlrZSB0aGUgJ3doZW4nIGJlaGF2aW91ciwg
SSB3b3VsZCBoYXZlIHJhdGhlciB0aGF0IGNsaWVudHMNCj4gd2VyZQ0KPiA+IGZvcmNlZCB0byBk
ZWxldGUgdGhlIGNvbmZpZ3VyYXRpb24gZXhwbGljaXRseSAob3IgcGFzcyBhbiBvcHRpb24gZm9y
DQo+IGFuDQo+ID4gaW1wbGljaXQgZGVsZXRlKS4NCj4NCj4gSSBoZWFyIHRoZSBvcHBvc2l0ZSBm
cm9tIGN1c3RvbWVycy4NCj4gVGhleSBpbnNpc3QgdGhhdCB0aGUgc2VydmVyIGltcGxlbWVudCBl
dmVyeSBsYXN0IGRldGFpbCBvZiB0aGUNCj4gbWFjaGluZS1yZWFkYWJsZSBZQU5HLA0KPiBlc3Bl
Y2lhbGx5IHdoZW4tc3RtdCBhdXRvLWRlbGV0aW9uLiBUaGUgYXV0by1jbGVhbnVwIGlzIHNlZW4g
YXMgYQ0KPiBmZWF0dXJlLg0KPg0KPiA+IEhvd2V2ZXIsIEkgZG8gYWdyZWUgd2l0aCBNYXJ0aW4g
JiBKdWVyZ2VuLCB0aGF0IHRoZSBpbnRlbnQgb2YgdGhlDQpzcGVjDQo+IGlzDQo+ID4gdGhhdCBz
ZXJ2ZXJzIHBlcmZvcm0gdGhlICd3aGVuJyBhdXRvLWRlbGV0ZSBiZWhhdmlvdXIsIGFuZCBjbGll
bnRzDQo+IG11c3QgYmUNCj4gPiBhYmxlIHRvIHJlbHkgb24gY29tcGxpYW50IHNlcnZlcnMgYmVo
YXZpbmcgdGhpcyB3YXkuDQo+ID4NCj4NCj4gYWdyZWVkLg0KPiBJdCBpcyBoYXJkIHRvIGFyZ3Vl
IGFnYWluc3QgY29uc2lzdGVudCwgcHJlZGljYWJsZSBzZXJ2ZXIgYmVoYXZpb3INCj4gZm9yIGRh
dGFzdG9yZSBlZGl0aW5nLiAgKE5QIGNvbnRhaW5lcnMgYW5kIE5NREEgYXJlIGFsc28gY2F1c2lu
Zw0KPiBwcm9ibGVtcywNCj4gYW5kIHNob3VsZCBiZSBmaXhlZCBpbiB5YW5nLW5leHQgaWYgdGhh
dCBldmVyIGhhcHBlbnMpLg0KPg0KPiA8dHA+DQo+DQo+IEFuZHkNCj4NCj4gVGhpcyBjYXVnaHQg
bXkgZXllLiAgV2hhdCBpcyB0aGUgcHJvYmxlbSB3aXRoIE5NREE/IEFueXRoaW5nIHNwZWNpZmlj
Pw0KPg0KPiBNeSBvd24gcHJvYmxlbSBpcyB0aGF0IGl0IGlzIGRpZmZlcmVudCB0byB3aGF0IGhh
cyBiZWVuIHByb3Bvc2VkIGFzDQo+IHN1aXRhYmxlIGZvciB0aGUgcHJldmlvdXMgMTIgeWVhcnMg
YnV0IEkgZG91YnQgaWYgbWFueSBjdXN0b21lcnMgd291bGQNCj4gdGhpbmsgdGhhdC4NCj4NCj4N
Ck15IGNvbW1lbnRzIGFyZSBpbiB0aGUgY29udGV4dCBvZiBvcGVyYXRvciBleHBlY3RhdGlvbnMg
Zm9yIGNvbnNpc3RlbnQNCmltcGxlbWVudGF0aW9ucy4NCg0KVGhlIGZpcnN0IHByb2JsZW0gd2l0
aCBOTURBIGlzIHRoZSBuZXcgWUFORyBsaWJyYXJ5Lg0KVGhlcmUgaXMgYW4gYXNzdW1wdGlvbiB0
aGF0IHRoZSBjbGllbnQgY2FuIGFuZCB3aWxsIGNoYW5nZSBmcm9tIGFuDQphcmNoaXRlY3R1cmUN
CndoZXJlIHRoZXJlIGlzIDEgc2NoZW1hIHRyZWUgcGVyIHNlcnZlciB0byBhbiBhcmNoaXRlY3R1
cmUgd2hlcmUgdGhlcmUNCmNhbg0KYmUgYSBjb21wbGV0ZWx5DQpkaWZmZXJlbnQgc2NoZW1hIHRy
ZWUgZm9yIGNvbmZpZ3VyYXRpb24gdnMgb3BlcmF0aW9uYWwgZGF0YXN0b3Jlcy4NClRoZXJlDQpp
cyBubyBzdWNoIGRlc2lyZQ0Kb3Igd2lsbGluZ25lc3Mgb24gdGhlIGNsaWVudCBzaWRlIHRvIHBy
b3Blcmx5IGFkZHJlc3MgdGhpcyBjb21wbGV4aXR5Lg0KSU1PDQpOTURBIGlzIGdvaW5nIHRvDQpu
ZWVkIHRvIGZ1bmN0aW9uIHdpdGhvdXQgdGhpcyBjb21wbGV4aXR5LiBUaGUgYmVuZWZpdHMgb2Yg
PG9wZXJhdGlvbmFsPg0KYXJlDQpub3QgaGluZGVyZWQNCmF0IGFsbCAoaW4gYSBwcm9wZXJseSBp
bXBsZW1lbnRlZCBzZXJ2ZXIpIGlmIC95YW5nLWxpYnJhcnkgaXMgbGVmdCBvdXQuDQoNClRoZSBJ
RVRGIGhhcyBjb21wbGV0ZWx5IHB1bnRlZCB0aGUgcHJvYmxlbSBvZiBjb252ZXJ0aW5nIGRhdGEg
Zm9yIGENCmNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlDQp0byB0aGUgc2NoZW1hIHRyZWUgZm9yIDxv
cGVyYXRpb25hbD4uIERldmlhdGlvbnMgbWF5IGJlIGRpZmZlcmVudC4gIEENCmxlYWYNCm1heQ0K
YmUgc3RyaW5nIGluIDEgdHJlZSBhbmQgZGVjaW1hbDY0IGluIHRoZSBvdGhlci4gVGhlcmUgaXMg
YW4gaW5jb3JyZWN0DQphc3N1bXB0aW9uDQp0aGF0IHNvZnR3YXJlIGRldmVsb3BlcnMgd2lsbCBk
ZWFsIHdpdGggdGhlc2UgY29ybmVyLWNhc2VzIChjb3JyZWN0bHkNCmFuZA0KY29uc2lzdGVudGx5
KS4NCg0KVGhlIG90aGVyIGJpZyBwcm9ibGVtIGlzIGFuIHVudGVzdGVkIE5NREEgdHJhbnNpdGlv
biBzdHJhdGVneSB0aGF0IGlzDQpub3QNCndlbGwgdW5kZXJzdG9vZCBieSB2ZW5kb3JzLg0KU2hv
dWxkIG5vbi1OTURBICgvZm9vLXN0YXRlKSBiZSB2aXNpYmxlIHRvIDxnZXQtZGF0YT4gb3IganVz
dCA8Z2V0Pj8NClVzaW5nIHRoZSBZQU5HIGxpYnJhcnkgdG8gc2VwYXJhdGUgdGhlIG1vZHVsZXMg
cmVsaWVzIG9uIHRoZSBhc3N1bXB0aW9uDQp0aGF0DQp0aGUgY2xpZW50IGlzIGNhcGFibGUgb2Yg
bWFuYWdpbmcgZWFjaCBkYXRhc3RvcmUgaW5kZXBlbmRlbnRseSAoaW5zdGVhZA0Kb2YNCjEgc2No
ZW1hIHRyZWUgcGVyIHNlcnZlcikuDQoNCg0KDQo+IFRvbSBQZXRjaA0KPg0KPg0KQW5keQ0KDQoN
Cj4gVGhhbmtzLA0KPiA+IFJvYg0KPiA+DQo+ID4NCj4NCj4gQW5keQ0KPg0KPg0KPiA+DQo+ID4g
Pg0KPiA+ID4gL21hcnRpbg0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18NCj4gPiA+IG5ldG1vZCBtYWlsaW5nIGxpc3QNCj4gPiA+IG5ldG1vZEBp
ZXRmLm9yZw0KPiA+ID4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcvbWFpbG1hbi9saXN0aW5mby9uZXRt
b2QNCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0K
Pg0KPg0KDQo=


From nobody Fri Sep 27 03:40:12 2019
Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7C731120115 for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 03:40:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.5
X-Spam-Level: 
X-Spam-Status: No, score=-14.5 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, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com header.b=Otm9l4X6; dkim=pass (1024-bit key) header.d=cisco.onmicrosoft.com header.b=g1rS5zEQ
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 qYZsD35Q1GvC for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 03:40:08 -0700 (PDT)
Received: from rcdn-iport-1.cisco.com (rcdn-iport-1.cisco.com [173.37.86.72]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2D5B712001E for <netmod@ietf.org>; Fri, 27 Sep 2019 03:40:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=6902; q=dns/txt; s=iport; t=1569580808; x=1570790408; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=yThZ9seVa7eQDcnwOQPBd9Mt4j0H+vGjnxiWtQS15K4=; b=Otm9l4X6khnYsgZ3mv511vHGwHVSVoHezSDsaRxPHm+Od27qA6TCmqq/ CpDTcHv1ZCBLqBuel9KtOAIPEfeoWd1SpT0CkcuNcP2HauQsyQVvax5X8 6WUzfM3rOFR8TNsM06qw3VHu5E/TUXpNB+2/razZmc+kRDb9x06piHEJN s=;
IronPort-PHdr: =?us-ascii?q?9a23=3Ab6av5xMFLt16jy7hzpgl6mtXPHoupqn0MwgJ65?= =?us-ascii?q?Eul7NJdOG58o//OFDEu60/l0fHCIPc7f8My/HbtaztQyQh2d6AqzhDFf4ETB?= =?us-ascii?q?oZkYMTlg0kDtSCDBjhM//ucys8NM9DT1RiuXq8NBsdFQ=3D=3D?=
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0AOAAB85o1d/5hdJa1jAxoBAQEBAQI?= =?us-ascii?q?BAQEBDAIBAQEBgVQEAQEBAQsBgUpQA21WIAQLKgqEGINHA4pYglyXdoEugSQ?= =?us-ascii?q?DVAkBAQEMAQEYCwoCAQGBTIIvRQIXgyAjNQgOAgMJAQEEAQEBAgEFBG2FLQy?= =?us-ascii?q?FSwEBAQMBAQEQEREMAQEsCwELAgICAQYCEAEEAQEBAgIfBwICAhkMCxUFAwg?= =?us-ascii?q?CBAENBQgagwGBagMODwECDJFdkGECgTiIYXOBMoJ9AQEFhRcYghcDBgWBByg?= =?us-ascii?q?BjAsYgUA/gRFGgkw+gmEBAYFLGBUKJoJEMoImjHOCaZ0+CoIilSaCN4dMjzG?= =?us-ascii?q?DQIphlCiEdgIEAgQFAg4BAQWBUwE2KoEucBU7gmxQEBSBTjgbgx8zhGGFP3S?= =?us-ascii?q?BKYx3AYEiAQE?=
X-IronPort-AV: E=Sophos;i="5.64,555,1559520000"; d="scan'208";a="635038037"
Received: from rcdn-core-1.cisco.com ([173.37.93.152]) by rcdn-iport-1.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 27 Sep 2019 10:40:05 +0000
Received: from xch-rcd-011.cisco.com (xch-rcd-011.cisco.com [173.37.102.21]) by rcdn-core-1.cisco.com (8.15.2/8.15.2) with ESMTPS id x8RAe3hv015560 (version=TLSv1.2 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 27 Sep 2019 10:40:04 GMT
Received: from xhs-rcd-003.cisco.com (173.37.227.248) by XCH-RCD-011.cisco.com (173.37.102.21) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 27 Sep 2019 05:40:03 -0500
Received: from xhs-aln-003.cisco.com (173.37.135.120) by xhs-rcd-003.cisco.com (173.37.227.248) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Fri, 27 Sep 2019 05:40:01 -0500
Received: from NAM01-SN1-obe.outbound.protection.outlook.com (173.37.151.57) by xhs-aln-003.cisco.com (173.37.135.120) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Fri, 27 Sep 2019 05:40:01 -0500
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=I1qZcTmi3ikNWTLE3Wan0Dx0X6GGoLan+DBsP0YZp6JXAVZ7BnESrHLmuf6sJX2yacE+jvkekNOcMC3PwqTtRHLjhiJk6zCJ7tuCo7/yAxyvKH/rxbTGU2xvWz7T817ddtu5Y0/YtIvy6AmHLR3sU5BWl4n14t38Um5OYnP8Cl+myxO6jvgdyy1pyB34h8Ptj1JonD00T46BTwwoxefdJ0on9qbyO+l/qcjXdHhJ+n+fkuK/5VYfeccpVRcaeU/xKARouQxDyp5b+qFEs9y66mK8ztI/13sCMGmJSCri6Wz248pWj17DoUQc9+mS4wzz33lqOhZ9ifHPAe6t9w7JRA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yThZ9seVa7eQDcnwOQPBd9Mt4j0H+vGjnxiWtQS15K4=; b=HdZZlK9es4D3sgFso6hjNqXhfjCOiVY5FgRsKGh0Mqf19oX84AcBHZPtRZQ4vn85tXemcRvakCP/ABWKcf08loi2cY749Mli4ccKY8/nerYJ0/O7Ld7r6PSDZRaAQQkMRgKxCVkLDLhfO9KIfEYPCcDFsUeXO2+ynTCKdMdGTjP3+5ZsyqnxuVbWW69aja/QslIwKA7Cu47zm+mJpweb6Pvmu5SkqeC1GCXq++a+NzDcWTO03Sux2O75LrwMw4Nh7RZoeJu5pf3ER/nLzU+TCmIcIHMCQqHwNV+8pIqfBtooX92oTylq++4gXsJe+eAeU6jOy0CwtlcP1MN/i/jYtA==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cisco.com; dmarc=pass action=none header.from=cisco.com; dkim=pass header.d=cisco.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.onmicrosoft.com;  s=selector2-cisco-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yThZ9seVa7eQDcnwOQPBd9Mt4j0H+vGjnxiWtQS15K4=; b=g1rS5zEQ9GZInWvjcIE/fno+i6l0h5U0QV4BTBUWrhrFZaHi+ewmZaXiKiZwHKsMnJ9lKMVzahScyrJupWra5yTiqqaj3p55w3aeG90fGHz0K22zt5liwzZwrx4v1sYPSAcg/BF9JZ/xQqNSqI+C0UxIECOrgZqrhR6Cl9LzJlc=
Received: from MN2PR11MB4366.namprd11.prod.outlook.com (52.135.38.209) by MN2PR11MB3872.namprd11.prod.outlook.com (10.255.180.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.17; Fri, 27 Sep 2019 10:40:00 +0000
Received: from MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549]) by MN2PR11MB4366.namprd11.prod.outlook.com ([fe80::cca:41bd:b0bb:c549%2]) with mapi id 15.20.2305.017; Fri, 27 Sep 2019 10:40:00 +0000
From: "Rob Wilton (rwilton)" <rwilton@cisco.com>
To: =?utf-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>, Andy Bierman <andy@yumaworks.com>
CC: "netmod@ietf.org" <netmod@ietf.org>
Thread-Topic: =?utf-8?B?W25ldG1vZF0gIFdoYXQncyB0aGUgcHJvYmxlbSB3aXRoIE5NREE/IHdhcyBS?= =?utf-8?B?ZTogIOetlOWkjTog562U5aSNOiBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRh?= =?utf-8?B?dGlvbiBhYm91dCDigJh3aGVu4oCZ?=
Thread-Index: AQHVdJIYDpQE2kJ+bEi4w1hDPZjYjKc+SSEAgAEDnIA=
Date: Fri, 27 Sep 2019 10:40:00 +0000
Message-ID: <MN2PR11MB4366886642F8F9693F0A22F2B5810@MN2PR11MB4366.namprd11.prod.outlook.com>
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net> <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com> <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de>
In-Reply-To: <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
authentication-results: spf=none (sender IP is ) smtp.mailfrom=rwilton@cisco.com; 
x-originating-ip: [173.38.220.37]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: d867ef5e-f0e1-48a1-3331-08d743370c63
x-ms-traffictypediagnostic: MN2PR11MB3872:
x-ms-exchange-purlcount: 2
x-microsoft-antispam-prvs: <MN2PR11MB3872891A6AC97BFD7066EB03B5810@MN2PR11MB3872.namprd11.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0173C6D4D5
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(366004)(396003)(346002)(376002)(136003)(13464003)(189003)(199004)(86362001)(5660300002)(6506007)(71200400001)(99286004)(71190400001)(7696005)(66066001)(446003)(26005)(486006)(14444005)(478600001)(256004)(14454004)(53546011)(52536014)(66446008)(186003)(64756008)(102836004)(66946007)(11346002)(476003)(25786009)(305945005)(76176011)(966005)(66476007)(8936002)(74316002)(76116006)(7736002)(81166006)(6436002)(33656002)(66556008)(224303003)(3846002)(110136005)(316002)(6246003)(229853002)(81156014)(4326008)(6116002)(66574012)(2906002)(9686003)(6306002)(55016002); DIR:OUT; SFP:1101; SCL:1; SRVR:MN2PR11MB3872; H:MN2PR11MB4366.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: cisco.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: Z5/jTL+qRvDxsJhCqkqUXpGngmYtJYkF2v5AxZNs9tg01X4E4a5JNQtdPORSsDsPUb/rJoSyRBUFclOX5v6MwEUu6dD5FKItE7oQFj+4bDyPtlxhW655hAyIbzRamTtaewfpbEvdL5xkfjOxhj2+NmQ0s/OMNP+cZBh9bPJ70Rz/Qe2JHY30PQ78u2EH5230sP4FFk0DkB1rnMThtZC3yFIB0mWSA2N5sJFvQgGPCQf9MpGEspuwkBZ37fSV00UL9VLskBS+XxP32viJiep1TGSfnsNRUa66t1dObtwHNJ8PVoxl0iefJA9QWaViQGkGAOEdnYBrLCfjX6J8f9XVJrjfavNPY+2kRWpw1Ygk2VMiQ/5RNDInaA0CaZR2/p5reKrTPxceYDrRZr3UD90q1zb53BOZwEMGQ1c96IA5EM9sXTeF6l1MMHNRan2S1ogfuilfStbih4UwwZictNEgrA==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: d867ef5e-f0e1-48a1-3331-08d743370c63
X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Sep 2019 10:40:00.5455 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 5ae1af62-9505-4097-a69a-c1553ef7840e
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: ab4XnVYImBVqKQGsPHqJZb5zaLEPDXTkOAHyhhPGMcPG01RUWHRhzXQayKeGHDUULS37ejMPhBu5WFCawXjDkg==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB3872
X-OriginatorOrg: cisco.com
X-Outbound-SMTP-Client: 173.37.102.21, xch-rcd-011.cisco.com
X-Outbound-Node: rcdn-core-1.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/D4yS1secFhv-69h_Tdt9OLH_8Jg>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A__?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 10:40:10 -0000

SGksDQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogbmV0bW9kIDxuZXRt
b2QtYm91bmNlc0BpZXRmLm9yZz4gT24gQmVoYWxmIE9mIFNjaMO2bnfDpGxkZXIsIErDvHJnZW4N
Cj4gU2VudDogMjYgU2VwdGVtYmVyIDIwMTkgMTk6MzUNCj4gVG86IEFuZHkgQmllcm1hbiA8YW5k
eUB5dW1hd29ya3MuY29tPg0KPiBDYzogbmV0bW9kQGlldGYub3JnDQo+IFN1YmplY3Q6IFJlOiBb
bmV0bW9kXSBXaGF0J3MgdGhlIHByb2JsZW0gd2l0aCBOTURBPyB3YXMgUmU6IOetlOWkjTog562U
5aSNOg0KPiBQbGVhc2UgY2xhcmlmeSBpbXBsZW1lbnRhdGlvbiBhYm91dCDigJh3aGVu4oCZDQo+
IA0KPiBPbiBUaHUsIFNlcCAyNiwgMjAxOSBhdCAxMDo0NDowMUFNIC0wNzAwLCBBbmR5IEJpZXJt
YW4gd3JvdGU6DQo+IA0KPiA+IFRoZSBJRVRGIGhhcyBjb21wbGV0ZWx5IHB1bnRlZCB0aGUgcHJv
YmxlbSBvZiBjb252ZXJ0aW5nIGRhdGEgZm9yIGENCj4gPiBjb25maWd1cmF0aW9uIGRhdGFzdG9y
ZSB0byB0aGUgc2NoZW1hIHRyZWUgZm9yIDxvcGVyYXRpb25hbD4uDQo+IA0KPiBJIGFtIG5vdCBz
dXJlLiBUaGUgPG9wZXJhdGlvbmFsPiBtb2RlbCBjb25zaXN0cyBvZiB0aGUgYXBwbGllZA0KPiBj
b25maWd1cmF0aW9uIHBsdXMgYW55IGNvbmZpZyBmYWxzZSBleHRyYXMuIE5NREEgc2ltcGxpZmll
cyB0aGluZ3Mgc2luY2UNCj4gdGhlcmUgaXMgbm93IGEgc2luZ2xlIHRyZWUgc3RydWN0dXJlIGlu
c3RlYWQgb2YgdHdvIGlmIHlvdSBoYXZlIHRvIGhhbmRsZQ0KPiBtb2RlbHMgd2hlcmUgYXBwbGll
ZCBjb25maWd1cmF0aW9uIGNhbiBiZSBkaWZmZXJlbnQgdGhhbiBpbnRlbmRlZCBjb25maWcuDQo+
IElmIEkgY29uZmlndXJlIC9mb28vYmFyIGluIDxydW5uaW5nPiwgSSBjYW4gY2hlY2sgL2Zvby9i
YXIgaW4NCj4gPG9wZXJhdGlvbmFsPiB3aGV0aGVyIGl0IGV4aXN0cyBhbmQgbWF0Y2hlcyB3aGF0
IEkgY29uZmlndXJlZC4NCj4gDQo+ID4gRGV2aWF0aW9ucyBtYXkgYmUgZGlmZmVyZW50LiAgQSBs
ZWFmIG1heSBiZSBzdHJpbmcgaW4gMSB0cmVlIGFuZA0KPiA+IGRlY2ltYWw2NCBpbiB0aGUgb3Ro
ZXIuIFRoZXJlIGlzIGFuIGluY29ycmVjdCBhc3N1bXB0aW9uIHRoYXQgc29mdHdhcmUNCj4gPiBk
ZXZlbG9wZXJzIHdpbGwgZGVhbCB3aXRoIHRoZXNlIGNvcm5lci1jYXNlcyAoY29ycmVjdGx5IGFu
ZA0KPiA+IGNvbnNpc3RlbnRseSkuDQo+IA0KPiBOb3QgcmVhbGx5IHRydWUgZm9yIGFwcGxpZWQg
Y29uZmlnLiBBbmQgd2l0aCBub24gTk1EQSwgdGhlcmUgaXMgbm8NCj4gZ3VhcmFudGVlIGVpdGhl
ciB0aGF0IC9mb28vYmFyIGFuZCAvZm9vLXN0YXRlL2JhciB1c2UgdGhlIHNhbWUgdHlwZSBhbmQN
Cj4gc2VtYW50aWNzLg0KDQpJbmRlZWQuICBGb3Igbm9uLU5NREEsIGV2ZW4gaWYgL2Zvby9iYXIg
YW5kIC9mb28tc3RhdGUvYmFyIGFyZSB0aGUgc2FtZSB0eXBlIGluIHRoZSBwdWJsaXNoZWQgbW9k
ZWwsIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IGEgc2VydmVyIHdvbid0IGRldmlhdGUgdGhl
IC9mb28tc3RhdGUvYmFyIGxlYWYgdG8gY2hhbmdlIGl0cyB0eXBlIHRvIGRpZmZlciBmcm9tIC9m
b28vYmFyLCBhbmQgdGhpcyBpcyBhbGxvd2VkLg0KDQpCdXQgTk1EQSBpcyBhaW1pbmcgdG8gYmUg
YmV0dGVyIHRoYW4gdGhpcy4gIE9uZSBvZiB0aGUgZnVuZGFtZW50YWwgYWltcyBpcyB0aGF0IHRo
ZSBjb25maWcgYW5kIG9wZXJhdGlvbmFsIHZhbHVlcyBzaG91bGQgYmUgY29tcGFyYWJsZSwgb24g
dGhlIHNhbWUgcmVsYXRpdmUgZGF0YXN0b3JlIHBhdGggYW5kIGhhdmUgdGhlIHNhbWUgdHlwZS4N
Cg0KVGhhdCBpcyB3aHkgUkZDIDgzNDIgZG9lcyBub3QgYWxsb3cgYSBzZXJ2ZXIgdG8gY2hhbmdl
IHRoZSB0eXBlIG9mIGEgZGF0YSBub2RlIGluIG9wZXJhdGlvbmFsLCB0aGV5IGFyZSBvbmx5IGFs
bG93ZWQgdG8gcmVtb3ZlIGl0IHRvIGluZGljYXRlIHRoYXQgaXQgaXMgbm90IHN1cHBvcnRlZC4N
Cg0KUkZDIDgzNDIsIHNlY3Rpb24gNS4zIFRoZSBPcGVyYXRpb25hbCBTdGF0ZSBEYXRhc3RvcmUo
b3BlcmF0aW9uYWwpOg0KDQogICBUaGUgZGF0YXN0b3JlIHNjaGVtYSBmb3IgPG9wZXJhdGlvbmFs
PiBNVVNUIGJlIGEgc3VwZXJzZXQgb2YgdGhlDQogICBjb21iaW5lZCBkYXRhc3RvcmUgc2NoZW1h
IHVzZWQgaW4gYWxsIGNvbmZpZ3VyYXRpb24gZGF0YXN0b3JlcywNCiAgIGV4Y2VwdCB0aGF0IGNv
bmZpZ3VyYXRpb24gZGF0YSBub2RlcyBzdXBwb3J0ZWQgaW4gYSBjb25maWd1cmF0aW9uDQogICBk
YXRhc3RvcmUgTUFZIGJlIG9taXR0ZWQgZnJvbSA8b3BlcmF0aW9uYWw+IGlmIGEgc2VydmVyIGlz
IG5vdCBhYmxlDQogICB0byBhY2N1cmF0ZWx5IHJlcG9ydCB0aGVtLg0KDQpUaGUgaW50ZW50aW9u
IGhlcmUgaXM6DQogLSBJZiBhIHNlcnZlciBkb2VzIGEgZGV2aWF0ZSAiYWRkfHJlcGxhY2V8ZGVs
ZXRlIiBkZXZpYXRpb24gb24gYSBjb25maWcgZGF0YSBub2RlIHRoZW4gdGhhdCBzYW1lIGRldmlh
dGlvbiBNVVNUIGJlIGFwcGxpZWQgdG8gYWxsIGRhdGFzdG9yZXMgdGhhdCBjb250YWluIHRoYXQg
ZGF0YSBub2RlIGluIHRoZWlyIHNjaGVtYSAob3Igb3RoZXJ3aXNlIG9wZXJhdGlvbmFsIGNhbm5v
dCBiZSBhIHN1cGVyc2V0KS4NCiAtIEEgc2VydmVyIE1BWSBoYXZlIG9wZXJhdGlvbmFsIGRhdGFz
dG9yZSBzcGVjaWZpYyBkZXZpYXRlICJub3Qtc3VwcG9ydGVkIiBkZXZpYXRpb25zLiAgVGhlIHB1
cnBvc2Ugb2YgdGhpcyBpcyBtZWFudCB0byBoZWxwIG1pZ3JhdGlvbiwgaWRlYWxseSBzZXJ2ZXJz
IHdvdWxkIG5vdCBoYXZlIHRoZXNlIGRldmlhdGlvbnMuDQoNCkhlbmNlLCBhIGNsaWVudC9zZXJ2
ZXIgY2FuIGNvbnN0cnVjdCBhIHNpbmdsZSAic3VwZXJzZXQiIHNjaGVtYSBmb3IgdGhlIGRldmlj
ZSwgYW5kIHRoZW4gdGhlIHNjaGVtYSBmb3IgZWFjaCBpbmRpdmlkdWFsIGRhdGFzdG9yZSBtdXN0
IGJlIGEgc3Vic2V0IG9mIHRoYXQgInN1cGVyc2V0IiBzY2hlbWEgKHdpdGggdGhlIGFkZGVkIHJl
cXVpcmVtZW50IHRoYXQgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBzY2hlbWEgZm9yIGFsbCBjb252
ZW50aW9uYWwgZGF0YXN0b3JlcykuDQoNCkkgYXBwcmVjaWF0ZSB0aGF0IHRoZSBuZXcgWUFORyBs
aWJyYXJ5IHN0cnVjdHVyYWxseSBhbGxvd3MgaW52YWxpZCBzY2hlbWFzIHRvIGJlIGRlZmluZWQs
IGJ1dCB0aGVuIHNvIGRvZXMgdGhlIG9sZCBZQU5HIGxpYnJhcnkgYXMgd2VsbC4gIEUuZy4gdGhl
cmUgaXMgbm90aGluZyBpbiB0aGUgb2xkIFlBTkcgbGlicmFyeSBzdHJ1Y3R1cmUgdG8gcHJldmVu
dCBhIHNlcnZlciBmcm9tIHJlcG9ydGluZyB0aGF0IGl0IGltcGxlbWVudHMgdHdvIGRpZmZlcmVu
dCByZXZpc2lvbnMgb2YgdGhlIHNhbWUgWUFORyAxLjEgbW9kdWxlLg0KDQpUaGFua3MsDQpSb2IN
Cg0KDQo+IA0KPiA+IFRoZSBvdGhlciBiaWcgcHJvYmxlbSBpcyBhbiB1bnRlc3RlZCBOTURBIHRy
YW5zaXRpb24gc3RyYXRlZ3kgdGhhdCBpcw0KPiA+IG5vdCB3ZWxsIHVuZGVyc3Rvb2QgYnkgdmVu
ZG9ycy4NCj4gPiBTaG91bGQgbm9uLU5NREEgKC9mb28tc3RhdGUpIGJlIHZpc2libGUgdG8gPGdl
dC1kYXRhPiBvciBqdXN0IDxnZXQ+Pw0KPiANCj4gUGVyaGFwcyB0aGVyZSBpcyBtb3JlIGV4cGxh
bmF0aW9uIG5lY2Vzc2FyeS4gVGhlIGlkZWEgaGVyZSBpcyB0aGF0IGFuIE5NREENCj4gY2xpZW50
IHNob3VsZCBub3QgYm90aGVyIHRvIHNlYXJjaCBmb3IgL2Zvby1zdGF0ZSwgaXQgc2hvdWxkIHNl
bmQgYSA8Z2V0Pg0KPiBmb3IgL2Zvby9zdGF0ZSBpbiBvcGVyYXRpb25hbC4NCj4gDQo+IFllcywg
Tk1EQSByZXF1aXJlcyB1cGRhdGVzIHRvIGNsaWVudHMuIFdoZXRoZXIgdGhlc2UgYXJlIHZpc2li
bGUgb3IgaW4NCj4gd2hpY2ggZm9ybSB0aGV5IGFyZSB2aXNpYmxlIHRvIGFwcGxpY2F0aW9uIGxv
Z2ljIGxpa2VseSBkZXBlbmRzIG9uIHRoZQ0KPiBjbGllbnQgZGVzaWduLiBCdXQgeWVzLCBOTURB
IGlzIG5vdCBmb3IgZnJlZSBmb3IgY2xpZW50cy4gQnV0IG9uY2UgeW91DQo+IGhhdmUgdXBkYXRl
ZCwgd2UgYmVsaWV2ZSBOTURBIGFjdHVhbGx5IG1ha2VzIHRoaW5ncyBzaW1wbGVyIGFuZCBtb3Jl
DQo+IGNvbnNpc3RlbnQuDQo+IA0KPiA+IFVzaW5nIHRoZSBZQU5HIGxpYnJhcnkgdG8gc2VwYXJh
dGUgdGhlIG1vZHVsZXMgcmVsaWVzIG9uIHRoZQ0KPiA+IGFzc3VtcHRpb24gdGhhdCB0aGUgY2xp
ZW50IGlzIGNhcGFibGUgb2YgbWFuYWdpbmcgZWFjaCBkYXRhc3RvcmUNCj4gPiBpbmRlcGVuZGVu
dGx5IChpbnN0ZWFkIG9mDQo+ID4gMSBzY2hlbWEgdHJlZSBwZXIgc2VydmVyKS4NCj4gDQo+IFll
cywgWUFORyBsaWJyYXJ5IGNhbiBleHByZXNzIHByZXR0eSBjb21wbGV4IHNlcnZlciBtb2RlbCBv
cmdhbml6YXRpb25zLg0KPiBUaGlzIGRvZXMgbm90IG1lYW4gdGhhdCBhbGwgc2VydmVyIGhhdmUg
dG8gdXNlIHNlcnZlciBtb2RlbCBvcmdhbml6YXRpb25zLg0KPiBJIGFzc3VtZSB0aGF0IGFsc28g
bWFueSBjbGllbnRzIHdpbGwgbm90IGJlIGludGVyZXN0ZWQgdG8gdW5kZXJzdGFuZCB0aGUNCj4g
ZW50aXJlIHNlcnZlciBtb2RlbCwgdGhleSBsaWtlbHkgd2FudCB0byBjaGVjayB0aGUgZXhpc3Rh
bmNlIG9mIG9ubHkgdGhvc2UNCj4gcGllY2VzIHRoYXQgdGhleSBjYXJlIGFib3V0Lg0KPiANCj4g
L2pzDQo+IA0KPiAtLQ0KPiBKdWVyZ2VuIFNjaG9lbndhZWxkZXIgICAgICAgICAgIEphY29icyBV
bml2ZXJzaXR5IEJyZW1lbiBnR21iSA0KPiBQaG9uZTogKzQ5IDQyMSAyMDAgMzU4NyAgICAgICAg
IENhbXB1cyBSaW5nIDEgfCAyODc1OSBCcmVtZW4gfCBHZXJtYW55DQo+IEZheDogICArNDkgNDIx
IDIwMCAzMTAzICAgICAgICAgPGh0dHBzOi8vd3d3LmphY29icy11bml2ZXJzaXR5LmRlLz4NCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gbmV0bW9k
IG1haWxpbmcgbGlzdA0KPiBuZXRtb2RAaWV0Zi5vcmcNCj4gaHR0cHM6Ly93d3cuaWV0Zi5vcmcv
bWFpbG1hbi9saXN0aW5mby9uZXRtb2QNCg==


From nobody Fri Sep 27 04:47:57 2019
Return-Path: <0100016d728c76d7-615045cb-33d1-48d3-85cf-2e4a88125b00-000000@amazonses.watsen.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 76C7012011E; Fri, 27 Sep 2019 04:47:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.895
X-Spam-Level: 
X-Spam-Status: No, score=-1.895 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=amazonses.com
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 KjUkYCsbEPtS; Fri, 27 Sep 2019 04:47:53 -0700 (PDT)
Received: from a8-96.smtp-out.amazonses.com (a8-96.smtp-out.amazonses.com [54.240.8.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9D31212004F; Fri, 27 Sep 2019 04:47:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/simple; s=6gbrjpgwjskckoa6a5zn6fwqkn67xbtw; d=amazonses.com; t=1569584871; h=Content-Type:Mime-Version:Subject:From:In-Reply-To:Date:Cc:Content-Transfer-Encoding:Message-Id:References:To:Feedback-ID; bh=/ZkBe20wNfeWbqL/Bv1zYQCJXtFDuYkAt9NhOYT+Nik=; b=Su314QneeYOk94b6rkHaQGsRuzbUPkH4Tz5jx5Ph/o8fKRpXzXN7fe8IcJtTk5ub u9sNT0k9pgA1Cr4sJszdKjHUekvgAAN5oLeKuuKccywFVb0V1FkwPbSV0qYyVC6mRdS GhyJ7gNw7O/8gAGWiK6+3dKSR9dtvphYKd0tT9RU=
Content-Type: multipart/alternative; boundary=Apple-Mail-13BCA6E4-B96D-4DA3-B168-8E444BEBDBB9
Mime-Version: 1.0 (1.0)
From: Kent Watsen <kent+ietf@watsen.net>
X-Mailer: iPhone Mail (16G102)
In-Reply-To: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
Date: Fri, 27 Sep 2019 11:47:51 +0000
Cc: NETMOD Working Group <netmod@ietf.org>, NetMod WG Chairs <netmod-chairs@ietf.org>, draft-ietf-netmod-yang-data-ext@ietf.org
Content-Transfer-Encoding: 7bit
Message-ID: <0100016d728c76d7-615045cb-33d1-48d3-85cf-2e4a88125b00-000000@email.amazonses.com>
References: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
To: Joel Jaeggli <joelja@bogus.com>
X-SES-Outgoing: 2019.09.27-54.240.8.96
Feedback-ID: 1.us-east-1.DKmIRZFhhsBhtmFMNikgwZUWVrODEw9qVcPhqJEI2DA=:AmazonSES
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/h4t6stxyOB3ggSYdVetGOwWV5Nk>
Subject: Re: [netmod] IPR check draft-ietf-netmod-yang-data-ext-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 11:47:56 -0000

--Apple-Mail-13BCA6E4-B96D-4DA3-B168-8E444BEBDBB9
Content-Type: text/plain;
	charset=us-ascii
Content-Transfer-Encoding: 7bit

No, I'm not aware of any IPR that applies to this draft. 

Kent // as co-author 



> On Sep 27, 2019, at 1:35 AM, Joel Jaeggli <joelja@bogus.com> wrote:
> 
> Authors, Contributors, WG,
> 
> As part of WG Last Call for  draft-ietf-netmod-yang-data-ext-04
> 
> Are you aware of any IPR that applies to drafts identified above?
> 
> Please state either:
> 
> "No, I'm not aware of any IPR that applies to this draft"
> or
> "Yes, I'm aware of IPR that applies to this draft"
> 
> If so, has this IPR been disclosed in compliance with IETF IPR rules
> (see RFCs 3669, 5378 and 8179 for more details)?
> 
> If yes to the above, please state either:
> 
> "Yes, the IPR has been disclosed in compliance with IETF IPR rules"
> or
> "No, the IPR has not been disclosed"
> 
> If you answer no, please provide any additional details you think
> appropriate.
> 
> If you are listed as a document author or contributor please answer the
> above by responding to this email regardless of whether or not you are
> aware of any relevant IPR. This document will not advance to the next
> stage until a response has been received from each author and listed
> contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S
> TO LINES.
> 
> If you are on the WG email list or attend WG meetings but are not listed
> as an author or contributor, we remind you of your obligations under
> the IETF IPR rules which encourages you to notify the IETF if you are
> aware of IPR of others on an IETF contribution, or to refrain from
> participating in any contribution or discussion related to your
> undisclosed IPR. For more information, please see the RFCs listed above
> and
> http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty.
> 
> Thank you,
> NetMod WG Chairs
> 
> PS Please include all listed in the headers of this message in your
> response.
> 
> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod

--Apple-Mail-13BCA6E4-B96D-4DA3-B168-8E444BEBDBB9
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><span style=3D"background-color: rgba(255, 2=
55, 255, 0);">No, I'm not aware of any IPR that applies to this draft.&nbsp;=
</span><div><br></div><div>Kent // as co-author&nbsp;<br><br><div dir=3D"ltr=
"><br></div><div dir=3D"ltr"><br>On Sep 27, 2019, at 1:35 AM, Joel Jaeggli &=
lt;<a href=3D"mailto:joelja@bogus.com">joelja@bogus.com</a>&gt; wrote:<br><b=
r></div><blockquote type=3D"cite"><div dir=3D"ltr"><meta http-equiv=3D"Conte=
nt-Type" content=3D"text/html; charset=3Dus-ascii"><span style=3D"caret-colo=
r: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">Authors, Contributors, WG,=
</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D=
""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">=
<span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">A=
s part of WG Last Call for &nbsp;</span><font color=3D"#000000" class=3D""><=
span style=3D"caret-color: rgb(0, 0, 0);" class=3D"">draft-ietf-netmod-yang-=
data-ext-04</span></font><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0=
, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);" class=3D"">Are you aware of any IPR that applies to drafts identified a=
bove?</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" cl=
ass=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=
=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D=
"">Please state either:</span><br style=3D"caret-color: rgb(0, 0, 0); color:=
 rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rg=
b(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb=
(0, 0, 0);" class=3D"">"No, I'm not aware of any IPR that applies to this dr=
aft"</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" cla=
ss=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" clas=
s=3D"">or</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);=
" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"=
 class=3D"">"Yes, I'm aware of IPR that applies to this draft"</span><br sty=
le=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br style=3D=
"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"=
caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">If so, has this I=
PR been disclosed in compliance with IETF IPR rules</span><br style=3D"caret=
-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"caret-=
color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">(see RFCs 3669, 5378 a=
nd 8179 for more details)?</span><br style=3D"caret-color: rgb(0, 0, 0); col=
or: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color:=
 rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);" class=3D"">If yes to the above, please state either:</span><br=
 style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><br st=
yle=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span sty=
le=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">"Yes, the I=
PR has been disclosed in compliance with IETF IPR rules"</span><br style=3D"=
caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"c=
aret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">or</span><br styl=
e=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=
=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">"No, the IPR=
 has not been disclosed"</span><br style=3D"caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rg=
b(0, 0, 0);" class=3D"">If you answer no, please provide any additional deta=
ils you think</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);" class=3D"">appropriate.</span><br style=3D"caret-color: rgb(0, 0, 0); co=
lor: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color:=
 rgb(0, 0, 0);" class=3D"">If you are listed as a document author or contrib=
utor please answer the</span><br style=3D"caret-color: rgb(0, 0, 0); color: r=
gb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rg=
b(0, 0, 0);" class=3D"">above by responding to this email regardless of whet=
her or not you are</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0=
, 0, 0);" class=3D"">aware of any relevant IPR. This document will not advan=
ce to the next</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0=
, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);" class=3D"">stage until a response has been received from each author a=
nd listed</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);=
" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"=
 class=3D"">contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MES=
SAGE'S</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" c=
lass=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" cl=
ass=3D"">TO LINES.</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0=
, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);" class=3D"">If you are on the WG email list or attend WG meetings but a=
re not listed</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0,=
 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0=
);" class=3D"">as an author or contributor, we remind you of your obligation=
s under</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" c=
lass=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" cl=
ass=3D"">the IETF IPR rules which encourages you to notify the IETF if you a=
re</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=
=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D=
"">aware of IPR of others on an IETF contribution, or to refrain from</span>=
<br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><sp=
an style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">part=
icipating in any contribution or discussion related to your</span><br style=3D=
"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"=
caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">undisclosed IPR.=
 For more information, please see the RFCs listed above</span><br style=3D"c=
aret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><span style=3D"ca=
ret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">and</span><br styl=
e=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D""><a href=3D"=
http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty" class=3D=
"">http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty</a><=
span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">.<=
/span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D=
""><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">=
<span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);" class=3D"">T=
hank you,</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);=
" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"=
 class=3D"">NetMod WG Chairs</span><br style=3D"caret-color: rgb(0, 0, 0); c=
olor: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); colo=
r: rgb(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color=
: rgb(0, 0, 0);" class=3D"">PS Please include all listed in the headers of t=
his message in your</span><br style=3D"caret-color: rgb(0, 0, 0); color: rgb=
(0, 0, 0);" class=3D""><span style=3D"caret-color: rgb(0, 0, 0); color: rgb(=
0, 0, 0);" class=3D"">response.</span><br style=3D"caret-color: rgb(0, 0, 0)=
; color: rgb(0, 0, 0);" class=3D""><br style=3D"caret-color: rgb(0, 0, 0); c=
olor: rgb(0, 0, 0);" class=3D""></div></blockquote><blockquote type=3D"cite"=
><div dir=3D"ltr"><span>_______________________________________________</spa=
n><br><span>netmod mailing list</span><br><span><a href=3D"mailto:netmod@iet=
f.org">netmod@ietf.org</a></span><br><span><a href=3D"https://www.ietf.org/m=
ailman/listinfo/netmod">https://www.ietf.org/mailman/listinfo/netmod</a></sp=
an><br></div></blockquote></div></body></html>=

--Apple-Mail-13BCA6E4-B96D-4DA3-B168-8E444BEBDBB9--


From nobody Fri Sep 27 05:58:09 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 74617120815 for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 05:58:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 lrhEaYfoxloT for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 05:58:05 -0700 (PDT)
Received: from mail-lf1-x143.google.com (mail-lf1-x143.google.com [IPv6:2a00:1450:4864:20::143]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 327001200DF for <netmod@ietf.org>; Fri, 27 Sep 2019 05:58:05 -0700 (PDT)
Received: by mail-lf1-x143.google.com with SMTP id q11so1832261lfc.11 for <netmod@ietf.org>; Fri, 27 Sep 2019 05:58:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=gwsKPOIMk8L8irNCcLqVHhqjdw+GMMBFtxh9/SUtcrg=; b=ewfrVx+obK0lvCK7+QgvfvPDsvDzwr77kOmy6TKNOq3pfO3pnmdw8OKaoQA4SQh1qN qxDw3vw3AMv7rYxVCSRAeKQoR3Sx2VEPMLa6mBQi8jc30A/1Dn5u/XxThry54HrsDBKp lz2jk2RPf2xJXHsTXuxIMnhyhgGrELtBwl7Yez+gYO9n+VISK3q1mOmhjvJV+23L4oxo h1r427KCxwIAZnYWO8vGqnwvEZYn2V2X4CeLh/EYOij+xrAn9LwI6wIK8/Fyx+wKtv5y z4q4MH+got2vdxt05C0pucLatLa81cGKtRr9LhP6A+HPT8hT3xPbFW/k4ee0xb7u5Lq0 XEsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=gwsKPOIMk8L8irNCcLqVHhqjdw+GMMBFtxh9/SUtcrg=; b=J7d9YnRlu4k9ijH14iWwwcKewHKb9l8Sv3EtuQJR3K9FHa+ER1spRiwQtijTSOxiuN H/hEcd+scy9jjwQS4HyCsRzOSNgd9j56i9P1o0+chYu+fmiQ+eLWSx9D5bbUMhcwIF1Y +I4ShO8Vbu7UXepiVEJ4PjXFEcohdHN8KaQxfG9uSQnYKDcYU6iogDnhe8bTaMKKwBM1 ClzyNQkjBosxo+UPQth7zM32Le2fLPzAvP9GmqRXQEqJije69yGKJJrbE/ocU0x0ujBH VXV3WaX0sRKOONCUUVicF/NngQNiNXAdJzkfSYEEXkaCf8lZSsCUbhbI8HljcrQwa8j7 jH5Q==
X-Gm-Message-State: APjAAAX16LN50tzoRvPr/HZmSBVn5bG+BrB3sdIOzfG9ckfCE0/BG8dz /TAukg/b/IJ7TX+FwqmGTe6s6uevMiJHJ4pnbVqi2DrHrSc=
X-Google-Smtp-Source: APXvYqyEh11HlV/OW6IuqLMzGEd/dermjh/4O6NkscUxLxW9g4PPzFOf7uT1FPN3qrm4l8H/2ZZjh/5tvqwabjh7u4Q=
X-Received: by 2002:ac2:46f8:: with SMTP id q24mr2712504lfo.51.1569589083314;  Fri, 27 Sep 2019 05:58:03 -0700 (PDT)
MIME-Version: 1.0
References: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
In-Reply-To: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 27 Sep 2019 05:57:50 -0700
Message-ID: <CABCOCHQt_43MR9k-ErCCy_6vvwm4jC+q4P4W4eYrETyMm+j1TA@mail.gmail.com>
To: Joel Jaeggli <joelja@bogus.com>
Cc: NETMOD Working Group <netmod@ietf.org>, draft-ietf-netmod-yang-data-ext@ietf.org,  NetMod WG Chairs <netmod-chairs@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000c135d30593886f8b"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/oZDlEqz4oGXpmwu9SfYhCrAukOc>
Subject: Re: [netmod] IPR check draft-ietf-netmod-yang-data-ext-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 12:58:09 -0000

--000000000000c135d30593886f8b
Content-Type: text/plain; charset="UTF-8"

On Thu, Sep 26, 2019 at 10:35 PM Joel Jaeggli <joelja@bogus.com> wrote:

> Authors, Contributors, WG,
>
> As part of WG Last Call for  draft-ietf-netmod-yang-data-ext-04
>
> Are you aware of any IPR that applies to drafts identified above?
>
> Please state either:
>
>

 "No, I'm not aware of any IPR that applies to this draft"

Andy

"No, I'm not aware of any IPR that applies to this draft"
> or
> "Yes, I'm aware of IPR that applies to this draft"
>
> If so, has this IPR been disclosed in compliance with IETF IPR rules
> (see RFCs 3669, 5378 and 8179 for more details)?
>
> If yes to the above, please state either:
>
> "Yes, the IPR has been disclosed in compliance with IETF IPR rules"
> or
> "No, the IPR has not been disclosed"
>
> If you answer no, please provide any additional details you think
> appropriate.
>
> If you are listed as a document author or contributor please answer the
> above by responding to this email regardless of whether or not you are
> aware of any relevant IPR. This document will not advance to the next
> stage until a response has been received from each author and listed
> contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S
> TO LINES.
>
> If you are on the WG email list or attend WG meetings but are not listed
> as an author or contributor, we remind you of your obligations under
> the IETF IPR rules which encourages you to notify the IETF if you are
> aware of IPR of others on an IETF contribution, or to refrain from
> participating in any contribution or discussion related to your
> undisclosed IPR. For more information, please see the RFCs listed above
> and
> http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty.
>
> Thank you,
> NetMod WG Chairs
>
> PS Please include all listed in the headers of this message in your
> response.
>
>

--000000000000c135d30593886f8b
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Thu, Sep 26, 2019 at 10:35 PM Joel=
 Jaeggli &lt;<a href=3D"mailto:joelja@bogus.com">joelja@bogus.com</a>&gt; w=
rote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0p=
x 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div style=
=3D"overflow-wrap: break-word;"><span style=3D"color:rgb(0,0,0)">Authors, C=
ontributors, WG,</span><br style=3D"color:rgb(0,0,0)"><br style=3D"color:rg=
b(0,0,0)"><span style=3D"color:rgb(0,0,0)">As part of WG Last Call for =C2=
=A0</span><font color=3D"#000000"><span>draft-ietf-netmod-yang-data-ext-04<=
/span></font><br style=3D"color:rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)">=
<span style=3D"color:rgb(0,0,0)">Are you aware of any IPR that applies to d=
rafts identified above?</span><br style=3D"color:rgb(0,0,0)"><br style=3D"c=
olor:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">Please state either:</spa=
n><br style=3D"color:rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)"></div></blo=
ckquote><div><br></div><div><br></div><div>=C2=A0<span style=3D"color:rgb(0=
,0,0)">&quot;No, I&#39;m not aware of any IPR that applies to this draft&qu=
ot;</span></div><div><span style=3D"color:rgb(0,0,0)"><br></span></div><div=
><span style=3D"color:rgb(0,0,0)">Andy</span></div><div><span style=3D"colo=
r:rgb(0,0,0)"><br></span></div><blockquote class=3D"gmail_quote" style=3D"m=
argin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left=
:1ex"><div style=3D"overflow-wrap: break-word;"><span style=3D"color:rgb(0,=
0,0)">&quot;No, I&#39;m not aware of any IPR that applies to this draft&quo=
t;</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">or=
</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">&quo=
t;Yes, I&#39;m aware of IPR that applies to this draft&quot;</span><br styl=
e=3D"color:rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)"><span style=3D"color:=
rgb(0,0,0)">If so, has this IPR been disclosed in compliance with IETF IPR =
rules</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)"=
>(see RFCs 3669, 5378 and 8179 for more details)?</span><br style=3D"color:=
rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)"=
>If yes to the above, please state either:</span><br style=3D"color:rgb(0,0=
,0)"><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">&quot;=
Yes, the IPR has been disclosed in compliance with IETF IPR rules&quot;</sp=
an><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">or</span=
><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">&quot;No, =
the IPR has not been disclosed&quot;</span><br style=3D"color:rgb(0,0,0)"><=
br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">If you answe=
r no, please provide any additional details you think</span><br style=3D"co=
lor:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">appropriate.</span><br sty=
le=3D"color:rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)"><span style=3D"color=
:rgb(0,0,0)">If you are listed as a document author or contributor please a=
nswer the</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0=
,0)">above by responding to this email regardless of whether or not you are=
</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">awar=
e of any relevant IPR. This document will not advance to the next</span><br=
 style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">stage until a =
response has been received from each author and listed</span><br style=3D"c=
olor:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">contributor. NOTE: THIS A=
PPLIES TO ALL OF YOU LISTED IN THIS MESSAGE&#39;S</span><br style=3D"color:=
rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">TO LINES.</span><br style=3D"c=
olor:rgb(0,0,0)"><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,=
0,0)">If you are on the WG email list or attend WG meetings but are not lis=
ted</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">a=
s an author or contributor, we remind you of your obligations under</span><=
br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">the IETF IPR=
 rules which encourages you to notify the IETF if you are</span><br style=
=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">aware of IPR of othe=
rs on an IETF contribution, or to refrain from</span><br style=3D"color:rgb=
(0,0,0)"><span style=3D"color:rgb(0,0,0)">participating in any contribution=
 or discussion related to your</span><br style=3D"color:rgb(0,0,0)"><span s=
tyle=3D"color:rgb(0,0,0)">undisclosed IPR. For more information, please see=
 the RFCs listed above</span><br style=3D"color:rgb(0,0,0)"><span style=3D"=
color:rgb(0,0,0)">and</span><br style=3D"color:rgb(0,0,0)"><a href=3D"http:=
//trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty" target=3D"=
_blank">http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualPropert=
y</a><span style=3D"color:rgb(0,0,0)">.</span><br style=3D"color:rgb(0,0,0)=
"><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">Thank you=
,</span><br style=3D"color:rgb(0,0,0)"><span style=3D"color:rgb(0,0,0)">Net=
Mod WG Chairs</span><br style=3D"color:rgb(0,0,0)"><br style=3D"color:rgb(0=
,0,0)"><span style=3D"color:rgb(0,0,0)">PS Please include all listed in the=
 headers of this message in your</span><br style=3D"color:rgb(0,0,0)"><span=
 style=3D"color:rgb(0,0,0)">response.</span><br style=3D"color:rgb(0,0,0)">=
<br style=3D"color:rgb(0,0,0)"></div></blockquote></div></div>

--000000000000c135d30593886f8b--


From nobody Fri Sep 27 06:01:29 2019
Return-Path: <ietf.dmytro@shytyi.net>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1A492120144; Fri, 27 Sep 2019 06:01:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=shytyi.net
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 PvvyHx9yC02E; Fri, 27 Sep 2019 06:01:25 -0700 (PDT)
Received: from sender11-of-o52.zoho.eu (sender11-of-o52.zoho.eu [185.20.211.238]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2609A1200DF; Fri, 27 Sep 2019 06:01:24 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1569589265; cv=none; d=zohomail.eu; s=zohoarc;  b=Q08sgY8bZVUpv25dqT5XpGAVdrEaD+mDS2KQoTY1SO1e/f88PrY7EM/ccuVbNw5H6WPTDTjq8WcdgV8QYSAa+ERdEnMxM6YLaq19hssALvTDAPQKvAGO5TwZ/+GLYVxiMQMIlopV3lOjSDL06IqKbjkLENsivhjE5ODB3QpWwYk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.eu; s=zohoarc; t=1569589265; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To:ARC-Authentication-Results; bh=P5byFCN01PpDF2Iu63GNntyI50JtDOGgeGHEJfiFccM=;  b=LIwvRwYsa1fEe8McXTxx5QUG2R+aVECpVG3tF4Qo6qpzvY3LK3y/O/ulP5oVnhD9wZERcE+Y0racbAtyqup+IXErPl7xJ1whKpU/m369JUlcwHnrkv7JH2K4pozw32q4f1b/wdKKrp5kleMc/YV0nDMtF4ppZXem5+1luQ1WUFc=
ARC-Authentication-Results: i=1; mx.zohomail.eu; dkim=pass  header.i=shytyi.net; spf=pass  smtp.mailfrom=ietf.dmytro@shytyi.net; dmarc=pass header.from=<ietf.dmytro@shytyi.net> header.from=<ietf.dmytro@shytyi.net>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1569589265;  s=hs; d=shytyi.net; i=ietf.dmytro@shytyi.net; h=Date:From:To:Cc:Message-Id:In-Reply-To:References:Subject:MIME-Version:Content-Type; l=11756; bh=P5byFCN01PpDF2Iu63GNntyI50JtDOGgeGHEJfiFccM=; b=ZVGeV07ITR1OEUqdIjZvrhxhGZv4Mq5CfkVfXER9U2jszsl+tAX/nqHXAWvxJrzI 96ralJdSq0Z82w5ENKTIT2Ii5ikDM4axEUM4q/83V6KM3WRav09U1zKyBvvZLxaeAI1 aLDdP80GqAUM5j9tR3jg4ijSE5vAmxsl/GFyDWew=
Received: from sender-op-o12.zoho.eu (172.26.23.31 [172.26.23.31]) by mx.zoho.eu with SMTPS id 156958926556798.99181963631622; Fri, 27 Sep 2019 15:01:05 +0200 (CEST)
Received: from mail.zoho.eu by mx.zoho.eu with SMTP id 1569589265481473.9644425785981; Fri, 27 Sep 2019 15:01:05 +0200 (CEST)
Date: Fri, 27 Sep 2019 15:01:05 +0200
From: Dmytro Shytyi <ietf.dmytro@shytyi.net>
To: "Andy Bierman" <andy@yumaworks.com>
Cc: "Joel Jaeggli" <joelja@bogus.com>, "NetMod WG Chairs" <netmod-chairs@ietf.org>, "NETMOD Working Group" <netmod@ietf.org>, "draft-ietf-netmod-yang-data-ext" <draft-ietf-netmod-yang-data-ext@ietf.org>
Message-Id: <16d72cf8447.102647a0719908.2122840284654932022@shytyi.net>
In-Reply-To: <CABCOCHQt_43MR9k-ErCCy_6vvwm4jC+q4P4W4eYrETyMm+j1TA@mail.gmail.com>
References: <0A8BA26B-DA93-458C-86B6-EA231855C490@bogus.com> <CABCOCHQt_43MR9k-ErCCy_6vvwm4jC+q4P4W4eYrETyMm+j1TA@mail.gmail.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;  boundary="----=_Part_60826_1954318690.1569589265479"
X-Priority: Medium
User-Agent: Zoho Mail
X-Mailer: Zoho Mail
X-ZohoMailClient: External
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/gcg5mpG861slW6JOmX7HRILd4pg>
Subject: Re: [netmod] IPR check draft-ietf-netmod-yang-data-ext-04
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 13:01:28 -0000

------=_Part_60826_1954318690.1569589265479
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hello,

=E2=80=8B

No, I'm not aware of any IPR that applies to this draft


______________
Dmytro SHYTYI



---- On Fri, 27 Sep 2019 14:57:50 +0200 Andy Bierman <andy@yumaworks.com> w=
rote ----





On Thu, Sep 26, 2019 at 10:35 PM Joel Jaeggli <mailto:joelja@bogus.com> wro=
te:

Authors, Contributors, WG,

As part of WG Last Call for =C2=A0draft-ietf-netmod-yang-data-ext-04

Are you aware of any IPR that applies to drafts identified above?

Please state either:







=C2=A0"No, I'm not aware of any IPR that applies to this draft"



Andy



"No, I'm not aware of any IPR that applies to this draft"
or
"Yes, I'm aware of IPR that applies to this draft"

If so, has this IPR been disclosed in compliance with IETF IPR rules
(see RFCs 3669, 5378 and 8179 for more details)?

If yes to the above, please state either:

"Yes, the IPR has been disclosed in compliance with IETF IPR rules"
or
"No, the IPR has not been disclosed"

If you answer no, please provide any additional details you think
appropriate.

If you are listed as a document author or contributor please answer the
above by responding to this email regardless of whether or not you are
aware of any relevant IPR. This document will not advance to the next
stage until a response has been received from each author and listed
contributor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S
TO LINES.

If you are on the WG email list or attend WG meetings but are not listed
as an author or contributor, we remind you of your obligations under
the IETF IPR rules which encourages you to notify the IETF if you are
aware of IPR of others on an IETF contribution, or to refrain from
participating in any contribution or discussion related to your
undisclosed IPR. For more information, please see the RFCs listed above
and
http://trac.tools.ietf.org/group/iesg/trac/wiki/IntellectualProperty.

Thank you,
NetMod WG Chairs

PS Please include all listed in the headers of this message in your
response.





_______________________________________________
netmod mailing list=20
mailto:netmod@ietf.org=20
https://www.ietf.org/mailman/listinfo/netmod
------=_Part_60826_1954318690.1569589265479
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>=
<meta content=3D"text/html;charset=3DUTF-8" http-equiv=3D"Content-Type"></h=
ead><body ><div style=3D"font-family: Verdana, Arial, Helvetica, sans-serif=
; font-size: 10pt;"><div><span style=3D"color: rgb(0, 0, 0); font-family: L=
ato; font-size: 14px; font-style: normal; font-variant-ligatures: normal; f=
ont-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans=
: 2; text-align: start; text-indent: 0px; text-transform: none; white-space=
: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; bac=
kground-color: rgb(255, 255, 255); text-decoration-style: initial; text-dec=
oration-color: initial; display: inline !important; float: none;">Hello,</s=
pan><br></div><div><span style=3D"color: rgb(0, 0, 0); font-family: Lato; f=
ont-size: 14px; font-style: normal; font-variant-ligatures: normal; font-va=
riant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; t=
ext-align: start; text-indent: 0px; text-transform: none; white-space: norm=
al; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; backgroun=
d-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoratio=
n-color: initial; display: inline !important; float: none;">=E2=80=8B</span=
><br></div><div><span style=3D"color: rgb(0, 0, 0); font-family: Lato; font=
-size: 14px; font-style: normal; font-variant-ligatures: normal; font-varia=
nt-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text=
-align: start; text-indent: 0px; text-transform: none; white-space: normal;=
 widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-c=
olor: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-c=
olor: initial; display: inline !important; float: none;">No, I'm not aware =
of any IPR that applies to this draft</span><br></div><br><div data-zbluepe=
ncil-ignore=3D"true" id=3D"Zm-_Id_-Sgn"><div>______________<br><b>Dmytro SH=
YTYI</b></div></div><br><div style=3D"" class=3D"zmail_extra"><br><div id=
=3D"Zm-_Id_-Sgn1">---- On Fri, 27 Sep 2019 14:57:50 +0200 <b>Andy Bierman &=
lt;andy@yumaworks.com&gt;</b> wrote ----<br></div><br><blockquote style=3D"=
border-left: 1px solid rgb(204, 204, 204); padding-left: 6px; margin: 0px 0=
px 0px 5px;"><div><div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div clas=
s=3D"x_-887005320gmail_quote"><div class=3D"x_-887005320gmail_attr" dir=3D"=
ltr">On Thu, Sep 26, 2019 at 10:35 PM Joel Jaeggli &lt;<a target=3D"_blank"=
 href=3D"mailto:joelja@bogus.com">joelja@bogus.com</a>&gt; wrote:<br></div>=
<blockquote style=3D"margin: 0.0px 0.0px 0.0px 0.8ex;border-left: 1.0px sol=
id rgb(204,204,204);padding-left: 1.0ex;" class=3D"x_-887005320gmail_quote"=
><div style=3D""><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">Author=
s, Contributors, WG,</span><br style=3D"color: rgb(0,0,0);"><br style=3D"co=
lor: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">As pa=
rt of WG Last Call for &nbsp;</span><span class=3D"colour" style=3D"color:#=
000000"><span>draft-ietf-netmod-yang-data-ext-04</span></span><br style=3D"=
color: rgb(0,0,0);"><br style=3D"color: rgb(0,0,0);"><span class=3D"colour"=
 style=3D"color:rgb(0, 0, 0)">Are you aware of any IPR that applies to draf=
ts identified above?</span><br style=3D"color: rgb(0,0,0);"><br style=3D"co=
lor: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">Pleas=
e state either:</span><br style=3D"color: rgb(0,0,0);"><br style=3D"color: =
rgb(0,0,0);"></div></blockquote><div><br></div><div><br></div><div>&nbsp;<s=
pan class=3D"colour" style=3D"color:rgb(0, 0, 0)">"No, I'm not aware of any=
 IPR that applies to this draft"</span><br></div><div><span class=3D"colour=
" style=3D"color:rgb(0, 0, 0)"><br></span></div><div><span class=3D"colour"=
 style=3D"color:rgb(0, 0, 0)">Andy</span><br></div><div><span class=3D"colo=
ur" style=3D"color:rgb(0, 0, 0)"><br></span></div><blockquote style=3D"marg=
in: 0.0px 0.0px 0.0px 0.8ex;border-left: 1.0px solid rgb(204,204,204);paddi=
ng-left: 1.0ex;" class=3D"x_-887005320gmail_quote"><div style=3D""><span cl=
ass=3D"colour" style=3D"color:rgb(0, 0, 0)">"No, I'm not aware of any IPR t=
hat applies to this draft"</span><br style=3D"color: rgb(0,0,0);"><span cla=
ss=3D"colour" style=3D"color:rgb(0, 0, 0)">or</span><br style=3D"color: rgb=
(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">"Yes, I'm awa=
re of IPR that applies to this draft"</span><br style=3D"color: rgb(0,0,0);=
"><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rg=
b(0, 0, 0)">If so, has this IPR been disclosed in compliance with IETF IPR =
rules</span><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=
=3D"color:rgb(0, 0, 0)">(see RFCs 3669, 5378 and 8179 for more details)?</s=
pan><br style=3D"color: rgb(0,0,0);"><br style=3D"color: rgb(0,0,0);"><span=
 class=3D"colour" style=3D"color:rgb(0, 0, 0)">If yes to the above, please =
state either:</span><br style=3D"color: rgb(0,0,0);"><br style=3D"color: rg=
b(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">"Yes, the IP=
R has been disclosed in compliance with IETF IPR rules"</span><br style=3D"=
color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">or<=
/span><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"colo=
r:rgb(0, 0, 0)">"No, the IPR has not been disclosed"</span><br style=3D"col=
or: rgb(0,0,0);"><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" st=
yle=3D"color:rgb(0, 0, 0)">If you answer no, please provide any additional =
details you think</span><br style=3D"color: rgb(0,0,0);"><span class=3D"col=
our" style=3D"color:rgb(0, 0, 0)">appropriate.</span><br style=3D"color: rg=
b(0,0,0);"><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D=
"color:rgb(0, 0, 0)">If you are listed as a document author or contributor =
please answer the</span><br style=3D"color: rgb(0,0,0);"><span class=3D"col=
our" style=3D"color:rgb(0, 0, 0)">above by responding to this email regardl=
ess of whether or not you are</span><br style=3D"color: rgb(0,0,0);"><span =
class=3D"colour" style=3D"color:rgb(0, 0, 0)">aware of any relevant IPR. Th=
is document will not advance to the next</span><br style=3D"color: rgb(0,0,=
0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">stage until a resp=
onse has been received from each author and listed</span><br style=3D"color=
: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">contribu=
tor. NOTE: THIS APPLIES TO ALL OF YOU LISTED IN THIS MESSAGE'S</span><br st=
yle=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, =
0)">TO LINES.</span><br style=3D"color: rgb(0,0,0);"><br style=3D"color: rg=
b(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">If you are o=
n the WG email list or attend WG meetings but are not listed</span><br styl=
e=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)=
">as an author or contributor, we remind you of your obligations under</spa=
n><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rg=
b(0, 0, 0)">the IETF IPR rules which encourages you to notify the IETF if y=
ou are</span><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=
=3D"color:rgb(0, 0, 0)">aware of IPR of others on an IETF contribution, or =
to refrain from</span><br style=3D"color: rgb(0,0,0);"><span class=3D"colou=
r" style=3D"color:rgb(0, 0, 0)">participating in any contribution or discus=
sion related to your</span><br style=3D"color: rgb(0,0,0);"><span class=3D"=
colour" style=3D"color:rgb(0, 0, 0)">undisclosed IPR. For more information,=
 please see the RFCs listed above</span><br style=3D"color: rgb(0,0,0);"><s=
pan class=3D"colour" style=3D"color:rgb(0, 0, 0)">and</span><br style=3D"co=
lor: rgb(0,0,0);"><a target=3D"_blank" href=3D"http://trac.tools.ietf.org/g=
roup/iesg/trac/wiki/IntellectualProperty">http://trac.tools.ietf.org/group/=
iesg/trac/wiki/IntellectualProperty</a><span class=3D"colour" style=3D"colo=
r:rgb(0, 0, 0)">.</span><br style=3D"color: rgb(0,0,0);"><br style=3D"color=
: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(0, 0, 0)">Thank yo=
u,</span><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"c=
olor:rgb(0, 0, 0)">NetMod WG Chairs</span><br style=3D"color: rgb(0,0,0);">=
<br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"color:rgb(=
0, 0, 0)">PS Please include all listed in the headers of this message in yo=
ur</span><br style=3D"color: rgb(0,0,0);"><span class=3D"colour" style=3D"c=
olor:rgb(0, 0, 0)">response.</span><br style=3D"color: rgb(0,0,0);"><br sty=
le=3D"color: rgb(0,0,0);"></div></blockquote></div></div>__________________=
_____________________________<br>netmod mailing list <br><a target=3D"_blan=
k" href=3D"mailto:netmod@ietf.org">netmod@ietf.org</a> <br><a target=3D"_bl=
ank" href=3D"https://www.ietf.org/mailman/listinfo/netmod">https://www.ietf=
.org/mailman/listinfo/netmod</a> <br></div></blockquote></div><div><br></di=
v></div><br></body></html>
------=_Part_60826_1954318690.1569589265479--




From nobody Fri Sep 27 09:30:54 2019
Return-Path: <andy@yumaworks.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3D6AF12099E for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 09:30:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level: 
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=yumaworks-com.20150623.gappssmtp.com
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 o_gy8wYeCzwg for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 09:30:43 -0700 (PDT)
Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BAA4B1209A4 for <netmod@ietf.org>; Fri, 27 Sep 2019 09:30:42 -0700 (PDT)
Received: by mail-lj1-x22d.google.com with SMTP id y3so3107765ljj.6 for <netmod@ietf.org>; Fri, 27 Sep 2019 09:30:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yumaworks-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=TJvGeOrKObLnDzXrvPk7/+aj7FREqAvdtmJQNp24wrw=; b=SQtjRWNkn+pYMu3VkqLdtloO4ZE8qZo+yG0/JOOqjtfduNGjy0S+RB3pk5u6CrAGzc TS0VXvtxXL7l2MiEtRnOKxNgKtBSjZXUMbOVsPnCmPAKPaIscQDeaoWX759b1JUm5q+s QIuaMt9Ago3uEWjcrhyKoXc5AFO9EFf6c4x7l2+RhSXN06uxw8epwR3uwta2sSyrU+bd mYmsetGrvC9EmAG5merLb68dv5SK9zOXyUEeddYYpTw0NhQD+YZaJEhHQAJvs8m38ai0 dd5LU+RpMY9K2QpsTql8P+/UfJc+ATIWkRUGWR/YDg91NdOlR2Naxkk5QcvYDksh7coQ h/5Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=TJvGeOrKObLnDzXrvPk7/+aj7FREqAvdtmJQNp24wrw=; b=de2IGzQQZ/YB5dxbUt0WyY3gqiBcN2TMh3rWGIKFsDyU1/glJO+nczWRj8r7hvDxKU i1PxH9w33DB5JVQhJcSUiQ64XGH6IyceEbvkK/ZTOo3wtckHEinMPnQiwA//fTEtZn5D x7ug6hjs2nvphp04nWDyVB8GE9WjHE/6NXWu7TdDQMSghHJj+HWIBQUg0Jtyroxd1lx9 L9W80K2JLmzggDNpdBWA8WuQgJtZLXSsHvLPsC+y/4YauDPq3gLaRUsIjH45kyJQ+VDV O7Ikw3AulPXB9xICJbjZ1BGCdxLkDDNiIyGRtWG2NjvZhgFW5WegFPtoFQIFFDX2bX3Y xE0Q==
X-Gm-Message-State: APjAAAUZG04evHKNCJ+FcMo8jjpqDHOwxV6/wL2txD2MDskdOI782dFq iunehENyISJiKQhAdGvP3JKo0t8DSyVgZPIZTF9sJQ==
X-Google-Smtp-Source: APXvYqxIrnPMksQ16YQPbjrSXDql5e/N6Hv5qCLnHhI275cKV+KZtXBGs6+1U95sIFsasFHQFamC4Itot3I/TfD25qs=
X-Received: by 2002:a05:651c:104b:: with SMTP id x11mr3605472ljm.218.1569601840809;  Fri, 27 Sep 2019 09:30:40 -0700 (PDT)
MIME-Version: 1.0
References: <87h84z4kmw.fsf@nic.cz> <20190926.085644.1268671875357328723.mbj@tail-f.com> <9bc06f9f3f1c87c79ccce4e1c4d40755c804875a.camel@nic.cz> <20190926.094526.272771637371098799.mbj@tail-f.com> <MN2PR11MB4366078636D6030398489551B5860@MN2PR11MB4366.namprd11.prod.outlook.com> <CABCOCHQzmDjH+7wqFmrSsnaD0T_Q1LPsDi0yuY9Ow2gSvef4SA@mail.gmail.com> <01c701d57485$400d8d40$4001a8c0@gateway.2wire.net> <CABCOCHRse2RJkoQ1r6pf+F4qP8MUn+4ypBY3M5zH+0QWoqBpuQ@mail.gmail.com> <20190926183514.6jxnybluwdubrzvy@anna.jacobs.jacobs-university.de> <MN2PR11MB4366886642F8F9693F0A22F2B5810@MN2PR11MB4366.namprd11.prod.outlook.com>
In-Reply-To: <MN2PR11MB4366886642F8F9693F0A22F2B5810@MN2PR11MB4366.namprd11.prod.outlook.com>
From: Andy Bierman <andy@yumaworks.com>
Date: Fri, 27 Sep 2019 09:30:29 -0700
Message-ID: <CABCOCHQhRQWo_PhMV=RtSm76wk3U5SO0tNf-NrdBd4=VjHbJ-Q@mail.gmail.com>
To: "Rob Wilton (rwilton)" <rwilton@cisco.com>
Cc: =?UTF-8?B?U2Now7Zud8OkbGRlciwgSsO8cmdlbg==?= <J.Schoenwaelder@jacobs-university.de>,  "netmod@ietf.org" <netmod@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000291c3405938b688d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/mOXa5SKOR9aZFcwXHiEs0ZpKj-I>
Subject: Re: [netmod]  =?utf-8?q?What=27s_the_problem_with_NMDA=3F_was_Re=3A_?= =?utf-8?b?562U5aSNOiDnrZTlpI06IFBsZWFzZSBjbGFyaWZ5IGltcGxlbWVudGF0aW9u?= =?utf-8?b?IGFib3V0IOKAmHdoZW7igJk=?=
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 27 Sep 2019 16:30:46 -0000

--000000000000291c3405938b688d
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 27, 2019 at 3:40 AM Rob Wilton (rwilton) <rwilton@cisco.com>
wrote:

> Hi,
>
> > -----Original Message-----
> > From: netmod <netmod-bounces@ietf.org> On Behalf Of Sch=C3=B6nw=C3=A4ld=
er, J=C3=BCrgen
> > Sent: 26 September 2019 19:35
> > To: Andy Bierman <andy@yumaworks.com>
> > Cc: netmod@ietf.org
> > Subject: Re: [netmod] What's the problem with NMDA? was Re: =E7=AD=94=
=E5=A4=8D: =E7=AD=94=E5=A4=8D:
> > Please clarify implementation about =E2=80=98when=E2=80=99
> >
> > On Thu, Sep 26, 2019 at 10:44:01AM -0700, Andy Bierman wrote:
> >
> > > The IETF has completely punted the problem of converting data for a
> > > configuration datastore to the schema tree for <operational>.
> >
> > I am not sure. The <operational> model consists of the applied
> > configuration plus any config false extras. NMDA simplifies things sinc=
e
> > there is now a single tree structure instead of two if you have to hand=
le
> > models where applied configuration can be different than intended confi=
g.
> > If I configure /foo/bar in <running>, I can check /foo/bar in
> > <operational> whether it exists and matches what I configured.
> >
> > > Deviations may be different.  A leaf may be string in 1 tree and
> > > decimal64 in the other. There is an incorrect assumption that softwar=
e
> > > developers will deal with these corner-cases (correctly and
> > > consistently).
> >
> > Not really true for applied config. And with non NMDA, there is no
> > guarantee either that /foo/bar and /foo-state/bar use the same type and
> > semantics.
>
> Indeed.  For non-NMDA, even if /foo/bar and /foo-state/bar are the same
> type in the published model, there is no guarantee that a server won't
> deviate the /foo-state/bar leaf to change its type to differ from /foo/ba=
r,
> and this is allowed.
>
> But NMDA is aiming to be better than this.  One of the fundamental aims i=
s
> that the config and operational values should be comparable, on the same
> relative datastore path and have the same type.
>
> That is why RFC 8342 does not allow a server to change the type of a data
> node in operational, they are only allowed to remove it to indicate that =
it
> is not supported.
>
> RFC 8342, section 5.3 The Operational State Datastore(operational):
>
>    The datastore schema for <operational> MUST be a superset of the
>    combined datastore schema used in all configuration datastores,
>    except that configuration data nodes supported in a configuration
>    datastore MAY be omitted from <operational> if a server is not able
>    to accurately report them.
>
> The intention here is:
>  - If a server does a deviate "add|replace|delete" deviation on a config
> data node then that same deviation MUST be applied to all datastores that
> contain that data node in their schema (or otherwise operational cannot b=
e
> a superset).
>  - A server MAY have operational datastore specific deviate
> "not-supported" deviations.  The purpose of this is meant to help
> migration, ideally servers would not have these deviations.
>
> Hence, a client/server can construct a single "superset" schema for the
> device, and then the schema for each individual datastore must be a subse=
t
> of that "superset" schema (with the added requirement that there is only =
a
> single schema for all conventional datastores).
>
>
IMO the new YANG library is the most disruptive and complex way possible to
express
a simple capability "operational value for configuration object foo
supported or not".
I prefer the capabilities module approach in
https://tools.ietf.org/html/draft-ietf-netconf-notification-capabilities-04
Deprecating the YANG library and starting over is kind of a
bull-in-the-china-shop
approach to advertising some server capabilities.


I appreciate that the new YANG library structurally allows invalid schemas
> to be defined, but then so does the old YANG library as well.  E.g. there
> is nothing in the old YANG library structure to prevent a server from
> reporting that it implements two different revisions of the same YANG 1.1
> module.
>
> Thanks,
> Rob
>
>

Andy


>
> >
> > > The other big problem is an untested NMDA transition strategy that is
> > > not well understood by vendors.
> > > Should non-NMDA (/foo-state) be visible to <get-data> or just <get>?
> >
> > Perhaps there is more explanation necessary. The idea here is that an
> NMDA
> > client should not bother to search for /foo-state, it should send a <ge=
t>
> > for /foo/state in operational.
> >
> > Yes, NMDA requires updates to clients. Whether these are visible or in
> > which form they are visible to application logic likely depends on the
> > client design. But yes, NMDA is not for free for clients. But once you
> > have updated, we believe NMDA actually makes things simpler and more
> > consistent.
> >
> > > Using the YANG library to separate the modules relies on the
> > > assumption that the client is capable of managing each datastore
> > > independently (instead of
> > > 1 schema tree per server).
> >
> > Yes, YANG library can express pretty complex server model organizations=
.
> > This does not mean that all server have to use server model
> organizations.
> > I assume that also many clients will not be interested to understand th=
e
> > entire server model, they likely want to check the existance of only
> those
> > pieces that they care about.
> >
> > /js
> >
> > --
> > Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> > Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> > Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>
> > _______________________________________________
> > netmod mailing list
> > netmod@ietf.org
> > https://www.ietf.org/mailman/listinfo/netmod
>

--000000000000291c3405938b688d
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Fri, Sep 27, 2019 at 3:40 AM Rob W=
ilton (rwilton) &lt;<a href=3D"mailto:rwilton@cisco.com">rwilton@cisco.com<=
/a>&gt; wrote:<br></div><blockquote class=3D"gmail_quote" style=3D"margin:0=
px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">H=
i,<br>
<br>
&gt; -----Original Message-----<br>
&gt; From: netmod &lt;<a href=3D"mailto:netmod-bounces@ietf.org" target=3D"=
_blank">netmod-bounces@ietf.org</a>&gt; On Behalf Of Sch=C3=B6nw=C3=A4lder,=
 J=C3=BCrgen<br>
&gt; Sent: 26 September 2019 19:35<br>
&gt; To: Andy Bierman &lt;<a href=3D"mailto:andy@yumaworks.com" target=3D"_=
blank">andy@yumaworks.com</a>&gt;<br>
&gt; Cc: <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.o=
rg</a><br>
&gt; Subject: Re: [netmod] What&#39;s the problem with NMDA? was Re: =E7=AD=
=94=E5=A4=8D: =E7=AD=94=E5=A4=8D:<br>
&gt; Please clarify implementation about =E2=80=98when=E2=80=99<br>
&gt; <br>
&gt; On Thu, Sep 26, 2019 at 10:44:01AM -0700, Andy Bierman wrote:<br>
&gt; <br>
&gt; &gt; The IETF has completely punted the problem of converting data for=
 a<br>
&gt; &gt; configuration datastore to the schema tree for &lt;operational&gt=
;.<br>
&gt; <br>
&gt; I am not sure. The &lt;operational&gt; model consists of the applied<b=
r>
&gt; configuration plus any config false extras. NMDA simplifies things sin=
ce<br>
&gt; there is now a single tree structure instead of two if you have to han=
dle<br>
&gt; models where applied configuration can be different than intended conf=
ig.<br>
&gt; If I configure /foo/bar in &lt;running&gt;, I can check /foo/bar in<br=
>
&gt; &lt;operational&gt; whether it exists and matches what I configured.<b=
r>
&gt; <br>
&gt; &gt; Deviations may be different.=C2=A0 A leaf may be string in 1 tree=
 and<br>
&gt; &gt; decimal64 in the other. There is an incorrect assumption that sof=
tware<br>
&gt; &gt; developers will deal with these corner-cases (correctly and<br>
&gt; &gt; consistently).<br>
&gt; <br>
&gt; Not really true for applied config. And with non NMDA, there is no<br>
&gt; guarantee either that /foo/bar and /foo-state/bar use the same type an=
d<br>
&gt; semantics.<br>
<br>
Indeed.=C2=A0 For non-NMDA, even if /foo/bar and /foo-state/bar are the sam=
e type in the published model, there is no guarantee that a server won&#39;=
t deviate the /foo-state/bar leaf to change its type to differ from /foo/ba=
r, and this is allowed.<br>
<br>
But NMDA is aiming to be better than this.=C2=A0 One of the fundamental aim=
s is that the config and operational values should be comparable, on the sa=
me relative datastore path and have the same type.<br>
<br>
That is why RFC 8342 does not allow a server to change the type of a data n=
ode in operational, they are only allowed to remove it to indicate that it =
is not supported.<br>
<br>
RFC 8342, section 5.3 The Operational State Datastore(operational):<br>
<br>
=C2=A0 =C2=A0The datastore schema for &lt;operational&gt; MUST be a superse=
t of the<br>
=C2=A0 =C2=A0combined datastore schema used in all configuration datastores=
,<br>
=C2=A0 =C2=A0except that configuration data nodes supported in a configurat=
ion<br>
=C2=A0 =C2=A0datastore MAY be omitted from &lt;operational&gt; if a server =
is not able<br>
=C2=A0 =C2=A0to accurately report them.<br>
<br>
The intention here is:<br>
=C2=A0- If a server does a deviate &quot;add|replace|delete&quot; deviation=
 on a config data node then that same deviation MUST be applied to all data=
stores that contain that data node in their schema (or otherwise operationa=
l cannot be a superset).<br>
=C2=A0- A server MAY have operational datastore specific deviate &quot;not-=
supported&quot; deviations.=C2=A0 The purpose of this is meant to help migr=
ation, ideally servers would not have these deviations.<br>
<br>
Hence, a client/server can construct a single &quot;superset&quot; schema f=
or the device, and then the schema for each individual datastore must be a =
subset of that &quot;superset&quot; schema (with the added requirement that=
 there is only a single schema for all conventional datastores).<br>
<br></blockquote><div><br></div><div>IMO the new YANG library is the most d=
isruptive and complex way possible to express</div><div>a simple capability=
 &quot;operational value for configuration object foo supported or not&quot=
;.</div><div>I prefer the capabilities module approach in=C2=A0=C2=A0<a hre=
f=3D"https://tools.ietf.org/html/draft-ietf-netconf-notification-capabiliti=
es-04">https://tools.ietf.org/html/draft-ietf-netconf-notification-capabili=
ties-04</a><br></div><div>Deprecating the YANG library and starting over is=
 kind of a bull-in-the-china-shop</div><div>approach to advertising some se=
rver capabilities.</div><div><br></div><div><br></div><blockquote class=3D"=
gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(20=
4,204,204);padding-left:1ex">
I appreciate that the new YANG library structurally allows invalid schemas =
to be defined, but then so does the old YANG library as well.=C2=A0 E.g. th=
ere is nothing in the old YANG library structure to prevent a server from r=
eporting that it implements two different revisions of the same YANG 1.1 mo=
dule.<br>
<br>
Thanks,<br>
Rob<br>
<br></blockquote><div><br></div><div><br></div><div>Andy</div><div>=C2=A0</=
div><blockquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;bor=
der-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
&gt; <br>
&gt; &gt; The other big problem is an untested NMDA transition strategy tha=
t is<br>
&gt; &gt; not well understood by vendors.<br>
&gt; &gt; Should non-NMDA (/foo-state) be visible to &lt;get-data&gt; or ju=
st &lt;get&gt;?<br>
&gt; <br>
&gt; Perhaps there is more explanation necessary. The idea here is that an =
NMDA<br>
&gt; client should not bother to search for /foo-state, it should send a &l=
t;get&gt;<br>
&gt; for /foo/state in operational.<br>
&gt; <br>
&gt; Yes, NMDA requires updates to clients. Whether these are visible or in=
<br>
&gt; which form they are visible to application logic likely depends on the=
<br>
&gt; client design. But yes, NMDA is not for free for clients. But once you=
<br>
&gt; have updated, we believe NMDA actually makes things simpler and more<b=
r>
&gt; consistent.<br>
&gt; <br>
&gt; &gt; Using the YANG library to separate the modules relies on the<br>
&gt; &gt; assumption that the client is capable of managing each datastore<=
br>
&gt; &gt; independently (instead of<br>
&gt; &gt; 1 schema tree per server).<br>
&gt; <br>
&gt; Yes, YANG library can express pretty complex server model organization=
s.<br>
&gt; This does not mean that all server have to use server model organizati=
ons.<br>
&gt; I assume that also many clients will not be interested to understand t=
he<br>
&gt; entire server model, they likely want to check the existance of only t=
hose<br>
&gt; pieces that they care about.<br>
&gt; <br>
&gt; /js<br>
&gt; <br>
&gt; --<br>
&gt; Juergen Schoenwaelder=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Jacobs U=
niversity Bremen gGmbH<br>
&gt; Phone: +49 421 200 3587=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0Campus Ring 1=
 | 28759 Bremen | Germany<br>
&gt; Fax:=C2=A0 =C2=A0+49 421 200 3103=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0&lt=
;<a href=3D"https://www.jacobs-university.de/" rel=3D"noreferrer" target=3D=
"_blank">https://www.jacobs-university.de/</a>&gt;<br>
&gt; _______________________________________________<br>
&gt; netmod mailing list<br>
&gt; <a href=3D"mailto:netmod@ietf.org" target=3D"_blank">netmod@ietf.org</=
a><br>
&gt; <a href=3D"https://www.ietf.org/mailman/listinfo/netmod" rel=3D"norefe=
rrer" target=3D"_blank">https://www.ietf.org/mailman/listinfo/netmod</a><br=
>
</blockquote></div></div>

--000000000000291c3405938b688d--


From nobody Fri Sep 27 18:40:00 2019
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7B5F5120026 for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 18:39:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level: 
X-Spam-Status: No, score=-1.998 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 zQvk2PM8EkSv for <netmod@ietfa.amsl.com>; Fri, 27 Sep 2019 18:39:56 -0700 (PDT)
Received: from mail-pg1-x52a.google.com (mail-pg1-x52a.google.com [IPv6:2607:f8b0:4864:20::52a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E178012000F for <netmod@ietf.org>; Fri, 27 Sep 2019 18:39:56 -0700 (PDT)
Received: by mail-pg1-x52a.google.com with SMTP id t14so4358291pgs.3 for <netmod@ietf.org>; Fri, 27 Sep 2019 18:39:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=from:mime-version:subject:message-id:date:to; bh=SgngeLEyX9347U1X/XwjsOhPORBWiDT2fxNdwVPTEN4=; b=pFveykXTplTso0V573/BNqHJmSJbtSY/24pHwfOfShgB305wGbQqYrP/l9VbcrXi0U Dw2+1cmj8GHGx/uUR6nD0G8BvyQSFFRo6EyRJp2yDOITTzjcrVaUOo/l5arSW2LzMegD j9Z2u61sDcfUWzRhwA/GsFIlqreQrFbL77+A0AgJxLhDQYsm+4A9eFLoWoG/IW7h4pm7 cjHExBCNxTX4iLP0iUe7fLsVeEjqVUew217qcYyi/SOxU/5WCrQUZnc4oc1Y/BbWh4wl SGzoXOhSGGzlpkZXDkuQYMEXsZhcETZbaV6rEss+L9Y4pg74aPPli+ax7VjaaZ6eIMIT L4IQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:mime-version:subject:message-id:date:to; bh=SgngeLEyX9347U1X/XwjsOhPORBWiDT2fxNdwVPTEN4=; b=unYjZxkhz9g9cBSwqMIuOqRRk1BjLrbIAqkU5znCi3CSfCrXmC0mUWujBVuExRhWA8 gUUJgcceZWmVqPbT37cr0VQ4vonUyu7zaFoFij1J698s6N5kwHR1LOXCNeBgQDZK9fQJ wt27PhA5LTg6KyZ13333mln/Gt1KIkDqb9mmVCkE8c1Gobuy+aeOKomvXvb8mc62lCPp YQtgB3z3NOa5kb7O5PGOmcjke0c8pHKDzBp4xTARETa0a830SOmEO8ipQXfJ33Eu95MZ DjmXwUZ90SYCLy5LB5uhJIz7LVshAKKJJx1rFqWxEvnTdXasNhBSWXIn+llPqAkJk5lx u44Q==
X-Gm-Message-State: APjAAAVSrqJMMMOZyymH6jO6H2KmmFm/a8bZZU8GOsgb2dLpPS1P2awF ozh/rlAhTSWSOf9m+M4hHwuGUYDYHeM=
X-Google-Smtp-Source: APXvYqzs3B4KsE7iAkTx0Q9XrEEqv/K1JZZIAKVw5e01IQRPKLplADADBL4vPZ8JFrpcSNFvvGNG9A==
X-Received: by 2002:a62:1888:: with SMTP id 130mr8072006pfy.72.1569634795998;  Fri, 27 Sep 2019 18:39:55 -0700 (PDT)
Received: from ?IPv6:2601:647:5600:5020:8966:a5ac:204d:e8de? ([2601:647:5600:5020:8966:a5ac:204d:e8de]) by smtp.gmail.com with ESMTPSA id z12sm4195076pfj.41.2019.09.27.18.39.55 for <netmod@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 27 Sep 2019 18:39:55 -0700 (PDT)
From: Mahesh Jethanandani <mjethanandani@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_D6B9C177-6744-4715-999B-2C4F2EB8FE58"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Message-Id: <8F6D6E58-CCB2-4404-AFB1-876EBE5721E7@gmail.com>
Date: Fri, 27 Sep 2019 18:39:54 -0700
To: netmod <netmod@ietf.org>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/lpN4MZz-82XFpGIODBSyJhxFoms>
Subject: [netmod] 6991bis - Any plans to add more URI Syntax components?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 28 Sep 2019 01:39:59 -0000

--Apple-Mail=_D6B9C177-6744-4715-999B-2C4F2EB8FE58
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii

Hi Juergen,

Is there a plan to add more URI syntax components in rfc6991bis? I know =
there is a typedef for uri, but I was looking specifically for the =
following that are defined in RFC 3986.
Scheme
Authority field including
User information
Path
Query
Fragment

Thanks.

Mahesh Jethanandani
mjethanandani@gmail.com




--Apple-Mail=_D6B9C177-6744-4715-999B-2C4F2EB8FE58
Content-Transfer-Encoding: 7bit
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi Juergen,<div class=""><br class=""></div><div class="">Is there a plan to add more URI syntax components in rfc6991bis? I know there is a typedef for uri, but I was looking specifically for the following that are defined in RFC 3986.</div><div class=""><ul class="MailOutline"><li class="">Scheme</li><li class="">Authority field including</li><ul class=""><li class="">User information</li></ul><li class="">Path</li><li class="">Query</li><li class="">Fragment</li></ul><div class=""><br class=""></div><div class="">Thanks.</div><div class=""><br class=""></div><div class="">
<div class="">Mahesh Jethanandani</div><div class=""><a href="mailto:mjethanandani@gmail.com" class="">mjethanandani@gmail.com</a></div><div class=""><br class=""></div><br class="Apple-interchange-newline">

</div>

<br class=""></div></body></html>
--Apple-Mail=_D6B9C177-6744-4715-999B-2C4F2EB8FE58--


From nobody Sat Sep 28 01:57:24 2019
Return-Path: <J.Schoenwaelder@jacobs-university.de>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0BD61120098 for <netmod@ietfa.amsl.com>; Sat, 28 Sep 2019 01:57:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.925
X-Spam-Level: 
X-Spam-Status: No, score=-1.925 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.026, SPF_NONE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=jacobsuniversity.onmicrosoft.com
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 nFwdBLyjgWjf for <netmod@ietfa.amsl.com>; Sat, 28 Sep 2019 01:57:20 -0700 (PDT)
Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80041.outbound.protection.outlook.com [40.107.8.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7B82D120045 for <netmod@ietf.org>; Sat, 28 Sep 2019 01:57:19 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GW+hxCWm3Nhmiwh/kdVxovT1xpjJ8pBcSjP9qJza8txT1exHPiAwGK13sHHYqC46H/NfRQg7npsYkDNuDunNDFuJLOqn2vapEsBmkbbFWVFbsjCdkrOIOL4Rponu3OBch1J5pqfYg1tcyRAPd7cmJXOlF+0ew44vFTAmM7g2lse8KqOY6IgUK57jHz6ulJTGDYZmu+OhC8utWG4Z4fkjGTQx5r8tUn2eDp73IIEzqKTj0enH1h/47TnaXAxWimPMb81v9H7FCEpsi7rGeq6uTz3d7pMJQUqdoq0WBZTIAuW7AiUWRicDLBfPyalkOminMDa3hXwCe3U6cg3ElWTQNQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;  s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V6duOWe04M9DLXw6NROykD79uVxcodkZiFaL4wfJc6I=; b=c5Kemab93y/GPBE4uwxR80dbseWc5iSl/+dB/YHB72CDsqbwn35bqe+U6w+NxiyFhMt0HY57oZJWSnMS587WhD6yU68loDrrZb2mRDZodsaDjOtTAp57uSMfUEokxIZ9SmENV+knmA7OPVMm+9rT2/3SufgGlXq7N79BOBKj0ZfYZNAAZt9YQffYbimfo0O07nkR/vCqNISdu6jFhAS6Byu1ypmsvUgeHKQ6bE1TOe4SAKjtyoBgJ76Ycc6Dbl1aW3PQERC+xWt/SF3zWLrNqr0yeY0XzmGJvZVmHXkwhiJQQwfkTw0UjF3C02Ny1qYB+9M2jvWL7He5tSq8Bsx0Ng==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=jacobs-university.de; dmarc=pass action=none header.from=jacobs-university.de; dkim=pass header.d=jacobs-university.de; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jacobsuniversity.onmicrosoft.com; s=selector2-jacobsuniversity-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=V6duOWe04M9DLXw6NROykD79uVxcodkZiFaL4wfJc6I=; b=PHJB59lXxIe01WNB/pxGsY1eFx5kHEdFELFulJI+KSwsC9unRMXB50hQph/KGnvFxNNozKPl2YoWjStCPhW2I7xSh7mJZi2EL+bNZnqvYJXPuZOQOoxNakOv5D5FzSRmTwAqqky/j0VvtyliM1PDr+1l5wWyv5NJcj1ixMR2n8E=
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (10.186.159.71) by VI1P190MB0607.EURP190.PROD.OUTLOOK.COM (10.186.158.74) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.20; Sat, 28 Sep 2019 08:57:17 +0000
Received: from VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4]) by VI1P190MB0686.EURP190.PROD.OUTLOOK.COM ([fe80::e061:7f73:a47f:2ad4%2]) with mapi id 15.20.2305.017; Sat, 28 Sep 2019 08:57:17 +0000
From: =?iso-8859-1?Q?Sch=F6nw=E4lder=2C_J=FCrgen?= <J.Schoenwaelder@jacobs-university.de>
To: Mahesh Jethanandani <mjethanandani@gmail.com>
CC: netmod <netmod@ietf.org>
Thread-Topic: [netmod] 6991bis - Any plans to add more URI Syntax components?
Thread-Index: AQHVdZ2s5XXjFPyMd0+CvfB1FeX+h6dAyjeA
Date: Sat, 28 Sep 2019 08:57:17 +0000
Message-ID: <20190928085715.oo457rppqxcmd2qx@anna.jacobs.jacobs-university.de>
References: <8F6D6E58-CCB2-4404-AFB1-876EBE5721E7@gmail.com>
In-Reply-To: <8F6D6E58-CCB2-4404-AFB1-876EBE5721E7@gmail.com>
Reply-To: =?iso-8859-1?Q?Sch=F6nw=E4lder=2C_J=FCrgen?= <J.Schoenwaelder@jacobs-university.de>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-clientproxiedby: PR0P264CA0042.FRAP264.PROD.OUTLOOK.COM (2603:10a6:100:1::30) To VI1P190MB0686.EURP190.PROD.OUTLOOK.COM (2603:10a6:800:12e::7)
authentication-results: spf=none (sender IP is ) smtp.mailfrom=J.Schoenwaelder@jacobs-university.de; 
x-ms-exchange-messagesentrepresentingtype: 1
x-originating-ip: [2001:638:709:5::7]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 0bb07f27-b083-4ba2-05d1-08d743f1dd03
x-ms-traffictypediagnostic: VI1P190MB0607:
x-ms-exchange-purlcount: 2
x-ms-exchange-transport-forked: True
x-microsoft-antispam-prvs: <VI1P190MB060774F1DA3953B779FE8B63DE800@VI1P190MB0607.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:7691;
x-forefront-prvs: 0174BD4BDA
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39850400004)(396003)(376002)(346002)(136003)(366004)(189003)(199004)(6512007)(52116002)(6436002)(5660300002)(478600001)(6306002)(4744005)(6116002)(81156014)(8676002)(81166006)(66556008)(76176011)(66946007)(66476007)(43066004)(6916009)(66446008)(305945005)(229853002)(7736002)(6486002)(99286004)(786003)(4326008)(71190400001)(486006)(102836004)(3450700001)(316002)(186003)(86362001)(64756008)(1076003)(6506007)(71200400001)(14454004)(2906002)(476003)(11346002)(6246003)(966005)(1411001)(45776006)(256004)(8936002)(25786009)(446003)(46003)(386003); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1P190MB0607; H:VI1P190MB0686.EURP190.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; 
received-spf: None (protection.outlook.com: jacobs-university.de does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: j2lluTbG7z3lllkCepGLJRrGU/mZ779cIZsHdSv0136VOFLjNHPLucUVcipic2EfixGQtk7K+GRW7L0x//j6XbYZas7EkG64Tdrf6eecBnWF24A8f5AZgsqX42R8i0Gu9f0SB0jQR5Yw8ge+GPcHFzk9+84HxDUdGLDI3Ty3DV+yF8cN403nJUrd+hd2aA1MECsw2u9s0ezpydUmwhJk/GEFI4Vpo1RQL28qu45aEvRsSTB9GcXzEAfxlhYgYsEvpaPZI/bYy/SjIIANr73nD+BVxmQ4QYgzpM87wWLQ3xGQw03X/1NjLjkwd1cn7x87+BYq/8tZXvk6pR6pbKYLGrmFyMgH03OvOGWFMbBoc8VqCCmQuqzntA8biUq5n7DQDAtBOHnrfy3sIPfPN6IVOgGVQIv589pGET6a3l0Q0g0m4lopUDjcs2RUWvMlnqrzrYDizXpWz51KGkctffFgug==
Content-Type: text/plain; charset="iso-8859-1"
Content-ID: <F55192CEFD01B94E9A0D36C9CD5521B5@EURP190.PROD.OUTLOOK.COM>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: jacobs-university.de
X-MS-Exchange-CrossTenant-Network-Message-Id: 0bb07f27-b083-4ba2-05d1-08d743f1dd03
X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Sep 2019 08:57:17.1337 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: f78e973e-5c0b-4ab8-bbd7-9887c95a8ebd
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: kM/UH16dwJiaMFSHs33ZGEpXHb5CDcUAOU2jhvOSyexHdfRTirJ6qwpCD94Zy6lhApD7x+8MqF54tWKVM/sO49URUPNvVhUBCHBuNneAHPQ=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1P190MB0607
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/3FPcdavrdWM5pAKOiGuURNZYjMY>
Subject: Re: [netmod] 6991bis - Any plans to add more URI Syntax components?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 28 Sep 2019 08:57:23 -0000

Hi Mahesh,

are these frequently needed? Are there YANG modules that use these
fields already?

/js

On Fri, Sep 27, 2019 at 06:39:54PM -0700, Mahesh Jethanandani wrote:
> Hi Juergen,
>=20
> Is there a plan to add more URI syntax components in rfc6991bis? I know t=
here is a typedef for uri, but I was looking specifically for the following=
 that are defined in RFC 3986.
> Scheme
> Authority field including
> User information
> Path
> Query
> Fragment
>=20
> Thanks.
>=20
> Mahesh Jethanandani
> mjethanandani@gmail.com
>=20
>=20
>=20

> _______________________________________________
> netmod mailing list
> netmod@ietf.org
> https://www.ietf.org/mailman/listinfo/netmod


--=20
Juergen Schoenwaelder           Jacobs University Bremen gGmbH
Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>


From nobody Mon Sep 30 07:17:31 2019
Return-Path: <rwilton@cisco.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D5F10120099; Mon, 30 Sep 2019 07:17:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.101
X-Spam-Level: 
X-Spam-Status: No, score=-13.101 tagged_above=-999 required=5 tests=[BAYES_05=-0.5, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 DrxWOAdCsMvB; Mon, 30 Sep 2019 07:17:28 -0700 (PDT)
Received: from rcdn-iport-5.cisco.com (rcdn-iport-5.cisco.com [173.37.86.76]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29E78120058; Mon, 30 Sep 2019 07:17:28 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3280; q=dns/txt; s=iport; t=1569853048; x=1571062648; h=to:subject:from:message-id:date:mime-version; bh=02Ly2HJn4yJnjDw14zFc2ZIRVNQ3R8JQld3gjgn9SPM=; b=TTnmkadgmQPtvgY7Hz3GxDQ54Xz0SK8i2NUBhT9/a+s9JH4Q18mvFidn nYR2Pg9LNnU7tZE1PDLL9zJ8fOIeUESLB9G6OVTkgNO2jx2gY+C//+OkY iAu/z6FtVDg6INZwm5XzDQDroW1evNTzQG2hK3oaVEYjLlRsMerZW/C4U I=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0A/AABpDZJd/4QNJK1cChoBAQEBAQI?= =?us-ascii?q?BAQEBDAIBAQEBgVYCAQEBAQsBgRuBAoFAMoRMjnCJU4tTiAgJAQEBDi8BAYg?= =?us-ascii?q?FIzcGDgIDCQEBBAEBAQIBBQRthTmFdXU+Al8BDAgBAYMeggusbHWBMh+FLoM?= =?us-ascii?q?ngUiBNAGMDRiBQD+BOIMphBmDNoJYBJYKlw2CLJUFBhuOCIsujiGQH4kogWg?= =?us-ascii?q?igVgzGggbFYMoTxAUkBRAA5EwAQE?=
X-IronPort-AV: E=Sophos;i="5.64,567,1559520000";  d="scan'208,217";a="418759758"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by rcdn-iport-5.cisco.com with ESMTP/TLS/DHE-RSA-SEED-SHA; 30 Sep 2019 14:17:27 +0000
Received: from [10.82.233.40] (rtp-vpn5-295.cisco.com [10.82.233.40]) by alln-core-10.cisco.com (8.15.2/8.15.2) with ESMTP id x8UEHQO9000489; Mon, 30 Sep 2019 14:17:26 GMT
To: draft-ietf-netmod-rfc6991-bis@ietf.org, "netmod@ietf.org" <netmod@ietf.org>
From: Robert Wilton <rwilton@cisco.com>
Message-ID: <9878ec54-4b3b-e83c-a60c-973478de11f4@cisco.com>
Date: Mon, 30 Sep 2019 15:17:25 +0100
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------DBA7948C71A2BB7E8530EFEA"
Content-Language: en-US
X-Outbound-SMTP-Client: 10.82.233.40, rtp-vpn5-295.cisco.com
X-Outbound-Node: alln-core-10.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/CinKjokQOoyAp3ScD4RYMmaBXZk>
Subject: [netmod] draft-ietf-netmod-rfc6991-bis: Comment on node-instance-identifier
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Sep 2019 14:17:30 -0000

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

Hi Juergen,

Should the "node-instance-identify" type specify how the path "/" is 
treated?

I noted that in rfc8341, the behavior for "/" is described in the leaf 
"path" description rather than in the type definition, but I was 
thinking that it might be better if this behaviour was specified as part 
of the typedef.

Snippet from RFC8341:

              case data-node {
                leaf path {
                  type node-instance-identifier;
                  mandatory true;
                  description
                    "Data node instance-identifier associated with the
                     data node, action, or notification controlled by
                     this rule.

                     Configuration data or state data
                     instance-identifiers start with a top-level
                     data node.  A complete instance-identifier is
                     required for this type of path value.

                     The special value '/' refers to all possible
                     datastore contents.";
                }
              }

Thanks,
Rob


--------------DBA7948C71A2BB7E8530EFEA
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: 7bit

<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <p>Hi Juergen,</p>
    <p>Should the "node-instance-identify" type specify how the path "/"
      is treated?<br>
    </p>
    <p>I noted that in rfc8341, the behavior for "/" is described in the
      leaf "path" description rather than in the type definition, but I
      was thinking that it might be better if this behaviour was
      specified as part of the typedef.</p>
    <p>Snippet from RFC8341:<br>
    </p>
    <pre class="newpage" style="font-size: 13.3333px; margin-top: 0px; margin-bottom: 0px; break-before: page; color: rgb(0, 0, 0); font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration-style: initial; text-decoration-color: initial;">             case data-node {
               leaf path {
                 type node-instance-identifier;
                 mandatory true;
                 description
                   "Data node instance-identifier associated with the
                    data node, action, or notification controlled by
                    this rule.

                    Configuration data or state data
                    instance-identifiers start with a top-level
                    data node.  A complete instance-identifier is
                    required for this type of path value.

                    The special value '/' refers to all possible
                    datastore contents.";
               }
             }

Thanks,
Rob

</pre>
  </body>
</html>

--------------DBA7948C71A2BB7E8530EFEA--


From nobody Mon Sep 30 14:27:55 2019
Return-Path: <mjethanandani@gmail.com>
X-Original-To: netmod@ietfa.amsl.com
Delivered-To: netmod@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id EEEC012013D for <netmod@ietfa.amsl.com>; Mon, 30 Sep 2019 14:27:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Level: 
X-Spam-Status: No, score=-1.999 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 Mv0dOuKOYtWO for <netmod@ietfa.amsl.com>; Mon, 30 Sep 2019 14:27:52 -0700 (PDT)
Received: from mail-pg1-x52d.google.com (mail-pg1-x52d.google.com [IPv6:2607:f8b0:4864:20::52d]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3B45812007C for <netmod@ietf.org>; Mon, 30 Sep 2019 14:27:52 -0700 (PDT)
Received: by mail-pg1-x52d.google.com with SMTP id e1so2553362pgj.6 for <netmod@ietf.org>; Mon, 30 Sep 2019 14:27:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;  h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8/XMdXH07NtFtAwMWN9YMl4FXzbo/vuYhzVJQRZn32c=; b=s8bpApV53gR1HxABH4KAWK2Fkgbxa60gESu6QIO7rJnUx4cAntFyykcfDgY0acaPJB Pl8P6lZ2Qc85jvWQYAeyGcgnCc5EpO/KKQRQJS/znOy6I//ViqMg7FRdHmU5Gtx84CoV d+/D8DBQQAc5u/5i9HfRnLtHx7h3a75fCMmwkCA/JAykDZMvvaBiSTRBrk9EHGTBwUsN 9VMekmdCwC4BLidis6i0qrCiV2FIzMwQpNkONR+ccegz8x+rq3eOkeP23oQ3N4XaupMt b4gpWbD9sLUrYUEnP7LE2P30B54Usfsu4d8/2Bv9KyxBUWiwjYZ/z2FxNHDTXj2t0vps lmNw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8/XMdXH07NtFtAwMWN9YMl4FXzbo/vuYhzVJQRZn32c=; b=iWbuKpOwgEK+0leIZphUxzcHWehHpabor5gGPwNg7tf9DXg5XDeQoHBOr7AECM2rNY /pV0WbVAXyond80hQ/JlxiXE94jO7iibiFZ7n0s0wuOF51WaBaN8D380VzgkNy9/OS0D vh1mghALGkiIGFq7McMqZCE0ma7YU4Ffk4wukal507xOAGT4/Qh8v77LB3JHaznPFurl q+h4d8LMMIrtRAR1xcLmCbzJ4RGDmg8Dt7WFal2RieQipAOOZ7XY3cl1zqn9Wo5CI3qz +HjPmo+9xOimOyLY7c8KyBEVGf31DSIAZS6raqcV6V4bFqW0TtNKZDcV3s++dkiYAXVR zd8w==
X-Gm-Message-State: APjAAAUug+/M1sAbY3uylPu9fiBWsFS4iRmfAoMDB1C85lEme0p6mwsr mK45APseYAWyFsKglmfvkm+/bgyx
X-Google-Smtp-Source: APXvYqxlO/WQ9GLslQT0ugxRk0J3gcGo/pPNnBDp13miGTNTvfRAWI35dzx23xEvZORCRSs0/bh60g==
X-Received: by 2002:a63:6e85:: with SMTP id j127mr27021703pgc.326.1569878871516;  Mon, 30 Sep 2019 14:27:51 -0700 (PDT)
Received: from [10.33.123.155] ([66.170.99.2]) by smtp.gmail.com with ESMTPSA id u9sm12969253pfl.138.2019.09.30.14.27.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 30 Sep 2019 14:27:50 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
From: Mahesh Jethanandani <mjethanandani@gmail.com>
In-Reply-To: <20190928085715.oo457rppqxcmd2qx@anna.jacobs.jacobs-university.de>
Date: Mon, 30 Sep 2019 14:27:49 -0700
Cc: netmod <netmod@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <3090E658-652B-43CA-A777-180EA4875200@gmail.com>
References: <8F6D6E58-CCB2-4404-AFB1-876EBE5721E7@gmail.com> <20190928085715.oo457rppqxcmd2qx@anna.jacobs.jacobs-university.de>
To: Juergen Schoenwaelder <J.Schoenwaelder@jacobs-university.de>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/netmod/XzR1Qz1YVTZpC72-b-6aqdd7LdQ>
Subject: Re: [netmod] 6991bis - Any plans to add more URI Syntax components?
X-BeenThere: netmod@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: NETMOD WG list <netmod.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/netmod>, <mailto:netmod-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/netmod/>
List-Post: <mailto:netmod@ietf.org>
List-Help: <mailto:netmod-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/netmod>, <mailto:netmod-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 30 Sep 2019 21:27:54 -0000

Hi Juergen,

> On Sep 28, 2019, at 1:57 AM, Sch=C3=B6nw=C3=A4lder, J=C3=BCrgen =
<J.Schoenwaelder@jacobs-university.de> wrote:
>=20
> Hi Mahesh,
>=20
> are these frequently needed? Are there YANG modules that use these
> fields already?

Over in ETSI, I just added them to the YANG model that defines VNF =
Descriptors (VNFD), as part of what is called VnfConfigurableProperties.

In addition, I know that draft-kwatsen-netconf-http-client-server draft =
tries to define 'user-id'. And there has been discussion around =
draft-ietf-netconf-https-notif needing to define a =E2=80=98path=E2=80=99 =
attribute, although Martin does not think it is needed. Anyway, these =
are the instances I know of that could use these definitions. I am sure =
there are more.

Cheers.

>=20
> /js
>=20
> On Fri, Sep 27, 2019 at 06:39:54PM -0700, Mahesh Jethanandani wrote:
>> Hi Juergen,
>>=20
>> Is there a plan to add more URI syntax components in rfc6991bis? I =
know there is a typedef for uri, but I was looking specifically for the =
following that are defined in RFC 3986.
>> Scheme
>> Authority field including
>> User information
>> Path
>> Query
>> Fragment
>>=20
>> Thanks.
>>=20
>> Mahesh Jethanandani
>> mjethanandani@gmail.com
>>=20
>>=20
>>=20
>=20
>> _______________________________________________
>> netmod mailing list
>> netmod@ietf.org
>> https://www.ietf.org/mailman/listinfo/netmod
>=20
>=20
> --=20
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <https://www.jacobs-university.de/>

Mahesh Jethanandani
mjethanandani@gmail.com



