Return-Path: <gregb@grotto-networking.com>
X-Original-To: cfrg@mail2.ietf.org
Delivered-To: cfrg@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1])
	by mail2.ietf.org (Postfix) with ESMTP id 3A992F61DA90
	for <cfrg@mail2.ietf.org>; Wed, 27 May 2026 10:59:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1;
	t=1779904797; bh=Wej+8Cif8YAJPCxD7Hr9dwlDQ/2Tblcb+rosxMhvBvA=;
	h=Date:Subject:To:References:From:In-Reply-To;
	b=clrBIUVw9jTpXOhRCuf7a1CO388h7unU+s2mZucOdk7KQORivDJOjvGqbXC40vOku
	 7XKzL9S5XZCf98FFXtsHEllP8goJRYMLdVN+gYDWMvjRMZw6IObVGKgnAXk79ZHRjw
	 Q3U4DESllsg+cP5Q3Cnrx9oXI2IF5LNKmr9me0EE=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.084
X-Spam-Level: 
X-Spam-Status: No, score=-2.084 tagged_above=-999 required=5
	tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
	DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001,
	RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H5=0.001,
	RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001,
	RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001,
	T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key)
	header.d=grotto-networking.com
Received: from mail2.ietf.org ([166.84.6.31])
	by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id X8dvKO8ZwC4o for <cfrg@mail2.ietf.org>;
	Wed, 27 May 2026 10:59:54 -0700 (PDT)
Received: from sender4-op-o12.zoho.com (sender4-op-o12.zoho.com
 [136.143.188.12])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256)
	(No client certificate requested)
	by mail2.ietf.org (Postfix) with ESMTPS id 35B21F61BC8B
	for <cfrg@irtf.org>; Wed, 27 May 2026 10:53:09 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1779904379; cv=none;
	d=zohomail.com; s=zohoarc;
	b=LBiNPbtmEs/2/FMeM1v2vyTh4LMh+pzMPe13vjgHqqrshsuzuYJVu8C+0+FXhKi9xLiC4O6SFcleg4Du5amsPtzwgW3wssXrgK+h9xxHOejzq25demkFJLAyTmoPSiBBVAYvt/K3rFlZ9L/ER3RhOfEjHxjW3DBNALYheyPVytk=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc;
	t=1779904379;
 h=Content-Type:Date:Date:From:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To:Cc;
	bh=QOCHCstIZqh0mMAS8ekHnnv15ijbaqbBJg+n44ftiWo=;
	b=EK8DITsJHf6H8SbyoRtt6hXRcvUsY6eLYSw+kpQQDd6jYxJro7VZadL+SzBOFrnWCJU8qopGZNVhE+eQbGBs6mpeNzHfDpWkKFLN4qqE/hqm8OIFRwxbVFsNf5yPI7Y8kKGHRJEDbQKB2nkl7VX8svJZfjFFnRf8i5AdtfC2PiU=
ARC-Authentication-Results: i=1; mx.zohomail.com;
	dkim=pass  header.i=grotto-networking.com;
	spf=pass  smtp.mailfrom=gregb@grotto-networking.com;
	dmarc=pass header.from=<gregb@grotto-networking.com>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1779904379;
	s=mail; d=grotto-networking.com; i=gregb@grotto-networking.com;
	h=Message-ID:Date:Date:MIME-Version:Subject:Subject:To:To:References:From:From:In-Reply-To:Content-Type:Message-Id:Reply-To:Cc;
	bh=QOCHCstIZqh0mMAS8ekHnnv15ijbaqbBJg+n44ftiWo=;
	b=V8Hj7XkvFuCKnqGlOp3hcx8zN3xOXqgGvTzvW7KCY2hDqgEEZJKrWQmmUUQm8Zyx
	9pDowaqoPLvBWTQKKu06QTIWu4y+o3l09cVX2PLpkahZHn2CQdnKtrlRvMO3QrqIhkQ
	1/eBDHVeP4AJN3mBbzN9G6m13LM23xPgCMagbo6s=
Received: by mx.zohomail.com with SMTPS id 1779904376893457.38910888602265;
	Wed, 27 May 2026 10:52:56 -0700 (PDT)
Message-ID: <0b17d7d2-eda9-4a8b-b8a8-c2d1439c0df9@grotto-networking.com>
Date: Wed, 27 May 2026 10:52:56 -0700
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: cfrg@irtf.org
References: 
 <CANMnvkyGFwJKU4t5eJUn5YTrX6kaQjcqnApEqwyCjde-E9xxrA@mail.gmail.com>
 <CANMnvkwx82vFUE9vbNHQm8U-ST=j6G_UXPfM7j8TtTsjnwTgRw@mail.gmail.com>
From: Greg Bernstein <gregb@grotto-networking.com>
Content-Language: en-US
Autocrypt: addr=gregb@grotto-networking.com; keydata=
 xjMEZwLKYRYJKwYBBAHaRw8BAQdA8IOoK17s6mGoiBSzwOyaOoGOgWU8OumDTSofGGhGQUjN
 LEdyZWcgQmVybnN0ZWluIDxncmVnYkBncm90dG8tbmV0d29ya2luZy5jb20+wo8EExYIADcW
 IQRLzhHbMKsLgNK7vMOLI64ixFJm8wUCZwLKYQUJBaOagAIbAwQLCQgHBRUICQoLBRYCAwEA
 AAoJEIsjriLEUmbz0NIA/iMpT0PHcvdfHGorTCR8wYfmafZ5dRgOyIknaepT9SEnAQDvNzl1
 YT1LvhYiB+RqlMCXxCC96vkuoxlC5fuUm6pzB844BGcCymISCisGAQQBl1UBBQEBB0BbfXd2
 chNynacbUQ/8JmIBWUcYSnBcAecizPRRLJOIQwMBCAfCfgQYFggAJhYhBEvOEdswqwuA0ru8
 w4sjriLEUmbzBQJnAspiBQkFo5qAAhsMAAoJEIsjriLEUmbzlYgA/05UvcaXFGdkD+dFChBP
 9+u0MbsGOkLdZTZQvEQamZWvAQDhiTGdsF40gJFVMg1H56/9r4cpjnymbociUXD2Bgg0Aw==
In-Reply-To: 
 <CANMnvkwx82vFUE9vbNHQm8U-ST=j6G_UXPfM7j8TtTsjnwTgRw@mail.gmail.com>
Content-Type: multipart/signed; micalg=pgp-sha256;
 protocol="application/pgp-signature";
 boundary="------------UtNTJXmkTgp1DdmNnSaqsN3x"
X-Zoho-Virus-Status: 1
X-Zoho-AV-Stamp: zmail-av-0.2.2.1.5.2/279.897.12
X-ZohoMailClient: External
Message-ID-Hash: KESAVSRMWTFP7M73LBEVIYOTFD5RCA7X
X-Message-ID-Hash: KESAVSRMWTFP7M73LBEVIYOTFD5RCA7X
X-MailFrom: gregb@grotto-networking.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency;
 loop; banned-address; member-moderation; header-match-cfrg.irtf.org-0;
 header-match-cfrg.irtf.org-1; nonmember-moderation; administrivia;
 implicit-dest; max-recipients; max-size; news-moderation; no-subject;
 digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: =?utf-8?q?=5BCFRG=5D_Re=3A_Implementation_review_of_=22Blind_BBS_Signatures?=
 =?utf-8?q?=22_=28draft-irtf-cfrg-bbs-blind-signatures-02=29?=
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
Archived-At: 
 <https://mailarchive.ietf.org/arch/msg/cfrg/A6LemSxNVNNz2M_ciBjK_zMtkDY>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Owner: <mailto:cfrg-owner@irtf.org>
List-Post: <mailto:cfrg@irtf.org>
List-Subscribe: <mailto:cfrg-join@irtf.org>
List-Unsubscribe: <mailto:cfrg-leave@irtf.org>

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------------UtNTJXmkTgp1DdmNnSaqsN3x
Content-Type: multipart/mixed; boundary="------------H2gqpBpeU95bXF03N3PEEHtl";
 protected-headers="v1"
From: Greg Bernstein <gregb@grotto-networking.com>
To: cfrg@irtf.org
Message-ID: <0b17d7d2-eda9-4a8b-b8a8-c2d1439c0df9@grotto-networking.com>
Subject: Re: [CFRG] Re: Implementation review of "Blind BBS Signatures"
 (draft-irtf-cfrg-bbs-blind-signatures-02)
References: <CANMnvkyGFwJKU4t5eJUn5YTrX6kaQjcqnApEqwyCjde-E9xxrA@mail.gmail.com>
 <CANMnvkwx82vFUE9vbNHQm8U-ST=j6G_UXPfM7j8TtTsjnwTgRw@mail.gmail.com>
In-Reply-To: <CANMnvkwx82vFUE9vbNHQm8U-ST=j6G_UXPfM7j8TtTsjnwTgRw@mail.gmail.com>

--------------H2gqpBpeU95bXF03N3PEEHtl
Content-Type: multipart/mixed; boundary="------------yeAA0AN8dJPVHEbwBzYHjnDP"

--------------yeAA0AN8dJPVHEbwBzYHjnDP
Content-Type: multipart/alternative;
 boundary="------------akX7UiJotPY0ozi5vxvxWiCk"

--------------akX7UiJotPY0ozi5vxvxWiCk
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: base64

