From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id TXqxBguMAmSK6wAAbAwnHQ (envelope-from ) for ; Sat, 04 Mar 2023 01:08:43 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id 0AZ0BQuMAmTqcgEAG6o9tA (envelope-from ) for ; Sat, 04 Mar 2023 01:08:43 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 6559CD087 for ; Sat, 4 Mar 2023 01:08:42 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pYFRl-0002zI-Jp; Fri, 03 Mar 2023 19:08:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pYFRj-0002vk-E6 for guix-devel@gnu.org; Fri, 03 Mar 2023 19:08:19 -0500 Received: from albert.telenet-ops.be ([2a02:1800:110:4::f00:1a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pYFRf-0008HJ-CB for guix-devel@gnu.org; Fri, 03 Mar 2023 19:08:19 -0500 Received: from [IPV6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16] ([IPv6:2a02:1811:8c09:9d00:5dba:d409:33f7:a16]) by albert.telenet-ops.be with bizsmtp id U0882900620ykKC06088zP; Sat, 04 Mar 2023 01:08:08 +0100 Message-ID: <09d3d861-0390-3ce6-30c7-22a1e2685787@telenet.be> Date: Sat, 4 Mar 2023 01:08:08 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.2 Content-Language: en-US To: Simon Tournier , Guix Devel References: <87jzzxd7z8.fsf@gmail.com> From: Maxime Devos Subject: Re: intrinsic vs extrinsic identifier: toward more robustness? In-Reply-To: <87jzzxd7z8.fsf@gmail.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------OGYgH8fCZrg0x5c9JYYGtfLa" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r23; t=1677888489; bh=yVSOt+3t94q8cy/LApN5zpJsAQEM0KJjgDHf+5cnEK0=; h=Date:To:References:From:Subject:In-Reply-To; b=d7U3MQ6DQIyGCE3/HhRq5sO3cW8ntg78OGxmoyEYM19f6vWlnFPS4tMk9Cjv2k9gb yY7QI3eaMBuCQpgkNVC5xQZ4yahqhNxNTUVSokgCbeKx/6kGYRhTE/W0OLZXjZZDAH 6y3KfF3EolkAgRm0HQgbQp4ho1HxeauRCRSH2sZxaslvy+CfP+01EeqOYXZ6Whaf45 4+Fc21epZ6GllquOVk5aiuVXp7C4SqWW4WIgIOqPRrp6qFX3hR5gK5y7ETz1nXMDrQ zdrNF96BcfI1CRlNa/gXkkxgfO/4TPucbd/XXIj4TtqPbYnmruV9gTImF5fcV/DvHD V0J9bbyidg74w== Received-SPF: pass client-ip=2a02:1800:110:4::f00:1a; envelope-from=maximedevos@telenet.be; helo=albert.telenet-ops.be X-Spam_score_int: -28 X-Spam_score: -2.9 X-Spam_bar: -- X-Spam_report: (-2.9 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.089, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: guix-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+larch=yhetil.org@gnu.org Sender: guix-devel-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN ARC-Seal: i=1; s=key1; d=yhetil.org; t=1677888522; a=rsa-sha256; cv=none; b=WsbVDgxiCe/cfSVmxd23fRAIQrouz2BA0t1Ij5gkKFuyk7R+xjUUHokKkOe0OPc5cdhmn1 DEjKrHN1SAD+IZ40o0KiRWHFNQEiUO/6ZNAJ3lsE6YcMkgubZzbAbyPfnx4L2z3SPXkpbG C00T4Ayan/X58oTvjBeWC+ylGQZ6+JLlkJvU/2VMTpY/CYN3arcT1SNGzxYSZTZEVkOevp PZV7l1z501RHauhIwJ9O0UK5PblMXKabZltsaDmOO1UpfRj9WwgYAZt6JN5GVUO/CU9Nmi fXn5FZeEeTeVTJcZGdg+9zgVRhovYl8YDiwJB0GXzpw8n/RqqYg1RoafPrab3g== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r23 header.b=d7U3MQ6D; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=telenet.be ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1677888522; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=yVSOt+3t94q8cy/LApN5zpJsAQEM0KJjgDHf+5cnEK0=; b=Sj6QN+lTPvrCJb3ehGjZkuAisNFG5d4Zf4MtQ8/ccdMdq7jZxdZWZKBjpQ5mkVTwYZce0w MwM9sK/zRfkYeB437LT2P6uFSw6/qlgYCSbknRZNW82dEF9Jkxp0JysKt75swnHmI/hUzg Bvs2W3YDpCZXCdNk820hecU2MsMvCDh7q58lljWmD95ZdDTiDAir5I/PlghxOXv6//cGEt DG3pYMyH1OUgiv+L/uQZvIvfqrXkycZ8kI8sP5S0SXFY/447CIv+Qispm/IgykA0ZEHJ5N XaxIECUDlxjdvSS716DYSDHa2CPbdWwZ3+jR45vgTn9gw8Z0REQ0SroFpfc/JQ== X-Migadu-Scanner: scn1.migadu.com X-Migadu-Spam-Score: -5.85 X-Spam-Score: -5.85 X-Migadu-Queue-Id: 6559CD087 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=telenet.be header.s=r23 header.b=d7U3MQ6D; spf=pass (aspmx1.migadu.com: domain of "guix-devel-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-devel-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=telenet.be X-TUID: oU7GwdDlgZms This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------OGYgH8fCZrg0x5c9JYYGtfLa Content-Type: multipart/mixed; boundary="------------sl5D6jKGqujTc5n6Pue8DVVc"; protected-headers="v1" From: Maxime Devos To: Simon Tournier , Guix Devel Message-ID: <09d3d861-0390-3ce6-30c7-22a1e2685787@telenet.be> Subject: Re: intrinsic vs extrinsic identifier: toward more robustness? References: <87jzzxd7z8.fsf@gmail.com> In-Reply-To: <87jzzxd7z8.fsf@gmail.com> --------------sl5D6jKGqujTc5n6Pue8DVVc Content-Type: multipart/mixed; boundary="------------tbXEzPS0ChcV6GCj68BP2FVo" --------------tbXEzPS0ChcV6GCj68BP2FVo Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 DQoNCk9wIDAzLTAzLTIwMjMgb20gMTk6MDcgc2NocmVlZiBTaW1vbiBUb3VybmllcjoNCj4g SGksDQo+IA0KPiBJIHdvdWxkIGxpa2UgdG8gb3BlbiBhIGRpc2N1c3Npb24gYWJvdXQgaG93 IHdlIGlkZW50aWZ5IHRoZSBzb3VyY2UNCj4gb3JpZ2luIChmaXhlZCBvdXRwdXQpLiAgSXQg aXMgb2Ygdml0YWxseSBpbXBvcnRhbmNlIGZvciBiZWluZyByb2J1c3Qgb24NCj4gdGhlIGxv bmctdGVybSAoc2F5IDMtNSB5ZWFycykuICBJdCBtYXR0ZXJzIGluIFJlcHJvZHVjaWJsZSBS ZXNlYXJjaA0KPiBjb250ZXh0LCBidXQgbm90IG9ubHkuDQo+IA0KPiAjIEZpcnN0IHRoaW5n IGZpcnN0DQo+ID09PT09PT09PT09PT09PT09PT0NCj4gDQo+ICMjIFdoYXQgaXMgYW4gaW50 cmluc2ljIGlkZW50aWZpZXIgb3IgYW4gZXh0cmluc2ljIG9uZT8NCj4gPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiANCj4gICAt IGV4dHJpbnNpYzogdXNlIGEgcmVnaXN0ZXIgdG8ga2VlcCB0aGUgY29ycmVzcG9uZGVuY2Ug YmV0d2VlbiB0aGUNCj4gICAgIGlkZW50aWZpZXIgYW5kIHRoZSBvYmplY3Q7IHNheSBsYWJl bCB2ZXJzaW9uIGFzIEdpdCB0YWcuDQo+IA0KPiAgIC0gaW50cmluc2ljOiBpbnRpbWF0ZWx5 IGJvdW5kIHRvIHRoZSBkZXNpZ25hdGVkIG9iamVjdCBpdHNlbGY7IHNheSBoYXNoDQo+ICAg ICBhcyBHaXQgYmxvYiBvciB0cmVlIGFuZCBhdCBzb21lIGV4dGVudCBjb21taXQuDQogPg0K ID4gWy4uLiBzb21lIHJlb3JkZXJpbmcgZm9yIGNvbnZlbmllbmNlIG9mIHJlcGx5aW5nIC4u Ll0NCiA+DQogPiBQbGVhc2Ugbm90ZSB0aGF0IHRoZSBpZGVudGlmaWNhdGlvbiBhbmQgdGhl IGludGVncml0eSBpcyBub3QgdGhlIHNhbWUuDQogPiBTaW5jZSBpbnRyaW5zaWMgaWRlbnRp ZmllciBvZnRlbiB1c2VzIGNyeXB0b2dyYXBoaWMgaGFzaCBmdW5jdGlvbnMgYW5kDQogPiBp bnRlZ3JpdHkgdG9vLCBpdCBpcyBvZnRlbiBjb25mdXNpbmcuDQoNClRvIG15IHVuZGVyc3Rh bmRpbmcsIHRoZXJlIGlzIG9ubHkgb25lICdyZWFsJyBpZGVudGlmaWVyIGluIEd1aXg6IHRo ZSANCihzaGEyNTZzdW0gKGJhc2UzMiAuLi4pKSAoKikuICBUaG9zZSBvdGhlciBpZGVudGlm aWVycyBsaWtlIHRoZSBVUkwgaW4gDQp1cmwtZmV0Y2ggYW5kIGdpdC1mZXRjaCBhcmUganVz dCBoaW50cyBvbiB3aGVyZSB0byBmaW5kIHRoZSBvYmplY3QgLS0gDQp2ZXJ5IGltcG9ydGFu dCBoaW50cyB3aXRob3V0IHdoaWNoIGZpbmRpbmcgdGhlIG9iamVjdCBpcyBtdWNoIG1vcmUg DQpsaWtlbHkgdG8gZmFpbCwgYnV0IGp1c3QgaGludHMgbm9uZXRoZWxlc3MuDQoNCldoaWxl IGlkZW50aWZpY2F0aW9uIGFuZCBpbnRlZ3JpdHkgbWlnaHQgYmUgZGlmZmVyZW50IGNvbmNl cHRzLCANCmNvbnRlbnQtYmFzZWQgaWRlbnRpZmllcnMgbGlrZSAoc2hhMjU2IChiYXNlMzIg Li4uKSkgYWNjb21wbGlzaCBib3RoIGF0IA0KdGhlIHNhbWUgdGltZS4NCg0KKCopIEZXSVcs IEkgd291bGQgbGlrZSB0byBwb2ludCBvdXQgdGhhdCBHdWl4IHRoZW9yZXRpY2FsbHkgc3Vw cG9ydHMgDQpzb21lIG90aGVyIGhhc2hlcyBhcyB3ZWxsLCB0aG91Z2ggdGhleSBhcmVuJ3Qg dXNlZCBmb3IgYW55IGluLXRyZWUgcGFja2FnZXMuDQoNCj4gVGhlIHJlZ2lzdGVyIG11c3Qg YmUgYSB0cnVzdGVkIGF1dGhvcml0eSBhbmQgaXQgcmVzb2x2ZXMgYnkgbWFwcGluZyB0aGUN Cj4ga2V5IGlkZW50aWZpZXIgdG8gdGhlIG9iamVjdC4gIEhhdmluZyB0aGUgb2JqZWN0IGF0 IGhhbmQgZG9lcyBub3QgZ2l2ZQ0KPiBhbnkgY2x1ZSBhYm91dCB0aGUga2V5IGlkZW50aWZp ZXIuICBBbmQgY29sbGlzaW9ucyBhcmUgdmVyeSBmcmVxdWVudDsNCj4gdHdvIGtleSBpZGVu dGlmaWVycyByZXNvbHZlIHRvIHRoZSBzYW1lIGNvbnRlbnQg4oCTIGhvcGVmdWxseSEgd2Ug Y2FsbA0KPiB0aGF0IG1pcnJvcnMuIDstKQ0KDQpJIGZpcnN0IHRob3VnaHQgeW91IHdoZXJl IHdyaXRpbmcgYWJvdXQgJ2V4dHJpbnNpYyAtPiBpbnRyaW5zaWMgKGUuZy4gDQpoYXNoLWJh c2VkKScgcmVnaXN0ZXJzLCBzbyBJIHdhcyBjb25mdXNlZCBieSB5b3VyIGNvbW1lbnQgYWJv dXQgDQpjb2xsaXNpb25zIC0tIHRvIG15IHVuZGVyc3RhbmRpbmcsIG5vIHNoYTI1NnN1bSBj b2xsaXNpb25zIGFyZSBrbm93bi4gDQpHb2luZyBieSB5b3VyIGNvbW1lbnQgYWJvdXQgbWly cm9ycywgSSB0aGluayB5b3UgbWVhbnQgYW4gJ2ludHJpbnNpYyAtPiANCmV4dHJpbnNpYycg bWFwIGluc3RlYWQsIGUuZy4gJ3NoYTI1NiAtPiBhIGJ1bmNoIG9mIGFwcHJvcHJpYXRlIFVS THMnLg0KDQo+IEludHJpbnNpYyBpZGVudGlmaWVyIGFsc28gcmVsaWVzIG9uIGEgKHRydXN0 ZWQpIG1hcCBidXQgY29sbGlzaW9ucyBhcmUNCj4gYXZvaWRlZCBhcyBtdWNoIGFzIHBvc3Np YmxlLiAgU29tZWhvdyBpdCBzdHJvbmdseSByZWR1Y2VzIHRoZSBwb3dlciBvZg0KPiB0aGUg YXV0aG9yaXR5IGFuZCBpdCBpcyBvZnRlbiBtb3JlIHJvYnVzdC4NCg0KV2hvIGlzICd0aGUg YXV0aG9yaXR5JyBoZXJlLCBob3cgZG9lcyB0aGUgYWJzZW5jZSBvZiBjb2xsaXNpb24gcmVk dWNlcyANCnRoZSBwb3dlciBvZiB0aGUgYXV0aG9yaXR5LCBhbmQgd2hhdCBpcyB5b3VyIHBv aW50IGFib3V0IHJlZHVjaW5nIHRoZSANCnBvd2VyIG9mIHRoZSBhdXRob3JpdHk/ICBJIHdh cyB0aGlua2luZyBvZiDigJh0aGUgYXV0aG9yaXR5PUd1aXggcGFja2FnZSANCmRlZmluaXRp b27igJksIGJ1dCB0aGVuIG9ubHkgdGhlICdtb3JlIHJvYnVzdCcgcGFydCBvZiB5b3VyIGNv bmNsdXNpb24gDQptYWtlcyBzZW5zZSB0byBtZS4gIEFsc28sIGFzIHlvdSB1c2VkICdidXQn IGluc3RlYWQgb2YgJ2FuZCcsIGl0IGFwcGVhcnMgDQp5b3UgY29uc2lkZXIgcmVseWluZyBv biBhIHRydXN0ZWQgbWFwIHRvIGJlIGEgYmFkIHRoaW5nLCBidXQgdGhhdCANCmFwcGVhcnMg YmFzaWMgc2VjdXJpdHkgYW5kIHBhdGNoIHJldmlldyB0byBtZS4NCg0KPiBXaGF0ZXZlciB0 aGUgaW50cmluc2ljIGlkZW50aWZpZXIgd2UgY29uc2lkZXIg4oCTIGV2ZW4gb25lcyBiYXNl ZCBvbiB2ZXJ5DQo+IHdlYWsgY3J5cHRvZ3JhcGhpYyBoYXNoIGZ1bmN0aW9uIGFzIE1ENSwg b3IgYmFzZWQgb24gbm9uLWNyeXRvZ3JhcGhpYw0KPiBoYXNoIGZ1bmN0aW9uIGFzIFBlYXJz b24gaGFzaGluZywgZXRjLiDigJMgdGhlIGludGVncml0eSBjaGVjayBpcw0KPiBjdXJyZW50 bHkgZG9uZSBieSBTSEEyNTYuDQoNCkhvdyBhYm91dCB1c2luZyB0aGUgaGFzaCBvZiB0aGUg aW50ZWdyaXR5IGNoZWNrIGFzIGFuIGludHJpbnNpYyANCmlkZW50aWZpZXIsIGxpa2UgaXMg ZG9uZSBjdXJyZW50bHk/ICBJIG1lYW4sIHdlIGhhc2ggaXQgYW55d2F5IHdpdGggDQpzaGEy NTYgZm9yIHRoZSBpbnRlZ3JpdHkgY2hlY2sgYW55d2F5LCBtaWdodCBhcyByZXVzZSBpdC4N Cg0KPiAjIyBGb3IgZXhhbXBsZSwgY29uc2lkZXIgdGhpcyBzb3VyY2Ugb3JpZ2luLA0KPiA9 PT09PT09PT09PT09PQ0KPiANCj4gICAgICAoc291cmNlIChvcmlnaW4NCj4gICAgICAgICAg ICAgICAgKG1ldGhvZCB1cmwtZmV0Y2gpDQo+ICAgICAgICAgICAgICAgICh1cmkgKHN0cmlu Zy1hcHBlbmQgIm1pcnJvcjovL2dudS9oZWxsby9oZWxsby0iIHZlcnNpb24NCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLnRhci5neiIpKQ0KPiAgICAgICAgICAg ICAgICAoc2hhMjU2DQo+ICAgICAgICAgICAgICAgICAoYmFzZTMyDQo+ICAgICAgICAgICAg ICAgICAgIjA4NnZxd2syd2w4emZzNDdzcTJ4cGpjOWswNjZpbG1iOHo2ZG4wcTZ5bXdqemxt MTk2Y2QiKSkpKQ0KPiANCj4gd2hlcmUg4oCZbWlycm9yOi8vZ2514oCZIGlzIHJlc29sdmVk IGJ5IEd1aXggaXRzZWxmLiAgT3IgdGhpcyBvbmUsDQo+IA0KPiAgICAgIChzb3VyY2UNCj4g ICAgICAgKG9yaWdpbg0KPiAgICAgICAgIChtZXRob2QgZ2l0LWZldGNoKQ0KPiAgICAgICAg ICh1cmkgKGdpdC1yZWZlcmVuY2UNCj4gICAgICAgICAgICAgICAodXJsICJodHRwczovL2dp dGh1Yi5jb20vRmx1eE1ML1p5Z290ZS5qbCIpDQo+ICAgICAgICAgICAgICAgKGNvbW1pdCAo c3RyaW5nLWFwcGVuZCAidiIgdmVyc2lvbikpKSkNCj4gICAgICAgICAoZmlsZS1uYW1lIChn aXQtZmlsZS1uYW1lIG5hbWUgdmVyc2lvbikpDQo+ICAgICAgICAgKHNoYTI1Ng0KPiAgICAg ICAgICAoYmFzZTMyICIwMmJnajZtMWoyNXNtM3BhNXNnbWRzNzA2cXB4azFxc2JtMHMyajNy amxyejl4bjdnbGdrIikpKSkNCj4gDQo+IHdoZXJlIEd1aXggY2xvbmVzIHRoZW4gY2hlY2tz IG91dCBhdCB0aGUgc3BlY2lmaWNhdGlvbiBvZiB0aGUgZmllbGQNCj4g4oCZY29tbWl04oCZ Lg0KPiANCj4gSGVyZSBib3RoIGFyZSBleHRyaW5zaWMgaWRlbnRpZmllcnMuICBGb3IgdGhl IGZpcnN0IGV4YW1wbGUsIHRoZSByZWdpc3Rlcg0KPiBpcyBkZWZpbmVkIGJ5IOKAmSVtaXJy b3Jz4oCZLiAgRm9yIHRoZSBzZWNvbmQgZXhhbXBsZSwgdGhlIHJlZ2lzdGVyIGlzIHRoZQ0K PiBmb2xkZXIg4oCZLmdpdC/igJkuDQo+IA0KPiBJbnRyaW5zaWMgaWRlbnRpZmllciBjb3Vs ZCBiZSBwbGFpbiBoYXNoIG9yIGhhc2hlZCBzZXJpYWxpemVkIGRhdGEuDQo+IFVzaW5nIEd1 aXggYjhmNmVhZDoNCj4gDQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0t LS0tLS0tLXN0YXJ0LS0tLS0tLS0tLS0tLT44LS0tDQo+ICQgZ3VpeCBoYXNoIC1TIG5vbmUg LUggc2hhMjU2IC1mIG5peC1iYXNlMzIgLXggJChndWl4IGJ1aWxkIGhlbGxvIC1TKQ0KPiAw ODZ2cXdrMndsOHpmczQ3c3EyeHBqYzlrMDY2aWxtYjh6NmRuMHE2eW13anpsbTE5NmNkDQo+ IA0KPiAkIGd1aXggaGFzaCAtUyBnaXQgLUggc2hhMjU2IC1mIG5peC1iYXNlMzIgLXggJChn dWl4IGJ1aWxkIGhlbGxvIC1TKQ0KPiAxMWthdzZtMTlyZGozZDU1eTRjeWdrNms5enY2c24y aXo0Z3BpbXgwajk5cHM4N2lqMjlsDQo+IA0KPiAkIGd1aXggaGFzaCAtUyBuYXIgLUggc2hh MjU2IC1mIG5peC1iYXNlMzIgLXggL2dudS9zdG9yZS8zZHE1NXJ3OTl3ZGM0ZzR3Ymx6N3hp a2M4YTJqeTdhMy1oZWxsby0yLjEyLjEudGFyLmd6DQo+IDFsdnFwYmsyazFzYjM5ejhqZnhp eGY3cDd2OHNqNHo2bW1wYTQ0bm5tZmYzdzF5Nmg4bGgNCj4gLS04PC0tLS0tLS0tLS0tLS0t LWN1dCBoZXJlLS0tLS0tLS0tLS0tLS0tZW5kLS0tLS0tLS0tLS0tLS0tPjgtLS0NCj4gDQo+ IE9yIHNvbWUgR2l0LWxpa2UgdHJlZSBtZDUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLCBl LmcuLA0KPiANCj4gLS04PC0tLS0tLS0tLS0tLS0tLWN1dCBoZXJlLS0tLS0tLS0tLS0tLS0t c3RhcnQtLS0tLS0tLS0tLS0tPjgtLS0NCj4gJCBndWl4IGhhc2ggLVMgZ2l0IC1IIG1kNSAt ZiBoZXggLXggaGVsbG8tMi4xMi4xDQo+IDNkYjYwYmNmZWNmMTdhNWRkODFlM2ZiNWJmYjFj MTkxDQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0tLS0tLS0tLWVuZC0t LS0tLS0tLS0tLS0tLT44LS0tDQo+IA0KPiBPciBzb21lIG90aGVycy4NCj4gDQo+IC0tODwt LS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0tLS0tLS0tLXN0YXJ0LS0tLS0tLS0tLS0t LT44LS0tDQo+ICQgZ2l0IGNsb25lIGh0dHBzOi8vZ2l0aHViLmNvbS9GbHV4TUwvWnlnb3Rl LmpsDQo+ICQgZ2l0IC1DIFp5Z290ZS5qbCBjaGVja291dCB2MC42LjQxDQo+IA0KPiAkIGd1 aXggaGFzaCAtUyBuYXIgLUggc2hhMjU2IC1mIG5peC1iYXNlMzIgLXggWnlnb3RlLmpsDQo+ IDAyYmdqNm0xajI1c20zcGE1c2dtZHM3MDZxcHhrMXFzYm0wczJqM3JqbHJ6OXhuN2dsZ2sN Cj4gDQo+ICQgZ3VpeCBoYXNoIC1TIGdpdCAtSCBzaGExIC1mIGhleCAteCBaeWdvdGUuamwN Cj4gM2NmZGIzMWI1MTdlZWM0MTczNTg0ZmJhMmIxYWE2NWRhYWQ0NmUwOQ0KPiAtLTg8LS0t LS0tLS0tLS0tLS0tY3V0IGhlcmUtLS0tLS0tLS0tLS0tLS1lbmQtLS0tLS0tLS0tLS0tLS0+ OC0tLQ0KPiANCj4gDQo+ICMgU2Vjb25kIHRoaW5nIHNlY29uZA0KPiA9PT09PT09PT09PT09 PT09PT09PT0NCj4gDQo+IEFsbCB0aGF04oCZcyBzYWlkLCBHdWl4IHVzZXMgZXh0cmluc2lj IGlkZW50aWZpZXJzIGZvciBhbG1vc3QgYWxsIG9yaWdpbnMsDQo+IGlmIG5vdCBhbGwuICBF dmVuIGZvciDigJlnaXQtZmV0Y2jigJkgbWV0aG9kLg0KRm9yIGdpdC1mZXRjaCwgdGhlIHZh bHVlIG9mIHRoZSAnY29tbWl0JyBmaWVsZCBpcyBpbnRyaW5zaWMgKGV4Y2VwdCB3aGVuIA0K aXQncyBhIHRhZyBpbnN0ZWFkKS4NCg0KPiBDb25zaWRlciB0aGF0IEdpdEh1YiBkaXNhcHBl YXJzIGFuZCB0aGUgZGVmYXVsdCBidWlsZCBmYXJtcyBjaS5ndWl4IGFuZA0KPiBib3JkZWF1 eC5ndWl4IGFyZSB1bnJlYWNoYWJsZSBmb3Igd2hhdGV2ZXIgcmVhc29uLiAgVGhlbiBHdWl4 IHdpbGwNCj4gZmFsbGJhY2sgdG8gU29mdHdhcmUgSGVyaXRhZ2UgYW5kIHdpbGwgZXhwbG9p dHMgaXRzIHJlc29sdmVyLg0KPiANCj4gLS04PC0tLS0tLS0tLS0tLS0tLWN1dCBoZXJlLS0t LS0tLS0tLS0tLS0tc3RhcnQtLS0tLS0tLS0tLS0tPjgtLS0NCj4gSW5pdGlhbGl6ZWQgZW1w dHkgR2l0IHJlcG9zaXRvcnkgaW4gL2dudS9zdG9yZS9uczFmM2I0d201bjQ3MGJjemQyazVs aTZ4cGdicWt6Ny1qdWxpYS16eWdvdGUtMC42LjQxLWNoZWNrb3V0Ly5naXQvDQo+IGZhdGFs OiB1bmFibGUgdG8gYWNjZXNzICdodHRwczovL2dpdGh1Yi5jb20vRmx1eE1ML1p5Z290ZS5q bC8nOiBDb3VsZCBub3QgcmVzb2x2ZSBob3N0OiBnaXRodWIuY29tDQo+IEZhaWxlZCB0byBk byBhIHNoYWxsb3cgZmV0Y2g7IHJldHJ5aW5nIGEgZnVsbCBmZXRjaC4uLg0KPiBmYXRhbDog dW5hYmxlIHRvIGFjY2VzcyAnaHR0cHM6Ly9naXRodWIuY29tL0ZsdXhNTC9aeWdvdGUuamwv JzogQ291bGQgbm90IHJlc29sdmUgaG9zdDogZ2l0aHViLmNvbQ0KPiBnaXQtZmV0Y2g6ICcv Z251L3N0b3JlLzU1YmE1cmFnYmQ1c2Q0cjQ1bjBxMjR2cnh4OXJpZ3JtLWdpdC1taW5pbWFs LTIuMzkuMS9iaW4vZ2l0IGZldGNoIG9yaWdpbicgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEy OA0KPiBUcnlpbmcgY29udGVudC1hZGRyZXNzZWQgbWlycm9yIGF0IGJlcmxpbi5ndWl4Lmdu dS5vcmcuLi4NCj4gVHJ5aW5nIGNvbnRlbnQtYWRkcmVzc2VkIG1pcnJvciBhdCBiZXJsaW4u Z3VpeC5nbnUub3JnLi4uDQo+IFRyeWluZyB0byBkb3dubG9hZCBmcm9tIFNvZnR3YXJlIEhl cml0YWdlLi4uDQo+IFNXSDogZm91bmQgcmV2aXNpb24gNDc3Nzc2NzczN2I0Yzk1ZDJjZWE4 NDI5MzNjNWIyZWRhZTI3NzFiMiB3aXRoIGRpcmVjdG9yeSBhdCAnaHR0cHM6Ly9hcmNoaXZl LnNvZnR3YXJlaGVyaXRhZ2Uub3JnL2FwaS8xL2RpcmVjdG9yeS8zY2ZkYjMxYjUxN2VlYzQx NzM1ODRmYmEyYjFhYTY1ZGFhZDQ2ZTA5LycNCj4gc3doOjE6ZGlyOjNjZmRiMzFiNTE3ZWVj NDE3MzU4NGZiYTJiMWFhNjVkYWFkNDZlMDkvDQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQg aGVyZS0tLS0tLS0tLS0tLS0tLWVuZC0tLS0tLS0tLS0tLS0tLT44LS0tDQo+IA0KPiBUaGF0 4oCZcyBTV0ggd2hpY2ggZmluZHMgdGhlIHJldmlzaW9uDQo+IDQ3Nzc3Njc3MzdiNGM5NWQy Y2VhODQyOTMzYzViMmVkYWUyNzcxYjIgZnJvbSB0aGUgY29udGV4dHVhbCBpbmZvcm1hdGlv bg0KPiBVUkwgKyBsYWJlbCB2ZXJzaW9uIGFuZCBmcm9tIHRoaXMgcmV2aXNpb24gU1dIIGFz c29jaWF0ZXMgdGhlIGNvbnRlbnQNCj4gaGF2aW5nIHRoZSBpbnRyaW5zaWMgaWRlbnRpZmll cg0KPiBzd2g6MTpkaXI6M2NmZGIzMWI1MTdlZWM0MTczNTg0ZmJhMmIxYWE2NWRhYWQ0NmUw OS4NCj4gDQo+IA0KPiAjIyBGaXJzdCwgcGxlYXNlIG5vdGUgdGhhdCB0aGUgU1dISUQgaXMg anVzdCBHaXQsDQo+ID09PT09PT09DQo+IA0KPiAtLTg8LS0tLS0tLS0tLS0tLS0tY3V0IGhl cmUtLS0tLS0tLS0tLS0tLS1zdGFydC0tLS0tLS0tLS0tLS0+OC0tLQ0KPiBndWl4IGhhc2gg LVMgZ2l0IC1IIHNoYTEgLWYgaGV4IFwNCj4gICAgICAgL2dudS9zdG9yZS9uczFmM2I0d201 bjQ3MGJjemQyazVsaTZ4cGdicWt6Ny1qdWxpYS16eWdvdGUtMC42LjQxLWNoZWNrb3V0DQo+ IDNjZmRiMzFiNTE3ZWVjNDE3MzU4NGZiYTJiMWFhNjVkYWFkNDZlMDkNCj4gLS04PC0tLS0t LS0tLS0tLS0tLWN1dCBoZXJlLS0tLS0tLS0tLS0tLS0tZW5kLS0tLS0tLS0tLS0tLS0tPjgt LS0NCj4gDQo+IE90aGVyIHNhaWQsIFNXSCBpbmZvcm1hdGlvbiBpcyBzb21laG93IHRoZSBz YW1lIGluZm9ybWF0aW9uIGFzIHRoZSBvbmUNCj4gb2YgR2l0IG9iamVjdHMuICBTcGVjaWZp Y2FsbHksIGZyb20gdGhlIEdpdCBjaGVja291dCwNCj4gDQo+IC0tODwtLS0tLS0tLS0tLS0t LS1jdXQgaGVyZS0tLS0tLS0tLS0tLS0tLXN0YXJ0LS0tLS0tLS0tLS0tLT44LS0tDQo+ICQg Z2l0IGNhdC1maWxlIC1wIHYwLjYuNDENCj4gb2JqZWN0IDQ3Nzc3Njc3MzdiNGM5NWQyY2Vh ODQyOTMzYzViMmVkYWUyNzcxYjINCj4gdHlwZSBjb21taXQNCj4gdGFnIHYwLjYuNDENCj4g DQo+ICQgZ2l0IGNhdC1maWxlIC1wIDQ3Nzc3Njc3MzdiNGM5NWQyY2VhODQyOTMzYzViMmVk YWUyNzcxYjINCj4gdHJlZSAzY2ZkYjMxYjUxN2VlYzQxNzM1ODRmYmEyYjFhYTY1ZGFhZDQ2 ZTA5DQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0tLS0tLS0tLWVuZC0t LS0tLS0tLS0tLS0tLT44LS0tDQo+IA0KPiANCj4gIyMgU2Vjb25kLCBTV0ggYWN0cyBhcyBh IHJlc29sdmVyIGhlcmUsIGkuZS4sDQo+ID09PT09PT09PQ0KPiANCj4gICAgICAgKGZpbmQg KGxhbWJkYSAoYnJhbmNoKQ0KPiAgICAgICAgICAgICAgIChvcg0KPiAgICAgICAgICAgICAg ICA7OyBHaXQgc3BlY2lmaWMuDQo+ICAgICAgICAgICAgICAgIChzdHJpbmc9PyAoc3RyaW5n LWFwcGVuZCAicmVmcy90YWdzLyIgdGFnKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgICAg KGJyYW5jaC1uYW1lIGJyYW5jaCkpDQo+ICAgICAgICAgICAgICAgIDs7IEhnIHNwZWNpZmlj Lg0KPiAgICAgICAgICAgICAgICAoc3RyaW5nPT8gdGFnDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAoYnJhbmNoLW5hbWUgYnJhbmNoKSkpKQ0KPiAgICAgICAgICAgICAoc25hcHNo b3QtYnJhbmNoZXMgc25hcHNob3QpKQ0KPiANCj4gYW5kIHRoaXMgaXMgbm90IHJvYnVzdC4g IEZvciBvbmUsIGl0IGZhaWxzIGZvciBHaXQgbGlnaHR3ZWlnaHQgdGFnIGFzDQo+IGV4cG9z ZWQgd2l0aCB0aGUgcGFja2FnZSDigJlvcGVuLXp3YXZl4oCZIHRhZyAxLjYuDQo+IA0KPiAt LTg8LS0tLS0tLS0tLS0tLS0tY3V0IGhlcmUtLS0tLS0tLS0tLS0tLS1zdGFydC0tLS0tLS0t LS0tLS0+OC0tLQ0KPiAkIGZvciB0IGluICQoZ2l0IHRhZyk7IGRvIHByaW50ZiAiJHQgIjsg Z2l0IGNhdC1maWxlIC10ICR0IDtkb25lDQo+IFJlbC0xLjAgY29tbWl0DQo+IFYxLjUgdGFn DQo+IHYxLjIgY29tbWl0DQo+IHYxLjMgdGFnDQo+IHYxLjQgdGFnDQo+IHYxLjYgY29tbWl0 DQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0tLS0tLS0tLWVuZC0tLS0t LS0tLS0tLS0tLT44LS0tDQo+IA0KPiBJdCBtZWFucyB0aGF0IHRoZSBjb2RlIGFib3ZlIHdv dWxkIGJlIGFibGUgdG8gZmluZCBWMS41IG9yIHYxLjQgYnV0IG5vdA0KPiB2MS42IG9yIHYx LjIuICBXZWxsLCB3ZSBjYW4gY29uc2lkZXIgdGhhdCBhcyBhIGJ1ZyBhbmQgaW1wcm92ZSB0 aGUNCj4gc25hcHNob3QgbWFjaGluZXJ5IGZvciBhbHNvIGNvbGxlY3RpbmcgbW9yZSDigJly ZWZz4oCZLiAgQnV0LCBmb3IgdHdv4oCmDQo+IA0KPiDigKZ0aGUgY3VycmVudCBjb2RlIChn dWl4IHN3aCkgZG9lcyBub3QgZGVhbCB3aXRoIHNldmVyYWwgc25hcHNob3RzIGFuZA0KPiBv bmx5IGNvbnNpZGVyIHRoZSBsYXRlc3Qgb25lLiAgVGhlcmVmb3JlLCBpdCBmYWlscyBmb3Ig c29tZSBpbi1wbGFjZQ0KPiByZXBsYWNlbWVudHMg4oCTIHVwc3RyZWFtIHRhZ3MgYSBzcGVj aWZpYyByZXZpc2lvbiB0aGVuIGxhdGVyIHJlbW92ZXMgaXQNCj4gYW5kIHVwc3RyZWFtIHJl LXVzZSB0aGUgc2FtZSB0YWcgbGFiZWwgZm9yIGFub3RoZXIgcmV2aXNpb24gYm9vbyEsIGlm DQo+IFNXSCBpbmdlc3RzIGFmdGVyIHRoZSBmaXJzdCB0YWcsIFNXSCBjcmVhdGVzIG9uZSBz bmFwc2hvdCwgdGhlbiBpZiBTV0gNCj4gaW5nZXN0cyBhZ2FpbiBhZnRlciB0aGUgc2Vjb25k IHJlLXRhZywgU1dIIGNyZWF0ZXMgYW5vdGhlciBzbmFwc2hvdC4NCg0KVGhpcyBjYW4gYmUg c29sdmVkIGJ5IHBsYWNpbmcgdGhlIGFjdHVhbCBjb21taXQgaW4gdGhlICdjb21taXQnIGZp ZWxkIG9mIA0KZ2l0LXJlZmVyZW5jZSwgaW5zdGVhZCBvZiB0aGUgdGFnIG5hbWUsIHRoZW4g dGhpbmdzIGFyZSBjb21wbGV0ZWx5IA0KdW5hbWJpZ3VvdXMgLS0gdGhpcyBhbmQgaXRzIG9w cG9zaXRlIHdlcmUgZGlzY3Vzc2VkIGluIOKAmE9uIHJhdyBzdHJpbmdzIA0KaW4gPG9yaWdp bj4gY29tbWl0IGZpZWxk4oCZICgqKSwgSUlSQy4NCg0KKCopIEFsc28gbWF5YmUgdGhhdCB0 aHJlYWQgYWJvdXQgdHJpY2tpbmcgcGVlciByZXZpZXcuDQoNCkkgZGlkbid0IHVuZGVyc3Rh bmQgdGhlIHBvc2l0aW9uIHRoYXQgY29tbWl0IGZpZWxkIHNob3VsZCBjb250YWluIHRoZSAN CihpbmRpcmVjdCwgZnJhZ2lsZSkgdGFnIGluc3RlYWQgb2YgdGhlIChkaXJlY3QsIHJvYnVz dCkgY29tbWl0LCBidXQgDQp0aG9zZSBkaWZmZXJlbmNlcyBjb3VsZCBiZSBzaWRlc3RlcHBl ZCBieSBoYXZpbmcgYm90aCBhICd0YWcnIGZpZWxkIGFuZCANCmEgJ2NvbW1pdCcgZmllbGQs IElJVUMuDQoNClRoZSAnY29tbWl0JyBmaWVsZCB3b3VsZCBiZSB1c2VkIGZvciBkb3dubG9h ZGluZyB0aGUgc291cmNlIGNvZGUsIGFuZCANCnRoZSAndGFnJyBmaWVsZCB3b3VsZCBiZSB1 c2VkIGJ5IGEgbm90LXlldC1leGlzdGluZyBsaW50ZXIgdGhhdCB3b3VsZCANCmNoZWNrIHdo ZXRoZXIgdGhlIChpbW11dGFibGUpIGNvbW1pdCBtYXRjaGVzIHRoZSBjdXJyZW50IHZhbHVl ICh2YXJ5aW5nIA0Kb3ZlciB0aW1lKSBvZiB0aGUgdGFnLg0KDQo+IA0KPiAjIyBUaGlyZCwg RGlzYXJjaGl2ZSBpcyBoZWxwaW5nLg0KPiA9PT09PT09PQ0KPiANCj4gQXNpZGUgYWRkaW5n IGEgbGF5ZXIgdG8gbWFpbnRhaW4gZG9lcyBub3QgaGVscCB3aGVuIHNwZWFraW5nIGFib3V0 DQo+IGxvbmctdGVybSAoMy01IHllYXJzKSwgd2VsbCwgdGhlIHJlZHVjdGlvbiBvZiBsYXll cnMgaXMgb2Z0ZW4gYmV0dGVyIGZvcg0KPiBsb25nLXRlcm0uICBUaGF04oCZcyBzYWlkLCB0 aGVyZSBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MgdG8gaGF2ZSBEaXNhcmNoaXZlDQo+IGZlYXR1 cmVzIGRpcmVjdGx5IGZyb20gU1dILg0KPiANCj4gV2hhdCBkb2VzIERpc2FyY2hpdmUgZG8/ ICBJdCBtYXBzIHZhcmlvdXMgaW50cmluc2ljIGlkZW50aWZpZXJzLg0KPiANCj4gUmVtZW1i ZXIg4oCZaGVsbG/igJkgZnJvbSBhYm92ZT8NCj4gDQo+IC0tODwtLS0tLS0tLS0tLS0tLS1j dXQgaGVyZS0tLS0tLS0tLS0tLS0tLXN0YXJ0LS0tLS0tLS0tLS0tLT44LS0tDQo+ICQgZ3Vp eCBzaGVsbCBkaXNhcmNoaXZlIGd1aWxlLWx6bWEgZ3VpbGUNCj4gJCBkaXNhcmNoaXZlIGRp c2Fzc2VtYmxlIGhlbGxvLTIuMTIuMQ0KPiAoZGlzYXJjaGl2ZQ0KPiAgICAodmVyc2lvbiAw KQ0KPiAgICAoZGlyZWN0b3J5LXJlZg0KPiAgICAgICh2ZXJzaW9uIDApDQo+ICAgICAgKG5h bWUgImhlbGxvLTIuMTIuMSIpDQo+ICAgICAgKGFkZHJlc3Nlcw0KPiAgICAgICAgKHN3aGlk ICJzd2g6MTpkaXI6YWQ1ZmM3YzMwNjJlODQyNmI3OTM2NTg4ZTdhMjdkNTFhY2UwZTUwOCIp KQ0KPiAgICAgIChkaWdlc3QNCj4gICAgICAgIChzaGEyNTYNCj4gICAgICAgICAgImNjN2Q1 YzQ1Y2ZhMWY1ZmJhOTZjOGIzMmQ5MzM3MzRiMjQzNzdhM2MxYWM3NzY2NTAwNDRlNDk3NDY5 YWZmZDQiKSkpKQ0KPiANCj4gJCBndWl4IGhhc2ggLVMgZ2l0IC1IIHNoYTEgLWYgaGV4IGhl bGxvLTIuMTIuMQ0KPiBhZDVmYzdjMzA2MmU4NDI2Yjc5MzY1ODhlN2EyN2Q1MWFjZTBlNTA4 DQo+ICQgZ3VpeCBoYXNoIC1TIGdpdCAtSCBzaGEyNTYgLWYgaGV4IGhlbGxvLTIuMTIuMQ0K PiBjYzdkNWM0NWNmYTFmNWZiYTk2YzhiMzJkOTMzNzM0YjI0Mzc3YTNjMWFjNzc2NjUwMDQ0 ZTQ5NzQ2OWFmZmQ0DQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQgaGVyZS0tLS0tLS0tLS0t LS0tLWVuZC0tLS0tLS0tLS0tLS0tLT44LS0tDQo+IA0KPiBXZWxsLCB0aGUgZml4ZWQtb3V0 cHV0cyBpcyBhIGNvbXByZXNzZWQgdGFyYmFsbCwgaXQgcmVhZHMsDQo+IA0KPiAtLTg8LS0t LS0tLS0tLS0tLS0tY3V0IGhlcmUtLS0tLS0tLS0tLS0tLS1zdGFydC0tLS0tLS0tLS0tLS0+ OC0tLQ0KPiAkIGRpc2FyY2hpdmUgZGlzYXNzZW1ibGUgJChndWl4IGJ1aWxkIC1TIGhlbGxv KQ0KPiAoZGlzYXJjaGl2ZQ0KPiAgICAoZ3ppcC1tZW1iZXINCj4gICAgICAobmFtZSAiM2Rx NTVydzk5d2RjNGc0d2Jsejd4aWtjOGEyank3YTMtaGVsbG8tMi4xMi4xLnRhci5neiIpDQo+ ICAgICAgKGRpZ2VzdA0KPiAgICAgICAgKHNoYTI1Ng0KPiAgICAgICAgICAiOGQ5OTE0MmFm ZDkyNTc2ZjMwYjBjZDdjYjQyYThkYzY4MDk5OThiYzVkNjA3ZDg4NzYxZjUxMmUyNmM3ZGIy MCIpKQ0KPiAgICAgIChoZWFkZXIgKG10aW1lIDApIChleHRyYS1mbGFncyAyKSAob3MgMykp DQo+ICAgICAgKGZvb3RlciAoY3JjIDI3MDcwOTI2MTQpIChpc2l6ZSA0OTQ1OTIwKSkNCj4g ICAgICAoY29tcHJlc3NvciBnbnUtYmVzdC1yc3luYykNCj4gICAgICAoaW5wdXQgKHRhcmJh bGwNCj4gICAgICAgICAgICAgICAobmFtZSAiM2RxNTVydzk5d2RjNGc0d2Jsejd4aWtjOGEy ank3YTMtaGVsbG8tMi4xMi4xLnRhciIpDQo+ICAgICAgICAgICAgICAgKGRpZ2VzdA0KPiAg ICAgICAgICAgICAgICAgKHNoYTI1Ng0KPiAgICAgICAgICAgICAgICAgICAiYTJjMzNmZDEz YzU1NTAxNTQzMzk1NmJjZjA2NjA5MjkzYTM0Y2U1YzVlNmEyMDcwOTkwYmZiODYwNzBkYzU1 NCIpKQ0KPiBbLi4uXQ0KPiANCj4gICAgICAoaW5wdXQgKGRpcmVjdG9yeS1yZWYNCj4gICAg ICAgICAgICAgICAodmVyc2lvbiAwKQ0KPiAgICAgICAgICAgICAgIChuYW1lICIzZHE1NXJ3 OTl3ZGM0ZzR3Ymx6N3hpa2M4YTJqeTdhMy1oZWxsby0yLjEyLjEiKQ0KPiAgICAgICAgICAg ICAgIChhZGRyZXNzZXMNCj4gICAgICAgICAgICAgICAgIChzd2hpZCAic3doOjE6ZGlyOjlj MWVlY2ZmYTg2NmY3Y2I5ZmZkZDU2YzMyYWQwY2VjYjExZmNmMmEiKSkNCj4gICAgICAgICAg ICAgICAoZGlnZXN0DQo+ICAgICAgICAgICAgICAgICAoc2hhMjU2DQo+ICAgICAgICAgICAg ICAgICAgICIxY2I2ZWZmZDQwNzM2YjQ0MWEyYTZkZDQ5ZTU2YjNkZmQ0ZjY1NTBlOGFlMWE4 YWMzNGVkNGIxNjc0MDk3YmMwIikpKSkpKSkpDQo+IC0tODwtLS0tLS0tLS0tLS0tLS1jdXQg aGVyZS0tLS0tLS0tLS0tLS0tLWVuZC0tLS0tLS0tLS0tLS0tLT44LS0tDQo+IA0KPiB3aGVy ZSB0aGUgdmFsdWVzIGFyZSBqdXN0IChjb25zaWRlcmluZyB0aGF0IOKAmWd1aXggaGFzaCAt UyBub25lIC1IIHNoYTI1Ng0KPiAtZiBoZXjigJkgaXMgZXF1aXZhbGVudCB0byDigJlzaGEy NTZzdW3igJkpDQo+IA0KPiAtLTg8LS0tLS0tLS0tLS0tLS0tY3V0IGhlcmUtLS0tLS0tLS0t LS0tLS1zdGFydC0tLS0tLS0tLS0tLS0+OC0tLQ0KPiAkIGd1aXggaGFzaCAtUyBub25lIC1I IHNoYTI1NiAtZiBoZXggJChndWl4IGJ1aWxkIGhlbGxvIC1TKQ0KPiA4ZDk5MTQyYWZkOTI1 NzZmMzBiMGNkN2NiNDJhOGRjNjgwOTk5OGJjNWQ2MDdkODg3NjFmNTEyZTI2YzdkYjIwDQo+ ICQgZ3ppcCAtZCAkKGd1aXggYnVpbGQgLVMgaGVsbG8pIC1jIHwgc2hhMjU2c3VtDQo+IGEy YzMzZmQxM2M1NTUwMTU0MzM5NTZiY2YwNjYwOTI5M2EzNGNlNWM1ZTZhMjA3MDk5MGJmYjg2 MDcwZGM1NTQgIC0NCj4gLS04PC0tLS0tLS0tLS0tLS0tLWN1dCBoZXJlLS0tLS0tLS0tLS0t LS0tZW5kLS0tLS0tLS0tLS0tLS0tPjgtLS0NCj4gDQo+IEhvd2V2ZXIgdGhlIGZpZWxkcyDi gJlzd2hpZOKAmSBhbmQgdGhlIG90aGVyIFNIQTI1NiDigJlkaWdlc3TigJkgYXJlIGRpZmZl cmVudA0KPiBmcm9tIGFib3ZlLiAgVGhhdOKAmXMgYmVjYXVzZSB0aGUgZG90cyBbLi4uXSBw YXJ0LiAgSXQgcHJvYmFibHkgY29tZXMgZnJvbQ0KPiB0aGUgbm9ybWFsaXphdGlvbiBwcm9j ZXNzLiBXZWxsLCBJIGFtIG5vdCBzdXJlIHRvIGRlZXBseSB1bmRlcnN0YW5kIHdoeQ0KPiBp dCBpcyBkaWZmZXJlbnQgYnV0IHRoYXTigJlzIGFub3RoZXIgc3RvcnkuIDotKQ0KDQpUaGUg cmVhc29uIGZvciB0aGUgbm9ybWFsaXNhdGlvbiB3YXMgc29tZXRoaW5nIGFib3V0IFNXSCBv bmx5IHByb3ZpZGluZyANCnRhcmJhbGxzIHdob3NlIGNvbnRlbnRzIGFyZSBlcXVhbCB0byB0 aGUgaW5nZXN0ZWQgdGFyYmFsbDsgdGhlIHRhcmJhbGxzIA0KYXJlIG5vdCBiaXQtZm9yLWJp dCBpZGVudGljYWwgdG8gdGhlIGluZ2VzdGVkIHRhcmJhbGwuICBCdXQgR3VpeCBuZWVkcyAN CmJpdC1mb3ItYml0IGlkZW50aWNhbCB0YXJiYWxscywgc28gRGlzYXJjaGl2ZSBjb250YWlu cyB0aGUgaW5mb3JtYXRpb24gDQp0aGF0IHdhcyBzdHJpcHBlZC1vdXQgYnkgU1dIIHRvIGNv bXBsZW1lbnQgdGhlIHRhcmJhbGxzIHByb3ZpZGVkIGJ5IA0KRGlzYXJjaGl2ZS4NCg0KPiAj IyBGb3VydGgsIGl0IG1pc3NlcyBhIGJyaWRnZSB1c2luZyBOQVIgbm9ybWFsaXphdGlvbiAo c2VyaWFsaXphdGlvbikuDQo+ID09PT09PT09PQ0KPiANCj4gRGlzYXJjaGl2ZSBjYW4gKG9y IGNvdWxkKSBwcm92aWRlcyBhIGJyaWRnZSAobWFwKSBiZXR3ZWVuIFNXSElEK1NIQTEgYW5k DQo+IE5BUitTSEEyNTYuICBCdXQgaXQgY291bGQgYmUgbmljZSBpZiBpdCB3YXMgaW1wbGVt ZW50ZWQgaW4gU1dIDQo+IGRpcmVjdGx5LiAgSXQgd291bGQgZWFzZSBwcmV2aW91cyBkcmF3 YmFja3MuDQo+IA0KPiBGb3IgdGhlIGludGVyZXN0ZWQgcmVhZGVyLCBkaXNjdXNzaW9uIHRo ZXJlDQo+IDxodHRwczovL2dpdGxhYi5zb2Z0d2FyZWhlcml0YWdlLm9yZy9zd2gvbWV0YS8t L2lzc3Vlcy80NTM4Pi4gIE1vcmVvdmVyLA0KPiA8aHR0cHM6Ly9naXRsYWIuc29mdHdhcmVo ZXJpdGFnZS5vcmcvc3doL21ldGEvLS9pc3N1ZXMvNDUzOCNub3RlXzEyMTA2Nz4NCj4gcHJv dmlkZXMgc2ltcGxlIGV4YW1wbGVzIGFib3V0IE5BUiBhbmQgaG93IHRvIGltcGxlbWVudCBp dCB1c2luZyBQeXRob24uDQoNCkkgdGhpbmsgbmFyIHN0dWZmIHNob3VsZCBiZSBrZXB0IG91 dHNpZGUgU1dILiAgSXQgZG9lc24ndCBzZWVtIHNjYWxhYmxlIA0KdG8gbWUgZm9yIFNXSCB0 byBzdXBwb3J0IHRoZSBmb3JtYXQgb2YgZXZlcnkgZGlzdHJpYnV0aW9uLiAgTGlrZXdpc2Us IEkgDQp0aGluayB0aGF0IFNXSCBpZGVudGlmaWVycyBzaG91bGQgX25vdF8gYmVjb21lIGFu IGludHJpbnNpYyBpZGVudGlmaWVyIA0KdGhhdCBpcyByZWNvcmRlZCBpbiBwYWNrYWdlIGRl ZmluaXRpb25zIC0tIGlmIHRoZXJlIGFyZSBvdGhlciBhcmNoaXZlcyANCnRoYXQgYXJlIHNv bWV3aGF0IFNXSC1saWtlIGFyY2hpdmVzLCB0aGVuIEd1aXggc2hvdWxkIHN1cHBvcnQgdGhl bSB0b28gDQpldmVuIGlmIHRoZXkgZG9uJ3QgdXNlIFNXSCBpZGVudGlmaWVycyBmb3Igd2hh dGV2ZXIgcmVhc29uLCBhbmQgDQppbmNsdWRpbmcgdGhlIGlkZW50aWZpZXIgb2YgZXZlcnkg c2luZ2xlIGFyY2hpdmUgc2VlbXMgdW5zY2FsYWJsZSB0byBtZS4NCg0KSSBiZWxpZXZlIEkg aGF2ZSBhIHNvbHV0aW9uIG9uIGhvdyB0byBzb2x2ZSB0aGUg4oCYZXZlcnlvbmUgdXNlcyBk aWZmZXJlbnQgDQppZGVudGlmaWVycywgaG93IHRvIG1hcCBiZXR3ZWVuIHRoZW3igJkgcHJv YmxlbSwgYnV0IGl0IHdpbGwgdGFrZSBzb21lIA0KcGFyYWdyYXBoczoNCg0KQXQgc29tZSBw b2ludCBpbiB0aGUgcGFzdCwgd2hlbiB0aGlua2luZyBhYm91dCBkb3dubG9hZGluZyBzb3Vy Y2UgY29kZSANCm92ZXIgR05VbmV0IEZpbGUtc2hhcmluZyAoRlMpLCBJIGhhZCB0aGUgcHJv YmxlbSB0aGF0IEd1aXggYW5kIEdOVW5ldCANCnVzZXMgZGlmZmVyZW50IGludHJpbnNpYyBp ZGVudGlmaWVycyAtLSBHdWl4IHVzZXMgdGhlIE5BUiBoYXNoIGZvciANCnF1ZXJ5aW5nIHN1 YnN0aXR1dGUgc2VydmVycywgd2hlcmVhcyBGUyBoYXMgYSBzeXN0ZW0gb2YgaXRzIG93biB0 aGF0J3MgDQptb3JlIGNvbnZlbmllbnQgZm9yIFAyUCBmaWxlLXNoYXJpbmcgc3R1ZmYuDQoN ClRoZSBwcm9ibGVtIHRoZW4gd2FzIHRvIHNvbWVob3cgbWFwIHRoZSBOQVIgaGFzaCB0byB0 aGUgRlMgaWRlbnRpZmllci4NCkkgY291bGRuJ3QgZG8gdGhpcyB0aGUgRGlzYXJjaGl2ZSB3 YXksIGJlY2F1c2UgdGhlIHBvaW50IHdhcyB0byBiZSBfUDJQXyANCmFuZCBEaXNhcmNoaXZl IC4uLiBpc24ndC4NCg0KQSBzdHJhaWdodGZvcndhcmQgc29sdXRpb24gd291bGQgYmUgdG8g anVzdCByZXBsYWNlIHRoZSBodHRwczovLyBieSANCmdudW5ldDovLyBpbiB0aGUgb3JpZ2lu IChsaWtlIGluIGh0dHBzOi8vaXNzdWVzLmd1aXguZ251Lm9yZy80NDE5OSwgDQpleGNlcHQg dGhhdCBwYXRjaCBkb2Vzbid0IHN1cHBvcnQgZmFsbGJhY2tzIHRvIG90aGVyIFVSTHMgbGlr ZSB1cmwtZmV0Y2ggDQpkb2VzKS4NCg0KVGhlIHByb2JsZW0gd2FzIHRoYXQgcGVvcGxlIGRl bWFuZGVkIHRoYXQgZ251bmV0Oi8vIHNob3VsZCBvbmx5IGJlIA0Kc3VwcG9ydGVkIG9uY2Ug dGhlcmUgaXMgYWN0dWFsbHkgc291cmNlIGNvZGUgb24gR05VbmV0IGFuZCBHTlVuZXQgaXMg DQpzdGFibGUsIGJ1dCB3aHkgd291bGQgcGVvcGxlIHB1dCBzb3VyY2UgY29kZSBvbiBHTlVu ZXQgd2hlbiBubyANCmRpc3RyaWJ1dGlvbiBzdXBwb3J0cyBpdCBhbmQgaG93IHdvdWxkIEdO VW5ldCBiZWNvbWUgc3RhYmxlIHdpdGhvdXQgYW55IA0KdXNlcnM/DQoNClRvIHdvcmstYXJv dW5kIHRoZXNlIGNpcmN1bGFyIGRlbWFuZHMsIEkgc3RhcnRlZCAncmVoYXNoJzoNCjxodHRw czovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2d1aXgtcGF0Y2hlcy8yMDIxLTAxL21z ZzAxMDY3Lmh0bWw+DQooY3VycmVudCBsb2NhdGlvbjogaHR0cHM6Ly9ub3RhYnVnLm9yZy9t YXhpbWVkL3JlaGFzaCkuICBJdCBpcyBhIChQMlAhKSANCkdOVW5ldCBzZXJ2aWNlIHRoYXQg bWFpbnRhaW5zIGEgJ1NIQTE1MTI8LT5HTlVuZXQgRlMgVVJJJyBtYXBwaW5nLCBvciANCm1v cmUgZ2VuZXJhbGx5LCBhICd0aGlzIGhhc2ggdHlwZTwtPnRoYXQgaGFzaCB0eXBlJyBtYXBw aW5nLg0KDQooSXQgaXMganVzdCBhIHNlcnZpY2Ugb24gdG9wIG9mIHRoZSBESFQsIHNvIHRo ZSBzYW1lIGNvdWxkIGVhc2lseSBiZSANCmRvbmUgZm9yIEJpdFRvcnJlbnQgb3IgSVBGUy4p DQoNCkl0J3MgcmF0aGVyIGluY29tcGxldGUgYXQgdGhlIG1vbWVudCAodGhlcmUgaXMgbm8g dmVyaWZpY2F0aW9uIG9yIA0KcmVwdXRhdGlvbiBtZWNoYW5pc20gYXQgYWxsIHNvIHRoZSBu ZXR3b3JrIGNvdWxkIGJlIGZsb29kZWQgd2l0aCBib2d1cyANCm1hcHBpbmdzLCBtYXBwaW5n cyBhcmUgb25seSBpbiBESFQsIG5vdCBzdG9yZWQgb24gZGlzaywgc28gdGhleSBhcmUgbG9z dCANCm9uIHJlYm9vdCwgdGhlIFBPQyBHdWl4IGludGVncmV0YXRpb24gaXMgYSBiaXQgbGlt aXRlZCksIGJ1dCB0aGUgYmFzaWNzIA0KYXJlIHRoZXJlIC0tIHRoZSBQT0Mgc3VjY2Vzc2Z1 bGx5IGRvd25sb2FkZWQgYSBzdWJzdGl0dXRlIG92ZXIgR05VbmV0IA0KX3dpdGhvdXRfIGhh dmluZyB0byBpbmNsdWRlIEZTIFVSSSBpbiB0aGUgbmFyaW5mbyAoKikhLg0KDQpJJ20gd3Jp dGluZyBhYm91dCBzdWJzdGl0dXRlcyBoZXJlLCBidXQgdGhlIGV4YWN0IHNhbWUgYXBwcm9h Y2ggY291bGQgYmUgDQpkb25lIGZvciBwbGFpbiBzb3VyY2UgY29kZS4NCg0KKCopIEkgbWln aHQgaGF2ZSBtaXNyZW1lbWJlcmVkOyBJIGNhbid0IGZpbmQgdGhlIFBPQyBvbiANCmlzc3Vl cy5ndWl4LmdudS5vcmcgYWdhaW4sIGFuZCBJJ20gbm90IHN1cmUgaWYgdGhlIFBPQyB1c2Vk IHJlaGFzaCBvciBpZiANCml0IGp1c3QgaW5jbHVkZWQgdGhlIEZTIFVSSSBpbiB0aGUgbmFy aW5mby4NCg0KKFRCQywgSSBoYXZlbid0IGJlZW4gd29ya2luZyBvbiBSZWhhc2ggbGF0ZWx5 LCBidXQgcmF0aGVyIFNjaGVtZS1HTlVuZXQ6IA0KYSBTY2hlbWUgcG9ydCBvZiB0aGUgR05V bmV0IGxpYnJhcmllcyB0aGF0J3MgbGVzcyBsaW1pdGVkIHRoYW4gDQpHdWlsZS1HTlVuZXQu ICBJZGVhIGlzIHRvIG1ha2UgR05VbmV0LUZTIGFuZCByZWhhc2ggbW9yZSBjb252ZW5pZW50 IHRvIA0KdXNlIGZyb20gU2NoZW1lLCBhbmQgaW4gcGFydGljdWxhciwgaW4gR3VpeC4pDQoN Cj4gIyBEaXNjdXNzaW9uIGFza2luZyBmb3IgY29tbWVudHMgYW5kIGZlZWRiYWNrDQo+ID09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiANCj4gU3Rp bGwgdGhlcmU/ICBJZiB5ZXMsIHRoYW5rcyBmb3IgcmVhZGluZy4gOi0pDQo+IA0KPiBBcyBz aG93biBpbiwNCj4gDQo+IDE6IDxodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1s L2d1aXgtZGV2ZWwvMjAyMy0wMi9tc2cwMDM5OC5odG1sPg0KPiAyOiA8aHR0cHM6Ly9saXN0 cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9ndWl4LWRldmVsLzIwMjMtMDMvbXNnMDAwMDcuaHRt bD4NCj4gDQo+IHdlIGhhdmUgaG9sZXMgYW5kIHdlIGFyZSBub3QgY3VycmVudGx5IHJvYnVz dCBmb3IgbG9uZy10ZXJtICgzLTUgeWVhcnMpDQo+IGlmIG91ciBsb3ZlbHkgYnVpbGQtZmFy bXMgYXJlIGRvd24gZm9yIHdoYXRldmVyIHJlYXNvbnMuDQo+IA0KPiBGb3Igc3VyZSwgd2Ug aGF2ZSB0byBmaXggdGhlIGhvbGVzIGFuZCBidWdzLiA6LSkgIEhvd2V2ZXIsIEkgYW0gYXNr aW5nDQo+IHdoYXQgd2UgY291bGQgYWRkIGZvciBoYXZpbmcgbW9yZSByb2J1c3RuZXNzIG9u IHRoZSBsb25nIHRlcm0uDQoNCkkgcmVjb21tZW5kIFAyUCBzeXN0ZW1zIGFzIGFuIGFkZGl0 aW9uYWwgYXJjaGl2YWwgbWV0aG9kIHRvIGNvbXBsZW1lbnQgDQpTV0ggLS0gd2hpbGUgbGVz cyByZWxpYWJsZSB0aGFuIFNXSCwgaXQncyBhbHNvIG5vdCBhIFNQT0Ygd2hpbGUgU1dIIGlz IGEgDQpodWdlIFNQT0YuDQoNCk1vcmUgY29uY3JldGVseSwgJ2d1aXggcGVyZm9ybS1kb3du bG9hZCcgY291bGQgYXV0b21hdGljYWxseSBpbnNlcnQgdGhlIA0KdGFyYmFsbCBpbnRvIHRo ZSBsb2NhbCBwZWVyIChHTlVuZXQsIElQRlMsIHdoYXRldmVyKSAodG8gbWFrZSBpdCANCmF2 YWlsYWJsZSB0byBQMlAgaWYgaXQgd2FzIG9ubHkgYXZhaWxhYmxlIGZyb20gbm9uLVAyUCBo dHRwIGFuZCB0aGUgbGlrZSANCnByZXZpb3VzbHkpIGFuZCAnZ3VpeCBwZXJmb3JtLWRvd25s b2FkJyBjb3VsZCBzdXBwb3J0ICdpcGZzOi8vJywgDQonZ251bmV0Oi8vJyAuLi4gVVJJcy4N Cg0KKFJlbWVtYmVyLCB5b3UgY2FuIHB1dCBfbXVsdGlwbGVfIFVSTHMgaW4gYW4gJ29yaWdp bicsIGFzIG1pcnJvcnMgLyANCmZhbGxiYWNrcyAvIC4uLiEpDQoNCmdpdC1mZXRjaCBhbmQg ZnJpZW5kcyB3b3VsZCBiZSB0cmlja2llciwgYnV0IEkgYXNzdW1lIHNvbWV0aGluZyBjb3Vs ZCBiZSANCndvcmtlZCBvdXQgKGF0IHdvcnN0IEd1aXggY291bGQganVzdCBpbnNlcnQgdGhl IG5hciBpbnRvIHRoZSBwZWVyIGFuZCANCmxldCB0aGUgUDJQIFVSSSBqdXN0IGJlIGEgcmVm ZXJlbmNlIHRvIHRoZSBuYXIpLg0KDQpUaGVyZSBpcyBhbHNvIHRoZSBvcHRpb24gb2YgJ21v cmUgbWlycm9ycyc6IGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0byANCmFkanVzdCB0aGUgZG93 bmxvYWRpbmcgY29kZSB0byBsb29rIGF0IHRoZSBEZWJpYW4gYXJjaGl2ZXMsIHNheS4gIChJ IGhhZCANCnNvbWUgc3VjY2VzcyB3aXRoIGZpbmRpbmcgJ2Rpc2FwcGVhcmVkIHNvdXJjZXMn IGluIG90aGVyIGRpc3RyaWJ1dGlvbnMgDQppbiB0aGUgcGFzdC4pDQoNCj4gSXQgaXMgbm90 IGFmZm9yZGFibGUsIG5laXRoZXIgd2FudGVkLCB0byBzd2l0Y2ggZnJvbSB0aGUgY3VycmVu dA0KPiBleHRyaW5zaWMgaWRlbnRpZmljYXRpb24gdG8gYSBjb21wbGV0ZSBpbnRyaW5zaWMg b25lLiAgQWx0aG91Z2ggaXQgd291bGQNCj4gZml4IG1hbnkgaXNzdWVzLiA7LSkNCg0KSG93 IGFib3V0IGluLWJldHdlZW46IGluY2x1ZGUgYm90aCBhbiBpbnRyaW5zaWMgaWRlbnRpZmll ciAodGhlIA0Kc2hhMjU2c3VtKSBhbmQgYW4gZXh0cmluc2ljIGlkZW50aWZpZXIgKHRoZSBV UkxzIHRvIGxvY2F0ZSB0aGUgb2JqZWN0IA0KYXQpLCBsaWtlIHRoZSBzdGF0dXMgcXVvLg0K DQpBZGRpdGlvbmFsbHksIGFkZGl0aW9uYWwgUDJQIGlkZW50aWZpZXJzIGNvdWxkIGJlIGFk ZGVkIC0tIGUuZy4gaXBmczovLyANClVSSXMgY291bGQgYmUgYWRkZWQgZm9yIHVybC1mZXRj aCAtLSBtdWx0aXBsZSBVUkxzIGFyZSBhbGxvd2VkISAgVGhlc2UgDQphZGRpdGlvbnMgY291 bGQgYmUgYXV0b21hdGVkIHdpdGggc29tZSBzY3JpcHQgKGdvIG92ZXIgdGhlIHBhY2thZ2Ug DQpvcmlnaW5zIG9uZS1ieS1vbmUsIGRvd25sb2FkIGl0LCBjb21wdXRlIHRoZSBQMlAtbmV0 d29yayBpZGVudGlmaWVyLCBhZGQgDQp0aGF0IGlkZW50aWZpZXIgdG8gdGhlIG9yaWdpbiku DQoNCj4gR3VpeCBhbmQg4oCZZ3VpeCB0aW1lLW1hY2hpbmXigJkgcHJvdmlkZXMgYWxsIHRo ZSBtYWNoaW5lcnkgZm9yIGJlaW5nIGFibGUNCj4gdG8gcmVkZXBsb3kgbGF0ZXIgYnV0IGFz IEkgaGF2ZSB0cmllZCB0byBwb2ludCBpbiB0aGUgdHdvIGxpbmtzIGFib3ZlDQo+IFsxLDJd LCB3ZSBhcmUgbGFja2luZyB0b29scyBmb3IgcmV0cmlldmluZyBjb250ZW50czsgd2VsbCBo YXZpbmcgdGhlDQo+IG1hY2hpbmVyeSBkb2VzIG5vdCBtZWFuIHRoYXQgc3VjaCBtYWNoaW5l cnkgd29ya3Mgd2VsbCBvciBpcyByb2J1c3QuIDotKQ0KPiANCj4gVGhlIGRpc2N1c3Npb24g Y291bGQgYWxzbyBmaXQgaG93IHRvIGRpc3RyaWJ1dGUgdXNpbmcgRVJJUy4NCg0KRVJJUyBp cyBub3QgYSBtZXRob2Qgb24gaXRzIG93bjsgeW91IG5lZWQgdG8gY29tYmluZSBpdCB3aXRo IGEgUDJQIA0KbmV0d29yayB0aGF0IHVzZXMgRVJJUy4gIEkgZG8gbm90IHVuZGVyc3RhbmQg dGhlIHNwZWNpYWwgZm9jdXMgb24gRVJJUy4NCg0KVGhlcmUgYXJlIGFsc28gdmFyaW91cyBt aXNzaW5nIGJpdHMgd2l0aCBFUklTIGN1cnJlbnRseQ0KKHNlZSB2YXJpb3VzIGNvbW1lbnRz IGF0IDxodHRwczovL2lzc3Vlcy5ndWl4LmdudS5vcmcvNTI1NTUjMTg+KS4NCkFzIHN1Y2gs IEkgcHJvcG9zZSB0byB1c2UgdGhlIHN0YW5kYXJkIGVuY29kaW5ncyB1c2VkIGJ5IGN1cnJl bnQgUDJQIEZTIA0KbmV0d29ya3MgaW5zdGVhZCAtLSBpZiBhbiBhdXRvbWF0ZWQgc2NyaXB0 IGlzIHVzZWQgYXMgcHJvcG9zZWQgYWJvdmUsIA0KZ29pbmcgZm9yIHN0YW5kYXJkIFAyUCBm aXJzdCBkb2Vzbid0IGluaGliaXQgR3VpeCBmcm9tIHN3aXRjaGluZyB0byBFUklTIA0KaW4g dGhlIGZ1dHVyZS4NCg0KPiBBdCBzb21lIHBvaW50LCBJIHdhcyB0aGlua2luZyB0byBoYXZl IHNvbWV0aGluZyBsaWtlIOKAnGd1aXggZnJlZXplIC1tDQo+IG1hbmlmZXN0LnNjbeKAnSBy ZXR1cm5pbmcgYSBtYXAgb2YgYWxsIHRoZSBzb3VyY2VzIGZyb20gdGhlIGRlZXAgYm9vdHN0 cmFwDQo+IHRvIHRoZSBsZWFmIHBhY2thZ2VzIGRlc2NyaWJlZCBpbiBtYW5pZmVzdC5zY20u ICBIb3dldmVyLCBtYXliZQ0KPiBzb21ldGhpbmcgaXMgcG9vciBpbiB0aGUgbWV0YWRhdGEg d2UgY29sbGVjdCBhdCBwYWNrYWdlIHRpbWUuDQoNClRoYXQgc291bmRzIGxpa2UgImd1aXgg YnVpbGQgLS1zb3VyY2VzPXRyYW5zaXRpdmUnIHRvIG1lLCBleGNlcHQgZm9yIA0KYmVpbmcg ZXZlbiBtb3JlIHRyYW5zaXRpdmUuICBJIHByb3Bvc2UgbWFraW5nIHRoaXMgYW4gYWRkaXRp b25hbCBvcHRpb24gDQpmb3IgdGhlIC0tc291cmNlcyBhcmd1bWVudCBpbnN0ZWFkLg0KDQo+ IEZvciBpbnN0YW5jZSwgdGhlIHN1YnN0aXR1dGlvbnMgd29yayBtb3JlIG9yIGxlc3MgdXNp bmcgaW50cmluc2ljDQo+IGlkZW50aWZpZXIgc28gaXQgaGVscHMsIEkgZ3Vlc3MuIDotKQ0K PiANCj4gV2VsbCwgd2UgY291bGQgaW1hZ2luZSB0aGUgYWRkaXRpb24gb2YgYW5vdGhlciBv cHRpb24gZmllbGQsIHNheSB1bmRlcg0KPiDigJlwcm9wZXJ0aWVz4oCZLCB0aGF0IGNvdWxk IHN0b3JlIHRoZSBpbnRyaW5zaWMgaWRlbnRpZmllciBvZiB0aGUNCj4gZml4ZWQtb3V0cHV0 cyBzdWNoIGFzIFNXSElEIG9yIEdpdCB0cmVlIC8gY29tbWl0IGhhc2ggb3IgZWxzZS4gIEl0 IHdvdWxkDQo+IGFkZCByb2J1c3RuZXNzIGZvciBsYXRlci4NCiA+DQo+IE9yIG1heWJlIGFu IG9wdGlvbmFsIGZpZWxkIG9mIHRoZSDigJlvcmlnaW7igJkgcmVjb3JkIGZvciB0aGUgc2Ft ZSBwdXJwb3NlLg0KDQpJdCBuZWVkcyB0byBiZSBpbiB0aGUgJ29yaWdpbicgcmVjb3JkLCBu b3QgdGhlICdwYWNrYWdlJyByZWNvcmQuICBUaGUgDQpmZXRjaGVycyAodXJsLWZldGNoLCBn aXQtZmV0Y2gsIC4uLikgb25seSBoYXZlIGFjY2VzcyB0byB0aGUgb3JpZ2luIA0Kc3R1ZmYs IGFuZCBvcmlnaW5zIGNhbiBleGlzdCBvdXRzaWRlIHRoZSBjb250ZXh0IG9mIGEgcGFja2Fn ZS4NCg0KR3JlZXRpbmdzLA0KTWF4aW1lLg0K --------------tbXEzPS0ChcV6GCj68BP2FVo Content-Type: application/pgp-keys; name="OpenPGP_0x49E3EE22191725EE.asc" Content-Disposition: attachment; filename="OpenPGP_0x49E3EE22191725EE.asc" Content-Description: OpenPGP public key Content-Transfer-Encoding: quoted-printable -----BEGIN PGP PUBLIC KEY BLOCK----- xjMEX4ch6BYJKwYBBAHaRw8BAQdANPb/d6MrGnGi5HyvODCkBUJPRjiFQcRU5V+m xvMaAa/NL01heGltZSBEZXZvcyA8bWF4aW1lLmRldm9zQHN0dWRlbnQua3VsZXV2 ZW4uYmU+wpAEExYIADgWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCX4ch6AIbAwUL CQgHAwUVCgkICwUWAgMBAAIeAQIXgAAKCRBJ4+4iGRcl7japAQC3opZ2KGWzWmRc /gIWSu0AAcfMwyinFEEPa/QhUt2CogD/e2RdF4CYAgaRHJJmZ9WU7piKbLZ7llB4 LzgezVDHggzNJU1heGltZSBEZXZvcyA8bWF4aW1lZGV2b3NAdGVsZW5ldC5iZT7C kAQTFggAOBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJf56ycAhsDBQsJCAcDBRUK CQgLBRYCAwEAAh4BAheAAAoJEEnj7iIZFyXujpQBAKV1SwDDl4f24rXciDlB9L8W ycZt30CgbewMSRQk4mvbAP9dFMbVVixYBd6C8cfhR+NsOBGiOJnQABlUmgNuqGFJ Dc44BF+HIegSCisGAQQBl1UBBQEBB0BOlzIWiJzgobMF6/cqwLaLk7jIcFSZ++c0 k9cCNT6YXwMBCAfCeAQYFggAIBYhBMHzPuIMUo/bfdcBH0nj7iIZFyXuBQJfhyHo AhsMAAoJEEnj7iIZFyXuMr0BAJc8cl5PGvVmVuSQVKjleNl4DK1/XAaPAYPe34AE fZJPAP9IqLCQhH/FeJanHqBP8gNdGNI2qn8RnnLVfRJgUjZ1BA=3D=3D =3DOVqp -----END PGP PUBLIC KEY BLOCK----- --------------tbXEzPS0ChcV6GCj68BP2FVo-- --------------sl5D6jKGqujTc5n6Pue8DVVc-- --------------OGYgH8fCZrg0x5c9JYYGtfLa Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wnsEABYIACMWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCZAKL6AUDAAAAAAAKCRBJ4+4iGRcl7sc8 AQCLLIfCNIk53cSvXAstQ7YvKVhyBfpEB7FK93h2nSB5EQD/atdu1O/ZnV+UTfK/YdasIT+IZPvB 1qfbguroXy1MsgM= =Bnax -----END PGP SIGNATURE----- --------------OGYgH8fCZrg0x5c9JYYGtfLa--