From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A1146D42BAA for ; Tue, 12 Nov 2024 16:33:40 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 635C410E13D; Tue, 12 Nov 2024 16:33:40 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="fqhReMRw"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.21]) by gabe.freedesktop.org (Postfix) with ESMTPS id 535D910E13D; Tue, 12 Nov 2024 16:33:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1731429219; x=1762965219; h=message-id:subject:from:to:cc:date:in-reply-to: references:content-transfer-encoding:mime-version; bh=uGG4do8le2WSvdfV8s6aoPGs8yzr6NYJEVKfoCQhu98=; b=fqhReMRwzf3e+hFvu/WBmGs9FDtX0A72YurMlaT6R+SdLU8BVH4gofF+ 7yO/tqYEc7IuU5gpG/XqqA5qXYXEWC/bhgElQ9R9+sdfVGrdPvwfhZQns /ueDkaXOspWOCfry+B79zx9B3bzFAXZ7Qbaryz+T3vNYs98Tmf03s+0I3 nvU78HjevoZNqD404Hf4ZDXlzfkJUWvTg5J00eUEUy3KBPWnzUGpCJCwx pRNc1OI0ylCTTMkJU8aWAruR7le8Qqp30a0YTdH6tiRQASWCvOu6au1d3 1AEeWVpfxqz8Ss5TI2zdtW/bzawewXv145wJTiWhBDOW/nLq5Hm88V2U1 g==; X-CSE-ConnectionGUID: +8vKgM7ARWy90qMfE5rluA== X-CSE-MsgGUID: sOsjF5CmSPym9cnAq9Y51g== X-IronPort-AV: E=McAfee;i="6700,10204,11222"; a="31237859" X-IronPort-AV: E=Sophos;i="6.11,199,1725346800"; d="scan'208";a="31237859" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa113.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2024 08:33:39 -0800 X-CSE-ConnectionGUID: YzyVypsgSH6IDuFd062kJQ== X-CSE-MsgGUID: yfdRsuHRQny5xxI5n2nx6A== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,148,1728975600"; d="scan'208";a="88376228" Received: from klitkey1-mobl1.ger.corp.intel.com (HELO [10.245.246.123]) ([10.245.246.123]) by orviesa008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 12 Nov 2024 08:33:36 -0800 Message-ID: Subject: Re: [PATCH v6 2/8] drm/ttm: Add ttm_bo_access From: Thomas =?ISO-8859-1?Q?Hellstr=F6m?= To: Christian =?ISO-8859-1?Q?K=F6nig?= , Joonas Lahtinen , Christian =?ISO-8859-1?Q?K=F6nig?= , Matthew Brost Cc: Simona Vetter , Rodrigo Vivi , Huang Rui , intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, matthew.auld@intel.com, David Airlie , Simona Vetter Date: Tue, 12 Nov 2024 17:33:32 +0100 In-Reply-To: References: <88ceb558-89d1-4d10-be8a-9ce2f3178fa5@amd.com> <85859dc3-cca3-4396-8c75-a726437fb81e@amd.com> <173131201749.35893.6727423786823542880@jlahtine-mobl.ger.corp.intel.com> <173133360247.70529.14349388659124962988@jlahtine-mobl.ger.corp.intel.com> <8d181425-db3b-46b7-ae73-ae6ef149d185@amd.com> <31b16d78-708d-4f19-9b33-891e31be5480@gmail.com> <173141886970.132411.13400253861916730373@jlahtine-mobl.ger.corp.intel.com> <27f8bd540ac1f04daf8a7786f4ae7828017d061b.camel@linux.intel.com> Autocrypt: addr=thomas.hellstrom@linux.intel.com; prefer-encrypt=mutual; keydata=mDMEZaWU6xYJKwYBBAHaRw8BAQdAj/We1UBCIrAm9H5t5Z7+elYJowdlhiYE8zUXgxcFz360SFRob21hcyBIZWxsc3Ryw7ZtIChJbnRlbCBMaW51eCBlbWFpbCkgPHRob21hcy5oZWxsc3Ryb21AbGludXguaW50ZWwuY29tPoiTBBMWCgA7FiEEbJFDO8NaBua8diGTuBaTVQrGBr8FAmWllOsCGwMFCwkIBwICIgIGFQoJCAsCBBYCAwECHgcCF4AACgkQuBaTVQrGBr/yQAD/Z1B+Kzy2JTuIy9LsKfC9FJmt1K/4qgaVeZMIKCAxf2UBAJhmZ5jmkDIf6YghfINZlYq6ixyWnOkWMuSLmELwOsgPuDgEZaWU6xIKKwYBBAGXVQEFAQEHQF9v/LNGegctctMWGHvmV/6oKOWWf/vd4MeqoSYTxVBTAwEIB4h4BBgWCgAgFiEEbJFDO8NaBua8diGTuBaTVQrGBr8FAmWllOsCGwwACgkQuBaTVQrGBr/P2QD9Gts6Ee91w3SzOelNjsus/DcCTBb3fRugJoqcfxjKU0gBAKIFVMvVUGbhlEi6EFTZmBZ0QIZEIzOOVfkaIgWelFEH Organization: Intel Sweden AB, Registration Number: 556189-6027 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.50.4 (3.50.4-3.fc39) MIME-Version: 1.0 X-BeenThere: intel-xe@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel Xe graphics driver List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-xe-bounces@lists.freedesktop.org Sender: "Intel-xe" T24gVHVlLCAyMDI0LTExLTEyIGF0IDE3OjI1ICswMTAwLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3Rl Ogo+IEFtIDEyLjExLjI0IHVtIDE3OjIyIHNjaHJpZWIgVGhvbWFzIEhlbGxzdHLDtm06Cj4gPiBP biBUdWUsIDIwMjQtMTEtMTIgYXQgMTU6NDEgKzAyMDAsIEpvb25hcyBMYWh0aW5lbiB3cm90ZToK PiA+ID4gKCsgVGhvbWFzKQo+ID4gPiAKPiA+ID4gUXVvdGluZyBDaHJpc3RpYW4gS8O2bmlnICgy MDI0LTExLTEyIDExOjIzOjM2KQo+ID4gPiA+IEFtIDExLjExLjI0IHVtIDIzOjQ1IHNjaHJpZWIg TWF0dGhldyBCcm9zdDoKPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoCBbU05JUF0KPiA+ID4gPiAK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgU28gSSB0aGluayBvbmx5IHdheSB0byBh bGxvdyBpbnRlcmFjdGl2ZSBkZWJ1Z2dpbmcKPiA+ID4gPiBpcwo+ID4gPiA+IHRvIGF2b2lkIHRo ZQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBkbWFfZmVuY2VzLiBDdXJpb3VzIHRv IGhlYXIgaWYgdGhlcmUgYXJlIGlkZWFzIGZvcgo+ID4gPiA+IG90aGVyd2lzZS4KPiA+ID4gPiAK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIFlvdSBuZWVkIHRvIGd1YXJhbnRlZSBzb21laG93IHRo YXQgdGhlIHByb2Nlc3MgaXMKPiA+ID4gPiB0YWtlbgo+ID4gPiA+IGZyb20gdGhlIGhhcmR3YXJl IHNvCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCB0aGF0IHRoZSBwcmVlbXB0aW9uIGZlbmNlIGNh biBzaWduYWwuCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqAgT3VyIHByZWVtcHRp b24gZmVuY2VzIGhhdmUgdGhpcyBmdW5jdGlvbmFsaXR5Lgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDC oMKgIEEgcHJlZW1wdGlvbiBmZW5jZSBpc3N1ZXMgYSBzdXNwZW5kIGV4ZWN1dGlvbiBjb21tYW5k IHRvCj4gPiA+ID4gdGhlCj4gPiA+ID4gZmlybXdhcmUuIFRoZQo+ID4gPiA+IMKgwqDCoMKgIGZp cm13YXJlLCBpbiB0dXJuLCBhdHRlbXB0cyB0byBwcmVlbXB0IHRoZSB3b3JrbG9hZC4gSWYgaXQK PiA+ID4gPiBkb2Vzbid0IHJlc3BvbmQKPiA+ID4gPiDCoMKgwqDCoCB3aXRoaW4gYSBzcGVjaWZp ZWQgcGVyaW9kLCBpdCByZXNldHMgdGhlIGhhcmR3YXJlIHF1ZXVlLAo+ID4gPiA+IHNlbmRzCj4g PiA+ID4gYSBtZXNzYWdlIHRvIEtNRCwKPiA+ID4gPiDCoMKgwqDCoCBiYW5zIHRoZSBzb2Z0d2Fy ZSBxdWV1ZSwgYW5kIHNpZ25hbHMgdGhlIHByZWVtcHRpb24gZmVuY2UuCj4gPiA+ID4gCj4gPiA+ ID4gwqDCoMKgwqAgV2UgcHJvdmlkZSBldmVuIG1vcmUgcHJvdGVjdGlvbiB0aGFuIHRoYXQuIElm LCBmb3Igc29tZQo+ID4gPiA+IHJlYXNvbiwKPiA+ID4gPiB0aGUgZmlybXdhcmUKPiA+ID4gPiDC oMKgwqDCoCBkb2Vzbid0IHJlc3BvbmQgd2l0aGluIGEgbG9uZ2VyIHRpbWVvdXQgcGVyaW9kLCB0 aGUgS01ECj4gPiA+ID4gcGVyZm9ybXMgYSBkZXZpY2UgcmVzZXQsCj4gPiA+ID4gwqDCoMKgwqAg YmFuIHRoZSBvZmZlbmRpbmcgc29mdHdhcmUgcXVldWUocyksIGFuZCB3aWxsIHNpZ25hbCB0aGUK PiA+ID4gPiBwcmVlbXB0aW9uIGZlbmNlcy4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoCBUaGlz IGZsb3cgcmVtYWlucyB0aGUgc2FtZSB3aGV0aGVyIGEgZGVidWdnZXIgaXMgYXR0YWNoZWQKPiA+ ID4gPiBvciwKPiA+ID4gPiBmb3IgZXhhbXBsZSwgYQo+ID4gPiA+IMKgwqDCoMKgIHVzZXIgc3Vi bWl0cyBhIDEwLW1pbnV0ZSBub24tcHJlZW1wdGFibGUgd29ya2xvYWQuIEluCj4gPiA+ID4gZWl0 aGVyCj4gPiA+ID4gY2FzZSwgb3RoZXIKPiA+ID4gPiDCoMKgwqDCoCBwcm9jZXNzZXMgYXJlIGd1 YXJhbnRlZWQgdG8gbWFrZSBmb3J3YXJkIHByb2dyZXNzLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4g PiA+IFllYWggdGhhdCBpcyBwcmV0dHkgbXVjaCB0aGUgc2FtZSBhcmd1bWVudGF0aW9uIEkgaGF2 ZSBoZWFyZAo+ID4gPiA+IGJlZm9yZQo+ID4gPiA+IGFuZCBpdAo+ID4gPiA+IHR1cm5lZCBvdXQg dG8gbm90IGJlIHdvcmtpbmcuCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqAgVGhl IGV4YW1wbGUgYWJvdmUgaWxsdXN0cmF0ZXMgdGhlIG1lbW9yeSBvdmVyc3Vic2NyaXB0aW9uCj4g PiA+ID4gY2FzZSwKPiA+ID4gPiB3aGVyZSB0d28KPiA+ID4gPiDCoMKgwqDCoCBwcm9jZXNzZXMg YXJlIHVzaW5nIDUxJSBvZiB0aGUgbWVtb3J5Lgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IFRo YXQgaXNuJ3QgZXZlbiBuZWNlc3NhcnkuIFdlIGhhdmUgc2VlbiBhcHBsaWNhdGlvbnMgZHlpbmcg anVzdAo+ID4gPiA+IGJlY2F1c2UgdGhlCj4gPiA+ID4gY29yZSBtZW1vcnkgbWFuYWdlbWVudCB0 cmllZCB0byBqb2luIGJhY2sgc21hbGwgcGFnZXMgaW50byBodWdlCj4gPiA+ID4gcGFnZXMgaW4g YW4KPiA+ID4gPiB1c2VycHRyLgo+ID4gPiA+IAo+ID4gPiA+IFRoYXQgdGhlIGNvcmUgbWVtb3J5 IG1hbmFnZW1lbnQganVtcHMgaW4gYW5kIHJlcXVlc3RzIHRoYXQgdGhlCj4gPiA+ID4gcHJlLQo+ ID4gPiA+IGVtcHRpb24KPiA+ID4gPiBmZW5jZSBzaWduYWxzIGNhbiBoYXBwZW4gYWxsIHRoZSB0 aW1lLgo+ID4gPiBPdWNoLiBEb2VzIHRoZXJlIGhhcHBlbiB0byBiZSBhIGtub3duIHJlcHJvZHVj ZXIgZm9yIHRoaXMKPiA+ID4gYmVoYXZpb3Igb3IKPiA+ID4gbWF5YmUKPiA+ID4gYnVnIHJlcG9y dD8KPiA+ID4gCj4gPiA+ID4gWW91IGNhbiBtaXRpZ2F0ZSB0aGF0IGEgYml0LCBGZWRvcmEgZm9y IGV4YW1wbGUgZGlzYWJsZXMKPiA+ID4gPiBqb2luaW5nCj4gPiA+ID4gYmFjayBzbWFsbAo+ID4g PiA+IHBhZ2VzIGludG8gaHVnZSBwYWdlcyBieSBkZWZhdWx0IGZvciBleGFtcGxlIGFuZCB3ZSBl dmVuIGhhZAo+ID4gPiA+IHBlb3BsZQo+ID4gPiA+IHN1Z2dlc3RpbmcKPiA+ID4gPiB0byB1c2Ug bXByb3RlY3QoKSBzbyB0aGF0IHVzZXJwdHJzIFZNQXMgZG9uJ3QgZm9yaygpIGFueSBtb3JlCj4g PiA+ID4gKHdoaWNoIGlzIG9mCj4gPiA+ID4gY291cnNlIGNvbXBsZXRlbHkgaWxsZWdhbCkuCj4g PiA+ID4gCj4gPiA+ID4gQnV0IG15IGxvbmcgdGVybSB0YWtlIGF3YXkgaXMgdGhhdCB5b3UgY2Fu J3QgYmxvY2sgYWxsIGNhdXNlcwo+ID4gPiA+IG9mCj4gPiA+ID4gc3VkZGVuCj4gPiA+ID4gcmVx dWVzdHMgdG8gbGV0IGEgcHJlLWVtcHRpb24gZmVuY2Ugc2lnbmFsLgo+ID4gPiBJIHRoaW5rIHRo aXMgcHJvYmxlbSBlcXVhbGx5IGFwcGxpZXMgdG8gdGhlIExSLXdvcmtsb2FkcyBsaWtlIHRoZQo+ ID4gPiBFVQo+ID4gPiBkZWJ1Z2dpbmcgb25lcy4KPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqAgQW5v dGhlciBwcmVlbXB0aW9uIHNjZW5hcmlvIGludm9sdmVzIHR3byBwcm9jZXNzZXMgc2hhcmluZwo+ ID4gPiA+IGhhcmR3YXJlIHJlc291cmNlcy4KPiA+ID4gPiDCoMKgwqDCoCBPdXIgZmlybXdhcmUg Zm9sbG93cyB0aGUgc2FtZSBmbG93IGhlcmUuIElmIGFuIExSIHdvcmtsb2FkCj4gPiA+ID4gaXMK PiA+ID4gPiB1c2luZyBhIGhhcmR3YXJlCj4gPiA+ID4gwqDCoMKgwqAgcmVzb3VyY2UgYW5kIGEg RE1BLWZlbmNlIHdvcmtsb2FkIGlzIHdhaXRpbmcsIGFuZCBpZiB0aGUKPiA+ID4gPiBMUgo+ID4g PiA+IHdvcmtsb2FkIGRvZXNuJ3QKPiA+ID4gPiDCoMKgwqDCoCBwcmVlbXB0IHRoZSBpbiBhIHRp bWVseSBtYW5uZXIsIHRoZSBmaXJtd2FyZSBpc3N1ZXMgYQo+ID4gPiA+IGhhcmR3YXJlCj4gPiA+ ID4gcmVzZXQsIG5vdGlmaWVzCj4gPiA+ID4gwqDCoMKgwqAgS01ELCBhbmQgYmFucyB0aGUgTFIg c29mdHdhcmUgcXVldWUuIFRoZSBETUEtZmVuY2UKPiA+ID4gPiB3b3JrbG9hZAo+ID4gPiA+IHRo ZW4gY2FuIG1ha2UKPiA+ID4gPiDCoMKgwqDCoCBmb3J3YXJkIHByb2dyZXNzCj4gPiA+ID4gCj4g PiA+ID4gwqDCoMKgwqAgV2l0aCB0aGUgYWJvdmUgaW4gbWluZCwgdGhpcyBpcyB3aHkgSSBzYXkg dGhhdCBpZiBhIHVzZXIKPiA+ID4gPiB0cmllcwo+ID4gPiA+IHRvIHJ1biBhIGdhbWUgYW5kCj4g PiA+ID4gwqDCoMKgwqAgYSBub24tcHJlZW1wdGFibGUgTFIgd29ya2xvYWQsIGVpdGhlciBvdmVy c3Vic2NyaWJpbmcKPiA+ID4gPiBtZW1vcnkgb3IKPiA+ID4gPiBzaGFyaW5nIGhhcmR3YXJlCj4g PiA+ID4gwqDCoMKgwqAgcmVzb3VyY2VzLCBpdCBpcyB1bmxpa2VseSB0byB3b3JrIHdlbGwuIEhv d2V2ZXIsIEkgZG9uJ3QKPiA+ID4gPiB0aGluawo+ID4gPiA+IHRoaXMgaXMgYSBjb21tb24KPiA+ ID4gPiDCoMKgwqDCoCB1c2UgY2FzZS4gSSB3b3VsZCBleHBlY3QgdGhhdCB3aGVuIGEgZGVidWdn ZXIgaXMgb3BlbiwgaXQKPiA+ID4gPiBpcwo+ID4gPiA+IHR5cGljYWxseSBieSBhCj4gPiA+ID4g wqDCoMKgwqAgcG93ZXIgdXNlciB3aG8ga25vd3MgaG93IHRvIGRpc2FibGUgb3RoZXIgR1BVIHRh c2tzIChlLmcuLAo+ID4gPiA+IGJ5Cj4gPiA+ID4gZW5hYmxpbmcgc29mdHdhcmUKPiA+ID4gPiDC oMKgwqDCoCByZW5kZXJpbmcgb3IgdXNpbmcgYSBtYWNoaW5lIHdpdGhvdXQgYW55IGRpc3BsYXkp Lgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgIEdpdmVuIHRoaXMsIHBsZWFzZSB0byByZWNvbnNp ZGVyIHlvdXIgcG9zaXRpb24uCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gVGhlIGtleSBwb2lu dCBoZXJlIGlzIHRoYXQgdGhpcyBpc24ndCBzdGFibGUsIHlvdSBjYW4gZG8gdGhhdAo+ID4gPiA+ IGFzIGEKPiA+ID4gPiB0ZWNoIGRlbW8KPiA+ID4gPiBidXQgaXQgY2FuIGFsd2F5cyBiZSB0aGF0 IGRlYnVnZ2luZyBhbiBhcHBsaWNhdGlvbiBqdXN0Cj4gPiA+ID4gcmFuZG9tbHkKPiA+ID4gPiBk aWVzLiBBbmQKPiA+ID4gPiBiZWxpZXZlIG1lIEFNRCBoYXMgdHJpZWQgdGhpcyB0byBhIHJhdGhl ciBleHRyZW1lIGV4dGVuZCBhcwo+ID4gPiA+IHdlbGwuCj4gPiA+IEl0J3Mgbm90IHJlYWxseSBv bmx5IGxpbWl0ZWQgdG8gdGhlIGRlYnVnZ2FibGUgYXBwbGljYXRpb25zIGF0Cj4gPiA+IGFsbCwK PiA+ID4gdGhlCj4gPiA+IG5vcm1hbCBMUiB3b3JrbG9hZHMgYXJlIGVxdWFsbHkgaW1wYWN0ZWQg YXMgZmFyIGFzIEkgdW5kZXJzdGFuZC4KPiA+ID4gSnVzdAo+ID4gPiBoYXJkZXIgdG8gY2F0Y2gg dGhlIGlzc3VlIHdpdGggTFItd29ya2xvYWRzIGlmIHRoZSBwcmUtZW1wdGlvbgo+ID4gPiBmZW5j ZQo+ID4gPiBzaWduYWxpbmcgaXMgc3BvcmFkaWMuCj4gPiA+IAo+ID4gPiA+IFdoYXQgeW91IGNv dWxkIHBvdGVudGlhbGx5IHdvcmsgaXMgdG8gdGFpbnQgdGhlIGtlcm5lbCBhbmQgbWFrZQo+ID4g PiA+IHN1cmUgdGhhdCB0aGlzCj4gPiA+ID4gZnVuY3Rpb24gaXMgb25seSBhdmFpbGFibGUgdG8g dXNlciB3aG8gYWJzb2x1dGVseSBrbm93IHdoYXQKPiA+ID4gPiB0aGV5Cj4gPiA+ID4gYXJlIGRv aW5nLgo+ID4gPiA+IAo+ID4gPiA+IEJ1dCBJIHdvdWxkIHNheSB3ZSBjYW4gb25seSBhbGxvdyB0 aGF0IGlmIGFsbCBvdGhlciBvcHRpb25zCj4gPiA+ID4gaGF2ZQo+ID4gPiA+IGJlZW4gZXhlcmNp c2VkCj4gPiA+ID4gYW5kIGRvaW5nIGl0IGxpa2UgdGhpcyBpcyByZWFsbHkgdGhlIG9ubHkgb3B0 aW9uIGxlZnQuCj4gPiA+IEl0IHNvdW5kcyBsaWtlIHNlcnZpY2luZyB0aGUgbWVtb3J5IHByZS1l bXB0IGZlbmNlIGJ5IHN0ZWFsaW5nCj4gPiA+IHRoZQo+ID4gPiBwYWdlcyBmcm9tIHVuZGVybmVh dGggdGhlIHdvcmtsb2FkIHdvdWxkIGJlIHRoZSB3YXkgdG8gcmVzb2x2ZQo+ID4gPiB0aGlzCj4g PiA+IGlzc3VlLgo+ID4gPiAKPiA+ID4gVGhpcyBoYXMgYmVlbiBleHRlbnNpdmVseSBkaXNjdXNz ZWQgYWxyZWFkeSwgYnV0IHdhcyBleHBlY3RlZCB0bwo+ID4gPiByZWFsbHkKPiA+ID4gb25seSBi ZSBuZWVkZWQgZm9yIGxvdy1vbi1tZW1vcnkgc2NlbmFyaW9zLiBIb3dldmVyIGl0IG5vdyBzZWVt cwo+ID4gPiBsaWtlCj4gPiA+IHRoZSBuZWVkIGlzIG11Y2ggZWFybGllciBkdWUgdG8gdGhlIHJh bmRvbSB1c2VycHRyIHBhZ2Ugam9pbmluZwo+ID4gPiBieQo+ID4gPiBjb3JlCj4gPiA+IG1tLgo+ ID4gSnVzdCB0byBjbGFyaWZ5IGhlcmU6Cj4gPiDCoCAKPiA+IEluIExvbmctUnVubmluZyBtb2Rl IHdpdGggcmVjb3ZlcmFibGUgcGFnZWZhdWx0cyBlbmFibGVkIHdlIGRvbid0Cj4gPiBoYXZlCj4g PiBhbnkgcHJlZW1wdC1mZW5jZXMsIGJ1dCByYXRoZXIganVzdCB6YXAgdGhlIFBURXMgcG9pbnRp bmcgdG8gdGhlCj4gPiBhZmZlY3RlZCBtZW1vcnkgYW5kIGZsdXNoIFRMQi4gU28gZnJvbSBhIG1l bW9yeSByZXNvdXJjZSBQT1cgYQo+ID4gYnJlYWtwb2ludCBzaG91bGQgYmUgc2FmZSwgYW5kIG5v IG1tdSBub3RpZmllciBub3Igc2hyaW5rZXIgd2lsbCBiZQo+ID4gYmxvY2tlZC4KPiAKPiBUaGF0 IHNvdW5kcyBsaWtlIGEgSE1NIGJhc2VkIGFwcHJvYWNoIHdoaWNoIHdvdWxkIGNsZWFybHkgd29y ay4KPiAKPiBCdXQgd2hlcmUgaXMgdGhhdD8gSSBkb24ndCBzZWUgYW55IEhNTSBiYXNlZCBhcHBy b2FjaCBhbnl3aGVyZSBpbiB0aGUKPiBYRSAKPiBkcml2ZXIuCgpUaGlzIGlzIGEgbW9kZSB0aGF0 IHVzZXMgcmVjb3ZlcmFibGUgcGFnZWZhdWx0cyB0byBmYXVsdCBlaXRoZXIgZnVsbAp1c2VycHRy IG9yIGZ1bGwgYm9zLCBhbmQgdXNlZCB3aXRoIERSTV9YRV9WTV9DUkFURV9GTEFHX0ZBVUxUX01P REUuCihub3QgU1ZNKSEKCnVzZXJwdHJzIGluIHhlIGFyZSBiby1sZXNzLCBhbmQgdXNpbmcgdGhl IHZtJ3MgcmVzdiwgYnV0IG90aGVyd2lzZQp1c2luZyBobW0gc2ltaWxhciB0byBhbWRncHU6IHhl X2htbS5jCgpmYXVsdCBzZXJ2aWNpbmc6CnhlX2d0X3BhZ2VmYXVsdC5jCgpQVEUgemFwcGluZyBv biBldmljdGlvbiBhbmQgbm90aWZpZXI6CnhlX3ZtX2ludmFsaWRhdGVfdm1hKCksIHhlX3ZtLmMK ClRoYW5rcywKVGhvbWFzCgo+IAo+IFJlZ2FyZHMsCj4gQ2hyaXN0aWFuLgo+IAo+ID4gCj4gPiBO b3Igd2lsbCB0aGVyZSBiZSBhbnkgam9icyB3aXRoIHB1Ymxpc2hlZCBkbWEtZmVuY2VzIGRlcGVu ZGluZyBvbgo+ID4gdGhlCj4gPiBqb2IgYmxvY2tlZCBlaXRoZXIgdGVtcG9yYXJpbHkgYnkgYSBw YWdlZmF1bHQgb3IgbG9uZy10ZXJtIGJ5IGEKPiA+IGRlYnVnZ2VyIGJyZWFrcG9pbnQuCj4gPiAK PiA+IC9UaG9tYXMKPiA+IAo+ID4gCj4gPiA+IElmIHRoYXQgaXMgZG9uZSBhbmQgdGhlIG1lbW9y eSBwcmUtZW1wdCBmZW5jZSBpcyBzZXJ2aWNlZCBldmVuCj4gPiA+IGZvcgo+ID4gPiBkZWJ1Z2dh YmxlIGNvbnRleHRzLCBkbyB5b3UgaGF2ZSBmdXJ0aGVyIGNvbmNlcm5zIHdpdGggdGhlCj4gPiA+ IHByZXNlbnRlZAo+ID4gPiBhcHByb2FjaAo+ID4gPiBmcm9tIGRtYS1idWYgYW5kIGRybS9zY2hl ZCBwZXJzcGVjdGl2ZT8KPiA+ID4gCj4gPiA+IFJlZ2FyZHMsIEpvb25hcwo+ID4gPiAKPiA+ID4g PiBSZWdhcmRzLAo+ID4gPiA+IENocmlzdGlhbi4KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiDC oMKgwqDCoMKgwqDCoMKgIFRoaXMgbWVhbnMgdGhhdCBhIGJyZWFrcG9pbnQgb3IgY29yZSBkdW1w IGRvZXNuJ3QgaGFsdAo+ID4gPiA+IEdQVQo+ID4gPiA+IHRocmVhZHMsIGJ1dAo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqAgcmF0aGVyIHN1c3BlbmRzIHRoZW0uIEUuZy4gYWxsIHJ1bm5pbmcgd2F2 ZSBkYXRhIGlzCj4gPiA+ID4gY29sbGVjdGVkIGludG8gYSBzdGF0ZQo+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqAgYmFnIHdoaWNoIGNhbiBiZSByZXN0b3JlZCBsYXRlciBvbi4KPiA+ID4gPiAKPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgIEkgd2FzIHVuZGVyIHRoZSBpbXByZXNzaW9uIHRoYXQgdGhv c2UgbG9uZyBydW5uaW5nCj4gPiA+ID4gY29tcHV0ZQo+ID4gPiA+IHRocmVhZHMgZG8KPiA+ID4g PiDCoMKgwqDCoMKgwqDCoMKgIGV4YWN0bHkgdGhhdCwgYnV0IHdoZW4gdGhlIGhhcmR3YXJlIGNh bid0IHN3aXRjaCBvdXQKPiA+ID4gPiB0aGUKPiA+ID4gPiBHUFUgdGhyZWFkL3Byb2Nlc3MKPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgIHdoaWxlIGluIGEgYnJlYWsgdGhlbiB0aGF0IGlzbid0IHRo ZSBjYXNlLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgQXMgbG9uZyBhcyB5b3Ug ZG9uJ3QgZmluZCBhIHdheSB0byBhdm9pZCB0aGF0IHRoaXMKPiA+ID4gPiBwYXRjaAo+ID4gPiA+ IHNldCBpcyBhIHByZXR0eQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgY2xlYXIgTkFLIGZyb20g bXkgc2lkZSBhcyBETUEtYnVmIGFuZCBUVE0gbWFpbnRhaW5lci4KPiA+ID4gPiAKPiA+ID4gPiAK PiA+ID4gPiDCoMKgwqDCoCBJIGJlbGlldmUgdGhpcyBpcyBhZGRyZXNzZWQgYWJvdmUuCj4gPiA+ ID4gCj4gPiA+ID4gwqDCoMKgwqAgTWF0dAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqAgV2hhdCBtaWdodCB3b3JrIGlzIHRvIGtlZXAgdGhlIHN1Ym1pc3Npb24gb24g dGhlCj4gPiA+ID4gaGFyZHdhcmUKPiA+ID4gPiBpbiB0aGUgYnJlYWsgc3RhdGUKPiA+ID4gPiDC oMKgwqDCoMKgwqDCoMKgIGJ1dCBmb3JiaWQgYW55IG1lbW9yeSBhY2Nlc3MuIFRoaXMgd2F5IHlv dSBjYW4gc2lnbmFsCj4gPiA+ID4geW91cgo+ID4gPiA+IHByZWVtcHRpb24gZmVuY2UKPiA+ID4g PiDCoMKgwqDCoMKgwqDCoMKgIGV2ZW4gd2hlbiB0aGUgaGFyZHdhcmUgaXNuJ3QgbWFkZSBhdmFp bGFibGUuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBCZWZvcmUgeW91IGNvbnRp bnVlIFhFIHNldHVwcyBhIG5ldyBwcmUtZW1wdGlvbiBmZW5jZQo+ID4gPiA+IGFuZAo+ID4gPiA+ IG1ha2VzIHN1cmUgdGhhdAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqAgYWxsIHBhZ2UgdGFibGVz IGV0Yy4uLiBhcmUgdXAgdG8gZGF0ZS4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg IENvdWxkIGJlIHRyaWNreSB0byBnZXQgdGhpcyByaWdodCBpZiBjb21wbGV0aW9uIGZlbmNlCj4g PiA+ID4gYmFzZWQKPiA+ID4gPiBzdWJtaXNzaW9ucyBhcmUKPiA+ID4gPiDCoMKgwqDCoMKgwqDC oMKgIG1peGVkIGluIGFzIHdlbGwsIGJ1dCB0aGF0IGdpdmVzIHlvdSBhdCBsZWFzdCBhCj4gPiA+ ID4gZGlyZWN0aW9uCj4gPiA+ID4geW91IGNvdWxkCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBw b3RlbnRpYWxseSBnby4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgIFJlZ2FyZHMs Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoCBDaHJpc3RpYW4uCj4gPiA+ID4gCj4gPiA+ID4gCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJlZ2FyZHMsIEpvb25hcwo+ID4gPiA+IAo+ ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJlZ2FyZHMs Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hyaXN0aWFuLgo+ID4g PiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgU29tZSB3YXNoLXVwIHRob3VnaHRzIGZyb20gbWUgYmVsb3csIGJ1dAo+ID4gPiA+IGNv bnNpZGVyIHRoZW0gZmFpcmx5IGlycmVsZXZhbnQKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHNpbmNlIEkgdGhpbmsgdGhlIG1haW4gZHJpdmVyIGZvciB0 aGVzZQo+ID4gPiA+IGJpZwo+ID4gPiA+IHF1ZXN0aW9ucyBoZXJlIHNob3VsZCBiZQo+ID4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ2RiL3VzZXJzcGFjZS4K PiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgUXVvdGluZyBDaHJpc3RpYW4gS8O2bmlnICgyMDI0LTExLTA3Cj4g PiA+ID4gMTE6NDQ6MzMpCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQW0gMDYuMTEuMjQgdW0gMTg6MDAgc2No cmllYgo+ID4gPiA+IE1hdHRoZXcKPiA+ID4gPiBCcm9zdDoKPiA+ID4gPiAKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBbU05JUF0KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUaGlzIGlzIG5vdCBh IGdlbmVyaWMKPiA+ID4gPiBpbnRlcmZhY2UKPiA+ID4gPiB0aGF0IGFueW9uZSBjYW4gZnJlZWx5 IGFjY2Vzcy4gVGhlIHNhbWUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJtaXNzaW9ucyB1c2VkIGJ5 IHB0cmFjZQo+ID4gPiA+IGFyZQo+ID4gPiA+IGNoZWNrZWQgd2hlbiBvcGVuaW5nIHN1Y2ggYW4g aW50ZXJmYWNlLgo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNlZSBbMV0gWzJdLgo+ID4gPiA+IAo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAKPiA+ID4gPiBbMV0KPiA+ID4gPiBodHRwczovL3BhdGNod29yay5mcmVl ZGVza3RvcC5vcmcvcGF0Y2gvNjE3NDcwLz9zZXJpZXM9MTM2NTcyJnIKPiA+ID4gPiBlCj4gPiA+ ID4gdj0yCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIAo+ID4gPiA+IFsyXQo+ID4gPiA+IGh0dHBzOi8vcGF0 Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9wYXRjaC82MTc0NzEvP3Nlcmllcz0xMzY1NzImcgo+ID4g PiA+IGUKPiA+ID4gPiB2PTIKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUaGFua3MgYSBsb3Qg Zm9yIHRob3NlIHBvaW50ZXJzLAo+ID4gPiA+IHRoYXQKPiA+ID4gPiBpcyBleGFjdGx5IHdoYXQg SSB3YXMgbG9va2luZyBmb3IuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQW5kIHllYWgsIGl0IGlzIHdoYXQg SSBmZWFyZWQuIFlvdQo+ID4gPiA+IGFyZQo+ID4gPiA+IHJlLWltcGxlbWVudGluZyBleGlzdGlu ZyBmdW5jdGlvbmFsaXR5LAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1dCBzZWUgYmVsb3cuCj4gPiA+ID4gCj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENvdWxkIHlv dSBlbGFib3JhdGUgb24gd2hhdCB0aGlzCj4gPiA+ID4gImV4aXN0aW5nCj4gPiA+ID4gZnVuY3Rp b25hbGl0eSIgZXhhY3RseSBpcz8KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgSSBkbyBub3QgdGhpbmsgdGhpcyBmdW5jdGlvbmFsaXR5Cj4g PiA+ID4gZXhpc3RzIGF0Cj4gPiA+ID4gdGhpcyB0aW1lLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUaGUgRVUgZGVidWdn aW5nIGFyY2hpdGVjdHVyZSBmb3IgWGUKPiA+ID4gPiBzcGVjaWZpY2FsbHkgYXZvaWRzIHRoZSBu ZWVkIGZvciBHREIKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgdG8gYXR0YWNoIHdpdGggcHRyYWNlIHRvIHRoZSBDUFUKPiA+ID4gPiBwcm9j ZXNzIG9yCj4gPiA+ID4gaW50ZXJmZXJlIHdpdGggdGhlIENQVSBwcm9jZXNzIGZvcgo+ID4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aGUgZGVi dWdnaW5nIHZpYSBwYXJhc2l0aWMgdGhyZWFkcyBvcgo+ID4gPiA+IHNvLgo+ID4gPiA+IAo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBEZWJ1 Z2dlciBjb25uZWN0aW9uIGlzIG9wZW5lZCB0byB0aGUKPiA+ID4gPiBEUk0KPiA+ID4gPiBkcml2 ZXIgZm9yIGdpdmVuIFBJRCAod2hpY2ggdXNlcyB0aGUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHRyYWNlIG1heSBhY2Nlc3MgY2hlY2sg Zm9yIG5vdykgYWZ0ZXIKPiA+ID4gPiB3aGljaCB0aGUgYWxsIERSTSBjbGllbnQgb2YgdGhhdAo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBQ SUQgYXJlIGV4cG9zZWQgdG8gdGhlIGRlYnVnZ2VyCj4gPiA+ID4gcHJvY2Vzcy4KPiA+ID4gPiAK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg V2hhdCB3ZSB3YW50IHRvIGV4cG9zZSB2aWEgdGhhdAo+ID4gPiA+IGRlYnVnZ2VyCj4gPiA+ID4g Y29ubmVjdGlvbiBpcyB0aGUgYWJpbGl0eSBmb3IgR0RCIHRvCj4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHJlYWQvd3JpdGUgdGhlIGRpZmZl cmVudCBHUFUgVk0KPiA+ID4gPiBhZGRyZXNzCj4gPiA+ID4gc3BhY2VzIChwcEdUVCBmb3IgSW50 ZWwgR1BVcykganVzdCBsaWtlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHRoZSBFVSB0aHJlYWRzIHdvdWxkIHNlZSB0aGVtLiBOb3RlCj4g PiA+ID4gdGhhdAo+ID4gPiA+IHRoZSBsYXlvdXQgb2YgdGhlIHBwR1RUIGlzCj4gPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGNvbXBsZXRlbHkg dXAgdG8gdGhlIHVzZXJzcGFjZSBkcml2ZXIKPiA+ID4gPiB0bwo+ID4gPiA+IHNldHVwIGFuZCBp cyBtb3N0bHkgb25seSBwYXJ0aWFsbHkKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZXF1YWwgdG8gdGhlIENQVSBhZGRyZXNzIHNwYWNlLgo+ ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBTcGVjaWZpY2FsbHkgYXMgcGFydCBvZgo+ID4gPiA+IHJlYWRpbmcvd3JpdGluZyB0 aGUKPiA+ID4gPiBwcEdUVCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLAo+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aGVyZSBhcmUgZGVlcCBm bHVzaGVzIG5lZWRlZDogZm9yCj4gPiA+ID4gZXhhbXBsZQo+ID4gPiA+IGZsdXNoaW5nIGluc3Ry dWN0aW9uIGNhY2hlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHdoZW4gYWRkaW5nL3JlbW92aW5nIGJyZWFrcG9pbnRzLgo+ID4gPiA+IAo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBN YXliZSB0aGF0IHdpbGwgZXhwbGFpbiB0aGUKPiA+ID4gPiBiYWNrZ3JvdW5kLiBJCj4gPiA+ID4g ZWxhYm9yYXRlIG9uIHRoaXMgYXQgdGhlIGVuZCBzb21lIG1vcmUuCj4gPiA+ID4gCj4gPiA+ID4g Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGttYXAvdm1hcCBhcmUgdXNlZAo+ ID4gPiA+IGV2ZXJ5d2hlcmUgaW4gdGhlIERSTSBzdWJzeXN0ZW0gdG8gYWNjZXNzIEJPcywgc28g SeKAmW0KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZmFpbGluZyB0byBzZWUg dGhlCj4gPiA+ID4gcHJvYmxlbSB3aXRoIGFkZGluZyBhIHNpbXBsZSBoZWxwZXIgYmFzZWQgb24g ZXhpc3RpbmcKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgY29kZS4KPiA+ID4g PiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdoYXQjcyBwb3NzaWJsZSBhbmQKPiA+ID4g PiBvZnRlbgo+ID4gPiA+IGRvbmUgaXMgdG8gZG8ga21hcC92bWFwIGlmIHlvdSBuZWVkIHRvIGlt cGxlbWVudCBhCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDUFUgY29weSBmb3Igc2Nhbm91 dCBmb3IKPiA+ID4gPiBleGFtcGxlIG9yIGZvciBjb3B5aW5nL3ZhbGlkYXRpbmcgY29tbWFuZCBi dWZmZXJzLgo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQnV0IHRoYXQgdXN1YWxseQo+ID4g PiA+IHJlcXVpcmVzCj4gPiA+ID4gYWNjZXNzaW5nIHRoZSB3aG9sZSBCTyBhbmQgaGFzIHNlcGFy YXRlIHNlY3VyaXR5Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjaGVja3MuCj4gPiA+ID4g Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXaGVuIHlvdSB3YW50IHRvIGFjY2Vzcwo+ID4g PiA+IG9ubHkKPiA+ID4gPiBhIGZldyBieXRlcyBvZiBhIEJPIHRoYXQgc291bmRzIG1hc3NpdmVs eSBsaWtlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhIHBlZWsvcG9rZSBsaWtlCj4gPiA+ ID4gaW50ZXJmYWNlCj4gPiA+ID4gYW5kIHdlIGhhdmUgYWxyZWFkeSByZWplY3RlZCB0aGF0IG1v cmUgdGhhbiBvbmNlLgo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgVGhlcmUgZXZlbiB1c2Vk IHRvIGJlCj4gPiA+ID4gc3RhbmRhcmRpemVkIEdFTSBJT0NUTHMgZm9yIHRoYXQgd2hpY2ggaGF2 ZSBiZWVuCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZW1vdmVkIGJ5IG5vdy4KPiA+ID4g PiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgUmVmZXJyaW5nIHRvIHRoZSBleHBsYW5hdGlvbiBhdCB0b3A6Cj4gPiA+ID4gVGhlc2UKPiA+ ID4gPiBJT0NUTCBhcmUgbm90IGZvciB0aGUgZGVidWdnaW5nIHRhcmdldAo+ID4gPiA+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwcm9jZXNzIHRvIGlz c3VlLiBUaGUgcGVlay9wb2tlCj4gPiA+ID4gaW50ZXJmYWNlCj4gPiA+ID4gaXMgc3BlY2lmaWNh bGx5IGZvciBHREIgb25seQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCB0byBmYWNpbGl0YXRlIHRoZSBlbXVsYXRpb24gb2YgbWVtb3J5Cj4g PiA+ID4gcmVhZHMvd3JpdGVzIG9uIHRoZSBHUFUgYWRkcmVzcwo+ID4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBzcGFjZSBhcyB0aGV5IHdlcmUg ZG9uZSBieSBFVXMKPiA+ID4gPiB0aGVtc2VsdmVzLgo+ID4gPiA+IEFuZCB0byByZWNhcDogZm9y IG1vZGlmeWluZwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBpbnN0cnVjdGlvbnMgZm9yIGV4YW1wbGUgKGFkZC9yZW1vdmUKPiA+ID4gPiBi cmVha3BvaW50KSwgZXh0cmEgbGV2ZWwgb2YgY2FjaGUgZmx1c2hpbmcgaXMKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbmVlZGVkIHdoaWNo IGlzIG5vdCBhdmFpbGFibGUgdG8KPiA+ID4gPiByZWd1bGFyCj4gPiA+ID4gdXNlcnNwYWNlLgo+ ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBJIHNwZWNpZmljYWxseSBkaXNjdXNzZWQgd2l0aCBTaW1hIG9uCj4gPiA+ID4gdGhl Cj4gPiA+ID4gZGlmZmVyZW5jZSBiZWZvcmUgbW92aW5nIGZvcndhcmQgd2l0aCB0aGlzCj4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRlc2ln biBvcmlnaW5hbGx5LiBJZiBzb21ldGhpbmcgaGFzCj4gPiA+ID4gY2hhbmdlZAo+ID4gPiA+IHNp bmNlIHRoZW4sIEknbSBvZiBjb3Vyc2UgaGFwcHkgdG8gcmVkaXNjdXNzLgo+ID4gPiA+IAo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBIb3dl dmVyLCBpZiB0aGlzIGNvZGUgY2FuJ3QgYmUgYWRkZWQsCj4gPiA+ID4gbm90Cj4gPiA+ID4gc3Vy ZSBob3cgd2Ugd291bGQgZXZlciBiZSBhYmxlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRvIGltcGxlbWVudCBjb3JlIGR1bXBzIGZvciBH UFUKPiA+ID4gPiB0aHJlYWRzL21lbW9yeT8KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIElmIHlvdSBuZWVkIHRvIGFjY2Vzcwo+ID4gPiA+IEJPcwo+ID4gPiA+ IHdoaWNoIGFyZSBwbGFjZWQgaW4gbm90IENQVSBhY2Nlc3NpYmxlIG1lbW9yeSB0aGVuCj4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbXBsZW1lbnQgdGhlIGFjY2Vzcwo+ID4gPiA+IGNhbGxi YWNrCj4gPiA+ID4gZm9yIHB0cmFjZSwgc2VlIGFtZGdwdV90dG1fYWNjZXNzX21lbW9yeSBmb3IK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFuIGV4YW1wbGUgaG93IHRvIGRvCj4gPiA+ID4g dGhpcy4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgQXMgYWxzbyBtZW50aW9uZWQgYWJvdmUsIHdlIGRvbid0IHdvcmsKPiA+ ID4gPiB2aWEKPiA+ID4gPiBwdHJhY2UgYXQgYWxsIHdoZW4gaXQgY29tZXMKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdG8gZGVidWdnaW5n IHRoZSBFVXMuIFRoZSBvbmx5IHRoaW5nCj4gPiA+ID4gdXNlZAo+ID4gPiA+IGZvciBub3cgaXMg dGhlIHB0cmFjZV9tYXlfYWNjZXNzIHRvCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGltcGxlbWVudCBzaW1pbGFyIGFjY2VzcyByZXN0cmlj dGlvbnMKPiA+ID4gPiBhcwo+ID4gPiA+IHB0cmFjZSBoYXMuIFRoaXMgY2FuIGJlIGNoYW5nZWQK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dG8gc29tZXRoaW5nIGVsc2UgaWYgbmVlZGVkLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIFB0cmFjZSBhY2Nlc3MgdmlhCj4gPiA+ID4gdm1fb3BlcmF0aW9uc19zdHJ1Y3Qu YWNjZXNzIOKGkiB0dG1fYm9fdm1fYWNjZXNzLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFRoaXMgc2VyaWVzIHJlbmFtZXMKPiA+ID4gPiB0dG1fYm9fdm1fYWNjZXNzIHRvIHR0bV9ib19h Y2Nlc3MsIHdpdGggbm8gY29kZSBjaGFuZ2VzLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFRoZSBhYm92ZSBmdW5jdGlvbiBhY2Nlc3Nlcwo+ID4gPiA+IGEgQk8KPiA+ID4gPiB2aWEga21h cCBpZiBpdCBpcyBpbiBTWVNURU0gLyBUVCwKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3aGljaCBpcyBl eGlzdGluZyBjb2RlLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRoaXMgZnVuY3Rpb24g aXMgb25seQo+ID4gPiA+IGV4cG9zZWQgdG8KPiA+ID4gPiB1c2VyIHNwYWNlIHZpYSBwdHJhY2Ug cGVybWlzc2lvbnMuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1heWJlIHRoaXMgc2VudGVuY2UgaXMgd2hhdCBjYXVzZWQg dGhlCj4gPiA+ID4gY29uZnVzaW9uLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBVc2Vyc3BhY2UgaXMgbmV2ZXIgZXhwb3Nl ZCB3aXRoCj4gPiA+ID4gcGVlay9wb2tlCj4gPiA+ID4gaW50ZXJmYWNlLCBvbmx5IHRoZSBkZWJ1 Z2dlcgo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBjb25uZWN0aW9uIHdoaWNoIGlzIGl0cyBvd24gRkQuCj4gPiA+ID4gCj4gPiA+ID4gCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgSW4gdGhpcyBzZXJpZXMsIHdlIGltcGxlbWVudAo+ID4gPiA+IGEK PiA+ID4gPiBmdW5jdGlvbiBbM10gc2ltaWxhciB0bwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFtZGdw dV90dG1fYWNjZXNzX21lbW9yeSBmb3IKPiA+ID4gPiB0aGUKPiA+ID4gPiBUVE0gdmZ1bmMgYWNj ZXNzX21lbW9yeS4gV2hhdCBpcwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG1pc3NpbmcgaXMgbm9uLXZp c2libGUgQ1BVCj4gPiA+ID4gbWVtb3J5Cj4gPiA+ID4gYWNjZXNzLCBzaW1pbGFyIHRvCj4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAKPiA+ID4gPiBhbWRncHVfdHRtX2FjY2Vzc19tZW1vcnlfc2RtYS4KPiA+ ID4gPiBUaGlzIHdpbGwgYmUgYWRkcmVzc2VkIGluIGEgZm9sbG93LXVwIGFuZAo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIHdhcyBvbWl0dGVkIGluIHRoaXMgc2VyaWVzCj4gPiA+ID4gZ2l2ZW4KPiA+ID4g PiBpdHMgY29tcGxleGl0eS4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTbywgdGhpcyBs b29rcyBtb3JlIG9yIGxlc3MKPiA+ID4gPiBpZGVudGljYWwgdG8gQU1EJ3MgcHRyYWNlIGltcGxl bWVudGF0aW9uLAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGJ1dCBpbiBHUFUgYWRkcmVzcyBzcGFjZS4K PiA+ID4gPiBBZ2FpbiwKPiA+ID4gPiBJIGZhaWwgdG8gc2VlIHdoYXQgdGhlIHByb2JsZW0gaXMg aGVyZS4KPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXaGF0IGFtIEkgbWlzc2luZz8KPiA+ID4gPiAKPiA+ ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBUaGUgbWFpbiBxdWVzdGlvbiBpcyB3aHkgY2FuJ3QgeW91Cj4gPiA+ID4g dXNlCj4gPiA+ID4gdGhlIGV4aXN0aW5nIGludGVyZmFjZXMgZGlyZWN0bHk/Cj4gPiA+ID4gCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdl J3JlIG5vdCB3b3JraW5nIG9uIHRoZSBDUFUgYWRkcmVzcwo+ID4gPiA+IHNwYWNlCj4gPiA+ID4g b3IgQk9zLiBXZSdyZSB3b3JraW5nCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0cmljdGx5IG9uIHRoZSBHUFUgYWRkcmVzcyBzcGFjZSBh cwo+ID4gPiA+IHdvdWxkCj4gPiA+ID4gYmUgc2VlbiBieSBhbiBFVSB0aHJlYWQgaWYgaXQKPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWNj ZXNzZWQgYWRkcmVzcyBYLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIEFkZGl0aW9uYWwgdG8g dGhlIHBlZWsvcG9rZQo+ID4gPiA+IGludGVyZmFjZQo+ID4gPiA+IG9mIHB0cmFjZSBMaW51eCBo YXMgdGhlIHBpZGZkX2dldGZkCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3lzdGVtIGNhbGwsIHNlZQo+ID4gPiA+IGhlcmVo dHRwczovL21hbjcub3JnL2xpbnV4L21hbi1wYWdlcy9tYW4yL3BpZGZkX2dldGZkLjIuaHRtbC4K PiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBUaGUgcGlkZmRfZ2V0ZmQoKSBhbGxvd3MgdG8gZHVwKCkKPiA+ID4g PiB0aGUKPiA+ID4gPiByZW5kZXIgbm9kZSBmaWxlIGRlc2NyaXB0b3IgaW50byB5b3VyIGdkYgo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHByb2Nlc3MuIFRoYXQgaW4gdHVybiBnaXZlcyB5b3UKPiA+ID4gPiBhbGwgdGhlCj4g PiA+ID4gYWNjZXNzIHlvdSBuZWVkIGZyb20gZ2RiLCBpbmNsdWRpbmcKPiA+ID4gPiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBtYXBwaW5n IEJPcyBhbmQgY29tbWFuZCBzdWJtaXNzaW9uCj4gPiA+ID4gb24KPiA+ID4gPiBiZWhhbGYgb2Yg dGhlIGFwcGxpY2F0aW9uLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXZSdyZSBub3Qgb3BlcmF0aW5nIG9uIHRoZSBDUFUg YWRkcmVzcwo+ID4gPiA+IHNwYWNlIG5vciBhcmUgd2Ugb3BlcmF0aW5nIG9uIEJPcwo+ID4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAodGhlcmUg aXMgbm8gY29uY2VwdCBvZiBCTyBpbiB0aGUgRVUKPiA+ID4gPiBkZWJ1Zwo+ID4gPiA+IGludGVy ZmFjZSkuIEVhY2ggVk1BIGluIHRoZSBWTQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb3VsZCBjb21lIGZyb20gYW55d2hlcmUsIG9ubHkg dGhlCj4gPiA+ID4gc3RhcnQKPiA+ID4gPiBhZGRyZXNzIGFuZCBzaXplIG1hdHRlci4gQW5kCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5l aXRoZXIgZG8gd2UgbmVlZCB0byBpbnRlcmZlcmUgd2l0aAo+ID4gPiA+IHRoZQo+ID4gPiA+IGNv bW1hbmQgc3VibWlzc2lvbiBvZiB0aGUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcHJvY2VzcyB1bmRlciBkZWJ1Zy4KPiA+ID4gPiAKPiA+ ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBBcyBmYXIgYXMgSSBjYW4gc2VlIHRoYXQgYWxsb3dzCj4gPiA+ID4gZm9y IHRoZQo+ID4gPiA+IHNhbWUgZnVuY3Rpb25hbGl0eSBhcyB0aGUgZXVkZWJ1Zwo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlu dGVyZmFjZSwganVzdCB3aXRob3V0IGFueSBkcml2ZXIKPiA+ID4gPiBzcGVjaWZpYyBjb2RlIG1l c3Npbmcgd2l0aCBwdHJhY2UKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJtaXNzaW9ucyBhbmQgcGVlay9wb2tlCj4gPiA+ ID4gaW50ZXJmYWNlcy4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBTbyB0aGUgcXVlc3Rpb24gaXMgc3RpbGwg d2h5IGRvCj4gPiA+ID4geW91Cj4gPiA+ID4gbmVlZCB0aGUgd2hvbGUgZXVkZWJ1ZyBpbnRlcmZh Y2UgaW4gdGhlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgZmlyc3QgcGxhY2U/IEkgbWlnaHQgYmUgbWlzc2luZwo+ID4gPiA+ IHNvbWV0aGluZywgYnV0IHRoYXQgc2VlbXMgdG8gYmUgc3VwZXJmbHVvdXMKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcm9t IGEgaGlnaCBsZXZlbCB2aWV3Lgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBSZWNhcHBpbmcgZnJvbSBhYm92ZS4gSXQgaXMg dG8gYWxsb3cKPiA+ID4gPiB0aGUKPiA+ID4gPiBkZWJ1Z2dpbmcgb2YgRVUgdGhyZWFkcyBwZXIg RFJNCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGNsaWVudCwgY29tcGxldGVseSBpbmRlcGVuZGVudCBvZiB0aGUKPiA+ID4gPiBDUFUKPiA+ ID4gPiBwcm9jZXNzLiBJZiBwdHJhY2VfbWF5X2FjY2VzCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlzIHRoZSBzb3JlIHBvaW50LCB3ZSBj b3VsZCBjb25zaWRlcgo+ID4gPiA+IG90aGVyCj4gPiA+ID4gcGVybWlzc2lvbiBjaGVja3MsIHRv by4gVGhlcmUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgaXMgbm8gb3RoZXIgY29ubmVjdGlvbiB0byBwdHJhY2UgaW4KPiA+ID4gPiB0aGlz Cj4gPiA+ID4gYXJjaGl0ZWN0dXJlIGFzIHNpbmdsZQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwZXJtaXNzaW9uIGNoZWNrIHRvIGtub3cg aWYgUElEIGlzCj4gPiA+ID4gZmFpcgo+ID4gPiA+IGdhbWUgdG8gYWNjZXNzIGJ5IGRlYnVnZ2Vy Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IHByb2Nlc3MuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFdoeSBubyBwYXJhc2l0aWMgdGhyZWFkIG9yIHB0cmFjZToKPiA+ ID4gPiBHb2luZwo+ID4gPiA+IGZvcndhcmQsIGJpbmRpbmcgdGhlIEVVIGRlYnVnZ2luZyB0bwo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0 aGUgRFJNIGNsaWVudCB3b3VsZCBhbHNvIHBhdmUgd2F5IGZvcgo+ID4gPiA+IGJlaW5nIGFibGUg dG8gZXh0ZW5kIGNvcmUga2VybmVsIGdlbmVyYXRlZAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb3JlIGR1bXAgd2l0aCBlYWNoIERSTSBj bGllbnQncyBFVQo+ID4gPiA+IHRocmVhZC9tZW1vcnkgZHVtcC4gV2UgaGF2ZSBzaW1pbGFyCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZl YXR1cmUgY2FsbGVkICJPZmZsaW5lIGNvcmUgZHVtcCIKPiA+ID4gPiBlbmFibGVkCj4gPiA+ID4g aW4gdGhlIGRvd25zdHJlYW0gcHVibGljCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRyZWVzIGZvciBpOTE1LCB3aGVyZSB3ZSBjdXJyZW50 bHkKPiA+ID4gPiBhdHRhY2gKPiA+ID4gPiB0aGUgRVUgdGhyZWFkIGR1bXAgdG8gaTkxNSBlcnJv ciBzdGF0ZQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoCBhbmQgdGhlbiBsYXRlciBjb21iaW5lIGk5MTUgZXJyb3IKPiA+ID4gPiBzdGF0ZQo+ ID4gPiA+IHdpdGggQ1BVIGNvcmUgZHVtcCBmaWxlIHdpdGggYQo+ID4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0b29sLgo+ID4gPiA+IAo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBUaGlz IGlzIHJlbGF0aXZlbHkgbGl0dGxlIGFtb3VudCBvZgo+ID4gPiA+IGV4dHJhCj4gPiA+ID4gY29k ZSwgYXMgdGhpcyBiYXNlbGluZSBzZXJpZXMKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYWxyZWFkeSBpbnRyb2R1Y2VzIEdEQiB0aGUgYWJp bGl0eSB0bwo+ID4gPiA+IHBlcmZvcm0gdGhlIG5lY2Vzc2FyeSBhY3Rpb25zLgo+ID4gPiA+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJdCdzIGp1c3Qg dGhlIG1hdHRlciBvZiBrZXJuZWwgZHJpdmVyCj4gPiA+ID4gY2FsbGluZzogInN0b3AgYWxsIHRo cmVhZHMiLCB0aGVuCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGNvcHlpbmcgdGhlIG1lbW9yeSBtYXAgYW5kIG1lbW9yeQo+ID4gPiA+IGNv bnRlbnRzCj4gPiA+ID4gZm9yIEdQVSB0aHJlYWRzLCBqdXN0IGxpa2UgaXMKPiA+ID4gPiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZG9uZSBmb3IgQ1BV IHRocmVhZHMuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIFdpdGggcGFyYXNpdGljIHRocmVhZCBpbmplY3Rpb24sIG5vdAo+ ID4gPiA+IHN1cmUKPiA+ID4gPiBpZiB0aGVyZSBpcyBzdWNoIHdheSBmb3J3YXJkLAo+ID4gPiA+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhcyBpdCB3 b3VsZCBzZWVtIHRvIHJlcXVpcmUgdG8gaW5qZWN0Cj4gPiA+ID4gcXVpdGUKPiA+ID4gPiBhYml0 IG1vcmUgbG9naWMgdG8gY29yZSBrZXJuZWw/Cj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgSXQn cyB0cnVlIHRoYXQgdGhlIEFNRCBLRkQgcGFydAo+ID4gPiA+IGhhcwo+ID4gPiA+IHN0aWxsIHNp bWlsYXIgZnVuY3Rpb25hbGl0eSwgYnV0IHRoYXQgaXMKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBiZWNhdXNlIG9mIHRoZSBi cm9rZW4gS0ZEIGRlc2lnbgo+ID4gPiA+IG9mCj4gPiA+ID4gdHlpbmcgZHJpdmVyIHN0YXRlIHRv IHRoZSBDUFUgcHJvY2Vzcwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICh3aGljaCBtYWtlcyBpdCBpbmFjY2Vzc2libGUgZm9y Cj4gPiA+ID4gZ2RiCj4gPiA+ID4gZXZlbiB3aXRoIGltcG9ydGVkIHJlbmRlciBub2RlIGZkKS4K PiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBCb3RoIFNpbWEgYW5kIEkgKGFuZCBwYXJ0aWFsbHkKPiA+ID4gPiBE YXZlIGFzCj4gPiA+ID4gd2VsbCkgaGF2ZSBwdXNoZWQgYmFjayBvbiB0aGUgS0ZECj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg YXBwcm9hY2guIEFuZCB0aGUgbG9uZyB0ZXJtIHBsYW4KPiA+ID4gPiBpcyB0bwo+ID4gPiA+IGdl dCByaWQgb2Ygc3VjaCBkZXZpY2UgZHJpdmVyIHNwZWNpZmljCj4gPiA+ID4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50ZXJmYWNlIHdo aWNoIHJlLWltcGxlbWVudAo+ID4gPiA+IGV4aXN0aW5nCj4gPiA+ID4gZnVuY3Rpb25hbGl0eSBq dXN0IGRpZmZlcmVudGx5Lgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBSZWNhcHBpbmcsIHRoaXMgc2VyaWVzIGlzIG5vdCBh ZGRpbmcKPiA+ID4gPiBpdAo+ID4gPiA+IGJhY2suIFRoZSBkZWJ1Z2dlciBjb25uZWN0aW9uCj4g PiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlz IGEgc2VwYXJhdGUgRkQgZnJvbSB0aGUgRFJNIG9uZSwKPiA+ID4gPiB3aXRoCj4gPiA+ID4gc2Vw YXJhdGUgSU9DVEwgc2V0LiBXZSBkb24ndCBhbGxvdwo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aGUgRFJNIEZEIGFueSBuZXcgb3BlcmF0 aW9ucyBiYXNlZCBvbgo+ID4gPiA+IHB0cmFjZSBpcyBhdHRhY2hlZCBvciBub3QuIFdlCj4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRvbid0 IGV2ZXIgZG8gdGhhdCBjaGVjayBldmVuLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXZSBvbmx5IHJlc3RyaWN0IHRoZSBv cGVuaW5nIG9mIHRoZQo+ID4gPiA+IGRlYnVnZ2VyIGNvbm5lY3Rpb24gdG8gZ2l2ZW4gUElEIHdp dGgKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgcHRyYWNlX21heV9hY2Nlc3MgY2hlY2sgZm9yIG5vdy4gVGhhdAo+ID4gPiA+IGNhbgo+ID4g PiA+IGJlIGNoYW5nZWQgdG8gc29tZXRoaW5nIGVsc2UsCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGlmIG5lY2Vzc2FyeS4KPiA+ID4gPiAK PiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFllYWggSSB0 aGluayB1bm5lY2Vzc2FyaWx5IHR5aW5nIGdwdQo+ID4gPiA+IHByb2Nlc3Nlcwo+ID4gPiA+IHRv IGNwdSBwcm9jZXNzZXMgaXMgYSBiYWQKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHRoaW5nLCBsZWFzdCBiZWNhdXNlIGV2ZW4gdG9kYXkgYWxsIHRoZQo+ ID4gPiA+IHN2bQo+ID4gPiA+IGRpc2N1c3Npb25zIHdlIGhhdmUgc3RpbGwgaGl0Cj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjbGVhciB1c2UtY2FzZXMs IHdoZXJlIGEgMToxIG1hdGNoIGlzIG5vdAo+ID4gPiA+IHdhbnRlZCAobGlrZSBtdWx0aXBsZSBn cHUgc3ZtCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBz ZWN0aW9ucyB3aXRoIG9mZnNldHMpLiBOb3QgZXZlbiBzcGVha2luZwo+ID4gPiA+IG9mCj4gPiA+ ID4gYWxsIHRoZSBncHUgdXNlY2FzZXMgd2hlcmUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIHRoZSBncHUgdm0gc3BhY2UgaXMgc3RpbGwgZW50aXJlbHkK PiA+ID4gPiBpbmRlcGVuZGVudAo+ID4gPiA+IG9mIHRoZSBjcHUgc2lkZS4KPiA+ID4gPiAKPiA+ ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvIHRoYXQncyB3 aHkgSSB0aGluayB0aGlzIGVudGlyZWx5Cj4gPiA+ID4gc2VwYXJhdGUKPiA+ID4gPiBhcHByb2Fj aCBsb29rcyBsaWtlIHRoZSByaWdodAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgb25lLCB3aXRoIHB0cmFjZV9tYXlfYWNjZXNzIGFzIHRoZSBhY2Nlc3MK PiA+ID4gPiBjb250cm9sIGNoZWNrIHRvIG1ha2Ugc3VyZSB3ZQo+ID4gPiA+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbWF0Y2ggcHRyYWNlIG9uIHRoZSBjcHUgc2lk ZS4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIEJ1dCB0aGVyZSdzIHZlcnkgb2J2aW91c2x5IGEgYmlrZXNoZWQgdG8KPiA+ID4gPiBiZSBo YWQKPiA+ID4gPiBvbiB3aGF0IHRoZSBhY3R1YWwgdWFwaQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc2hvdWxkIGxvb2sgbGlrZSwgZXNwZWNpYWxseSBo b3cgZ2RiIG9wZW5zCj4gPiA+ID4gdXAgYQo+ID4gPiA+IGdwdSBkZWJ1ZyBhY2Nlc3MgZmQuIEJ1 dCBJCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBhbHNv IHRoaW5rIHRoYXQncyBub3QgbXVjaCBvbiBkcm0gdG8KPiA+ID4gPiBkZWNpZGUsCj4gPiA+ID4g YnV0IHdoYXRldmVyIGdkYiB3YW50cy4gQW5kCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCB0aGVuIHdlIGFpbSBmb3Igc29tZSBjb25zaXN0ZW5jeSBvbiB0 aGF0Cj4gPiA+ID4gbG9va3VwL2FjY2VzcyBjb250cm9sIHBhcnQKPiA+ID4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChpZGVhbGx5LCBJIG1pZ2h0IGJlIG1pc3Np bmcgc29tZSByZWFzb25zCj4gPiA+ID4gd2h5Cj4gPiA+ID4gdGhpcyBpcyBhIGJhZCBpZGVhKSBh Y3Jvc3MKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGRy bSBkcml2ZXJzLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvIHlvdSBuZWVkIHRvIGhhdmUg YSByZWFsbHkKPiA+ID4gPiByZWFsbHkKPiA+ID4gPiBnb29kIGV4cGxhbmF0aW9uIHdoeSB0aGUg ZXVkZWJ1ZyBpbnRlcmZhY2UKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpcyBhY3R1YWxseSBuZWNlc3NhcnkuCj4gPiA+ID4g Cj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IFRMO0RSIFRoZSBtYWluIHBvaW50IGlzIHRvIGRlY291cGxlCj4gPiA+ID4gdGhlCj4gPiA+ID4g ZGVidWdnaW5nIG9mIHRoZSBFVSB3b3JrbG9hZHMgZnJvbSB0aGUKPiA+ID4gPiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZGVidWdnaW5nIG9mIHRoZSBD UFUgcHJvY2Vzcy4gVGhpcwo+ID4gPiA+IGF2b2lkcwo+ID4gPiA+IHRoZSBpbnRlcmZlcmVuY2Ug d2l0aCB0aGUgQ1BVIHByb2Nlc3Mgd2l0aAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBwYXJhc2l0aWMgdGhyZWFkIGluamVjdGlvbi4gRnVy dGhlcgo+ID4gPiA+IHRoaXMKPiA+ID4gPiBhbHNvIGFsbG93cyBnZW5lcmF0aW5nIGEgY29yZSBk dW1wCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIHdpdGhvdXQgYW55IEdEQiBjb25uZWN0ZWQuIFRoZXJlIGFyZQo+ID4gPiA+IGFsc28KPiA+ ID4gPiBtYW55IG90aGVyIHNtYWxsZXIgcHJvcy9jb25zCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHdoaWNoIGNhbiBiZSBkaXNjdXNzZWQg YnV0IGZvciB0aGUKPiA+ID4gPiBjb250ZXh0Cj4gPiA+ID4gb2YgdGhpcyBwYXRjaCwgdGhpcyBp cyB0aGUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgbWFpbiBvbmUuCj4gPiA+ID4gCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNvIHVubGlrZSBwYXJhc2l0aWMgdGhyZWFkIGluamVj dGlvbiwKPiA+ID4gPiB3ZQo+ID4gPiA+IGRvbid0IHVubG9jayBhbnkgc3BlY2lhbCBJT0NUTCBm b3IKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgdGhlIHByb2Nlc3MgdW5kZXIgZGVidWcgdG8gYmUKPiA+ID4gPiBwZXJmb3JtZWQgYnkKPiA+ ID4gPiB0aGUgcGFyYXNpdGljIHRocmVhZCwgYnV0IHdlCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFsbG93IHRoZSBtaW5pbWFsIHNldCBv ZiBvcGVyYXRpb25zIHRvCj4gPiA+ID4gYmUKPiA+ID4gPiBwZXJmb3JtZWQgYnkgR0RCIGFzIGlm IHRob3NlIHdlcmUKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgZG9uZSBvbiB0aGUgRVVzIHRoZW1zZWx2ZXMuCj4gPiA+ID4gCj4gPiA+ID4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE9uZSBjYW4g dGhpbmsgb2YgaXQgbGlrZSB0aGUgbWluaW1hbAo+ID4gPiA+IHN1YnNldAo+ID4gPiA+IG9mIHB0 cmFjZSBidXQgZm9yIEVVIHRocmVhZHMsCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIG5vdCB0aGUgQ1BVIHRocmVhZHMuIEFuZCB0aHVzLAo+ ID4gPiA+IGJ1aWxkaW5nIG9uCj4gPiA+ID4gdGhpcyBpdCdzIHBvc3NpYmxlIHRvIGV4dGVuZAo+ ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0 aGUgY29yZSBrZXJuZWwgZ2VuZXJhdGVkIGNvcmUgZHVtcHMKPiA+ID4gPiB3aXRoCj4gPiA+ID4g RFJNIHNwZWNpZmljIGV4dGVuc2lvbiB3aGljaAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB3b3VsZCBjb250YWluIHRoZSBFVSB0aHJlYWQv bWVtb3J5Cj4gPiA+ID4gZHVtcC4KPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIEl0IG1pZ2h0IGJlIGdvb2QgdG8gZG9jdW1lbnQgKGluIHRo YXQKPiA+ID4gPiBkZWJ1Z2dpbmcKPiA+ID4gPiBkb2MgcGF0Y2ggcHJvYmFibHkpIHdoeQo+ID4g PiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgdGhyZWFkIGluamVj dGlvbiBpcyBub3QgYSBncmVhdCBvcHRpb24sCj4gPiA+ID4gYW5kIHdoeQo+ID4gPiA+IHRoZSB0 cmFkZW9mZnMgZm9yCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBkZWJ1Z2dpbmcgYXJlIGRpZmZlcmVudCB0aGFuIGZvciBmb3IKPiA+ID4gPiBjaGVja3Bv aW50L3Jlc3RvcmUsIHdoZXJlIHdpdGggQ1JJVQo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgd2UgbGFuZGVkIG9uIGRvaW5nIG1vc3Qgb2YgdGhpcyBpbgo+ ID4gPiA+IHVzZXJzcGFjZSwKPiA+ID4gPiBhbmQgb2Z0ZW4gcmVxdWlyaW5nCj4gPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpbmplY3Rpb24gdGhyZWFkcyB0 byBtYWtlIGl0IGFsbCB3b3JrLgo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hlZXJzLCBTaW1hCj4gPiA+ID4gCj4gPiA+ID4gCj4gPiA+ ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJlZ2Fy ZHMsIEpvb25hcwo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFJlZ2FyZHMsCj4gPiA+ID4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgQ2hy aXN0aWFuLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIE1h dHQKPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgCj4gPiA+ID4gWzNdCj4gPiA+ID4gaHR0cHM6 Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzYyMjUyMC8/c2VyaWVzPTE0MDIwMCZy Cj4gPiA+ID4gZQo+ID4gPiA+IHY9Ngo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgUmVnYXJkcywKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIENocmlzdGlh bi4KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg TWF0dAo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIFJlZ2FyZHMsCj4gPiA+ID4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgQ2hyaXN0aWFuLgo+ID4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IAo+IAoK