VGhhbmtzIEVtaWwuIEFuZCB0aGFua3MgZm9yIHRoZSBQUnMgb24gdGhlIGRyYWZ0cy4gV2Ug
d2lsbCB0cnkgdG8gZ2V0IGFuIA0KdXBkYXRlIG91dCBpbiBhIHdlZWsgb3IgdHdvLg0KDQpC
ZXN0IFJlZ2FyZHMNCg0KR3JlZyBCLg0KT24gNS8yNy8yNiAwNToyMSwgRW1pbCBMdW5kYmVy
ZyB3cm90ZToNCg0KPiBPbmUgbW9yZSB0aGluZyBJIG5vdGljZWQgbm93Og0KPg0KPiBTdWJz
dGFudGl2ZSBidXQgZWRpdG9yaWFsIGlzc3VlczoNCj4gLSBJbiAiVGVzdCBWZWN0b3JzIiwg
dGhlICJHZW5lcmF0b3JzIiBhbmQgIkJsaW5kIEdlbmVyYXRvcnMiIHNlY3Rpb25zIA0KPiBz
cGVsbCB0aGUgYXR0cmlidXRlIGdlbmVyYXRvcnMgYEhfMCAuLi4gSF85YCBhbmQgYEpfMCAu
Li4gSl85YCB3aGlsZSANCj4gYm90aCBkcmFmdC1pcnRmLWNmcmctYmJzLXNpZ25hdHVyZXMt
MTAgDQo+IDxodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RyYWZ0LWlydGYtY2Zy
Zy1iYnMtc2lnbmF0dXJlcy0xMC5odG1sI25hbWUtbWVzc2FnZS1nZW5lcmF0b3JzLTI+IA0K
PiBhbmQgdGhlIHJlc3Qgb2bCoGRyYWZ0LWlydGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJl
cy0wMiBzcGVsbHMgdGhlbSANCj4gYEhfMSAuLi4gSF8xMGAgYW5kIGBKXzEgLi4uIEpfMTBg
Lg0KPg0KPiBFbWlsIEx1bmRiZXJnDQo+DQo+IFN0YWZmIEVuZ2luZWVyIHwgWXViaWNvIDxo
dHRwOi8vd3d3Lnl1Ymljby5jb20vPg0KPg0KPg0KPg0KPg0KPiBEZW4gdGlzIDI2IG1haiAy
MDI2IGtsIDIyOjI4IHNrcmV2IEVtaWwgTHVuZGJlcmcgPGVtaWxAeXViaWNvLmNvbT46DQo+
DQo+ICAgICBIaSwNCj4NCj4gICAgIEkndmUgcmVjZW50bHkgYmVlbiBpbXBsZW1lbnRpbmcg
IkJsaW5kIEJCUyBTaWduYXR1cmVzIg0KPiAgICAgKGRyYWZ0LWlydGYtY2ZyZy1iYnMtYmxp
bmQtc2lnbmF0dXJlcy0wMikNCj4gICAgIDxodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZl
L2lkL2RyYWZ0LWlydGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy0wMi5odG1sPg0KPiAg
ICAgWzFdIGFuZCB3b3VsZCBsaWtlIHRvIHNoYXJlIHNvbWUgaXNzdWVzIEkgZm91bmQuDQo+
DQo+ICAgICBJbnRlcm9wZXJhYmlsaXR5IGlzc3VlczoNCj4NCj4gICAgIC0gSW4gYEZpbmFs
aXplQmxpbmRTaWduYCwgdGhlIHN0YXRlbWVudCBgMy4gaWYgTCA8PSAwIG9yIE0gPD0wLA0K
PiAgICAgcmV0dXJuIElOVkFMSURgIGZhaWxzIGZvciB0aGUgQkxTMTItMzgxLVNIQS0yNTYg
c2lnbmF0dXJlIHRlc3QNCj4gICAgIHZlY3RvciAidmFsaWQgbm8gcHJvdmVyIGNvbW1pdHRl
ZCBtZXNzYWdlcywgbm8gc2lnbmVyIG1lc3NhZ2VzDQo+ICAgICBzaWduYXR1cmUiDQo+ICAg
ICA8aHR0cHM6Ly93d3cuaWV0Zi5vcmcvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmLWNmcmctYmJz
LWJsaW5kLXNpZ25hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLW5vLXByb3Zlci1jb21taXR0
ZWQtbT4NCj4gICAgIFszXS4gVGhpcyBzaG91bGQgcHJlc3VtYWJseSBiZSBgaWYgTCA8IDAg
b3IgTSA8IDBgPw0KPg0KPiAgICAgLSBJbiBgRmluYWxpemVCbGluZFNpZ25gLCB0aGUgZGVz
Y3JpcHRpb24gb2YgYGJsaW5kX2dlbmVyYXRvcnNgDQo+ICAgICBzdGF0ZXMgaXQgZGVmYXVs
dHMgdG8gZW1wdHkgYXJyYXksIGJ1dCB0aGUgcHJvY2VkdXJlIHJlcXVpcmVzIHRoYXQNCj4g
ICAgIGBNID4gMGAgd2hpY2ggZmFpbHMgaWYgYGJsaW5kX2dlbmVyYXRvcnNgIGlzIGVtcHR5
LiAoVGhpcyBpcw0KPiAgICAgb2J2aW91c2x5IHJlbGF0ZWQgdG8gdGhlIHByZXZpb3VzIGlz
c3VlKQ0KPg0KPiAgICAgLSBJbiBgQmxpbmRQcm9vZkdlbmAsIHNvbWV0aGluZyBzZWVtcyB0
byBiZSB3cm9uZyB3aGVuDQo+ICAgICBgc2VjcmV0X3Byb3Zlcl9ibGluZGAgaXMgbnVsbC4g
SSBoYXZlIG5vdCBiZWVuIGFibGUgdG8gcmVwcm9kdWNlDQo+ICAgICBub3IgdmVyaWZ5IHRo
ZSBwcm9vZiB0ZXN0IHZlY3RvciAiOS4xLjUuOC4gdmFsaWQgYWxsIHByb3Zlcg0KPiAgICAg
Y29tbWl0dGVkIG1lc3NhZ2VzIGFuZCBzaWduZXIgbWVzc2FnZXMgcmV2ZWFsZWQgcHJvb2Yi
DQo+ICAgICA8aHR0cHM6Ly93d3cuaWV0Zi5vcmcvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmLWNm
cmctYmJzLWJsaW5kLXNpZ25hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLWFsbC1wcm92ZXIt
Y29tbWl0dGVkLW0+wqBbMl0uDQo+DQo+ICAgICDCoCDCoCBJdCBzZWVtcyB0byBtZSBsaWtl
IGVpdGhlciB0aGUgYHByZXBhcmVfcGFyYW1ldGVyc2AgY2FsbCBuZWVkcw0KPiAgICAgdG8g
cmV0dXJuIG9uZSBmZXdlciBnZW5lcmF0b3IgKGJlY2F1c2UgaXQgc2tpcHMgcmV0dXJuaW5n
DQo+ICAgICBgc2VjcmV0X3Byb3Zlcl9ibGluZGAgYXMgYSBtZXNzYWdlIHNjYWxhciksIG9y
IHRoZQ0KPiAgICAgYHNlY3JldF9wcm92ZXJfYmxpbmRgIGdlbmVyYXRvciBuZWVkcyB0byBi
ZSBvbWl0dGVkIGZyb20NCj4gICAgIGBnZW5lcmF0b3JzYCBiZWZvcmUgcGFzc2luZyBpdCB0
byBgQkJTLkNvcmVQcm9vZkdlbmAsIGJ1dCBpdCBtYXkNCj4gICAgIGFsc28gYmUgc29tZXRo
aW5nIGVsc2UuIEkgaGF2ZW4ndCBmb3VuZCBhIHdheSB0byBtYXRjaCB0aGUgdGVzdA0KPiAg
ICAgdmVjdG9ycywgc28gSSdtIG5vdCBzdXJlIHdoYXQgY29ycmVjdGlvbiBpcyBuZWVkZWQu
DQo+DQo+ICAgICAtIEluIGBwcmVwYXJlX3BhcmFtZXRlcnNgLCB0aGUgZGVzY3JpcHRpb24g
b2YNCj4gICAgIGBzZWNyZXRfcHJvdmVyX2JsaW5kYCBzdGF0ZXMgaXQgZGVmYXVsdHMgdG8g
emVybywgYnV0IHRoZQ0KPiAgICAgcHJvY2VkdXJlIGNoZWNrcyBgMy4gaWYgc2VjcmV0X3By
b3Zlcl9ibGluZCAhPSBOT05FO2AuIEl0IGNhbid0IGJlDQo+ICAgICAiTk9ORSIgYXQgdGhp
cyBwb2ludCBpZiBpdCBkZWZhdWx0cyB0byB6ZXJvLiBQZXJoYXBzIHRoaXMgc2hvdWxkDQo+
ICAgICBiZSBgaWYgc2VjcmV0X3Byb3Zlcl9ibGluZCAhPSAwO2AsIGJ1dCBJJ20gbm90IHN1
cmUgdGhhdCdzIGNvcnJlY3QNCj4gICAgIGVpdGhlci4gKFRoaXMgaXMgcmVsYXRlZCB0byB0
aGUgcHJldmlvdXMgaXNzdWUpDQo+DQo+ICAgICAtIEkgaGF2ZSBiZWVuIGFibGUgdG8gdmVy
aWZ5IHRoZSBgc2lnbmF0dXJlYCBvZiBhbGwgb2YgdGhlDQo+ICAgICAiU2lnbmF0dXJlIFRl
c3QgVmVjdG9ycyIsIGJ1dCBub3QgcmVwcm9kdWNlIGFueSBvZiB0aGUgYHNpZ25hdHVyZWAN
Cj4gICAgIHZhbHVlcy4gTXkgYEJsaW5kU2lnbmAgb3V0cHV0cyB2ZXJpZnkgY29ycmVjdGx5
IHdpdGggbXkNCj4gICAgIGBWZXJpZnlCbGluZFNpZ25gIGltcGxlbWVudGF0aW9uLCBhbmQg
bXkgYEJsaW5kU2lnbmANCj4gICAgIGltcGxlbWVudGF0aW9uIHByb2R1Y2VzIHRoZSBzYW1l
IGBCYCBhbmQgYGRvbWFpbmAgdmFsdWVzIHNob3duIGFzDQo+ICAgICAiVHJhY2U6IiBpbiB0
aGUgdGVzdCB2ZWN0b3JzLCBzbyB0aGUgb25seSByZWFzb24gSSBjYW4gaW1hZ2luZSBmb3IN
Cj4gICAgIGZhaWxpbmcgdG8gcmVwcm9kdWNlIHRoZSBzaWduYXR1cmVzIGlzIHRoYXQgdGhl
cmUgaXMgc29tZQ0KPiAgICAgZGlmZmVyZW5jZSBiZXR3ZWVuIGhvdyBteSBgRmluYWxpemVC
bGluZFNpZ25gIGltcGxlbWVudGF0aW9uDQo+ICAgICBoYXNoZXMgdG8gYGVgIGFuZCBob3cg
dGhlIHRlc3QgdmVjdG9ycyBoYXNoIHRvIGBlYC4NCj4NCj4gICAgIC0gSW4gZ2VuZXJhbCBJ
IHRoaW5rIHRoZXJlIGFyZSB0b28gbWFueSBvcHRpb25hbCBwYXJhbWV0ZXJzLA0KPiAgICAg
ZXNwZWNpYWxseSBpbiB0aGUgaW50ZXJuYWwgcHJvY2VkdXJlcy4gSSBkb24ndCB0aGluayB0
aGUgZGVmYXVsdHMNCj4gICAgIHNlZW0gcGFydGljdWxhcmx5IHVzZWZ1bCwgd2hpY2ggd2Vp
Z2hzIHBvb3JseSBhZ2FpbnN0IHRoZSB2ZXJ5DQo+ICAgICByZWFsIG9wcG9ydHVuaXR5IGZv
ciBtaXNhbGlnbm1lbnRzIChzZWUgdGhlIGBzZWNyZXRfcHJvdmVyX2JsaW5kYA0KPiAgICAg
aXNzdWUgYWJvdmUpIGFuZCBtaXNpbnRlcnByZXRhdGlvbnMgdGhhdCBkZWZhdWx0cyBpbnRy
b2R1Y2UuIChJDQo+ICAgICBnYXZlIGEgc2ltaWxhciBjcml0aXF1ZSBvZiBvcHRpb25hbCBw
YXJhbWV0ZXJzIGluDQo+ICAgICBkcmFmdC1pcnRmLWNmcmctYmJzLXNpZ25hdHVyZXMtMDgN
Cj4gICAgIDxodHRwczovL21haWxhcmNoaXZlLmlldGYub3JnL2FyY2gvbXNnL2NmcmcvMlh1
SzVCb0F5LVdqS1dqeldNM08xOVZyeTZnLz4NCj4gICAgIGVhcmxpZXIpLg0KPg0KPg0KPiAg
ICAgU3Vic3RhbnRpdmUgYnV0IGVkaXRvcmlhbCBpc3N1ZXM6DQo+DQo+ICAgICAtIEluIHRo
ZSByZXR1cm4gc3RhdGVtZW50IG9mIHRoZSBgQ29tbWl0YCBwcm9jZWR1cmUsIHRoZQ0KPiAg
ICAgYGNvbW1pdHRlZF9tZXNzYWdlX3NjYWxhcnNgIGFuZCBgYmxpbmRfZ2VuZXJhdG9yc2Ag
YXJndW1lbnRzIGFyZQ0KPiAgICAgaW4gcmV2ZXJzZSBvcmRlciBjb21wYXJlZCB0byB0aGUg
YENvcmVDb21taXRgIHByb2NlZHVyZSBkZWZpbml0aW9uLg0KPiAgICAgLSBJbiBgQmxpbmRQ
cm9vZlZlcmlmeWAsIGRlc2NyaXB0aW9ucyBvZg0KPiAgICAgYGRpc2Nsb3NlZF9jb21taXR0
ZWRfbWVzc2FnZXNgIGFuZCBgZGlzY2xvc2VkX2NvbW1pdHRlZF9pbmRleGVzYA0KPiAgICAg
YXJlIG1pc3NpbmcuDQo+ICAgICAtIEluIGBDb3JlQ29tbWl0YCwgdGhlICJPdXRwdXRzOiIg
ZGVmaW5pdGlvbiBpcyBtaXNzaW5nLg0KPiAgICAgLSBJbiBgQ29yZUNvbW1pdGAsIGAxLiBN
ID0gbGVuZ3RoKGNvbW1pdHRlZF9tZXNzYWdlcylgIHJlZmVyZW5jZXMNCj4gICAgIGEgdmFy
aWFibGUgYGNvbW1pdHRlZF9tZXNzYWdlc2Agd2hpY2ggZG9lcyBub3QgZXhpc3QuIFNob3Vs
ZA0KPiAgICAgcHJvYmFibHkgYmUgYGNvbW1pdHRlZF9zY2FsYXJzYD8NCj4gICAgIC0gSW4g
YHByZXBhcmVfcGFyYW1ldGVyc2AsIGRlc2NyaXB0aW9ucyBvZiBgZ2VuZXJhdG9yc19udW1i
ZXJgIGFuZA0KPiAgICAgYGJsaW5kX2dlbmVyYXRvcnNfbnVtYmVyYCBhcmUgbWlzc2luZy4N
Cj4gICAgIC0gSW4gYGNhbGN1bGF0ZV9ibGluZF9jaGFsbGVuZ2VgLCB0aGUgIk91dHB1dHM6
IiBkZWZpbml0aW9uIGlzDQo+ICAgICBtaXNzaW5nLg0KPiAgICAgLSBJbiB0aGUgIkJsaW5k
IEdlbmVyYXRvcnMiIHN1YnNlY3Rpb24gb2YgIlRlc3QgVmVjdG9ycyIsIGBRMWANCj4gICAg
IHNob3VsZCBwcm9iYWJseSBiZSBgUTJgIChgUV8yYCk/IFFfMSBpcyBjb25zaXN0ZW50bHkg
dXNlZCBpbiB0aGUNCj4gICAgIHByb2NlZHVyZXMgdG8gZGVub3RlIG5vbi1ibGluZCBnZW5l
cmF0b3JzLg0KPiAgICAgLSBJbiAiU2lnbmF0dXJlIFRlc3QgVmVjdG9ycyIgZm9yIEJMUzEy
LTM4MS1TSEEtMjU2LCAidmFsaWQgbm8NCj4gICAgIHByb3ZlciBjb21taXR0ZWQgbWVzc2Fn
ZXMsIG11bHRpcGxlIHNpZ25lciBtZXNzYWdlcyBzaWduYXR1cmUiLA0KPiAgICAgdGhlICJU
cmFjZToiIGFwcGVhcnMgdG8gaGF2ZSBtaXNsYWJlbGVkIHRoZSBgQmAgdmFsdWUgYXMgYGRv
bWFpbg0KPiAgICAgPWAuIEkgZG9uJ3Qga25vdyB3aGF0IHRoZSB2YWx1ZSBsYWJlbGVkIGBC
ID1gIGlzLCBlaXRoZXIuDQo+ICAgICAtIFNlY3Rpb24gIjkuMS41LjguIHZhbGlkIGFsbCBw
cm92ZXIgY29tbWl0dGVkIG1lc3NhZ2VzIGFuZCBzaWduZXINCj4gICAgIG1lc3NhZ2VzIHJl
dmVhbGVkIHByb29mIiBoYXMgdGhlIHNhbWUgdGl0bGUgYXMgIjkuMS41LjEuIHZhbGlkIGFs
bA0KPiAgICAgcHJvdmVyIGNvbW1pdHRlZCBtZXNzYWdlcyBhbmQgc2lnbmVyIG1lc3NhZ2Vz
IHJldmVhbGVkIHByb29mIg0KPiAgICAgd2hpY2ggZG9lcyBub3Qgc2VlbSB0byBhY2N1cmF0
ZWx5IGRlc2NyaWJlIHRoZSB0ZXN0IHZlY3RvciB2YWx1ZXMNCj4gICAgIGluIDkuMS41Ljgg
KG5vdCBhbGwgc2lnbmVyIG1lc3NhZ2VzIGFyZSByZXZlYWxlZCkuDQo+ICAgICAtIEluIHRl
c3QgdmVjdG9ycyB3aXRoIGFycmF5cyBvZiBtdWx0aXBsZSB2YWx1ZXMgKGZvciBleGFtcGxl
DQo+ICAgICBgY29tbWl0dGVkTWVzc2FnZXNgKSwgdGhlIGZvcm1hdHRpbmcgaXMgdmVyeSBw
b29yIGFuZCBpdCdzIGVhc3kgdG8NCj4gICAgIG1pc3MgdHJhaWxpbmcgZW1wdHkgb2N0ZXQg
c3RyaW5ncy4gSWRlYWxseSwgdmFsdWVzIHRoYXQgZml0IG9uIG9uZQ0KPiAgICAgbGluZSBz
aG91bGQgbm90IGJlIGxpbmUtd3JhcHBlZCBhbmQgZWFjaCB2YWx1ZSBzaG91bGQgYmUgZGVs
aW1pdGVkDQo+ICAgICBjbGVhcmx5IHNvIHRoYXQgZW1wdHkgb2N0ZXQgc3RyaW5ncyBhcmUg
Y2xlYXJseSB2aXNpYmxlLiBGb3INCj4gICAgIGV4YW1wbGUsIGNvbnNpZGVyIHVzaW5nIENE
REwgc3ludGF4DQo+ICAgICA8aHR0cHM6Ly93d3cucmZjLWVkaXRvci5vcmcvaW5mby9yZmM4
NjEwLz4gWzVdDQo+ICAgICAoYGgnNTk4Mjk2NzgyMWRhM2M1OTgzNDk2MjE0ZGYzNmFhNWU1
OGRlNmZhMjUzMTRhZjRjZjRjMDA0MDA3NzlmMDhjMydgKQ0KPiAgICAgZm9yIHRlc3QgdmVj
dG9yIHZhbHVlcyAodGhpcyBhbGxvd3MgaW50ZXJuYWwgd2hpdGVzcGFjZSwgYW5kIHdvdWxk
DQo+ICAgICBhbHNvIGVuYWJsZSBkaXNhbWJpZ3VhdGluZyBvY3RldCBzdHJpbmdzIGFuZCBo
ZXgtZW5jb2RlZCBsYXJnZQ0KPiAgICAgaW50ZWdlcnMsIGFtb25nIG90aGVyIHRoaW5ncyku
DQo+ICAgICAtIEEgZmV3IG1vcmUgb2J2aW91cyBvciB1bmFtYmlndW91cyBlcnJvcnMsIEkg
aGF2ZSBvcGVuZWQgcHVsbA0KPiAgICAgcmVxdWVzdHMgb24gR2l0SHViIHRvIGZpeCB0aGVz
ZTogIzE0DQo+ICAgICA8aHR0cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJn
LWJicy1ibGluZC1zaWduYXR1cmVzL3B1bGwvMTQ+LA0KPiAgICAgIzE1DQo+ICAgICA8aHR0
cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1
cmVzL3B1bGwvMTU+LA0KPiAgICAgIzE2DQo+ICAgICA8aHR0cHM6Ly9naXRodWIuY29tL2Nm
cmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzL3B1bGwvMTY+LA0KPiAg
ICAgIzE3DQo+ICAgICA8aHR0cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJn
LWJicy1ibGluZC1zaWduYXR1cmVzL3B1bGwvMTc+LA0KPiAgICAgIzE4DQo+ICAgICA8aHR0
cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1
cmVzL3B1bGwvMTg+LA0KPiAgICAgIzE5DQo+ICAgICA8aHR0cHM6Ly9naXRodWIuY29tL2Nm
cmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzL3B1bGwvMTk+Lg0KPg0K
PiAgICAgU3ViamVjdGl2ZSBzdHlsZSBjb21tZW50czoNCj4NCj4gICAgIC0gVGhlIGBDb21t
aXRgIHByb2NlZHVyZSBzZWVtcyBsaWtlIGl0J3MgcGFydCBvZiB0aGUgInB1YmxpYyINCj4g
ICAgIGludGVyZmFjZSwgc28gaXQgc2VlbXMgbGlrZSBpdCBzaG91bGRuJ3QgZXhwb3NlIGBh
cGlfaWRgIGFzIGEgZnJlZQ0KPiAgICAgcGFyYW1ldGVyIChpbnN0ZWFkIGxldHRpbmcgaXQg
YmUgZml4ZWQgYnkgdGhlIGNpcGhlcnN1aXRlLCBsaWtlDQo+ICAgICBgQmxpbmRTaWduYCBl
dGMuKT8NCj4gICAgIC0gVGhlIGBkZXNlcmlhbGl6ZV9hbmRfdmFsaWRhdGVfY29tbWl0YCBw
cm9jZWR1cmUgc2VlbXMgbW9yZSBsaWtlDQo+ICAgICBhbiAiaW50ZXJuYWwiIHByb2NlZHVy
ZSwgc28gaXQgc2hvdWxkIHBlcmhhcHMgYmUgdW5kZXIgIkNvcmUNCj4gICAgIE9wZXJhdGlv
bnMiIG9yICJVdGlsaXRpZXMiPyBJdHMgY3VycmVudCBwb3NpdGlvbiBhbG9uZ3NpZGUNCj4g
ICAgIGBDb21taXRgIG1ha2VzIGl0IHNlZW0gZXF1YWxseSAicHVibGljIi4NCj4gICAgIC0g
SW4gdGhlICJUZXN0IFZlY3RvcnMiIHNlY3Rpb24sIHRoaXMgZG9jdW1lbnQgaGFzIHRoZSBz
dWJzZWN0aW9ucw0KPiAgICAgaW4gdGhlIG9yZGVyIFtTSEEtMjU2LCBTSEFLRS0yNTZdIHdo
aWxlDQo+ICAgICBkcmFmdC1pcnRmLWNmcmctYmJzLXNpZ25hdHVyZXMtMTAgaGFzIHRoZW0g
aW4gb3Bwb3NpdGUgb3JkZXIuIFRoaXMNCj4gICAgIG1heSBiZSBhbiBvcHBvcnR1bml0eSBm
b3IgY29uZnVzaW9uLg0KPiAgICAgLSBJbiB0aGUgIkdlbmVyYXRvcnMiIHN1YnNlY3Rpb24g
b2YgIlRlc3QgVmVjdG9ycyIsIHBlcmhhcHMgaXQncw0KPiAgICAgd29ydGggcG9pbnRpbmcg
b3V0IHRoYXQgYFAxYCBpcyB0aGUgc2FtZSBgUDFgIGFzIGluDQo+ICAgICBkcmFmdC1pcnRm
LWNmcmctYmJzLXNpZ25hdHVyZXMtMTAgYnV0IGBRMWAgaXMgTk9UIHRoZSBzYW1lIChzaW5j
ZQ0KPiAgICAgaXQncyBnZW5lcmF0ZWQgYnkgYSBkaWZmZXJlbnQgYGFwaV9pZGApPw0KPiAg
ICAgLSBJbiB0aGUgIkJsaW5kIEdlbmVyYXRvcnMiIHN1YnNlY3Rpb24gb2YgIlRlc3QgVmVj
dG9ycyIsIGRvZXMgUDENCj4gICAgIG5lZWQgdG8gYmUgcmVwZWF0ZWQgZnJvbSB0aGUgcHJl
Y2VkaW5nICJHZW5lcmF0b3JzIiBzZWN0aW9uPyBBbHNvDQo+ICAgICBpdCBkb2Vzbid0IHF1
aXRlIHNlZW0gYXQgaG9tZSBpbiBlaXRoZXIgc2VjdGlvbiBzaW5jZSBpdCdzDQo+ICAgICBn
ZW5lcmF0ZWQgYnkgaXRzIG93biBzZXBhcmF0ZSBEU1RzIGluIGBjcmVhdGVfZ2VuZXJhdG9y
c2AuDQo+ICAgICAtIEluIHRoZSAiVGVzdCBWZWN0b3JzIiBzZWN0aW9uLCBpdCdzIG5vdCBh
bHdheXMgb2J2aW91cyB3aGljaA0KPiAgICAgdmFsdWVzIGFyZSBpbnB1dHMgYW5kIHdoaWNo
IGFyZSBvdXRwdXRzOg0KPiAgICAgwqAgwqAgLSBJbiAiQ29tbWl0bWVudCIsIHRoZSBwb3Np
dGlvbiBvZiBgcHJvdmVyQmxpbmRgIGFsb25nc2lkZQ0KPiAgICAgYGNvbW1pdHRlZE1lc3Nh
Z2VzYCBtYWtlcyBpdCBsb29rIGxpa2UgYHByb3ZlckJsaW5kYCBpcyBhbiBpbnB1dC4NCj4g
ICAgIC0gSW4gdGhlICJQcm9vZiBUZXN0IFZlY3RvcnMiIHNlY3Rpb24sIHRoZSBsaXN0aW5n
cyBvZg0KPiAgICAgYHJldmVhbGVkTWVzc2FnZXNgIGFuZCBgcmV2ZWFsZWRDb21taXR0ZWRN
ZXNzYWdlc2AgYXJlIGEgYml0DQo+ICAgICBtaXNsZWFkaW5nLCBzaW5jZSB0aGUgdGVzdCBu
ZWVkcyB0byByZXBlYXQgX2FsbF8gdGhlIGBtZXNzYWdlc2ANCj4gICAgIGFuZCBgY29tbWl0
dGVkTWVzc2FnZXNgIGZyb20gIlNpZ25hdHVyZSBUZXN0IFZlY3RvcnMiLiBDb25zaWRlcg0K
PiAgICAgaW5zdGVhZCByZXBlYXRpbmcgKG9yIGV4cGxpY2l0bHkgcmVmZXJpbmcgYmFjayB0
bykgYG1lc3NhZ2VzYCBhbmQNCj4gICAgIGBjb21taXR0ZWRNZXNzYWdlc2AgYW5kIGV4cGxp
Y2l0bHkgbGlzdGluZyBgZGlzY2xvc2VkX2luZGV4ZXNgIGFuZA0KPiAgICAgYGRpc2Nsb3Nl
ZF9jb21taXRtZW50X2luZGV4ZXNgIGFzIHNlcGFyYXRlIHZhbHVlcy4NCj4gICAgIC0gSW4g
dGhlICJQcm9vZiBUZXN0IFZlY3RvcnMiIHNlY3Rpb24sIGBjb21taXRtZW50V2l0aFByb29m
YCBhbmQNCj4gICAgIGBwcm92ZXJCbGluZGAgc2VlbSBsaWtlIHVubmVjZXNzYXJ5IGlucHV0
cyAodGhleSBhcmUgYWxyZWFkeQ0KPiAgICAgY292ZXJlZCBieSB0aGUgc2lnbmF0dXJlKT8N
Cj4gICAgIC0gSW4gdGhlICJUZXN0IFZlY3RvcnMiIHNlY3Rpb24sIHZhcmlhYmxlcyBhcmUg
c3BlbGxlZCBkaWZmZXJlbnRseQ0KPiAgICAgdGhhbiB0aGV5IGFyZSBlbHNld2hlcmUuIFRo
aXMgaXMgbm90IGEgYmlnIHByb2JsZW0sIGJ1dCBpdCBtYWtlcw0KPiAgICAgaXQgaGFyZGVy
IHRvIHNlYXJjaCBmb3IgdGhlIHZhbHVlcyB0aHJvdWdob3V0IGFuZCBiZXR3ZWVuDQo+ICAg
ICBkb2N1bWVudHMgaWYgdGhleSBhcmUgbm90IGNvbnNpc3RlbnRseSBzcGVsbGVkOg0KPiAg
ICAgwqAgwqAgLSBgUTFgIGlzIGNvbnNpc3RlbnRseSBzcGVsbGVkIGBRXzFgIGVsc2V3aGVy
ZSBpbiBib3RoIHRoaXMNCj4gICAgIGRvY3VtZW50IGFuZCBpbiBkcmFmdC1pcnRmLWNmcmct
YmJzLXNpZ25hdHVyZXMtMTANCj4gICAgIMKgIMKgIC0gYGNvbW1pdHRlZE1lc3NhZ2VzYCBp
cyBzcGVsbGVkIGBjb21taXR0ZWRfbWVzc2FnZXNgIGVsc2V3aGVyZQ0KPiAgICAgwqAgwqAg
LSBgcHJvdmVyQmxpbmRgIGlzIHNwZWxsZWQgYHNlY3JldF9wcm92ZXJfYmxpbmRgIGVsc2V3
aGVyZQ0KPiAgICAgwqAgwqAgLSBgY29tbWl0bWVudFdpdGhQcm9vZmAgaXMgc3BlbGxlZCBg
Y29tbWl0bWVudF93aXRoX3Byb29mYA0KPiAgICAgZWxzZXdoZXJlDQo+ICAgICDCoCDCoCAt
IGBzX3RpbGRlYCBhbmQgYG1fdGlsZGVzYCBhcmUgc3BlbGxlZCBgc35gIGFuZCBgbX5gIChg
bX5faWApDQo+ICAgICBlbHNld2hlcmUNCj4gICAgIMKgIMKgIC0gYHNlY3JldEtleWAgYW5k
IGBwdWJsaWNLZXlgIGFyZSBzcGVsbGVkIGBTS2AgYW5kIGBQS2AgZWxzZXdoZXJlDQo+ICAg
ICDCoCDCoCAtIGBzaWduZXJQdWJsaWNLZXlgIGlzIHNwZWxsZWQgYFBLYCBlbHNld2hlcmUN
Cj4gICAgIMKgIMKgIC0gYHByZXNlbnRhdGlvbkhlYWRlcmAgaXMgc3BlbGxlZCBgcHJlc2Vu
dGF0aW9uX2hlYWRlcmAgZWxzZXdoZXJlDQo+ICAgICDCoCDCoCAtIGByZXZlYWxlZE1lc3Nh
Z2VzYCBpcyBzcGVsbGVkIGBkaXNjbG9zZWRfbWVzc2FnZXNgIGVsc2V3aGVyZQ0KPiAgICAg
wqAgwqAgLSBgcmV2ZWFsZWRDb21taXR0ZWRNZXNzYWdlc2AgaXMgc3BlbGxlZA0KPiAgICAg
YGRpc2Nsb3NlZF9jb21taXR0ZWRfbWVzc2FnZXNgIGVsc2V3aGVyZQ0KPiAgICAgwqAgwqAg
LSBgcl8xYCwgYHJfMmAsIGBlX3RpbGRlYCwgYHIxX3RpbGRlYCBhbmQgYHIzX3RpbGRlYCBh
cmUNCj4gICAgIHNwZWxsZWQgYHIxYCwgYHIyYCwgYGV+YCwgYHIxfmAgYW5kIGByM35gIGlu
DQo+ICAgICBkcmFmdC1pcnRmLWNmcmctYmJzLXNpZ25hdHVyZXMtMTAgKHRob3VnaCBub3Qg
aW4gaXRzIHRlc3QgdmVjdG9ycw0KPiAgICAgc2VjdGlvbiwgaG1tLi4uKQ0KPiAgICAgwqAg
wqAgLSBgbV90aWxkZV9zY2FsYXJzYCBpcyBzcGVsbGVkIGBtfmAgKGBtfl9pYCkgZWxzZXdo
ZXJlDQo+ICAgICDCoCDCoCAtIEluIHRoZSAiQ29tbWl0bWVudCIgc3Vic2VjdGlvbnMsIGBz
ZWVkYCBhbmQgYGRzdGAgYXJlDQo+ICAgICBzcGVsbGVkIGRpZmZlcmVudGx5IGZyb20gYFNF
RURgIGFuZCBgRFNUYCBpbg0KPiAgICAgZHJhZnQtaXJ0Zi1jZnJnLWJicy1zaWduYXR1cmVz
LTEwDQo+ICAgICAtIEluIHRoZSAiQ29tbWl0bWVudCIgc3Vic2VjdGlvbnMgb2YgIlRlc3Qg
VmVjdG9ycyIsIHBlcmhhcHMgaXQNCj4gICAgIHdvdWxkIGJlIGFwcHJvcHJpYXRlIHRvIHJl
ZmVyZW5jZSBzZWN0aW9uICI4LjEuIE1vY2tlZCBSYW5kb20NCj4gICAgIFNjYWxhcnMiIG9m
IGRyYWZ0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlcw0KPiAgICAgPGh0dHBzOi8vd3d3Lmll
dGYub3JnL2FyY2hpdmUvaWQvZHJhZnQtaXJ0Zi1jZnJnLWJicy1zaWduYXR1cmVzLTEwLmh0
bWwjbmFtZS1tb2NrZWQtcmFuZG9tLXNjYWxhcnM+wqBbNF0NCj4gICAgIGZvciB3aGF0IGBz
ZWVkYCBhbmQgYGRzdGAgc2hvdWxkIGJlIHVzZWQgZm9yPw0KPg0KPiAgICAgVGhhbmsgeW91
IGZvciB5b3VyIGNvbnNpZGVyYXRpb24gYW5kIGZvciB5b3VyIHdvcmsgb24gdGhlIGRyYWZ0
IQ0KPiAgICAgUGxlYXNlIGxldCBtZSBrbm93IGlmIEkgY2FuIGhlbHAgaW4gc29tZSB3YXku
DQo+DQo+ICAgICBbMV06DQo+ICAgICBodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lk
L2RyYWZ0LWlydGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy0wMi5odG1sDQo+ICAgICBb
Ml06DQo+ICAgICBodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RodHRwczovL3d3
dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzg2MTAvaHR0cHM6Ly93d3cucmZjLWVkaXRvci5v
cmcvaW5mby9yZmM4NjEwL3JhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzLTAy
Lmh0bWwjbmFtZS12YWxpZC1hbGwtcHJvdmVyLWNvbW1pdHRlZC1tDQo+ICAgICA8aHR0cHM6
Ly93d3cuaWV0Zi5vcmcvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNp
Z25hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLWFsbC1wcm92ZXItY29tbWl0dGVkLW0+DQo+
ICAgICBbM106IGh0dHBzOi8vd3d3LmlldGYubyJ2YWxpZCBubyBwcm92ZXIgY29tbWl0dGVk
IG1lc3NhZ2VzLCBubw0KPiAgICAgc2lnbmVyIG1lc3NhZ2VzDQo+ICAgICBzaWduYXR1cmUi
cmcvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMtMDIu
aHRtbCNuYW1lLXZhbGlkLW5vLXByb3Zlci1jb21taXR0ZWQtbQ0KPiAgICAgPGh0dHBzOi8v
d3d3LmlldGYub3JnL2FyY2hpdmUvaWQvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWdu
YXR1cmVzLTAyLmh0bWwjbmFtZS12YWxpZC1uby1wcm92ZXItY29tbWl0dGVkLW0+DQo+ICAg
ICBbNF06DQo+ICAgICBodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RyYWZ0LWly
dGYtY2ZyZy1iYnMtc2lnbmF0dXJlcy0xMC5odG1sI25hbWUtbW9ja2VkLXJhbmRvbS1zY2Fs
YXJzDQo+ICAgICBbNV06IGh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODYx
MC8NCj4NCj4gICAgIEVtaWwgTHVuZGJlcmcNCj4NCj4gICAgIFN0YWZmIEVuZ2luZWVyIHwg
WXViaWNvIDxodHRwOi8vd3d3Lnl1Ymljby5jb20vPg0KPg0KPg0KPg0KPiBfX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBDRlJHIG1haWxpbmcg
bGlzdCAtLWNmcmdAaXJ0Zi5vcmcNCj4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0
b2NmcmctbGVhdmVAaXJ0Zi5vcmcNCi0tIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkRyLiBH
cmVnIE0uIEJlcm5zdGVpbiwgaHR0cHM6Ly93d3cuZ3JvdHRvLW5ldHdvcmtpbmcuY29tDQoN
CiYjODIwMzsNCg==
--------------akX7UiJotPY0ozi5vxvxWiCk
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE html>
<html data-lt-installed=3D"true">
  <head>

    <meta http-equiv=3D"content-type" content=3D"text/html; charset=3DUTF=
-8">
    <title></title>
    <meta charset=3D"utf-8">
  </head>
  <body>
    <div class=3D"markdown-here-wrapper">
      <p style=3D"margin-bottom: 19.2px; margin-top: 0px;">Thanks Emil.
        And thanks for the PRs on the drafts. We will try to get an
        update out in a week or two.</p>
      <p style=3D"margin-bottom: 19.2px; margin-top: 0px;">Best Regards</=
p>
      <p style=3D"margin-bottom: 19.2px; margin-top: 0px;">Greg B.<br>
        On 5/27/26 05:21, Emil Lundberg wrote:<br>
      </p>
      <blockquote type=3D"cite"
style=3D"border-block-color: rgb(119, 119, 119); border-bottom-color: rgb=
(119, 119, 119); border-inline-color: rgb(114, 159, 207) rgb(119, 119, 11=
9); border-inline-start: 2px solid rgb(114, 159, 207); border-left: 2px s=
olid rgb(114, 159, 207); border-right-color: rgb(119, 119, 119); border-t=
op-color: rgb(119, 119, 119); color: rgb(119, 119, 119); column-rule-colo=
r: rgb(119, 119, 119); margin: 19.2px 0px; outline-color: rgb(119, 119, 1=
19); padding-inline: 16px; padding-left: 16px; padding-right: 16px; quote=
s: none; text-decoration-color: rgb(119, 119, 119); text-emphasis-color: =
rgb(119, 119, 119);">
        <div dir=3D"ltr">
          <div>One more thing I noticed now:</div>
          <div><br>
          </div>
          <div>Substantive but editorial issues:<br>
          </div>
          <div>- In "Test Vectors", the "Generators" and "Blind
            Generators" sections spell the attribute generators `H_0 ...
            H_9` and `J_0 ... J_9` while both=C2=A0<a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-10=
=2Ehtml#name-message-generators-2">draft-irtf-cfrg-bbs-signatures-10</a>
            and the rest of=C2=A0draft-irtf-cfrg-bbs-blind-signatures-02
            spells them `H_1 ... H_10` and `J_1 ... J_10`.</div>
          <div><br>
          </div>
          <div>
            <div dir=3D"ltr" class=3D"gmail_signature"
              data-smartmail=3D"gmail_signature">
              <div dir=3D"ltr">
                <div>
                  <div dir=3D"ltr"><span>
                      <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style=3D"color:rgb(102,102,102);font-family:Arial;font-size:9.5pt;font-we=
ight:700;white-space:pre-wrap;line-height:1.38">Emil Lundberg</span><br>
                      </p>
                      <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(102,102,102);vertica=
l-align:baseline;white-space:pre-wrap">Staff Engineer | </span><a
                          href=3D"http://www.yubico.com/"
style=3D"line-height:1.38;font-size:12.8px;text-decoration:none"><span
style=3D"font-size:9.5pt;font-family:Verdana;color:rgb(106,168,79);font-w=
eight:700;vertical-align:baseline;white-space:pre-wrap">Yubico</span></a>=
<br>
                      </p>
                      <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br>
                      </p>
                    </span></div>
                </div>
              </div>
            </div>
          </div>
          <br>
        </div>
        <br>
        <div class=3D"gmail_quote gmail_quote_container">
          <div dir=3D"ltr" class=3D"gmail_attr">Den tis 26 maj 2026 kl 22=
:28
            skrev Emil Lundberg &lt;<a href=3D"mailto:emil@yubico.com"
              class=3D"moz-txt-link-freetext">emil@yubico.com</a>&gt;:<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 dir=3D"ltr">
              <div>Hi,</div>
              <div><br>
              </div>
              <div>I've recently been implementing <a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html">"Blind
                  BBS Signatures"
                  (draft-irtf-cfrg-bbs-blind-signatures-02)</a> [1] and
                would like to share some issues I found.</div>
              <div><br>
              </div>
              <div>Interoperability issues:<br>
                <br>
                - In `FinalizeBlindSign`, the statement `3. if L &lt;=3D =
0
                or M &lt;=3D0, return INVALID` fails for the
                BLS12-381-SHA-256 signature test vector <a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html#name-valid-no-prover-committed-m">"valid
                  no prover committed messages, no signer messages
                  signature"</a> [3]. This should presumably be `if L
                &lt; 0 or M &lt; 0`?</div>
              <div><br>
                - In `FinalizeBlindSign`, the description of
                `blind_generators` states it defaults to empty array,
                but the procedure requires that `M &gt; 0` which fails
                if `blind_generators` is empty. (This is obviously
                related to the previous issue)</div>
              <div><br>
              </div>
              <div>- In `BlindProofGen`, something seems to be wrong
                when `secret_prover_blind` is null. I have not been able
                to reproduce nor verify the proof test vector=C2=A0<a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html#name-valid-all-prover-committed-m">"9.1.5.8.
                  valid all prover committed messages and signer
                  messages revealed proof"</a>=C2=A0[2].<br>
                <br>
                =C2=A0 =C2=A0 It seems to me like either the `prepare_par=
ameters`
                call needs to return one fewer generator (because it
                skips returning `secret_prover_blind` as a message
                scalar), or the `secret_prover_blind` generator needs to
                be omitted from `generators` before passing it to
                `BBS.CoreProofGen`, but it may also be something else. I
                haven't found a way to match the test vectors, so I'm
                not sure what correction is needed.<br>
                <br>
              </div>
              <div>- In `prepare_parameters`, the description of
                `secret_prover_blind` states it defaults to zero, but
                the procedure checks `3. if secret_prover_blind !=3D
                NONE;`. It can't be "NONE" at this point if it defaults
                to zero. Perhaps this should be `if secret_prover_blind
                !=3D 0;`, but I'm not sure that's correct either. (This i=
s
                related to the previous issue)<br>
                <br>
                - I have been able to verify the `signature` of all of
                the "Signature Test Vectors", but not reproduce any of
                the `signature` values. My `BlindSign` outputs verify
                correctly with my `VerifyBlindSign` implementation, and
                my `BlindSign` implementation produces the same `B` and
                `domain` values shown as "Trace:" in the test vectors,
                so the only reason I can imagine for failing to
                reproduce the signatures is that there is some
                difference between how my `FinalizeBlindSign`
                implementation hashes to `e` and how the test vectors
                hash to `e`.</div>
              <div><br>
                - In general I think there are too many optional
                parameters, especially in the internal procedures. I
                don't think the defaults seem particularly useful, which
                weighs poorly against the very real opportunity for
                misalignments (see the `secret_prover_blind` issue
                above) and misinterpretations that defaults introduce.
                (I gave a <a
href=3D"https://mailarchive.ietf.org/arch/msg/cfrg/2XuK5BoAy-WjKWjzWM3O19=
Vry6g/">similar
                  critique of optional parameters in
                  draft-irtf-cfrg-bbs-signatures-08</a> earlier).<br>
                <br>
                <br>
                Substantive but editorial issues:<br>
                <br>
                - In the return statement of the `Commit` procedure, the
                `committed_message_scalars` and `blind_generators`
                arguments are in reverse order compared to the
                `CoreCommit` procedure definition.<br>
                - In `BlindProofVerify`, descriptions of
                `disclosed_committed_messages` and
                `disclosed_committed_indexes` are missing.<br>
                - In `CoreCommit`, the "Outputs:" definition is missing.<=
br>
                - In `CoreCommit`, `1. M =3D length(committed_messages)`
                references a variable `committed_messages` which does
                not exist. Should probably be `committed_scalars`?<br>
                - In `prepare_parameters`, descriptions of
                `generators_number` and `blind_generators_number` are
                missing.<br>
                - In `calculate_blind_challenge`, the "Outputs:"
                definition is missing.<br>
                - In the "Blind Generators" subsection of "Test
                Vectors", `Q1` should probably be `Q2` (`Q_2`)? Q_1 is
                consistently used in the procedures to denote non-blind
                generators.<br>
                - In "Signature Test Vectors" for BLS12-381-SHA-256,
                "valid no prover committed messages, multiple signer
                messages signature", the "Trace:" appears to have
                mislabeled the `B` value as `domain =3D`. I don't know
                what the value labeled `B =3D` is, either.<br>
                - Section "9.1.5.8. valid all prover committed messages
                and signer messages revealed proof" has the same title
                as "9.1.5.1. valid all prover committed messages and
                signer messages revealed proof" which does not seem to
                accurately describe the test vector values in 9.1.5.8
                (not all signer messages are revealed).<br>
                - In test vectors with arrays of multiple values (for
                example `committedMessages`), the formatting is very
                poor and it's easy to miss trailing empty octet strings.
                Ideally, values that fit on one line should not be
                line-wrapped and each value should be delimited clearly
                so that empty octet strings are clearly visible. For
                example, consider using <a
                  href=3D"https://www.rfc-editor.org/info/rfc8610/">CDDL
                  syntax</a> [5]
                (`h'5982967821da3c5983496214df36aa5e58de6fa25314af4cf4c00=
400779f08c3'`)
                for test vector values (this allows internal whitespace,
                and would also enable disambiguating octet strings and
                hex-encoded large integers, among other things).<br>
                - A few more obvious or unambiguous errors, I have
                opened pull requests on GitHub to fix these: <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/14">#14</a>,
                <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/15">#15</a>,
                <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/16">#16</a>,
                <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/17">#17</a>,
                <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/18">#18</a>,
                <a
href=3D"https://github.com/cfrg/draft-irtf-cfrg-bbs-blind-signatures/pull=
/19">#19</a>.<br>
                <br>
                Subjective style comments:<br>
                <br>
                - The `Commit` procedure seems like it's part of the
                "public" interface, so it seems like it shouldn't expose
                `api_id` as a free parameter (instead letting it be
                fixed by the ciphersuite, like `BlindSign` etc.)?<br>
                - The `deserialize_and_validate_commit` procedure seems
                more like an "internal" procedure, so it should perhaps
                be under "Core Operations" or "Utilities"? Its current
                position alongside `Commit` makes it seem equally
                "public".<br>
                - In the "Test Vectors" section, this document has the
                subsections in the order [SHA-256, SHAKE-256] while
                draft-irtf-cfrg-bbs-signatures-10 has them in opposite
                order. This may be an opportunity for confusion.<br>
                - In the "Generators" subsection of "Test Vectors",
                perhaps it's worth pointing out that `P1` is the same
                `P1` as in draft-irtf-cfrg-bbs-signatures-10 but `Q1` is
                NOT the same (since it's generated by a different
                `api_id`)?<br>
                - In the "Blind Generators" subsection of "Test
                Vectors", does P1 need to be repeated from the preceding
                "Generators" section? Also it doesn't quite seem at home
                in either section since it's generated by its own
                separate DSTs in `create_generators`.<br>
                - In the "Test Vectors" section, it's not always obvious
                which values are inputs and which are outputs:<br>
                =C2=A0 =C2=A0 - In "Commitment", the position of `proverB=
lind`
                alongside `committedMessages` makes it look like
                `proverBlind` is an input.<br>
                - In the "Proof Test Vectors" section, the listings of
                `revealedMessages` and `revealedCommittedMessages` are a
                bit misleading, since the test needs to repeat _all_ the
                `messages` and `committedMessages` from "Signature Test
                Vectors". Consider instead repeating (or explicitly
                refering back to) `messages` and `committedMessages` and
                explicitly listing `disclosed_indexes` and
                `disclosed_commitment_indexes` as separate values.<br>
                - In the "Proof Test Vectors" section,
                `commitmentWithProof` and `proverBlind` seem like
                unnecessary inputs (they are already covered by the
                signature)?</div>
              <div>- In the "Test Vectors" section, variables are
                spelled differently than they are elsewhere. This is not
                a big problem, but it makes it harder to search for the
                values throughout and between documents if they are not
                consistently spelled:<br>
                =C2=A0 =C2=A0 - `Q1` is consistently spelled `Q_1` elsewh=
ere in
                both this document and in
                draft-irtf-cfrg-bbs-signatures-10<br>
                =C2=A0 =C2=A0 - `committedMessages` is spelled
                `committed_messages` elsewhere<br>
                =C2=A0 =C2=A0 - `proverBlind` is spelled `secret_prover_b=
lind`
                elsewhere<br>
                =C2=A0 =C2=A0 - `commitmentWithProof` is spelled
                `commitment_with_proof` elsewhere<br>
                =C2=A0 =C2=A0 - `s_tilde` and `m_tildes` are spelled `s~`=
 and `m~`
                (`m~_i`) elsewhere<br>
                =C2=A0 =C2=A0 - `secretKey` and `publicKey` are spelled `=
SK` and
                `PK` elsewhere<br>
                =C2=A0 =C2=A0 - `signerPublicKey` is spelled `PK` elsewhe=
re<br>
                =C2=A0 =C2=A0 - `presentationHeader` is spelled
                `presentation_header` elsewhere<br>
                =C2=A0 =C2=A0 - `revealedMessages` is spelled `disclosed_=
messages`
                elsewhere<br>
                =C2=A0 =C2=A0 - `revealedCommittedMessages` is spelled
                `disclosed_committed_messages` elsewhere<br>
                =C2=A0 =C2=A0 - `r_1`, `r_2`, `e_tilde`, `r1_tilde` and `=
r3_tilde`
                are spelled `r1`, `r2`, `e~`, `r1~` and `r3~` in
                draft-irtf-cfrg-bbs-signatures-10 (though not in its
                test vectors section, hmm...)<br>
                =C2=A0 =C2=A0 - `m_tilde_scalars` is spelled `m~` (`m~_i`=
)
                elsewhere<br>
                =C2=A0 =C2=A0 - In the "Commitment" subsections, `seed` a=
nd `dst`
                are spelled differently from `SEED` and `DST` in
                draft-irtf-cfrg-bbs-signatures-10<br>
                - In the "Commitment" subsections of "Test Vectors",
                perhaps it would be appropriate to reference section=C2=A0=
<a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-10=
=2Ehtml#name-mocked-random-scalars">"8.1.
                  Mocked Random Scalars" of
                  draft-irtf-cfrg-bbs-signatures</a>=C2=A0[4] for what `s=
eed`
                and `dst` should be used for?</div>
              <div><br>
              </div>
              <div>Thank you for your consideration and for your work on
                the draft! Please let me know if I can help in some way.<=
br>
                <br>
                [1]:=C2=A0<a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html"
                  class=3D"moz-txt-link-freetext">https://www.ietf.org/ar=
chive/id/draft-irtf-cfrg-bbs-blind-signatures-02.html</a><br>
                [2]: <a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html#name-valid-all-prover-committed-m">https://www.ietf.org/archi=
ve/id/dhttps://www.rfc-editor.org/info/rfc8610/https://www.rfc-editor.org=
/info/rfc8610/raft-irtf-cfrg-bbs-blind-signatures-02.html#name-valid-all-=
prover-committed-m</a><br>
                [3]: <a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-blind-signatu=
res-02.html#name-valid-no-prover-committed-m">https://www.ietf.o"valid
                  no prover committed messages, no signer messages
signature"rg/archive/id/draft-irtf-cfrg-bbs-blind-signatures-02.html#name=
-valid-no-prover-committed-m</a></div>
              <div>[4]:=C2=A0<a
href=3D"https://www.ietf.org/archive/id/draft-irtf-cfrg-bbs-signatures-10=
=2Ehtml#name-mocked-random-scalars"
                  class=3D"moz-txt-link-freetext">https://www.ietf.org/ar=
chive/id/draft-irtf-cfrg-bbs-signatures-10.html#name-mocked-random-scalar=
s</a><br>
                [5]: <a href=3D"https://www.rfc-editor.org/info/rfc8610/"=

                  class=3D"moz-txt-link-freetext">https://www.rfc-editor.=
org/info/rfc8610/</a></div>
              <div><br>
              </div>
              <div>
                <div dir=3D"ltr" class=3D"gmail_signature">
                  <div dir=3D"ltr">
                    <div>
                      <div dir=3D"ltr"><span>
                          <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style=3D"color:rgb(102,102,102);font-family:Arial;font-size:9.5pt;font-we=
ight:700;white-space:pre-wrap;line-height:1.38">Emil Lundberg</span><br>
                          </p>
                          <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><span
style=3D"font-size:9.5pt;font-family:Arial;color:rgb(102,102,102);vertica=
l-align:baseline;white-space:pre-wrap">Staff Engineer | </span><a
                              href=3D"http://www.yubico.com/"
style=3D"line-height:1.38;font-size:12.8px;text-decoration:none"><span
style=3D"font-size:9.5pt;font-family:Verdana;color:rgb(106,168,79);font-w=
eight:700;vertical-align:baseline;white-space:pre-wrap">Yubico</span></a>=
<br>
                          </p>
                          <p dir=3D"ltr"
style=3D"line-height:1.38;margin-top:0pt;margin-bottom:0pt"><br>
                          </p>
                        </span></div>
                    </div>
                  </div>
                </div>
              </div>
            </div>
          </blockquote>
        </div>
        <br>
        <fieldset class=3D"moz-mime-attachment-header"></fieldset>
        <pre wrap=3D"" class=3D"moz-quote-pre">__________________________=
_____________________
CFRG mailing list -- <a class=3D"moz-txt-link-abbreviated" href=3D"mailto=
:cfrg@irtf.org">cfrg@irtf.org</a>
To unsubscribe send an email to <a class=3D"moz-txt-link-abbreviated" hre=
f=3D"mailto:cfrg-leave@irtf.org">cfrg-leave@irtf.org</a>
</pre>
      </blockquote>
      <div class=3D"moz-signature">-- <br>
        <hr>
        <p>Dr. Greg M. Bernstein, <a
            href=3D"https://www.grotto-networking.com"
            class=3D"moz-txt-link-freetext">https://www.grotto-networking=
=2Ecom</a></p>
      </div>
    </div>
    <div class=3D"mdhr-raw"
style=3D"height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-s=
ize:0;padding:0;margin:0;"
      aria-hidden=3D"true"
title=3D"MDH:PHA+VGhhbmtzIEVtaWwuIEFuZCB0aGFua3MgZm9yIHRoZSBQUnMgb24gdGhl=
IGRyYWZ0cy4gV2Ugd2lsbCB0cnkgdG8gZ2V0IGFuIHVwZGF0ZSBvdXQgaW4gYSB3ZWVrIG9yI=
HR3by48L3A+PHA+PGJyPjwvcD48cD5CZXN0IFJlZ2FyZHM8L3A+PHA+R3JlZyBCLjwvcD48ZG=
l2IGNsYXNzPSJtb3otY2l0ZS1wcmVmaXgiPk9uIDUvMjcvMjYgMDU6MjEsIEVtaWwgTHVuZGJ=
lcmcgd3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIHR5cGU9ImNpdGUiIGNpdGU9Im1pZDpD=
QU5NbnZrd3g4MnZGVUU5dmJOSFFtOFUtU1Q9ajZHX1VYUGZNN2o4VHRUc2pud1RnUndAbWFpb=
C5nbWFpbC5jb20iPgo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9In=
RleHQvaHRtbDsgIj48ZGl2IGRpcj0ibHRyIj48ZGl2Pk9uZSBtb3JlIHRoaW5nIEkgbm90aWN=
lZCBub3c6PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5TdWJzdGFudGl2ZSBidXQgZWRpdG9y=
aWFsIGlzc3Vlczo8YnI+PC9kaXY+PGRpdj4tIEluICJUZXN0IFZlY3RvcnMiLCB0aGUgIkdlb=
mVyYXRvcnMiIGFuZCAiQmxpbmQgR2VuZXJhdG9ycyIgc2VjdGlvbnMgc3BlbGwgdGhlIGF0dH=
JpYnV0ZSBnZW5lcmF0b3JzIGBIXzAgLi4uIEhfOWAgYW5kIGBKXzAgLi4uIEpfOWAgd2hpbGU=
gYm90aCZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL2FyY2hpdmUvaWQvZHJh=
ZnQtaXJ0Zi1jZnJnLWJicy1zaWduYXR1cmVzLTEwLmh0bWwjbmFtZS1tZXNzYWdlLWdlbmVyY=
XRvcnMtMiIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5kcmFmdC1pcnRmLWNmcmctYmJzLXNpZ2=
5hdHVyZXMtMTA8L2E+IGFuZCB0aGUgcmVzdCBvZiZuYnNwO2RyYWZ0LWlydGYtY2ZyZy1iYnM=
tYmxpbmQtc2lnbmF0dXJlcy0wMiBzcGVsbHMgdGhlbSBgSF8xIC4uLiBIXzEwYCBhbmQgYEpf=
MSAuLi4gSl8xMGAuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj48ZGl2IGRpcj0ibHRyIiBjb=
GFzcz0iZ21haWxfc2lnbmF0dXJlIiBkYXRhLXNtYXJ0bWFpbD0iZ21haWxfc2lnbmF0dXJlIj=
48ZGl2IGRpcj0ibHRyIj48ZGl2PjxkaXYgZGlyPSJsdHIiPjxzcGFuPjxwIGRpcj0ibHRyIiB=
zdHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBw=
dCI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigxMDIsMTAyLDEwMik7Zm9udC1mYW1pbHk6QXJpY=
Ww7Zm9udC1zaXplOjkuNXB0O2ZvbnQtd2VpZ2h0OjcwMDt3aGl0ZS1zcGFjZTpwcmUtd3JhcD=
tsaW5lLWhlaWdodDoxLjM4Ij5FbWlsIEx1bmRiZXJnPC9zcGFuPjxicj48L3A+PHAgZGlyPSJ=
sdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0=
b206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuNXB0O2ZvbnQtZmFtaWx5OkFyaWFsO=
2NvbG9yOnJnYigxMDIsMTAyLDEwMik7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3=
BhY2U6cHJlLXdyYXAiPlN0YWZmIEVuZ2luZWVyIHwgPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly9=
3d3cueXViaWNvLmNvbS8iIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O2ZvbnQtc2l6ZToxMi44=
cHg7dGV4dC1kZWNvcmF0aW9uOm5vbmUiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlb=
mQ9InRydWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS41cHQ7Zm9udC1mYW1pbHk6VmVyZG=
FuYTtjb2xvcjpyZ2IoMTA2LDE2OCw3OSk7Zm9udC13ZWlnaHQ6NzAwO3ZlcnRpY2FsLWFsaWd=
uOmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5ZdWJpY288L3NwYW4+PC9hPjxicj48=
L3A+PHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O=
21hcmdpbi1ib3R0b206MHB0Ij48YnI+PC9wPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2=
Rpdj48L2Rpdj48YnI+PC9kaXY+PGJyPjxkaXYgY2xhc3M9ImdtYWlsX3F1b3RlIGdtYWlsX3F=
1b3RlX2NvbnRhaW5lciI+PGRpdiBkaXI9Imx0ciIgY2xhc3M9ImdtYWlsX2F0dHIiPkRlbiB0=
aXMgMjYgbWFqIDIwMjYga2wgMjI6Mjggc2tyZXYgRW1pbCBMdW5kYmVyZyAmbHQ7PGEgaHJlZ=
j0ibWFpbHRvOmVtaWxAeXViaWNvLmNvbSIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5lbWlsQH=
l1Ymljby5jb208L2E+Jmd0Ozo8YnI+PC9kaXY+PGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F=
1b3RlIiBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFweCBz=
b2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiPjxkaXYgZGlyPSJsdHIiP=
jxkaXY+SGksPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JJ3ZlIHJlY2VudGx5IGJlZW4gaW=
1wbGVtZW50aW5nIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL2FyY2hpdmUvaWQvZHJ=
hZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzLTAyLmh0bWwiIHRhcmdldD0iX2Js=
YW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPiJCbGluZCBCQlMgU2lnbmF0dXJlcyIgKGRyY=
WZ0LWlydGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy0wMik8L2E+IFsxXSBhbmQgd291bG=
QgbGlrZSB0byBzaGFyZSBzb21lIGlzc3VlcyBJIGZvdW5kLjwvZGl2PjxkaXY+PGJyPjwvZGl=
2PjxkaXY+SW50ZXJvcGVyYWJpbGl0eSBpc3N1ZXM6PGJyPjxicj4tIEluIGBGaW5hbGl6ZUJs=
aW5kU2lnbmAsIHRoZSBzdGF0ZW1lbnQgYDMuIGlmIEwgJmx0Oz0gMCBvciBNICZsdDs9MCwgc=
mV0dXJuIElOVkFMSURgIGZhaWxzIGZvciB0aGUgQkxTMTItMzgxLVNIQS0yNTYgc2lnbmF0dX=
JlIHRlc3QgdmVjdG9yIDxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldGYub3JnL2FyY2hpdmUvaWQ=
vZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzLTAyLmh0bWwjbmFtZS12YWxp=
ZC1uby1wcm92ZXItY29tbWl0dGVkLW0iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlb=
mQ9InRydWUiPiJ2YWxpZCBubyBwcm92ZXIgY29tbWl0dGVkIG1lc3NhZ2VzLCBubyBzaWduZX=
IgbWVzc2FnZXMgc2lnbmF0dXJlIjwvYT4gWzNdLiBUaGlzIHNob3VsZCBwcmVzdW1hYmx5IGJ=
lIGBpZiBMICZsdDsgMCBvciBNICZsdDsgMGA/PC9kaXY+PGRpdj48YnI+LSBJbiBgRmluYWxp=
emVCbGluZFNpZ25gLCB0aGUgZGVzY3JpcHRpb24gb2YgYGJsaW5kX2dlbmVyYXRvcnNgIHN0Y=
XRlcyBpdCBkZWZhdWx0cyB0byBlbXB0eSBhcnJheSwgYnV0IHRoZSBwcm9jZWR1cmUgcmVxdW=
lyZXMgdGhhdCBgTSAmZ3Q7IDBgIHdoaWNoIGZhaWxzIGlmIGBibGluZF9nZW5lcmF0b3JzYCB=
pcyBlbXB0eS4gKFRoaXMgaXMgb2J2aW91c2x5IHJlbGF0ZWQgdG8gdGhlIHByZXZpb3VzIGlz=
c3VlKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+LSBJbiBgQmxpbmRQcm9vZkdlbmAsIHNvb=
WV0aGluZyBzZWVtcyB0byBiZSB3cm9uZyB3aGVuIGBzZWNyZXRfcHJvdmVyX2JsaW5kYCBpcy=
BudWxsLiBJIGhhdmUgbm90IGJlZW4gYWJsZSB0byByZXByb2R1Y2Ugbm9yIHZlcmlmeSB0aGU=
gcHJvb2YgdGVzdCB2ZWN0b3ImbmJzcDs8YSBocmVmPSJodHRwczovL3d3dy5pZXRmLm9yZy9h=
cmNoaXZlL2lkL2RyYWZ0LWlydGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy0wMi5odG1sI=
25hbWUtdmFsaWQtYWxsLXByb3Zlci1jb21taXR0ZWQtbSIgdGFyZ2V0PSJfYmxhbmsiIG1vei=
1kby1ub3Qtc2VuZD0idHJ1ZSI+IjkuMS41LjguIHZhbGlkIGFsbCBwcm92ZXIgY29tbWl0dGV=
kIG1lc3NhZ2VzIGFuZCBzaWduZXIgbWVzc2FnZXMgcmV2ZWFsZWQgcHJvb2YiPC9hPiZuYnNw=
O1syXS48YnI+PGJyPiZuYnNwOyAmbmJzcDsgSXQgc2VlbXMgdG8gbWUgbGlrZSBlaXRoZXIgd=
GhlIGBwcmVwYXJlX3BhcmFtZXRlcnNgIGNhbGwgbmVlZHMgdG8gcmV0dXJuIG9uZSBmZXdlci=
BnZW5lcmF0b3IgKGJlY2F1c2UgaXQgc2tpcHMgcmV0dXJuaW5nIGBzZWNyZXRfcHJvdmVyX2J=
saW5kYCBhcyBhIG1lc3NhZ2Ugc2NhbGFyKSwgb3IgdGhlIGBzZWNyZXRfcHJvdmVyX2JsaW5k=
YCBnZW5lcmF0b3IgbmVlZHMgdG8gYmUgb21pdHRlZCBmcm9tIGBnZW5lcmF0b3JzYCBiZWZvc=
mUgcGFzc2luZyBpdCB0byBgQkJTLkNvcmVQcm9vZkdlbmAsIGJ1dCBpdCBtYXkgYWxzbyBiZS=
Bzb21ldGhpbmcgZWxzZS4gSSBoYXZlbid0IGZvdW5kIGEgd2F5IHRvIG1hdGNoIHRoZSB0ZXN=
0IHZlY3RvcnMsIHNvIEknbSBub3Qgc3VyZSB3aGF0IGNvcnJlY3Rpb24gaXMgbmVlZGVkLjxi=
cj48YnI+PC9kaXY+PGRpdj4tIEluIGBwcmVwYXJlX3BhcmFtZXRlcnNgLCB0aGUgZGVzY3Jpc=
HRpb24gb2YgYHNlY3JldF9wcm92ZXJfYmxpbmRgIHN0YXRlcyBpdCBkZWZhdWx0cyB0byB6ZX=
JvLCBidXQgdGhlIHByb2NlZHVyZSBjaGVja3MgYDMuIGlmIHNlY3JldF9wcm92ZXJfYmxpbmQ=
gIT0gTk9ORTtgLiBJdCBjYW4ndCBiZSAiTk9ORSIgYXQgdGhpcyBwb2ludCBpZiBpdCBkZWZh=
dWx0cyB0byB6ZXJvLiBQZXJoYXBzIHRoaXMgc2hvdWxkIGJlIGBpZiBzZWNyZXRfcHJvdmVyX=
2JsaW5kICE9IDA7YCwgYnV0IEknbSBub3Qgc3VyZSB0aGF0J3MgY29ycmVjdCBlaXRoZXIuIC=
hUaGlzIGlzIHJlbGF0ZWQgdG8gdGhlIHByZXZpb3VzIGlzc3VlKTxicj48YnI+LSBJIGhhdmU=
gYmVlbiBhYmxlIHRvIHZlcmlmeSB0aGUgYHNpZ25hdHVyZWAgb2YgYWxsIG9mIHRoZSAiU2ln=
bmF0dXJlIFRlc3QgVmVjdG9ycyIsIGJ1dCBub3QgcmVwcm9kdWNlIGFueSBvZiB0aGUgYHNpZ=
25hdHVyZWAgdmFsdWVzLiBNeSBgQmxpbmRTaWduYCBvdXRwdXRzIHZlcmlmeSBjb3JyZWN0bH=
kgd2l0aCBteSBgVmVyaWZ5QmxpbmRTaWduYCBpbXBsZW1lbnRhdGlvbiwgYW5kIG15IGBCbGl=
uZFNpZ25gIGltcGxlbWVudGF0aW9uIHByb2R1Y2VzIHRoZSBzYW1lIGBCYCBhbmQgYGRvbWFp=
bmAgdmFsdWVzIHNob3duIGFzICJUcmFjZToiIGluIHRoZSB0ZXN0IHZlY3RvcnMsIHNvIHRoZ=
SBvbmx5IHJlYXNvbiBJIGNhbiBpbWFnaW5lIGZvciBmYWlsaW5nIHRvIHJlcHJvZHVjZSB0aG=
Ugc2lnbmF0dXJlcyBpcyB0aGF0IHRoZXJlIGlzIHNvbWUgZGlmZmVyZW5jZSBiZXR3ZWVuIGh=
vdyBteSBgRmluYWxpemVCbGluZFNpZ25gIGltcGxlbWVudGF0aW9uIGhhc2hlcyB0byBgZWAg=
YW5kIGhvdyB0aGUgdGVzdCB2ZWN0b3JzIGhhc2ggdG8gYGVgLjwvZGl2PjxkaXY+PGJyPi0gS=
W4gZ2VuZXJhbCBJIHRoaW5rIHRoZXJlIGFyZSB0b28gbWFueSBvcHRpb25hbCBwYXJhbWV0ZX=
JzLCBlc3BlY2lhbGx5IGluIHRoZSBpbnRlcm5hbCBwcm9jZWR1cmVzLiBJIGRvbid0IHRoaW5=
rIHRoZSBkZWZhdWx0cyBzZWVtIHBhcnRpY3VsYXJseSB1c2VmdWwsIHdoaWNoIHdlaWdocyBw=
b29ybHkgYWdhaW5zdCB0aGUgdmVyeSByZWFsIG9wcG9ydHVuaXR5IGZvciBtaXNhbGlnbm1lb=
nRzIChzZWUgdGhlIGBzZWNyZXRfcHJvdmVyX2JsaW5kYCBpc3N1ZSBhYm92ZSkgYW5kIG1pc2=
ludGVycHJldGF0aW9ucyB0aGF0IGRlZmF1bHRzIGludHJvZHVjZS4gKEkgZ2F2ZSBhIDxhIGh=
yZWY9Imh0dHBzOi8vbWFpbGFyY2hpdmUuaWV0Zi5vcmcvYXJjaC9tc2cvY2ZyZy8yWHVLNUJv=
QXktV2pLV2p6V00zTzE5VnJ5NmcvIiB0YXJnZXQ9Il9ibGFuayIgbW96LWRvLW5vdC1zZW5kP=
SJ0cnVlIj5zaW1pbGFyIGNyaXRpcXVlIG9mIG9wdGlvbmFsIHBhcmFtZXRlcnMgaW4gZHJhZn=
QtaXJ0Zi1jZnJnLWJicy1zaWduYXR1cmVzLTA4PC9hPiBlYXJsaWVyKS48YnI+PGJyPjxicj5=
TdWJzdGFudGl2ZSBidXQgZWRpdG9yaWFsIGlzc3Vlczo8YnI+PGJyPi0gSW4gdGhlIHJldHVy=
biBzdGF0ZW1lbnQgb2YgdGhlIGBDb21taXRgIHByb2NlZHVyZSwgdGhlIGBjb21taXR0ZWRfb=
WVzc2FnZV9zY2FsYXJzYCBhbmQgYGJsaW5kX2dlbmVyYXRvcnNgIGFyZ3VtZW50cyBhcmUgaW=
4gcmV2ZXJzZSBvcmRlciBjb21wYXJlZCB0byB0aGUgYENvcmVDb21taXRgIHByb2NlZHVyZSB=
kZWZpbml0aW9uLjxicj4tIEluIGBCbGluZFByb29mVmVyaWZ5YCwgZGVzY3JpcHRpb25zIG9m=
IGBkaXNjbG9zZWRfY29tbWl0dGVkX21lc3NhZ2VzYCBhbmQgYGRpc2Nsb3NlZF9jb21taXR0Z=
WRfaW5kZXhlc2AgYXJlIG1pc3NpbmcuPGJyPi0gSW4gYENvcmVDb21taXRgLCB0aGUgIk91dH=
B1dHM6IiBkZWZpbml0aW9uIGlzIG1pc3NpbmcuPGJyPi0gSW4gYENvcmVDb21taXRgLCBgMS4=
gTSA9IGxlbmd0aChjb21taXR0ZWRfbWVzc2FnZXMpYCByZWZlcmVuY2VzIGEgdmFyaWFibGUg=
YGNvbW1pdHRlZF9tZXNzYWdlc2Agd2hpY2ggZG9lcyBub3QgZXhpc3QuIFNob3VsZCBwcm9iY=
WJseSBiZSBgY29tbWl0dGVkX3NjYWxhcnNgPzxicj4tIEluIGBwcmVwYXJlX3BhcmFtZXRlcn=
NgLCBkZXNjcmlwdGlvbnMgb2YgYGdlbmVyYXRvcnNfbnVtYmVyYCBhbmQgYGJsaW5kX2dlbmV=
yYXRvcnNfbnVtYmVyYCBhcmUgbWlzc2luZy48YnI+LSBJbiBgY2FsY3VsYXRlX2JsaW5kX2No=
YWxsZW5nZWAsIHRoZSAiT3V0cHV0czoiIGRlZmluaXRpb24gaXMgbWlzc2luZy48YnI+LSBJb=
iB0aGUgIkJsaW5kIEdlbmVyYXRvcnMiIHN1YnNlY3Rpb24gb2YgIlRlc3QgVmVjdG9ycyIsIG=
BRMWAgc2hvdWxkIHByb2JhYmx5IGJlIGBRMmAgKGBRXzJgKT8gUV8xIGlzIGNvbnNpc3RlbnR=
seSB1c2VkIGluIHRoZSBwcm9jZWR1cmVzIHRvIGRlbm90ZSBub24tYmxpbmQgZ2VuZXJhdG9y=
cy48YnI+LSBJbiAiU2lnbmF0dXJlIFRlc3QgVmVjdG9ycyIgZm9yIEJMUzEyLTM4MS1TSEEtM=
jU2LCAidmFsaWQgbm8gcHJvdmVyIGNvbW1pdHRlZCBtZXNzYWdlcywgbXVsdGlwbGUgc2lnbm=
VyIG1lc3NhZ2VzIHNpZ25hdHVyZSIsIHRoZSAiVHJhY2U6IiBhcHBlYXJzIHRvIGhhdmUgbWl=
zbGFiZWxlZCB0aGUgYEJgIHZhbHVlIGFzIGBkb21haW4gPWAuIEkgZG9uJ3Qga25vdyB3aGF0=
IHRoZSB2YWx1ZSBsYWJlbGVkIGBCID1gIGlzLCBlaXRoZXIuPGJyPi0gU2VjdGlvbiAiOS4xL=
jUuOC4gdmFsaWQgYWxsIHByb3ZlciBjb21taXR0ZWQgbWVzc2FnZXMgYW5kIHNpZ25lciBtZX=
NzYWdlcyByZXZlYWxlZCBwcm9vZiIgaGFzIHRoZSBzYW1lIHRpdGxlIGFzICI5LjEuNS4xLiB=
2YWxpZCBhbGwgcHJvdmVyIGNvbW1pdHRlZCBtZXNzYWdlcyBhbmQgc2lnbmVyIG1lc3NhZ2Vz=
IHJldmVhbGVkIHByb29mIiB3aGljaCBkb2VzIG5vdCBzZWVtIHRvIGFjY3VyYXRlbHkgZGVzY=
3JpYmUgdGhlIHRlc3QgdmVjdG9yIHZhbHVlcyBpbiA5LjEuNS44IChub3QgYWxsIHNpZ25lci=
BtZXNzYWdlcyBhcmUgcmV2ZWFsZWQpLjxicj4tIEluIHRlc3QgdmVjdG9ycyB3aXRoIGFycmF=
5cyBvZiBtdWx0aXBsZSB2YWx1ZXMgKGZvciBleGFtcGxlIGBjb21taXR0ZWRNZXNzYWdlc2Ap=
LCB0aGUgZm9ybWF0dGluZyBpcyB2ZXJ5IHBvb3IgYW5kIGl0J3MgZWFzeSB0byBtaXNzIHRyY=
WlsaW5nIGVtcHR5IG9jdGV0IHN0cmluZ3MuIElkZWFsbHksIHZhbHVlcyB0aGF0IGZpdCBvbi=
BvbmUgbGluZSBzaG91bGQgbm90IGJlIGxpbmUtd3JhcHBlZCBhbmQgZWFjaCB2YWx1ZSBzaG9=
1bGQgYmUgZGVsaW1pdGVkIGNsZWFybHkgc28gdGhhdCBlbXB0eSBvY3RldCBzdHJpbmdzIGFy=
ZSBjbGVhcmx5IHZpc2libGUuIEZvciBleGFtcGxlLCBjb25zaWRlciB1c2luZyA8YSBocmVmP=
SJodHRwczovL3d3dy5yZmMtZWRpdG9yLm9yZy9pbmZvL3JmYzg2MTAvIiB0YXJnZXQ9Il9ibG=
FuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj5DRERMIHN5bnRheDwvYT4gWzVdIChgaCc1OTg=
yOTY3ODIxZGEzYzU5ODM0OTYyMTRkZjM2YWE1ZTU4ZGU2ZmEyNTMxNGFmNGNmNGMwMDQwMDc3=
OWYwOGMzJ2ApIGZvciB0ZXN0IHZlY3RvciB2YWx1ZXMgKHRoaXMgYWxsb3dzIGludGVybmFsI=
HdoaXRlc3BhY2UsIGFuZCB3b3VsZCBhbHNvIGVuYWJsZSBkaXNhbWJpZ3VhdGluZyBvY3RldC=
BzdHJpbmdzIGFuZCBoZXgtZW5jb2RlZCBsYXJnZSBpbnRlZ2VycywgYW1vbmcgb3RoZXIgdGh=
pbmdzKS48YnI+LSBBIGZldyBtb3JlIG9idmlvdXMgb3IgdW5hbWJpZ3VvdXMgZXJyb3JzLCBJ=
IGhhdmUgb3BlbmVkIHB1bGwgcmVxdWVzdHMgb24gR2l0SHViIHRvIGZpeCB0aGVzZTogPGEga=
HJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC=
1zaWduYXR1cmVzL3B1bGwvMTQiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InR=
ydWUiPiMxNDwvYT4sIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jZnJnL2RyYWZ0LWly=
dGYtY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy9wdWxsLzE1IiB0YXJnZXQ9Il9ibGFuayIgb=
W96LWRvLW5vdC1zZW5kPSJ0cnVlIj4jMTU8L2E+LCA8YSBocmVmPSJodHRwczovL2dpdGh1Yi=
5jb20vY2ZyZy9kcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMvcHVsbC8xNiI=
gdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+IzE2PC9hPiwgPGEgaHJl=
Zj0iaHR0cHM6Ly9naXRodWIuY29tL2NmcmcvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1za=
WduYXR1cmVzL3B1bGwvMTciIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydW=
UiPiMxNzwvYT4sIDxhIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9jZnJnL2RyYWZ0LWlydGY=
tY2ZyZy1iYnMtYmxpbmQtc2lnbmF0dXJlcy9wdWxsLzE4IiB0YXJnZXQ9Il9ibGFuayIgbW96=
LWRvLW5vdC1zZW5kPSJ0cnVlIj4jMTg8L2E+LCA8YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb=
20vY2ZyZy9kcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMvcHVsbC8xOSIgdG=
FyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI+IzE5PC9hPi48YnI+PGJyPlN=
1YmplY3RpdmUgc3R5bGUgY29tbWVudHM6PGJyPjxicj4tIFRoZSBgQ29tbWl0YCBwcm9jZWR1=
cmUgc2VlbXMgbGlrZSBpdCdzIHBhcnQgb2YgdGhlICJwdWJsaWMiIGludGVyZmFjZSwgc28ga=
XQgc2VlbXMgbGlrZSBpdCBzaG91bGRuJ3QgZXhwb3NlIGBhcGlfaWRgIGFzIGEgZnJlZSBwYX=
JhbWV0ZXIgKGluc3RlYWQgbGV0dGluZyBpdCBiZSBmaXhlZCBieSB0aGUgY2lwaGVyc3VpdGU=
sIGxpa2UgYEJsaW5kU2lnbmAgZXRjLik/PGJyPi0gVGhlIGBkZXNlcmlhbGl6ZV9hbmRfdmFs=
aWRhdGVfY29tbWl0YCBwcm9jZWR1cmUgc2VlbXMgbW9yZSBsaWtlIGFuICJpbnRlcm5hbCIgc=
HJvY2VkdXJlLCBzbyBpdCBzaG91bGQgcGVyaGFwcyBiZSB1bmRlciAiQ29yZSBPcGVyYXRpb2=
5zIiBvciAiVXRpbGl0aWVzIj8gSXRzIGN1cnJlbnQgcG9zaXRpb24gYWxvbmdzaWRlIGBDb21=
taXRgIG1ha2VzIGl0IHNlZW0gZXF1YWxseSAicHVibGljIi48YnI+LSBJbiB0aGUgIlRlc3Qg=
VmVjdG9ycyIgc2VjdGlvbiwgdGhpcyBkb2N1bWVudCBoYXMgdGhlIHN1YnNlY3Rpb25zIGluI=
HRoZSBvcmRlciBbU0hBLTI1NiwgU0hBS0UtMjU2XSB3aGlsZSBkcmFmdC1pcnRmLWNmcmctYm=
JzLXNpZ25hdHVyZXMtMTAgaGFzIHRoZW0gaW4gb3Bwb3NpdGUgb3JkZXIuIFRoaXMgbWF5IGJ=
lIGFuIG9wcG9ydHVuaXR5IGZvciBjb25mdXNpb24uPGJyPi0gSW4gdGhlICJHZW5lcmF0b3Jz=
IiBzdWJzZWN0aW9uIG9mICJUZXN0IFZlY3RvcnMiLCBwZXJoYXBzIGl0J3Mgd29ydGggcG9pb=
nRpbmcgb3V0IHRoYXQgYFAxYCBpcyB0aGUgc2FtZSBgUDFgIGFzIGluIGRyYWZ0LWlydGYtY2=
ZyZy1iYnMtc2lnbmF0dXJlcy0xMCBidXQgYFExYCBpcyBOT1QgdGhlIHNhbWUgKHNpbmNlIGl=
0J3MgZ2VuZXJhdGVkIGJ5IGEgZGlmZmVyZW50IGBhcGlfaWRgKT88YnI+LSBJbiB0aGUgIkJs=
aW5kIEdlbmVyYXRvcnMiIHN1YnNlY3Rpb24gb2YgIlRlc3QgVmVjdG9ycyIsIGRvZXMgUDEgb=
mVlZCB0byBiZSByZXBlYXRlZCBmcm9tIHRoZSBwcmVjZWRpbmcgIkdlbmVyYXRvcnMiIHNlY3=
Rpb24/IEFsc28gaXQgZG9lc24ndCBxdWl0ZSBzZWVtIGF0IGhvbWUgaW4gZWl0aGVyIHNlY3R=
pb24gc2luY2UgaXQncyBnZW5lcmF0ZWQgYnkgaXRzIG93biBzZXBhcmF0ZSBEU1RzIGluIGBj=
cmVhdGVfZ2VuZXJhdG9yc2AuPGJyPi0gSW4gdGhlICJUZXN0IFZlY3RvcnMiIHNlY3Rpb24sI=
Gl0J3Mgbm90IGFsd2F5cyBvYnZpb3VzIHdoaWNoIHZhbHVlcyBhcmUgaW5wdXRzIGFuZCB3aG=
ljaCBhcmUgb3V0cHV0czo8YnI+Jm5ic3A7ICZuYnNwOyAtIEluICJDb21taXRtZW50IiwgdGh=
lIHBvc2l0aW9uIG9mIGBwcm92ZXJCbGluZGAgYWxvbmdzaWRlIGBjb21taXR0ZWRNZXNzYWdl=
c2AgbWFrZXMgaXQgbG9vayBsaWtlIGBwcm92ZXJCbGluZGAgaXMgYW4gaW5wdXQuPGJyPi0gS=
W4gdGhlICJQcm9vZiBUZXN0IFZlY3RvcnMiIHNlY3Rpb24sIHRoZSBsaXN0aW5ncyBvZiBgcm=
V2ZWFsZWRNZXNzYWdlc2AgYW5kIGByZXZlYWxlZENvbW1pdHRlZE1lc3NhZ2VzYCBhcmUgYSB=
iaXQgbWlzbGVhZGluZywgc2luY2UgdGhlIHRlc3QgbmVlZHMgdG8gcmVwZWF0IF9hbGxfIHRo=
ZSBgbWVzc2FnZXNgIGFuZCBgY29tbWl0dGVkTWVzc2FnZXNgIGZyb20gIlNpZ25hdHVyZSBUZ=
XN0IFZlY3RvcnMiLiBDb25zaWRlciBpbnN0ZWFkIHJlcGVhdGluZyAob3IgZXhwbGljaXRseS=
ByZWZlcmluZyBiYWNrIHRvKSBgbWVzc2FnZXNgIGFuZCBgY29tbWl0dGVkTWVzc2FnZXNgIGF=
uZCBleHBsaWNpdGx5IGxpc3RpbmcgYGRpc2Nsb3NlZF9pbmRleGVzYCBhbmQgYGRpc2Nsb3Nl=
ZF9jb21taXRtZW50X2luZGV4ZXNgIGFzIHNlcGFyYXRlIHZhbHVlcy48YnI+LSBJbiB0aGUgI=
lByb29mIFRlc3QgVmVjdG9ycyIgc2VjdGlvbiwgYGNvbW1pdG1lbnRXaXRoUHJvb2ZgIGFuZC=
BgcHJvdmVyQmxpbmRgIHNlZW0gbGlrZSB1bm5lY2Vzc2FyeSBpbnB1dHMgKHRoZXkgYXJlIGF=
scmVhZHkgY292ZXJlZCBieSB0aGUgc2lnbmF0dXJlKT88L2Rpdj48ZGl2Pi0gSW4gdGhlICJU=
ZXN0IFZlY3RvcnMiIHNlY3Rpb24sIHZhcmlhYmxlcyBhcmUgc3BlbGxlZCBkaWZmZXJlbnRse=
SB0aGFuIHRoZXkgYXJlIGVsc2V3aGVyZS4gVGhpcyBpcyBub3QgYSBiaWcgcHJvYmxlbSwgYn=
V0IGl0IG1ha2VzIGl0IGhhcmRlciB0byBzZWFyY2ggZm9yIHRoZSB2YWx1ZXMgdGhyb3VnaG9=
1dCBhbmQgYmV0d2VlbiBkb2N1bWVudHMgaWYgdGhleSBhcmUgbm90IGNvbnNpc3RlbnRseSBz=
cGVsbGVkOjxicj4mbmJzcDsgJm5ic3A7IC0gYFExYCBpcyBjb25zaXN0ZW50bHkgc3BlbGxlZ=
CBgUV8xYCBlbHNld2hlcmUgaW4gYm90aCB0aGlzIGRvY3VtZW50IGFuZCBpbiBkcmFmdC1pcn=
RmLWNmcmctYmJzLXNpZ25hdHVyZXMtMTA8YnI+Jm5ic3A7ICZuYnNwOyAtIGBjb21taXR0ZWR=
NZXNzYWdlc2AgaXMgc3BlbGxlZCBgY29tbWl0dGVkX21lc3NhZ2VzYCBlbHNld2hlcmU8YnI+=
Jm5ic3A7ICZuYnNwOyAtIGBwcm92ZXJCbGluZGAgaXMgc3BlbGxlZCBgc2VjcmV0X3Byb3Zlc=
l9ibGluZGAgZWxzZXdoZXJlPGJyPiZuYnNwOyAmbmJzcDsgLSBgY29tbWl0bWVudFdpdGhQcm=
9vZmAgaXMgc3BlbGxlZCBgY29tbWl0bWVudF93aXRoX3Byb29mYCBlbHNld2hlcmU8YnI+Jm5=
ic3A7ICZuYnNwOyAtIGBzX3RpbGRlYCBhbmQgYG1fdGlsZGVzYCBhcmUgc3BlbGxlZCBgc35g=
IGFuZCBgbX5gIChgbX5faWApIGVsc2V3aGVyZTxicj4mbmJzcDsgJm5ic3A7IC0gYHNlY3Jld=
EtleWAgYW5kIGBwdWJsaWNLZXlgIGFyZSBzcGVsbGVkIGBTS2AgYW5kIGBQS2AgZWxzZXdoZX=
JlPGJyPiZuYnNwOyAmbmJzcDsgLSBgc2lnbmVyUHVibGljS2V5YCBpcyBzcGVsbGVkIGBQS2A=
gZWxzZXdoZXJlPGJyPiZuYnNwOyAmbmJzcDsgLSBgcHJlc2VudGF0aW9uSGVhZGVyYCBpcyBz=
cGVsbGVkIGBwcmVzZW50YXRpb25faGVhZGVyYCBlbHNld2hlcmU8YnI+Jm5ic3A7ICZuYnNwO=
yAtIGByZXZlYWxlZE1lc3NhZ2VzYCBpcyBzcGVsbGVkIGBkaXNjbG9zZWRfbWVzc2FnZXNgIG=
Vsc2V3aGVyZTxicj4mbmJzcDsgJm5ic3A7IC0gYHJldmVhbGVkQ29tbWl0dGVkTWVzc2FnZXN=
gIGlzIHNwZWxsZWQgYGRpc2Nsb3NlZF9jb21taXR0ZWRfbWVzc2FnZXNgIGVsc2V3aGVyZTxi=
cj4mbmJzcDsgJm5ic3A7IC0gYHJfMWAsIGByXzJgLCBgZV90aWxkZWAsIGByMV90aWxkZWAgY=
W5kIGByM190aWxkZWAgYXJlIHNwZWxsZWQgYHIxYCwgYHIyYCwgYGV+YCwgYHIxfmAgYW5kIG=
ByM35gIGluIGRyYWZ0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlcy0xMCAodGhvdWdoIG5vdCB=
pbiBpdHMgdGVzdCB2ZWN0b3JzIHNlY3Rpb24sIGhtbS4uLik8YnI+Jm5ic3A7ICZuYnNwOyAt=
IGBtX3RpbGRlX3NjYWxhcnNgIGlzIHNwZWxsZWQgYG1+YCAoYG1+X2lgKSBlbHNld2hlcmU8Y=
nI+Jm5ic3A7ICZuYnNwOyAtIEluIHRoZSAiQ29tbWl0bWVudCIgc3Vic2VjdGlvbnMsIGBzZW=
VkYCBhbmQgYGRzdGAgYXJlIHNwZWxsZWQgZGlmZmVyZW50bHkgZnJvbSBgU0VFRGAgYW5kIGB=
EU1RgIGluIGRyYWZ0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlcy0xMDxicj4tIEluIHRoZSAi=
Q29tbWl0bWVudCIgc3Vic2VjdGlvbnMgb2YgIlRlc3QgVmVjdG9ycyIsIHBlcmhhcHMgaXQgd=
291bGQgYmUgYXBwcm9wcmlhdGUgdG8gcmVmZXJlbmNlIHNlY3Rpb24mbmJzcDs8YSBocmVmPS=
JodHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RyYWZ0LWlydGYtY2ZyZy1iYnMtc2l=
nbmF0dXJlcy0xMC5odG1sI25hbWUtbW9ja2VkLXJhbmRvbS1zY2FsYXJzIiB0YXJnZXQ9Il9i=
bGFuayIgbW96LWRvLW5vdC1zZW5kPSJ0cnVlIj4iOC4xLiBNb2NrZWQgUmFuZG9tIFNjYWxhc=
nMiIG9mIGRyYWZ0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlczwvYT4mbmJzcDtbNF0gZm9yIH=
doYXQgYHNlZWRgIGFuZCBgZHN0YCBzaG91bGQgYmUgdXNlZCBmb3I/PC9kaXY+PGRpdj48YnI=
+PC9kaXY+PGRpdj5UaGFuayB5b3UgZm9yIHlvdXIgY29uc2lkZXJhdGlvbiBhbmQgZm9yIHlv=
dXIgd29yayBvbiB0aGUgZHJhZnQhIFBsZWFzZSBsZXQgbWUga25vdyBpZiBJIGNhbiBoZWxwI=
GluIHNvbWUgd2F5Ljxicj48YnI+WzFdOiZuYnNwOzxhIGhyZWY9Imh0dHBzOi8vd3d3LmlldG=
Yub3JnL2FyY2hpdmUvaWQvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduYXR1cmVzLTA=
yLmh0bWwiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiPmh0dHBzOi8v=
d3d3LmlldGYub3JnL2FyY2hpdmUvaWQvZHJhZnQtaXJ0Zi1jZnJnLWJicy1ibGluZC1zaWduY=
XR1cmVzLTAyLmh0bWw8L2E+PGJyPlsyXTogPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcm=
cvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMtMDIuaHR=
tbCNuYW1lLXZhbGlkLWFsbC1wcm92ZXItY29tbWl0dGVkLW0iIHRhcmdldD0iX2JsYW5rIiBt=
b3otZG8tbm90LXNlbmQ9InRydWUiPmh0dHBzOi8vd3d3LmlldGYub3JnL2FyY2hpdmUvaWQvZ=
Gh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODYxMC9odHRwczovL3d3dy5yZm=
MtZWRpdG9yLm9yZy9pbmZvL3JmYzg2MTAvcmFmdC1pcnRmLWNmcmctYmJzLWJsaW5kLXNpZ25=
hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLWFsbC1wcm92ZXItY29tbWl0dGVkLW08L2E+PGJy=
PlszXTogPGEgaHJlZj0iaHR0cHM6Ly93d3cuaWV0Zi5vcmcvYXJjaGl2ZS9pZC9kcmFmdC1pc=
nRmLWNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLW5vLXByb3=
Zlci1jb21taXR0ZWQtbSIgdGFyZ2V0PSJfYmxhbmsiIG1vei1kby1ub3Qtc2VuZD0idHJ1ZSI=
+aHR0cHM6Ly93d3cuaWV0Zi5vInZhbGlkIG5vIHByb3ZlciBjb21taXR0ZWQgbWVzc2FnZXMs=
IG5vIHNpZ25lciBtZXNzYWdlcyBzaWduYXR1cmUicmcvYXJjaGl2ZS9pZC9kcmFmdC1pcnRmL=
WNmcmctYmJzLWJsaW5kLXNpZ25hdHVyZXMtMDIuaHRtbCNuYW1lLXZhbGlkLW5vLXByb3Zlci=
1jb21taXR0ZWQtbTwvYT48L2Rpdj48ZGl2Pls0XTombmJzcDs8YSBocmVmPSJodHRwczovL3d=
3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RyYWZ0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlcy0x=
MC5odG1sI25hbWUtbW9ja2VkLXJhbmRvbS1zY2FsYXJzIiB0YXJnZXQ9Il9ibGFuayIgbW96L=
WRvLW5vdC1zZW5kPSJ0cnVlIj5odHRwczovL3d3dy5pZXRmLm9yZy9hcmNoaXZlL2lkL2RyYW=
Z0LWlydGYtY2ZyZy1iYnMtc2lnbmF0dXJlcy0xMC5odG1sI25hbWUtbW9ja2VkLXJhbmRvbS1=
zY2FsYXJzPC9hPjxicj5bNV06IDxhIGhyZWY9Imh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3Jn=
L2luZm8vcmZjODYxMC8iIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbmQ9InRydWUiP=
mh0dHBzOi8vd3d3LnJmYy1lZGl0b3Iub3JnL2luZm8vcmZjODYxMC88L2E+PC9kaXY+PGRpdj=
48YnI+PC9kaXY+PGRpdj48ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfc2lnbmF0dXJlIj4=
8ZGl2IGRpcj0ibHRyIj48ZGl2PjxkaXYgZGlyPSJsdHIiPjxzcGFuPjxwIGRpcj0ibHRyIiBz=
dHlsZT0ibGluZS1oZWlnaHQ6MS4zODttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwd=
CI+PHNwYW4gc3R5bGU9ImNvbG9yOnJnYigxMDIsMTAyLDEwMik7Zm9udC1mYW1pbHk6QXJpYW=
w7Zm9udC1zaXplOjkuNXB0O2ZvbnQtd2VpZ2h0OjcwMDt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt=
saW5lLWhlaWdodDoxLjM4Ij5FbWlsIEx1bmRiZXJnPC9zcGFuPjxicj48L3A+PHAgZGlyPSJs=
dHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b=
206MHB0Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOjkuNXB0O2ZvbnQtZmFtaWx5OkFyaWFsO2=
NvbG9yOnJnYigxMDIsMTAyLDEwMik7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7d2hpdGUtc3B=
hY2U6cHJlLXdyYXAiPlN0YWZmIEVuZ2luZWVyIHwgPC9zcGFuPjxhIGhyZWY9Imh0dHA6Ly93=
d3cueXViaWNvLmNvbS8iIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O2ZvbnQtc2l6ZToxMi44c=
Hg7dGV4dC1kZWNvcmF0aW9uOm5vbmUiIHRhcmdldD0iX2JsYW5rIiBtb3otZG8tbm90LXNlbm=
Q9InRydWUiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6OS41cHQ7Zm9udC1mYW1pbHk6VmVyZGF=
uYTtjb2xvcjpyZ2IoMTA2LDE2OCw3OSk7Zm9udC13ZWlnaHQ6NzAwO3ZlcnRpY2FsLWFsaWdu=
OmJhc2VsaW5lO3doaXRlLXNwYWNlOnByZS13cmFwIj5ZdWJpY288L3NwYW4+PC9hPjxicj48L=
3A+PHAgZGlyPSJsdHIiIHN0eWxlPSJsaW5lLWhlaWdodDoxLjM4O21hcmdpbi10b3A6MHB0O2=
1hcmdpbi1ib3R0b206MHB0Ij48YnI+PC9wPjwvc3Bhbj48L2Rpdj48L2Rpdj48L2Rpdj48L2R=
pdj48L2Rpdj48L2Rpdj4KPC9ibG9ja3F1b3RlPjwvZGl2PgoKPGJyPjxmaWVsZHNldCBjbGFz=
cz0ibW96LW1pbWUtYXR0YWNobWVudC1oZWFkZXIiPjwvZmllbGRzZXQ+PHByZSB3cmFwPSIiI=
GNsYXNzPSJtb3otcXVvdGUtcHJlIj5fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX1=
9fX19fX19fX19fX19fXwpDRlJHIG1haWxpbmcgbGlzdCAtLSBjZnJnQGlydGYub3JnClRvIHV=
uc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gY2ZyZy1sZWF2ZUBpcnRmLm9yZwo8L3ByZT48=
L2Jsb2NrcXVvdGU+PGRpdiBjbGFzcz0ibW96LXNpZ25hdHVyZSI+LS0gPGJyPjxocj4KPHA+R=
HIuIEdyZWcgTS4gQmVybnN0ZWluLCA8YSBocmVmPSJodHRwczovL3d3dy5ncm90dG8tbmV0d2=
9ya2luZy5jb20iPmh0dHBzOi8vd3d3Lmdyb3R0by1uZXR3b3JraW5nLmNvbTwvYT48L3A+PC9=
kaXY+PHVsIGNsYXNzPSJkcm9wZG93bi1tZW51IHRleHRjb21wbGV0ZS1kcm9wZG93biIgc3R5=
bGU9ImRpc3BsYXk6IG5vbmU7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgei1pbmRleDogMTAwMDsiI=
GNvbnRlbnRlZGl0YWJsZT0iZmFsc2UiIHBvcG92ZXI9ImF1dG8iPjwvdWw+PGx0LWNvbnRhaW=
5lcj48L2x0LWNvbnRhaW5lcj4=3D">&amp;#8203;</div>
  </body>
  <lt-container></lt-container>
</html>

--------------akX7UiJotPY0ozi5vxvxWiCk--

--------------yeAA0AN8dJPVHEbwBzYHjnDP
Content-Type: application/pgp-keys; name="OpenPGP_0x8B23AE22C45266F3.asc"
Content-Disposition: attachment; filename="OpenPGP_0x8B23AE22C45266F3.asc"
Content-Description: OpenPGP public key
Content-Transfer-Encoding: quoted-printable

-----BEGIN PGP PUBLIC KEY BLOCK-----

xjMEZwLKYRYJKwYBBAHaRw8BAQdA8IOoK17s6mGoiBSzwOyaOoGOgWU8OumDTSof
GGhGQUjNLEdyZWcgQmVybnN0ZWluIDxncmVnYkBncm90dG8tbmV0d29ya2luZy5j
b20+wo8EExYIADcWIQRLzhHbMKsLgNK7vMOLI64ixFJm8wUCZwLKYQUJBaOagAIb
AwQLCQgHBRUICQoLBRYCAwEAAAoJEIsjriLEUmbz0NIA/iMpT0PHcvdfHGorTCR8
wYfmafZ5dRgOyIknaepT9SEnAQDvNzl1YT1LvhYiB+RqlMCXxCC96vkuoxlC5fuU
m6pzB844BGcCymISCisGAQQBl1UBBQEBB0BbfXd2chNynacbUQ/8JmIBWUcYSnBc
AecizPRRLJOIQwMBCAfCfgQYFggAJhYhBEvOEdswqwuA0ru8w4sjriLEUmbzBQJn
AspiBQkFo5qAAhsMAAoJEIsjriLEUmbzlYgA/05UvcaXFGdkD+dFChBP9+u0MbsG
OkLdZTZQvEQamZWvAQDhiTGdsF40gJFVMg1H56/9r4cpjnymbociUXD2Bgg0Aw=3D=3D
=3DMK6S
-----END PGP PUBLIC KEY BLOCK-----

--------------yeAA0AN8dJPVHEbwBzYHjnDP--

--------------H2gqpBpeU95bXF03N3PEEHtl--

--------------UtNTJXmkTgp1DdmNnSaqsN3x
Content-Type: application/pgp-signature; name="OpenPGP_signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="OpenPGP_signature.asc"

-----BEGIN PGP SIGNATURE-----

wnsEABYIACMWIQRLzhHbMKsLgNK7vMOLI64ixFJm8wUCahcveAUDAAAAAAAKCRCLI64ixFJm86Gl
AP4nZB80Ps4ANDBHBatP1D8Pr9PvDX0KtvHEtFRPl0EGGwEA+Dm4aqBPikU7SmtvcRgh5V//U7nw
G/xKm+FVlFr4ZgY=
=Q4WV
-----END PGP SIGNATURE-----

--------------UtNTJXmkTgp1DdmNnSaqsN3x--

