Return-Path: Delivered-To: apmail-incubator-general-archive@www.apache.org Received: (qmail 64521 invoked from network); 8 Jan 2011 11:06:11 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 8 Jan 2011 11:06:11 -0000 Received: (qmail 94544 invoked by uid 500); 8 Jan 2011 11:06:09 -0000 Delivered-To: apmail-incubator-general-archive@incubator.apache.org Received: (qmail 94360 invoked by uid 500); 8 Jan 2011 11:06:09 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 94077 invoked by uid 99); 8 Jan 2011 11:06:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Jan 2011 11:06:08 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=10.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of daddywri@gmail.com designates 209.85.216.47 as permitted sender) Received: from [209.85.216.47] (HELO mail-qw0-f47.google.com) (209.85.216.47) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 08 Jan 2011 11:06:01 +0000 Received: by qwi2 with SMTP id 2so2647244qwi.6 for ; Sat, 08 Jan 2011 03:05:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=54SP+nWuctDBgZ98qYhHIhVeYXg4PpcnHawB07iEBY0=; b=TrTxEngpj06P6JKCdKdCKvjChPDvyiuz65RLCWY8mHFIeB8rrWq62dFmftwCzAO/AP Mo/SsuxzU3dhPSl7AGUJEd4UdF+pAEEhNnF3gLYBfc8fJeteUYCIwMesClFmyVKp7OOz +rJKFTulEZFTCiUIxYqoFTsfgccjyE+H4NQOw= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=E37+e6Zs/G6WqyPC0dGcFrN23wXxaUwkAKTN+S1LlshoAVLhlYAlon7EnFfQ9eH36y 7w1Hz03pWOVAma0Qf9e6GUVAT2mePw+hliFWdVrtiMFOeODyCVRedCTpWaEH7NCD4k5c DLO9Fy9q5DQ9VVUQbdPFUgejccYv007rEPwXk= MIME-Version: 1.0 Received: by 10.229.100.20 with SMTP id w20mr23507000qcn.50.1294484740168; Sat, 08 Jan 2011 03:05:40 -0800 (PST) Received: by 10.229.26.78 with HTTP; Sat, 8 Jan 2011 03:05:40 -0800 (PST) In-Reply-To: References: <20110107082919.GA32142@igg.local> <784814.90857.qm@web27808.mail.ukl.yahoo.com> Date: Sat, 8 Jan 2011 06:05:40 -0500 Message-ID: Subject: Re: [VOTE] Release Apache ManifoldCF 0.1 From: Karl Wright To: general@incubator.apache.org, antelder@apache.org Content-Type: multipart/mixed; boundary=0016364ed5de1ade1a049953b78a X-Virus-Checked: Checked by ClamAV on apache.org --0016364ed5de1ade1a049953b78a Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Rather than spin a whole new RC and upload it, which takes me two hours, I've attached the revised proposed NOTICE and LICENSE here, so people can comment directly. Karl On Sat, Jan 8, 2011 at 5:51 AM, Karl Wright wrote: > The current NOTICE file has exactly what you specify, plus a preamble > describing components and their licenses. =A0I will remove the preamble > - it was based on the Solr/Lucene NOTICE which I was told to use as an > example. > > The LICENSE file, on the other hand, should currently have everything > that's in the NOTICE file in expanded form. =A0If you think I should > move the preamble to the LICENSE file as well, this would be the time > to indicate that. =A0Otherwise, the preamble will just be deleted. > > Karl > > > On Sat, Jan 8, 2011 at 5:06 AM, ant elder wrote: >> On Fri, Jan 7, 2011 at 11:13 AM, Karl Wright wrote: >> >>> - I have made no changes to NOTICE and LICENSE, because the incubator >>> and community advice seemed contradictory. =A0I would like a general >>> sense of how many people feel that the current NOTICE and LICENSE >>> files are unacceptable before I make changes. >> >> The NOTICE file is still incorrect and includes a lot of unnecessary >> stuff. Understanding how to do releases with the correct legal files >> is one of the important parts of incubation and as this is the first >> release for the poddling i think this needs to be sorted out. >> >> For the NOTICE file, start with the following text (between the ---'s): >> >> --- >> Apache ManifestCF >> Copyright 2010 The Apache Software Foundation >> >> This product includes software developed by >> The Apache Software Foundation (http://www.apache.org/). >> --- >> >> and then add _nothing_ unless you can find explicit policy documented >> somewhere in the ASF that says it is required. If someone wants to add >> something ask for the URL where the requirement is documented. The >> NOTICE file should only include required notices, the other text thats >> in the current NOTICE file could go in a README file, see >> http://www.apache.org/legal/src-headers.html#notice >> >> For the LICENSE file, it should start with the AL as the current one >> does, and then include the text for all the other licenses used in the >> distribution. Those license that are currently in the NOTICE file >> should be moved to the LICENSE file and then you need to verify that >> all the 3rd party dependencies in the src and binary distributions are >> also in the LICENSE files of those distributions. >> >> =A0 ...ant >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org >> For additional commands, e-mail: general-help@incubator.apache.org >> >> > --0016364ed5de1ade1a049953b78a Content-Type: text/plain; charset=US-ASCII; name="LICENSE.txt" Content-Disposition: attachment; filename="LICENSE.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gioertiu0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXBhY2hlIExpY2Vuc2UNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4wLCBKYW51YXJ5IDIwMDQNCiAgICAgICAgICAg ICAgICAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy8NCg0KICAgVEVSTVMg QU5EIENPTkRJVElPTlMgRk9SIFVTRSwgUkVQUk9EVUNUSU9OLCBBTkQgRElTVFJJQlVUSU9ODQoN CiAgIDEuIERlZmluaXRpb25zLg0KDQogICAgICAiTGljZW5zZSIgc2hhbGwgbWVhbiB0aGUgdGVy bXMgYW5kIGNvbmRpdGlvbnMgZm9yIHVzZSwgcmVwcm9kdWN0aW9uLA0KICAgICAgYW5kIGRpc3Ry aWJ1dGlvbiBhcyBkZWZpbmVkIGJ5IFNlY3Rpb25zIDEgdGhyb3VnaCA5IG9mIHRoaXMgZG9jdW1l bnQuDQoNCiAgICAgICJMaWNlbnNvciIgc2hhbGwgbWVhbiB0aGUgY29weXJpZ2h0IG93bmVyIG9y IGVudGl0eSBhdXRob3JpemVkIGJ5DQogICAgICB0aGUgY29weXJpZ2h0IG93bmVyIHRoYXQgaXMg Z3JhbnRpbmcgdGhlIExpY2Vuc2UuDQoNCiAgICAgICJMZWdhbCBFbnRpdHkiIHNoYWxsIG1lYW4g dGhlIHVuaW9uIG9mIHRoZSBhY3RpbmcgZW50aXR5IGFuZCBhbGwNCiAgICAgIG90aGVyIGVudGl0 aWVzIHRoYXQgY29udHJvbCwgYXJlIGNvbnRyb2xsZWQgYnksIG9yIGFyZSB1bmRlciBjb21tb24N CiAgICAgIGNvbnRyb2wgd2l0aCB0aGF0IGVudGl0eS4gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlz IGRlZmluaXRpb24sDQogICAgICAiY29udHJvbCIgbWVhbnMgKGkpIHRoZSBwb3dlciwgZGlyZWN0 IG9yIGluZGlyZWN0LCB0byBjYXVzZSB0aGUNCiAgICAgIGRpcmVjdGlvbiBvciBtYW5hZ2VtZW50 IG9mIHN1Y2ggZW50aXR5LCB3aGV0aGVyIGJ5IGNvbnRyYWN0IG9yDQogICAgICBvdGhlcndpc2Us IG9yIChpaSkgb3duZXJzaGlwIG9mIGZpZnR5IHBlcmNlbnQgKDUwJSkgb3IgbW9yZSBvZiB0aGUN CiAgICAgIG91dHN0YW5kaW5nIHNoYXJlcywgb3IgKGlpaSkgYmVuZWZpY2lhbCBvd25lcnNoaXAg b2Ygc3VjaCBlbnRpdHkuDQoNCiAgICAgICJZb3UiIChvciAiWW91ciIpIHNoYWxsIG1lYW4gYW4g aW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkNCiAgICAgIGV4ZXJjaXNpbmcgcGVybWlzc2lvbnMg Z3JhbnRlZCBieSB0aGlzIExpY2Vuc2UuDQoNCiAgICAgICJTb3VyY2UiIGZvcm0gc2hhbGwgbWVh biB0aGUgcHJlZmVycmVkIGZvcm0gZm9yIG1ha2luZyBtb2RpZmljYXRpb25zLA0KICAgICAgaW5j bHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0byBzb2Z0d2FyZSBzb3VyY2UgY29kZSwgZG9jdW1lbnRh dGlvbg0KICAgICAgc291cmNlLCBhbmQgY29uZmlndXJhdGlvbiBmaWxlcy4NCg0KICAgICAgIk9i amVjdCIgZm9ybSBzaGFsbCBtZWFuIGFueSBmb3JtIHJlc3VsdGluZyBmcm9tIG1lY2hhbmljYWwN CiAgICAgIHRyYW5zZm9ybWF0aW9uIG9yIHRyYW5zbGF0aW9uIG9mIGEgU291cmNlIGZvcm0sIGlu Y2x1ZGluZyBidXQNCiAgICAgIG5vdCBsaW1pdGVkIHRvIGNvbXBpbGVkIG9iamVjdCBjb2RlLCBn ZW5lcmF0ZWQgZG9jdW1lbnRhdGlvbiwNCiAgICAgIGFuZCBjb252ZXJzaW9ucyB0byBvdGhlciBt ZWRpYSB0eXBlcy4NCg0KICAgICAgIldvcmsiIHNoYWxsIG1lYW4gdGhlIHdvcmsgb2YgYXV0aG9y c2hpcCwgd2hldGhlciBpbiBTb3VyY2Ugb3INCiAgICAgIE9iamVjdCBmb3JtLCBtYWRlIGF2YWls YWJsZSB1bmRlciB0aGUgTGljZW5zZSwgYXMgaW5kaWNhdGVkIGJ5IGENCiAgICAgIGNvcHlyaWdo dCBub3RpY2UgdGhhdCBpcyBpbmNsdWRlZCBpbiBvciBhdHRhY2hlZCB0byB0aGUgd29yaw0KICAg ICAgKGFuIGV4YW1wbGUgaXMgcHJvdmlkZWQgaW4gdGhlIEFwcGVuZGl4IGJlbG93KS4NCg0KICAg ICAgIkRlcml2YXRpdmUgV29ya3MiIHNoYWxsIG1lYW4gYW55IHdvcmssIHdoZXRoZXIgaW4gU291 cmNlIG9yIE9iamVjdA0KICAgICAgZm9ybSwgdGhhdCBpcyBiYXNlZCBvbiAob3IgZGVyaXZlZCBm cm9tKSB0aGUgV29yayBhbmQgZm9yIHdoaWNoIHRoZQ0KICAgICAgZWRpdG9yaWFsIHJldmlzaW9u cywgYW5ub3RhdGlvbnMsIGVsYWJvcmF0aW9ucywgb3Igb3RoZXIgbW9kaWZpY2F0aW9ucw0KICAg ICAgcmVwcmVzZW50LCBhcyBhIHdob2xlLCBhbiBvcmlnaW5hbCB3b3JrIG9mIGF1dGhvcnNoaXAu IEZvciB0aGUgcHVycG9zZXMNCiAgICAgIG9mIHRoaXMgTGljZW5zZSwgRGVyaXZhdGl2ZSBXb3Jr cyBzaGFsbCBub3QgaW5jbHVkZSB3b3JrcyB0aGF0IHJlbWFpbg0KICAgICAgc2VwYXJhYmxlIGZy b20sIG9yIG1lcmVseSBsaW5rIChvciBiaW5kIGJ5IG5hbWUpIHRvIHRoZSBpbnRlcmZhY2VzIG9m LA0KICAgICAgdGhlIFdvcmsgYW5kIERlcml2YXRpdmUgV29ya3MgdGhlcmVvZi4NCg0KICAgICAg IkNvbnRyaWJ1dGlvbiIgc2hhbGwgbWVhbiBhbnkgd29yayBvZiBhdXRob3JzaGlwLCBpbmNsdWRp bmcNCiAgICAgIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIG9mIHRoZSBXb3JrIGFuZCBhbnkgbW9kaWZp Y2F0aW9ucyBvciBhZGRpdGlvbnMNCiAgICAgIHRvIHRoYXQgV29yayBvciBEZXJpdmF0aXZlIFdv cmtzIHRoZXJlb2YsIHRoYXQgaXMgaW50ZW50aW9uYWxseQ0KICAgICAgc3VibWl0dGVkIHRvIExp Y2Vuc29yIGZvciBpbmNsdXNpb24gaW4gdGhlIFdvcmsgYnkgdGhlIGNvcHlyaWdodCBvd25lcg0K ICAgICAgb3IgYnkgYW4gaW5kaXZpZHVhbCBvciBMZWdhbCBFbnRpdHkgYXV0aG9yaXplZCB0byBz dWJtaXQgb24gYmVoYWxmIG9mDQogICAgICB0aGUgY29weXJpZ2h0IG93bmVyLiBGb3IgdGhlIHB1 cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgInN1Ym1pdHRlZCINCiAgICAgIG1lYW5zIGFueSBm b3JtIG9mIGVsZWN0cm9uaWMsIHZlcmJhbCwgb3Igd3JpdHRlbiBjb21tdW5pY2F0aW9uIHNlbnQN CiAgICAgIHRvIHRoZSBMaWNlbnNvciBvciBpdHMgcmVwcmVzZW50YXRpdmVzLCBpbmNsdWRpbmcg YnV0IG5vdCBsaW1pdGVkIHRvDQogICAgICBjb21tdW5pY2F0aW9uIG9uIGVsZWN0cm9uaWMgbWFp bGluZyBsaXN0cywgc291cmNlIGNvZGUgY29udHJvbCBzeXN0ZW1zLA0KICAgICAgYW5kIGlzc3Vl IHRyYWNraW5nIHN5c3RlbXMgdGhhdCBhcmUgbWFuYWdlZCBieSwgb3Igb24gYmVoYWxmIG9mLCB0 aGUNCiAgICAgIExpY2Vuc29yIGZvciB0aGUgcHVycG9zZSBvZiBkaXNjdXNzaW5nIGFuZCBpbXBy b3ZpbmcgdGhlIFdvcmssIGJ1dA0KICAgICAgZXhjbHVkaW5nIGNvbW11bmljYXRpb24gdGhhdCBp cyBjb25zcGljdW91c2x5IG1hcmtlZCBvciBvdGhlcndpc2UNCiAgICAgIGRlc2lnbmF0ZWQgaW4g d3JpdGluZyBieSB0aGUgY29weXJpZ2h0IG93bmVyIGFzICJOb3QgYSBDb250cmlidXRpb24uIg0K DQogICAgICAiQ29udHJpYnV0b3IiIHNoYWxsIG1lYW4gTGljZW5zb3IgYW5kIGFueSBpbmRpdmlk dWFsIG9yIExlZ2FsIEVudGl0eQ0KICAgICAgb24gYmVoYWxmIG9mIHdob20gYSBDb250cmlidXRp b24gaGFzIGJlZW4gcmVjZWl2ZWQgYnkgTGljZW5zb3IgYW5kDQogICAgICBzdWJzZXF1ZW50bHkg aW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yay4NCg0KICAgMi4gR3JhbnQgb2YgQ29weXJpZ2h0 IExpY2Vuc2UuIFN1YmplY3QgdG8gdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIG9mDQogICAgICB0 aGlzIExpY2Vuc2UsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50cyB0byBZb3UgYSBwZXJw ZXR1YWwsDQogICAgICB3b3JsZHdpZGUsIG5vbi1leGNsdXNpdmUsIG5vLWNoYXJnZSwgcm95YWx0 eS1mcmVlLCBpcnJldm9jYWJsZQ0KICAgICAgY29weXJpZ2h0IGxpY2Vuc2UgdG8gcmVwcm9kdWNl LCBwcmVwYXJlIERlcml2YXRpdmUgV29ya3Mgb2YsDQogICAgICBwdWJsaWNseSBkaXNwbGF5LCBw dWJsaWNseSBwZXJmb3JtLCBzdWJsaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSB0aGUNCiAgICAgIFdv cmsgYW5kIHN1Y2ggRGVyaXZhdGl2ZSBXb3JrcyBpbiBTb3VyY2Ugb3IgT2JqZWN0IGZvcm0uDQoN CiAgIDMuIEdyYW50IG9mIFBhdGVudCBMaWNlbnNlLiBTdWJqZWN0IHRvIHRoZSB0ZXJtcyBhbmQg Y29uZGl0aW9ucyBvZg0KICAgICAgdGhpcyBMaWNlbnNlLCBlYWNoIENvbnRyaWJ1dG9yIGhlcmVi eSBncmFudHMgdG8gWW91IGEgcGVycGV0dWFsLA0KICAgICAgd29ybGR3aWRlLCBub24tZXhjbHVz aXZlLCBuby1jaGFyZ2UsIHJveWFsdHktZnJlZSwgaXJyZXZvY2FibGUNCiAgICAgIChleGNlcHQg YXMgc3RhdGVkIGluIHRoaXMgc2VjdGlvbikgcGF0ZW50IGxpY2Vuc2UgdG8gbWFrZSwgaGF2ZSBt YWRlLA0KICAgICAgdXNlLCBvZmZlciB0byBzZWxsLCBzZWxsLCBpbXBvcnQsIGFuZCBvdGhlcndp c2UgdHJhbnNmZXIgdGhlIFdvcmssDQogICAgICB3aGVyZSBzdWNoIGxpY2Vuc2UgYXBwbGllcyBv bmx5IHRvIHRob3NlIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZQ0KICAgICAgYnkgc3VjaCBDb250 cmlidXRvciB0aGF0IGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQgYnkgdGhlaXINCiAgICAgIENv bnRyaWJ1dGlvbihzKSBhbG9uZSBvciBieSBjb21iaW5hdGlvbiBvZiB0aGVpciBDb250cmlidXRp b24ocykNCiAgICAgIHdpdGggdGhlIFdvcmsgdG8gd2hpY2ggc3VjaCBDb250cmlidXRpb24ocykg d2FzIHN1Ym1pdHRlZC4gSWYgWW91DQogICAgICBpbnN0aXR1dGUgcGF0ZW50IGxpdGlnYXRpb24g YWdhaW5zdCBhbnkgZW50aXR5IChpbmNsdWRpbmcgYQ0KICAgICAgY3Jvc3MtY2xhaW0gb3IgY291 bnRlcmNsYWltIGluIGEgbGF3c3VpdCkgYWxsZWdpbmcgdGhhdCB0aGUgV29yaw0KICAgICAgb3Ig YSBDb250cmlidXRpb24gaW5jb3Jwb3JhdGVkIHdpdGhpbiB0aGUgV29yayBjb25zdGl0dXRlcyBk aXJlY3QNCiAgICAgIG9yIGNvbnRyaWJ1dG9yeSBwYXRlbnQgaW5mcmluZ2VtZW50LCB0aGVuIGFu eSBwYXRlbnQgbGljZW5zZXMNCiAgICAgIGdyYW50ZWQgdG8gWW91IHVuZGVyIHRoaXMgTGljZW5z ZSBmb3IgdGhhdCBXb3JrIHNoYWxsIHRlcm1pbmF0ZQ0KICAgICAgYXMgb2YgdGhlIGRhdGUgc3Vj aCBsaXRpZ2F0aW9uIGlzIGZpbGVkLg0KDQogICA0LiBSZWRpc3RyaWJ1dGlvbi4gWW91IG1heSBy ZXByb2R1Y2UgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZQ0KICAgICAgV29yayBvciBEZXJp dmF0aXZlIFdvcmtzIHRoZXJlb2YgaW4gYW55IG1lZGl1bSwgd2l0aCBvciB3aXRob3V0DQogICAg ICBtb2RpZmljYXRpb25zLCBhbmQgaW4gU291cmNlIG9yIE9iamVjdCBmb3JtLCBwcm92aWRlZCB0 aGF0IFlvdQ0KICAgICAgbWVldCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6DQoNCiAgICAgIChh KSBZb3UgbXVzdCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBXb3JrIG9yDQogICAg ICAgICAgRGVyaXZhdGl2ZSBXb3JrcyBhIGNvcHkgb2YgdGhpcyBMaWNlbnNlOyBhbmQNCg0KICAg ICAgKGIpIFlvdSBtdXN0IGNhdXNlIGFueSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5l bnQgbm90aWNlcw0KICAgICAgICAgIHN0YXRpbmcgdGhhdCBZb3UgY2hhbmdlZCB0aGUgZmlsZXM7 IGFuZA0KDQogICAgICAoYykgWW91IG11c3QgcmV0YWluLCBpbiB0aGUgU291cmNlIGZvcm0gb2Yg YW55IERlcml2YXRpdmUgV29ya3MNCiAgICAgICAgICB0aGF0IFlvdSBkaXN0cmlidXRlLCBhbGwg Y29weXJpZ2h0LCBwYXRlbnQsIHRyYWRlbWFyaywgYW5kDQogICAgICAgICAgYXR0cmlidXRpb24g bm90aWNlcyBmcm9tIHRoZSBTb3VyY2UgZm9ybSBvZiB0aGUgV29yaywNCiAgICAgICAgICBleGNs dWRpbmcgdGhvc2Ugbm90aWNlcyB0aGF0IGRvIG5vdCBwZXJ0YWluIHRvIGFueSBwYXJ0IG9mDQog ICAgICAgICAgdGhlIERlcml2YXRpdmUgV29ya3M7IGFuZA0KDQogICAgICAoZCkgSWYgdGhlIFdv cmsgaW5jbHVkZXMgYSAiTk9USUNFIiB0ZXh0IGZpbGUgYXMgcGFydCBvZiBpdHMNCiAgICAgICAg ICBkaXN0cmlidXRpb24sIHRoZW4gYW55IERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJp YnV0ZSBtdXN0DQogICAgICAgICAgaW5jbHVkZSBhIHJlYWRhYmxlIGNvcHkgb2YgdGhlIGF0dHJp YnV0aW9uIG5vdGljZXMgY29udGFpbmVkDQogICAgICAgICAgd2l0aGluIHN1Y2ggTk9USUNFIGZp bGUsIGV4Y2x1ZGluZyB0aG9zZSBub3RpY2VzIHRoYXQgZG8gbm90DQogICAgICAgICAgcGVydGFp biB0byBhbnkgcGFydCBvZiB0aGUgRGVyaXZhdGl2ZSBXb3JrcywgaW4gYXQgbGVhc3Qgb25lDQog ICAgICAgICAgb2YgdGhlIGZvbGxvd2luZyBwbGFjZXM6IHdpdGhpbiBhIE5PVElDRSB0ZXh0IGZp bGUgZGlzdHJpYnV0ZWQNCiAgICAgICAgICBhcyBwYXJ0IG9mIHRoZSBEZXJpdmF0aXZlIFdvcmtz OyB3aXRoaW4gdGhlIFNvdXJjZSBmb3JtIG9yDQogICAgICAgICAgZG9jdW1lbnRhdGlvbiwgaWYg cHJvdmlkZWQgYWxvbmcgd2l0aCB0aGUgRGVyaXZhdGl2ZSBXb3Jrczsgb3IsDQogICAgICAgICAg d2l0aGluIGEgZGlzcGxheSBnZW5lcmF0ZWQgYnkgdGhlIERlcml2YXRpdmUgV29ya3MsIGlmIGFu ZA0KICAgICAgICAgIHdoZXJldmVyIHN1Y2ggdGhpcmQtcGFydHkgbm90aWNlcyBub3JtYWxseSBh cHBlYXIuIFRoZSBjb250ZW50cw0KICAgICAgICAgIG9mIHRoZSBOT1RJQ0UgZmlsZSBhcmUgZm9y IGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seSBhbmQNCiAgICAgICAgICBkbyBub3QgbW9kaWZ5 IHRoZSBMaWNlbnNlLiBZb3UgbWF5IGFkZCBZb3VyIG93biBhdHRyaWJ1dGlvbg0KICAgICAgICAg IG5vdGljZXMgd2l0aGluIERlcml2YXRpdmUgV29ya3MgdGhhdCBZb3UgZGlzdHJpYnV0ZSwgYWxv bmdzaWRlDQogICAgICAgICAgb3IgYXMgYW4gYWRkZW5kdW0gdG8gdGhlIE5PVElDRSB0ZXh0IGZy b20gdGhlIFdvcmssIHByb3ZpZGVkDQogICAgICAgICAgdGhhdCBzdWNoIGFkZGl0aW9uYWwgYXR0 cmlidXRpb24gbm90aWNlcyBjYW5ub3QgYmUgY29uc3RydWVkDQogICAgICAgICAgYXMgbW9kaWZ5 aW5nIHRoZSBMaWNlbnNlLg0KDQogICAgICBZb3UgbWF5IGFkZCBZb3VyIG93biBjb3B5cmlnaHQg c3RhdGVtZW50IHRvIFlvdXIgbW9kaWZpY2F0aW9ucyBhbmQNCiAgICAgIG1heSBwcm92aWRlIGFk ZGl0aW9uYWwgb3IgZGlmZmVyZW50IGxpY2Vuc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMNCiAgICAg IGZvciB1c2UsIHJlcHJvZHVjdGlvbiwgb3IgZGlzdHJpYnV0aW9uIG9mIFlvdXIgbW9kaWZpY2F0 aW9ucywgb3INCiAgICAgIGZvciBhbnkgc3VjaCBEZXJpdmF0aXZlIFdvcmtzIGFzIGEgd2hvbGUs IHByb3ZpZGVkIFlvdXIgdXNlLA0KICAgICAgcmVwcm9kdWN0aW9uLCBhbmQgZGlzdHJpYnV0aW9u IG9mIHRoZSBXb3JrIG90aGVyd2lzZSBjb21wbGllcyB3aXRoDQogICAgICB0aGUgY29uZGl0aW9u cyBzdGF0ZWQgaW4gdGhpcyBMaWNlbnNlLg0KDQogICA1LiBTdWJtaXNzaW9uIG9mIENvbnRyaWJ1 dGlvbnMuIFVubGVzcyBZb3UgZXhwbGljaXRseSBzdGF0ZSBvdGhlcndpc2UsDQogICAgICBhbnkg Q29udHJpYnV0aW9uIGludGVudGlvbmFsbHkgc3VibWl0dGVkIGZvciBpbmNsdXNpb24gaW4gdGhl IFdvcmsNCiAgICAgIGJ5IFlvdSB0byB0aGUgTGljZW5zb3Igc2hhbGwgYmUgdW5kZXIgdGhlIHRl cm1zIGFuZCBjb25kaXRpb25zIG9mDQogICAgICB0aGlzIExpY2Vuc2UsIHdpdGhvdXQgYW55IGFk ZGl0aW9uYWwgdGVybXMgb3IgY29uZGl0aW9ucy4NCiAgICAgIE5vdHdpdGhzdGFuZGluZyB0aGUg YWJvdmUsIG5vdGhpbmcgaGVyZWluIHNoYWxsIHN1cGVyc2VkZSBvciBtb2RpZnkNCiAgICAgIHRo ZSB0ZXJtcyBvZiBhbnkgc2VwYXJhdGUgbGljZW5zZSBhZ3JlZW1lbnQgeW91IG1heSBoYXZlIGV4 ZWN1dGVkDQogICAgICB3aXRoIExpY2Vuc29yIHJlZ2FyZGluZyBzdWNoIENvbnRyaWJ1dGlvbnMu DQoNCiAgIDYuIFRyYWRlbWFya3MuIFRoaXMgTGljZW5zZSBkb2VzIG5vdCBncmFudCBwZXJtaXNz aW9uIHRvIHVzZSB0aGUgdHJhZGUNCiAgICAgIG5hbWVzLCB0cmFkZW1hcmtzLCBzZXJ2aWNlIG1h cmtzLCBvciBwcm9kdWN0IG5hbWVzIG9mIHRoZSBMaWNlbnNvciwNCiAgICAgIGV4Y2VwdCBhcyBy ZXF1aXJlZCBmb3IgcmVhc29uYWJsZSBhbmQgY3VzdG9tYXJ5IHVzZSBpbiBkZXNjcmliaW5nIHRo ZQ0KICAgICAgb3JpZ2luIG9mIHRoZSBXb3JrIGFuZCByZXByb2R1Y2luZyB0aGUgY29udGVudCBv ZiB0aGUgTk9USUNFIGZpbGUuDQoNCiAgIDcuIERpc2NsYWltZXIgb2YgV2FycmFudHkuIFVubGVz cyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvcg0KICAgICAgYWdyZWVkIHRvIGluIHdyaXRp bmcsIExpY2Vuc29yIHByb3ZpZGVzIHRoZSBXb3JrIChhbmQgZWFjaA0KICAgICAgQ29udHJpYnV0 b3IgcHJvdmlkZXMgaXRzIENvbnRyaWJ1dGlvbnMpIG9uIGFuICJBUyBJUyIgQkFTSVMsDQogICAg ICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4 cHJlc3Mgb3INCiAgICAgIGltcGxpZWQsIGluY2x1ZGluZywgd2l0aG91dCBsaW1pdGF0aW9uLCBh bnkgd2FycmFudGllcyBvciBjb25kaXRpb25zDQogICAgICBvZiBUSVRMRSwgTk9OLUlORlJJTkdF TUVOVCwgTUVSQ0hBTlRBQklMSVRZLCBvciBGSVRORVNTIEZPUiBBDQogICAgICBQQVJUSUNVTEFS IFBVUlBPU0UuIFlvdSBhcmUgc29sZWx5IHJlc3BvbnNpYmxlIGZvciBkZXRlcm1pbmluZyB0aGUN CiAgICAgIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBvciByZWRpc3RyaWJ1dGluZyB0aGUgV29y ayBhbmQgYXNzdW1lIGFueQ0KICAgICAgcmlza3MgYXNzb2NpYXRlZCB3aXRoIFlvdXIgZXhlcmNp c2Ugb2YgcGVybWlzc2lvbnMgdW5kZXIgdGhpcyBMaWNlbnNlLg0KDQogICA4LiBMaW1pdGF0aW9u IG9mIExpYWJpbGl0eS4gSW4gbm8gZXZlbnQgYW5kIHVuZGVyIG5vIGxlZ2FsIHRoZW9yeSwNCiAg ICAgIHdoZXRoZXIgaW4gdG9ydCAoaW5jbHVkaW5nIG5lZ2xpZ2VuY2UpLCBjb250cmFjdCwgb3Ig b3RoZXJ3aXNlLA0KICAgICAgdW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IChzdWNo IGFzIGRlbGliZXJhdGUgYW5kIGdyb3NzbHkNCiAgICAgIG5lZ2xpZ2VudCBhY3RzKSBvciBhZ3Jl ZWQgdG8gaW4gd3JpdGluZywgc2hhbGwgYW55IENvbnRyaWJ1dG9yIGJlDQogICAgICBsaWFibGUg dG8gWW91IGZvciBkYW1hZ2VzLCBpbmNsdWRpbmcgYW55IGRpcmVjdCwgaW5kaXJlY3QsIHNwZWNp YWwsDQogICAgICBpbmNpZGVudGFsLCBvciBjb25zZXF1ZW50aWFsIGRhbWFnZXMgb2YgYW55IGNo YXJhY3RlciBhcmlzaW5nIGFzIGENCiAgICAgIHJlc3VsdCBvZiB0aGlzIExpY2Vuc2Ugb3Igb3V0 IG9mIHRoZSB1c2Ugb3IgaW5hYmlsaXR5IHRvIHVzZSB0aGUNCiAgICAgIFdvcmsgKGluY2x1ZGlu ZyBidXQgbm90IGxpbWl0ZWQgdG8gZGFtYWdlcyBmb3IgbG9zcyBvZiBnb29kd2lsbCwNCiAgICAg IHdvcmsgc3RvcHBhZ2UsIGNvbXB1dGVyIGZhaWx1cmUgb3IgbWFsZnVuY3Rpb24sIG9yIGFueSBh bmQgYWxsDQogICAgICBvdGhlciBjb21tZXJjaWFsIGRhbWFnZXMgb3IgbG9zc2VzKSwgZXZlbiBp ZiBzdWNoIENvbnRyaWJ1dG9yDQogICAgICBoYXMgYmVlbiBhZHZpc2VkIG9mIHRoZSBwb3NzaWJp bGl0eSBvZiBzdWNoIGRhbWFnZXMuDQoNCiAgIDkuIEFjY2VwdGluZyBXYXJyYW50eSBvciBBZGRp dGlvbmFsIExpYWJpbGl0eS4gV2hpbGUgcmVkaXN0cmlidXRpbmcNCiAgICAgIHRoZSBXb3JrIG9y IERlcml2YXRpdmUgV29ya3MgdGhlcmVvZiwgWW91IG1heSBjaG9vc2UgdG8gb2ZmZXIsDQogICAg ICBhbmQgY2hhcmdlIGEgZmVlIGZvciwgYWNjZXB0YW5jZSBvZiBzdXBwb3J0LCB3YXJyYW50eSwg aW5kZW1uaXR5LA0KICAgICAgb3Igb3RoZXIgbGlhYmlsaXR5IG9ibGlnYXRpb25zIGFuZC9vciBy aWdodHMgY29uc2lzdGVudCB3aXRoIHRoaXMNCiAgICAgIExpY2Vuc2UuIEhvd2V2ZXIsIGluIGFj Y2VwdGluZyBzdWNoIG9ibGlnYXRpb25zLCBZb3UgbWF5IGFjdCBvbmx5DQogICAgICBvbiBZb3Vy IG93biBiZWhhbGYgYW5kIG9uIFlvdXIgc29sZSByZXNwb25zaWJpbGl0eSwgbm90IG9uIGJlaGFs Zg0KICAgICAgb2YgYW55IG90aGVyIENvbnRyaWJ1dG9yLCBhbmQgb25seSBpZiBZb3UgYWdyZWUg dG8gaW5kZW1uaWZ5LA0KICAgICAgZGVmZW5kLCBhbmQgaG9sZCBlYWNoIENvbnRyaWJ1dG9yIGhh cm1sZXNzIGZvciBhbnkgbGlhYmlsaXR5DQogICAgICBpbmN1cnJlZCBieSwgb3IgY2xhaW1zIGFz c2VydGVkIGFnYWluc3QsIHN1Y2ggQ29udHJpYnV0b3IgYnkgcmVhc29uDQogICAgICBvZiB5b3Vy IGFjY2VwdGluZyBhbnkgc3VjaCB3YXJyYW50eSBvciBhZGRpdGlvbmFsIGxpYWJpbGl0eS4NCg0K ICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TDQoNCg0KSW5jbHVkZXMgc29mdHdhcmUgZnJv bSBvdGhlciBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiBwcm9qZWN0cywNCmluY2x1ZGluZywg YnV0IG5vdCBsaW1pdGVkIHRvOg0KICAtIEFwYWNoZSBUb21jYXQNCiAgLSBBcGFjaGUgQ29tbW9u cw0KICAtIEFwYWNoZSBHZXJvbmltbw0KICAtIEFwYWNoZSBMb2c0ag0KICAtIEFwYWNoZSBEZXJi eQ0KICAtIEFwYWNoZSBBeGlzDQogIC0gQXBhY2hlIFhlcmNlczINCiAgLSBBcGFjaGUgSmV0dHkN Cg0KVGhpcyBwcm9kdWN0IGluY2x1ZGVzIGNvZGUgZnJvbTogaHR0cDovL3d3dy5qc29uLm9yZw0K TGljZW5zZTogSlNPTiBsaWNlbnNlIChodHRwOi8vd3d3Lmpzb24ub3JnL2xpY2Vuc2UuaHRtbCkN Cg0KVGhpcyBwcm9kdWN0IGluY2x1ZGVzIGEgcG9zdGdyZXNxbC5qYXI6IGh0dHA6Ly9qZGJjLnBv c3RncmVzcWwub3JnDQpMaWNlbnNlOiBCU0QgTGljZW5zZSAoaHR0cDovL2pkYmMucG9zdGdyZXNx bC5vcmcvbGljZW5zZS5odG1sKQ0KDQpUaGlzIHByb2R1Y3QgaW5jbHVkZXMgYSBKVW5pdCBqYXI6 IGh0dHA6Ly9qdW5pdC5zb3VyY2Vmb3JnZS5uZXQvDQpMaWNlbnNlOiBDb21tb24gUHVibGljIExp Y2Vuc2UgLSB2IDEuMCAoaHR0cDovL2p1bml0LnNvdXJjZWZvcmdlLm5ldC9jcGwtdjEwLmh0bWwp DQoNClRoaXMgcHJvZHVjdCBpbmNsdWRlcyBhIGpkYmNwb29sLTAuOTkuamFyLg0KTGljZW5zZTog QXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gLSB2IDEuMQ0KDQpUaGlzIHByb2R1Y3QgaW5jbHVk ZXMgYW4gZWNsaXBzZS1lY2ouamFyLg0KTGljZW5zZTogRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAt IHYgMS4wIChodHRwOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC12MTAuaHRtbCkNCg0KVGhp cyBwcm9kdWN0IGluY2x1ZGVzIGFuIGhzcWxkYi5qYXI6IGh0dHA6Ly9oc3FsZGIub3JnLw0KTGlj ZW5zZTogSFNRTCBEZXZlbG9wbWVudCBHcm91cCBMaWNlbnNlIChodHRwOi8vaHNxbGRiLm9yZy93 ZWIvaHNxbExpY2Vuc2UuaHRtbCkNCg0KVGhpcyBwcm9kdWN0IGluY2x1ZGVzIEpTUCBBUEkgamFy cy4NCkxpY2Vuc2U6IENvbW1vbiBEZXZlbG9wbWVudCBhbmQgRGlzdHJpYnV0aW9uIExpY2Vuc2Ug KENEREwpIHYxLjAgKGh0dHBzOi8vZ2xhc3NmaXNoLmRldi5qYXZhLm5ldC9wdWJsaWMvQ0RETHYx LjAuaHRtbCkNCg0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClRoZSBmb2xsb3dpbmcgbGljZW5zZSBhcHBs aWVzIHRvIGpzb24uamFyLCB3aGljaCBpcyBnZW5lcmF0ZWQgZnJvbSB0aGUganNvbg0Kc291cmNl cyBmcm9tIGh0dHA6Ly93d3cuanNvbi5vcmcvamF2YS9pbmRleC5odG1sDQotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KQ29weXJpZ2h0IChjKSAyMDAyIEpTT04ub3JnDQoNClBlcm1pc3Npb24gaXMgaGVyZWJ5 IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhIGNvcHkN Cm9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhl ICJTb2Z0d2FyZSIpLCB0bw0KZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlv biwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzDQp0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBz ZWxsDQpjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hv bSB0aGUgU29mdHdhcmUgaXMNCmZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9s bG93aW5nIGNvbmRpdGlvbnM6DQoNClRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlz IHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbA0KY29waWVzIG9yIHN1 YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4NCg0KVGhlIFNvZnR3YXJlIHNoYWxs IGJlIHVzZWQgZm9yIEdvb2QsIG5vdCBFdmlsLg0KDQpUSEUgU09GVFdBUkUgSVMgUFJPVklERUQg IkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwNCkVYUFJFU1MgT1IgSU1QTElF RCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRg0KTUVSQ0hB TlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQNCk5PTklORlJJ TkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUDQpIT0xE RVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwN CldIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJ U0lORw0KRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1Ig VEhFIFVTRSBPUg0KT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLiANCg0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClRoZSBmb2xsb3dpbmcgbGljZW5zZSBhcHBsaWVzIHRvIHBvc3RncmVzcWwuamFy LCB3aGljaCBpcyBhdmFpbGFibGUgZnJvbQ0KaHR0cDovL2pkYmMucG9zdGdyZXNxbC5vcmcNCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpDb3B5cmlnaHQgKGMpIDE5OTctMjAxMCwgUG9zdGdyZVNRTCBHbG9i YWwgRGV2ZWxvcG1lbnQgR3JvdXANCkFsbCByaWdodHMgcmVzZXJ2ZWQuDQoNClJlZGlzdHJpYnV0 aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dA0K bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj b25kaXRpb25zIGFyZSBtZXQ6DQoNCjEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwNCiAgIHRoaXMgbGlzdCBvZiBj b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQoyLiBSZWRpc3RyaWJ1dGlv bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3Rp Y2UsDQogICB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uDQogICBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4NCjMuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFBv c3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwIG5vciB0aGUgbmFtZXMNCiAgIG9mIGl0 cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz IGRlcml2ZWQNCiAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy aXR0ZW4gcGVybWlzc2lvbi4NCg0KVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiDQpBTkQgQU5ZIEVYUFJFU1Mg T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF DQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRQ0KQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI RSBDT1BZUklHSFQgT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFDQpMSUFCTEUgRk9SIEFOWSBESVJF Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SDQpDT05TRVFV RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO VCBPRg0KU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S IFBST0ZJVFM7IE9SIEJVU0lORVNTDQpJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTg0KQ09OVFJBQ1QsIFNUUklDVCBM SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkNCkFS SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG IEFEVklTRUQgT0YgVEhFDQpQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4NCg0KPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0NClRoZSBmb2xsb3dpbmcgbGljZW5zZSBhcHBsaWVzIHRvIEpVbml0DQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KQ29tbW9uIFB1YmxpYyBMaWNlbnNlIC0gdiAxLjANCg0KVEhFIEFDQ09NUEFO WUlORyBQUk9HUkFNIElTIFBST1ZJREVEIFVOREVSIFRIRSBURVJNUyBPRiBUSElTIENPTU1PTiBQ VUJMSUMNCkxJQ0VOU0UgKCJBR1JFRU1FTlQiKS4gQU5ZIFVTRSwgUkVQUk9EVUNUSU9OIE9SIERJ U1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTQ0KQ09OU1RJVFVURVMgUkVDSVBJRU5UJ1MgQUNDRVBU QU5DRSBPRiBUSElTIEFHUkVFTUVOVC4NCg0KMS4gREVGSU5JVElPTlMNCg0KIkNvbnRyaWJ1dGlv biIgbWVhbnM6DQoNCiAgICAgIGEpIGluIHRoZSBjYXNlIG9mIHRoZSBpbml0aWFsIENvbnRyaWJ1 dG9yLCB0aGUgaW5pdGlhbCBjb2RlIGFuZCBkb2N1bWVudGF0aW9uIGRpc3RyaWJ1dGVkDQogICAg ICAgICAgdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGFuZA0KICAgICAgYikgaW4gdGhlIGNhc2Ugb2Yg ZWFjaCBzdWJzZXF1ZW50IENvbnRyaWJ1dG9yOg0KDQogICAgICBpKSBjaGFuZ2VzIHRvIHRoZSBQ cm9ncmFtLCBhbmQNCg0KICAgICAgaWkpIGFkZGl0aW9ucyB0byB0aGUgUHJvZ3JhbTsNCg0KICAg ICAgd2hlcmUgc3VjaCBjaGFuZ2VzIGFuZC9vciBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW0gb3Jp Z2luYXRlIGZyb20gYW5kIGFyZSBkaXN0cmlidXRlZA0KICAgICAgYnkgdGhhdCBwYXJ0aWN1bGFy IENvbnRyaWJ1dG9yLiBBIENvbnRyaWJ1dGlvbiAnb3JpZ2luYXRlcycgZnJvbSBhIENvbnRyaWJ1 dG9yIGlmIGl0IHdhcw0KICAgICAgYWRkZWQgdG8gdGhlIFByb2dyYW0gYnkgc3VjaCBDb250cmli dXRvciBpdHNlbGYgb3IgYW55b25lIGFjdGluZyBvbiBzdWNoIENvbnRyaWJ1dG9yJ3MNCiAgICAg IGJlaGFsZi4gQ29udHJpYnV0aW9ucyBkbyBub3QgaW5jbHVkZSBhZGRpdGlvbnMgdG8gdGhlIFBy b2dyYW0gd2hpY2g6IChpKSBhcmUgc2VwYXJhdGUNCiAgICAgIG1vZHVsZXMgb2Ygc29mdHdhcmUg ZGlzdHJpYnV0ZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgUHJvZ3JhbSB1bmRlciB0aGVpciBv d24gbGljZW5zZQ0KICAgICAgYWdyZWVtZW50LCBhbmQgKGlpKSBhcmUgbm90IGRlcml2YXRpdmUg d29ya3Mgb2YgdGhlIFByb2dyYW0uIA0KDQoiQ29udHJpYnV0b3IiIG1lYW5zIGFueSBwZXJzb24g b3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uDQoNCiJMaWNlbnNlZCBQYXRl bnRzICIgbWVhbiBwYXRlbnQgY2xhaW1zIGxpY2Vuc2FibGUgYnkgYSBDb250cmlidXRvciB3aGlj aCBhcmUgbmVjZXNzYXJpbHkNCmluZnJpbmdlZCBieSB0aGUgdXNlIG9yIHNhbGUgb2YgaXRzIENv bnRyaWJ1dGlvbiBhbG9uZSBvciB3aGVuIGNvbWJpbmVkIHdpdGggdGhlIFByb2dyYW0uDQoNCiJQ cm9ncmFtIiBtZWFucyB0aGUgQ29udHJpYnV0aW9ucyBkaXN0cmlidXRlZCBpbiBhY2NvcmRhbmNl IHdpdGggdGhpcyBBZ3JlZW1lbnQuDQoNCiJSZWNpcGllbnQiIG1lYW5zIGFueW9uZSB3aG8gcmVj ZWl2ZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBBZ3JlZW1lbnQsIGluY2x1ZGluZyBhbGwgQ29u dHJpYnV0b3JzLg0KDQoyLiBHUkFOVCBPRiBSSUdIVFMNCg0KICAgICAgYSkgU3ViamVjdCB0byB0 aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3IgaGVyZWJ5IGdyYW50 cyBSZWNpcGllbnQgYQ0KICAgICAgICAgIG5vbi1leGNsdXNpdmUsIHdvcmxkd2lkZSwgcm95YWx0 eS1mcmVlIGNvcHlyaWdodCBsaWNlbnNlIHRvIHJlcHJvZHVjZSwgcHJlcGFyZQ0KICAgICAgICAg IGRlcml2YXRpdmUgd29ya3Mgb2YsIHB1YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0s IGRpc3RyaWJ1dGUgYW5kIHN1YmxpY2Vuc2UgdGhlDQogICAgICAgICAgQ29udHJpYnV0aW9uIG9m IHN1Y2ggQ29udHJpYnV0b3IsIGlmIGFueSwgYW5kIHN1Y2ggZGVyaXZhdGl2ZSB3b3JrcywgaW4g c291cmNlIGNvZGUNCiAgICAgICAgICBhbmQgb2JqZWN0IGNvZGUgZm9ybS4NCg0KICAgICAgYikg U3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJpYnV0b3Ig aGVyZWJ5IGdyYW50cyBSZWNpcGllbnQgYQ0KICAgICAgICAgIG5vbi1leGNsdXNpdmUsIHdvcmxk d2lkZSwgcm95YWx0eS1mcmVlIHBhdGVudCBsaWNlbnNlIHVuZGVyIExpY2Vuc2VkIFBhdGVudHMg dG8NCiAgICAgICAgICBtYWtlLCB1c2UsIHNlbGwsIG9mZmVyIHRvIHNlbGwsIGltcG9ydCBhbmQg b3RoZXJ3aXNlIHRyYW5zZmVyIHRoZSBDb250cmlidXRpb24gb2Ygc3VjaA0KICAgICAgICAgIENv bnRyaWJ1dG9yLCBpZiBhbnksIGluIHNvdXJjZSBjb2RlIGFuZCBvYmplY3QgY29kZSBmb3JtLiBU aGlzIHBhdGVudCBsaWNlbnNlIHNoYWxsDQogICAgICAgICAgYXBwbHkgdG8gdGhlIGNvbWJpbmF0 aW9uIG9mIHRoZSBDb250cmlidXRpb24gYW5kIHRoZSBQcm9ncmFtIGlmLCBhdCB0aGUgdGltZSB0 aGUNCiAgICAgICAgICBDb250cmlidXRpb24gaXMgYWRkZWQgYnkgdGhlIENvbnRyaWJ1dG9yLCBz dWNoIGFkZGl0aW9uIG9mIHRoZSBDb250cmlidXRpb24gY2F1c2VzDQogICAgICAgICAgc3VjaCBj b21iaW5hdGlvbiB0byBiZSBjb3ZlcmVkIGJ5IHRoZSBMaWNlbnNlZCBQYXRlbnRzLiBUaGUgcGF0 ZW50IGxpY2Vuc2Ugc2hhbGwNCiAgICAgICAgICBub3QgYXBwbHkgdG8gYW55IG90aGVyIGNvbWJp bmF0aW9ucyB3aGljaCBpbmNsdWRlIHRoZSBDb250cmlidXRpb24uIE5vIGhhcmR3YXJlDQogICAg ICAgICAgcGVyIHNlIGlzIGxpY2Vuc2VkIGhlcmV1bmRlci4gDQoNCiAgICAgIGMpIFJlY2lwaWVu dCB1bmRlcnN0YW5kcyB0aGF0IGFsdGhvdWdoIGVhY2ggQ29udHJpYnV0b3IgZ3JhbnRzIHRoZSBs aWNlbnNlcyB0byBpdHMNCiAgICAgICAgICBDb250cmlidXRpb25zIHNldCBmb3J0aCBoZXJlaW4s IG5vIGFzc3VyYW5jZXMgYXJlIHByb3ZpZGVkIGJ5IGFueSBDb250cmlidXRvciB0aGF0DQogICAg ICAgICAgdGhlIFByb2dyYW0gZG9lcyBub3QgaW5mcmluZ2UgdGhlIHBhdGVudCBvciBvdGhlciBp bnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIGFueQ0KICAgICAgICAgIG90aGVyIGVudGl0 eS4gRWFjaCBDb250cmlidXRvciBkaXNjbGFpbXMgYW55IGxpYWJpbGl0eSB0byBSZWNpcGllbnQg Zm9yIGNsYWltcyBicm91Z2h0DQogICAgICAgICAgYnkgYW55IG90aGVyIGVudGl0eSBiYXNlZCBv biBpbmZyaW5nZW1lbnQgb2YgaW50ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cyBvciBvdGhlcndp c2UuDQogICAgICAgICAgQXMgYSBjb25kaXRpb24gdG8gZXhlcmNpc2luZyB0aGUgcmlnaHRzIGFu ZCBsaWNlbnNlcyBncmFudGVkIGhlcmV1bmRlciwgZWFjaCBSZWNpcGllbnQNCiAgICAgICAgICBo ZXJlYnkgYXNzdW1lcyBzb2xlIHJlc3BvbnNpYmlsaXR5IHRvIHNlY3VyZSBhbnkgb3RoZXIgaW50 ZWxsZWN0dWFsIHByb3BlcnR5IHJpZ2h0cw0KICAgICAgICAgIG5lZWRlZCwgaWYgYW55LiBGb3Ig ZXhhbXBsZSwgaWYgYSB0aGlyZCBwYXJ0eSBwYXRlbnQgbGljZW5zZSBpcyByZXF1aXJlZCB0byBh bGxvdw0KICAgICAgICAgIFJlY2lwaWVudCB0byBkaXN0cmlidXRlIHRoZSBQcm9ncmFtLCBpdCBp cyBSZWNpcGllbnQncyByZXNwb25zaWJpbGl0eSB0byBhY3F1aXJlIHRoYXQNCiAgICAgICAgICBs aWNlbnNlIGJlZm9yZSBkaXN0cmlidXRpbmcgdGhlIFByb2dyYW0uDQoNCiAgICAgIGQpIEVhY2gg Q29udHJpYnV0b3IgcmVwcmVzZW50cyB0aGF0IHRvIGl0cyBrbm93bGVkZ2UgaXQgaGFzIHN1ZmZp Y2llbnQgY29weXJpZ2h0IHJpZ2h0cw0KICAgICAgICAgIGluIGl0cyBDb250cmlidXRpb24sIGlm IGFueSwgdG8gZ3JhbnQgdGhlIGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCBpbiB0aGlzIEFn cmVlbWVudC4gDQoNCjMuIFJFUVVJUkVNRU5UUw0KDQpBIENvbnRyaWJ1dG9yIG1heSBjaG9vc2Ug dG8gZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpbiBvYmplY3QgY29kZSBmb3JtIHVuZGVyIGl0cyBv d24NCmxpY2Vuc2UgYWdyZWVtZW50LCBwcm92aWRlZCB0aGF0Og0KDQogICAgICBhKSBpdCBjb21w bGllcyB3aXRoIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB0aGlzIEFncmVlbWVudDsgYW5k DQoNCiAgICAgIGIpIGl0cyBsaWNlbnNlIGFncmVlbWVudDoNCg0KICAgICAgaSkgZWZmZWN0aXZl bHkgZGlzY2xhaW1zIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFsbCB3YXJyYW50aWVz IGFuZCBjb25kaXRpb25zLA0KICAgICAgICAgZXhwcmVzcyBhbmQgaW1wbGllZCwgaW5jbHVkaW5n IHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiB0aXRsZSBhbmQgbm9uLWluZnJpbmdlbWVudCwN CiAgICAgICAgIGFuZCBpbXBsaWVkIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiBtZXJjaGFu dGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOyANCg0KICAgICAg aWkpIGVmZmVjdGl2ZWx5IGV4Y2x1ZGVzIG9uIGJlaGFsZiBvZiBhbGwgQ29udHJpYnV0b3JzIGFs bCBsaWFiaWxpdHkgZm9yIGRhbWFnZXMsIGluY2x1ZGluZw0KICAgICAgICAgZGlyZWN0LCBpbmRp cmVjdCwgc3BlY2lhbCwgaW5jaWRlbnRhbCBhbmQgY29uc2VxdWVudGlhbCBkYW1hZ2VzLCBzdWNo IGFzIGxvc3QgcHJvZml0czsgDQoNCiAgICAgIGlpaSkgc3RhdGVzIHRoYXQgYW55IHByb3Zpc2lv bnMgd2hpY2ggZGlmZmVyIGZyb20gdGhpcyBBZ3JlZW1lbnQgYXJlIG9mZmVyZWQgYnkgdGhhdA0K ICAgICAgICAgIENvbnRyaWJ1dG9yIGFsb25lIGFuZCBub3QgYnkgYW55IG90aGVyIHBhcnR5OyBh bmQNCg0KICAgICAgaXYpIHN0YXRlcyB0aGF0IHNvdXJjZSBjb2RlIGZvciB0aGUgUHJvZ3JhbSBp cyBhdmFpbGFibGUgZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBhbmQNCiAgICAgICAgICBpbmZvcm1z IGxpY2Vuc2VlcyBob3cgdG8gb2J0YWluIGl0IGluIGEgcmVhc29uYWJsZSBtYW5uZXIgb24gb3Ig dGhyb3VnaCBhIG1lZGl1bQ0KICAgICAgICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJl IGV4Y2hhbmdlLiANCg0KV2hlbiB0aGUgUHJvZ3JhbSBpcyBtYWRlIGF2YWlsYWJsZSBpbiBzb3Vy Y2UgY29kZSBmb3JtOg0KDQogICAgICBhKSBpdCBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIHVuZGVy IHRoaXMgQWdyZWVtZW50OyBhbmQgDQoNCiAgICAgIGIpIGEgY29weSBvZiB0aGlzIEFncmVlbWVu dCBtdXN0IGJlIGluY2x1ZGVkIHdpdGggZWFjaCBjb3B5IG9mIHRoZSBQcm9ncmFtLiANCg0KQ29u dHJpYnV0b3JzIG1heSBub3QgcmVtb3ZlIG9yIGFsdGVyIGFueSBjb3B5cmlnaHQgbm90aWNlcyBj b250YWluZWQgd2l0aGluIHRoZSBQcm9ncmFtLg0KDQpFYWNoIENvbnRyaWJ1dG9yIG11c3QgaWRl bnRpZnkgaXRzZWxmIGFzIHRoZSBvcmlnaW5hdG9yIG9mIGl0cyBDb250cmlidXRpb24sIGlmIGFu eSwgaW4gYSBtYW5uZXINCnRoYXQgcmVhc29uYWJseSBhbGxvd3Mgc3Vic2VxdWVudCBSZWNpcGll bnRzIHRvIGlkZW50aWZ5IHRoZSBvcmlnaW5hdG9yIG9mIHRoZSBDb250cmlidXRpb24uDQoNCjQu IENPTU1FUkNJQUwgRElTVFJJQlVUSU9ODQoNCkNvbW1lcmNpYWwgZGlzdHJpYnV0b3JzIG9mIHNv ZnR3YXJlIG1heSBhY2NlcHQgY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIHdpdGggcmVzcGVjdCB0 byBlbmQNCnVzZXJzLCBidXNpbmVzcyBwYXJ0bmVycyBhbmQgdGhlIGxpa2UuIFdoaWxlIHRoaXMg bGljZW5zZSBpcyBpbnRlbmRlZCB0byBmYWNpbGl0YXRlIHRoZQ0KY29tbWVyY2lhbCB1c2Ugb2Yg dGhlIFByb2dyYW0sIHRoZSBDb250cmlidXRvciB3aG8gaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4g YSBjb21tZXJjaWFsDQpwcm9kdWN0IG9mZmVyaW5nIHNob3VsZCBkbyBzbyBpbiBhIG1hbm5lciB3 aGljaCBkb2VzIG5vdCBjcmVhdGUgcG90ZW50aWFsIGxpYWJpbGl0eSBmb3Igb3RoZXINCkNvbnRy aWJ1dG9ycy4gVGhlcmVmb3JlLCBpZiBhIENvbnRyaWJ1dG9yIGluY2x1ZGVzIHRoZSBQcm9ncmFt IGluIGEgY29tbWVyY2lhbCBwcm9kdWN0DQpvZmZlcmluZywgc3VjaCBDb250cmlidXRvciAoIkNv bW1lcmNpYWwgQ29udHJpYnV0b3IiKSBoZXJlYnkgYWdyZWVzIHRvIGRlZmVuZCBhbmQgaW5kZW1u aWZ5DQpldmVyeSBvdGhlciBDb250cmlidXRvciAoIkluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIikg YWdhaW5zdCBhbnkgbG9zc2VzLCBkYW1hZ2VzIGFuZCBjb3N0cw0KKGNvbGxlY3RpdmVseSAiTG9z c2VzIikgYXJpc2luZyBmcm9tIGNsYWltcywgbGF3c3VpdHMgYW5kIG90aGVyIGxlZ2FsIGFjdGlv bnMgYnJvdWdodCBieSBhDQp0aGlyZCBwYXJ0eSBhZ2FpbnN0IHRoZSBJbmRlbW5pZmllZCBDb250 cmlidXRvciB0byB0aGUgZXh0ZW50IGNhdXNlZCBieSB0aGUgYWN0cyBvciBvbWlzc2lvbnMNCm9m IHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiBjb25uZWN0aW9uIHdpdGggaXRzIGRpc3Ry aWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBpbiBhDQpjb21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcu IFRoZSBvYmxpZ2F0aW9ucyBpbiB0aGlzIHNlY3Rpb24gZG8gbm90IGFwcGx5IHRvIGFueSBjbGFp bXMNCm9yIExvc3NlcyByZWxhdGluZyB0byBhbnkgYWN0dWFsIG9yIGFsbGVnZWQgaW50ZWxsZWN0 dWFsIHByb3BlcnR5IGluZnJpbmdlbWVudC4gSW4gb3JkZXIgdG8NCnF1YWxpZnksIGFuIEluZGVt bmlmaWVkIENvbnRyaWJ1dG9yIG11c3Q6IGEpIHByb21wdGx5IG5vdGlmeSB0aGUgQ29tbWVyY2lh bCBDb250cmlidXRvciBpbg0Kd3JpdGluZyBvZiBzdWNoIGNsYWltLCBhbmQgYikgYWxsb3cgdGhl IENvbW1lcmNpYWwgQ29udHJpYnV0b3IgdG8gY29udHJvbCwgYW5kIGNvb3BlcmF0ZQ0Kd2l0aCB0 aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBpbiwgdGhlIGRlZmVuc2UgYW5kIGFueSByZWxhdGVk IHNldHRsZW1lbnQgbmVnb3RpYXRpb25zLg0KVGhlIEluZGVtbmlmaWVkIENvbnRyaWJ1dG9yIG1h eSBwYXJ0aWNpcGF0ZSBpbiBhbnkgc3VjaCBjbGFpbSBhdCBpdHMgb3duIGV4cGVuc2UuDQoNCkZv ciBleGFtcGxlLCBhIENvbnRyaWJ1dG9yIG1pZ2h0IGluY2x1ZGUgdGhlIFByb2dyYW0gaW4gYSBj b21tZXJjaWFsIHByb2R1Y3Qgb2ZmZXJpbmcsDQpQcm9kdWN0IFguIFRoYXQgQ29udHJpYnV0b3Ig aXMgdGhlbiBhIENvbW1lcmNpYWwgQ29udHJpYnV0b3IuIElmIHRoYXQgQ29tbWVyY2lhbCBDb250 cmlidXRvcg0KdGhlbiBtYWtlcyBwZXJmb3JtYW5jZSBjbGFpbXMsIG9yIG9mZmVycyB3YXJyYW50 aWVzIHJlbGF0ZWQgdG8gUHJvZHVjdCBYLCB0aG9zZSBwZXJmb3JtYW5jZQ0KY2xhaW1zIGFuZCB3 YXJyYW50aWVzIGFyZSBzdWNoIENvbW1lcmNpYWwgQ29udHJpYnV0b3IncyByZXNwb25zaWJpbGl0 eSBhbG9uZS4gVW5kZXIgdGhpcw0Kc2VjdGlvbiwgdGhlIENvbW1lcmNpYWwgQ29udHJpYnV0b3Ig d291bGQgaGF2ZSB0byBkZWZlbmQgY2xhaW1zIGFnYWluc3QgdGhlIG90aGVyDQpDb250cmlidXRv cnMgcmVsYXRlZCB0byB0aG9zZSBwZXJmb3JtYW5jZSBjbGFpbXMgYW5kIHdhcnJhbnRpZXMsIGFu ZCBpZiBhIGNvdXJ0IHJlcXVpcmVzDQphbnkgb3RoZXIgQ29udHJpYnV0b3IgdG8gcGF5IGFueSBk YW1hZ2VzIGFzIGEgcmVzdWx0LCB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRvciBtdXN0DQpwYXkg dGhvc2UgZGFtYWdlcy4NCg0KNS4gTk8gV0FSUkFOVFkNCg0KRVhDRVBUIEFTIEVYUFJFU1NMWSBT RVQgRk9SVEggSU4gVEhJUyBBR1JFRU1FTlQsIFRIRSBQUk9HUkFNIElTIFBST1ZJREVEDQpPTiBB TiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkg S0lORCwgRUlUSEVSDQpFWFBSRVNTIE9SIElNUExJRUQgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlU QVRJT04sIEFOWSBXQVJSQU5USUVTIE9SDQpDT05ESVRJT05TIE9GIFRJVExFLCBOT04tSU5GUklO R0VNRU5ULCBNRVJDSEFOVEFCSUxJVFkgT1IgRklUTkVTUyBGT1INCkEgUEFSVElDVUxBUiBQVVJQ T1NFLiBFYWNoIFJlY2lwaWVudCBpcyBzb2xlbHkgcmVzcG9uc2libGUgZm9yIGRldGVybWluaW5n IHRoZQ0KYXBwcm9wcmlhdGVuZXNzIG9mIHVzaW5nIGFuZCBkaXN0cmlidXRpbmcgdGhlIFByb2dy YW0gYW5kIGFzc3VtZXMgYWxsIHJpc2tzIGFzc29jaWF0ZWQNCndpdGggaXRzIGV4ZXJjaXNlIG9m IHJpZ2h0cyB1bmRlciB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGJ1dCBub3QgbGltaXRlZCB0 byB0aGUNCnJpc2tzIGFuZCBjb3N0cyBvZiBwcm9ncmFtIGVycm9ycywgY29tcGxpYW5jZSB3aXRo IGFwcGxpY2FibGUgbGF3cywgZGFtYWdlIHRvIG9yDQpsb3NzIG9mIGRhdGEsIHByb2dyYW1zIG9y IGVxdWlwbWVudCwgYW5kIHVuYXZhaWxhYmlsaXR5IG9yIGludGVycnVwdGlvbiBvZiBvcGVyYXRp b25zLg0KDQo2LiBESVNDTEFJTUVSIE9GIExJQUJJTElUWQ0KDQpFWENFUFQgQVMgRVhQUkVTU0xZ IFNFVCBGT1JUSCBJTiBUSElTIEFHUkVFTUVOVCwgTkVJVEhFUiBSRUNJUElFTlQgTk9SDQpBTlkg Q09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwgSU5E SVJFQ1QsDQpJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg REFNQUdFUyAoSU5DTFVESU5HIFdJVEhPVVQNCkxJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwgSE9X RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLA0KV0hFVEhFUiBJTiBD T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug T1INCk9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9SIERJU1RS SUJVVElPTiBPRiBUSEUNClBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdIVFMgR1JB TlRFRCBIRVJFVU5ERVIsIEVWRU4gSUYNCkFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV Q0ggREFNQUdFUy4NCg0KNy4gR0VORVJBTA0KDQpJZiBhbnkgcHJvdmlzaW9uIG9mIHRoaXMgQWdy ZWVtZW50IGlzIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhcHBsaWNhYmxlIGxhdywN Cml0IHNoYWxsIG5vdCBhZmZlY3QgdGhlIHZhbGlkaXR5IG9yIGVuZm9yY2VhYmlsaXR5IG9mIHRo ZSByZW1haW5kZXIgb2YgdGhlIHRlcm1zIG9mIHRoaXMNCkFncmVlbWVudCwgYW5kIHdpdGhvdXQg ZnVydGhlciBhY3Rpb24gYnkgdGhlIHBhcnRpZXMgaGVyZXRvLCBzdWNoIHByb3Zpc2lvbiBzaGFs bA0KYmUgcmVmb3JtZWQgdG8gdGhlIG1pbmltdW0gZXh0ZW50IG5lY2Vzc2FyeSB0byBtYWtlIHN1 Y2ggcHJvdmlzaW9uIHZhbGlkIGFuZCBlbmZvcmNlYWJsZS4NCg0KSWYgUmVjaXBpZW50IGluc3Rp dHV0ZXMgcGF0ZW50IGxpdGlnYXRpb24gYWdhaW5zdCBhIENvbnRyaWJ1dG9yIHdpdGggcmVzcGVj dCB0byBhDQpwYXRlbnQgYXBwbGljYWJsZSB0byBzb2Z0d2FyZSAoaW5jbHVkaW5nIGEgY3Jvc3Mt Y2xhaW0gb3IgY291bnRlcmNsYWltIGluIGEgbGF3c3VpdCksDQp0aGVuIGFueSBwYXRlbnQgbGlj ZW5zZXMgZ3JhbnRlZCBieSB0aGF0IENvbnRyaWJ1dG9yIHRvIHN1Y2ggUmVjaXBpZW50IHVuZGVy IHRoaXMNCkFncmVlbWVudCBzaGFsbCB0ZXJtaW5hdGUgYXMgb2YgdGhlIGRhdGUgc3VjaCBsaXRp Z2F0aW9uIGlzIGZpbGVkLiBJbiBhZGRpdGlvbiwgaWYNClJlY2lwaWVudCBpbnN0aXR1dGVzIHBh dGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5jbHVkaW5nIGEgY3Jvc3MtY2xh aW0NCm9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQgdGhlIFByb2dy YW0gaXRzZWxmIChleGNsdWRpbmcgY29tYmluYXRpb25zDQpvZiB0aGUgUHJvZ3JhbSB3aXRoIG90 aGVyIHNvZnR3YXJlIG9yIGhhcmR3YXJlKSBpbmZyaW5nZXMgc3VjaCBSZWNpcGllbnQncyBwYXRl bnQocyksDQp0aGVuIHN1Y2ggUmVjaXBpZW50J3MgcmlnaHRzIGdyYW50ZWQgdW5kZXIgU2VjdGlv biAyKGIpIHNoYWxsIHRlcm1pbmF0ZSBhcyBvZiB0aGUNCmRhdGUgc3VjaCBsaXRpZ2F0aW9uIGlz IGZpbGVkLg0KDQpBbGwgUmVjaXBpZW50J3MgcmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50IHNo YWxsIHRlcm1pbmF0ZSBpZiBpdCBmYWlscyB0byBjb21wbHkgd2l0aA0KYW55IG9mIHRoZSBtYXRl cmlhbCB0ZXJtcyBvciBjb25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50IGFuZCBkb2VzIG5vdCBj dXJlIHN1Y2gNCmZhaWx1cmUgaW4gYSByZWFzb25hYmxlIHBlcmlvZCBvZiB0aW1lIGFmdGVyIGJl Y29taW5nIGF3YXJlIG9mIHN1Y2ggbm9uY29tcGxpYW5jZS4NCklmIGFsbCBSZWNpcGllbnQncyBy aWdodHMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgdGVybWluYXRlLCBSZWNpcGllbnQgYWdyZWVzIHRv IGNlYXNlDQp1c2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBhcyBzb29uIGFzIHJl YXNvbmFibHkgcHJhY3RpY2FibGUuIEhvd2V2ZXIsDQpSZWNpcGllbnQncyBvYmxpZ2F0aW9ucyB1 bmRlciB0aGlzIEFncmVlbWVudCBhbmQgYW55IGxpY2Vuc2VzIGdyYW50ZWQgYnkgUmVjaXBpZW50 DQpyZWxhdGluZyB0byB0aGUgUHJvZ3JhbSBzaGFsbCBjb250aW51ZSBhbmQgc3Vydml2ZS4NCg0K RXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgY29waWVzIG9mIHRo aXMgQWdyZWVtZW50LCBidXQgaW4gb3JkZXINCnRvIGF2b2lkIGluY29uc2lzdGVuY3kgdGhlIEFn cmVlbWVudCBpcyBjb3B5cmlnaHRlZCBhbmQgbWF5IG9ubHkgYmUgbW9kaWZpZWQgaW4NCnRoZSBm b2xsb3dpbmcgbWFubmVyLiBUaGUgQWdyZWVtZW50IFN0ZXdhcmQgcmVzZXJ2ZXMgdGhlIHJpZ2h0 IHRvIHB1Ymxpc2ggbmV3DQp2ZXJzaW9ucyAoaW5jbHVkaW5nIHJldmlzaW9ucykgb2YgdGhpcyBB Z3JlZW1lbnQgZnJvbSB0aW1lIHRvIHRpbWUuIE5vIG9uZSBvdGhlcg0KdGhhbiB0aGUgQWdyZWVt ZW50IFN0ZXdhcmQgaGFzIHRoZSByaWdodCB0byBtb2RpZnkgdGhpcyBBZ3JlZW1lbnQuIElCTSBp cyB0aGUNCmluaXRpYWwgQWdyZWVtZW50IFN0ZXdhcmQuIElCTSBtYXkgYXNzaWduIHRoZSByZXNw b25zaWJpbGl0eSB0byBzZXJ2ZSBhcyB0aGUgQWdyZWVtZW50DQpTdGV3YXJkIHRvIGEgc3VpdGFi bGUgc2VwYXJhdGUgZW50aXR5LiBFYWNoIG5ldyB2ZXJzaW9uIG9mIHRoZSBBZ3JlZW1lbnQgd2ls bCBiZQ0KZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gVGhlIFByb2dyYW0g KGluY2x1ZGluZyBDb250cmlidXRpb25zKSBtYXkNCmFsd2F5cyBiZSBkaXN0cmlidXRlZCBzdWJq ZWN0IHRvIHRoZSB2ZXJzaW9uIG9mIHRoZSBBZ3JlZW1lbnQgdW5kZXIgd2hpY2ggaXQgd2FzDQpy ZWNlaXZlZC4gSW4gYWRkaXRpb24sIGFmdGVyIGEgbmV3IHZlcnNpb24gb2YgdGhlIEFncmVlbWVu dCBpcyBwdWJsaXNoZWQsIENvbnRyaWJ1dG9yDQptYXkgZWxlY3QgdG8gZGlzdHJpYnV0ZSB0aGUg UHJvZ3JhbSAoaW5jbHVkaW5nIGl0cyBDb250cmlidXRpb25zKSB1bmRlciB0aGUgbmV3DQp2ZXJz aW9uLiBFeGNlcHQgYXMgZXhwcmVzc2x5IHN0YXRlZCBpbiBTZWN0aW9ucyAyKGEpIGFuZCAyKGIp IGFib3ZlLCBSZWNpcGllbnQNCnJlY2VpdmVzIG5vIHJpZ2h0cyBvciBsaWNlbnNlcyB0byB0aGUg aW50ZWxsZWN0dWFsIHByb3BlcnR5IG9mIGFueSBDb250cmlidXRvciB1bmRlcg0KdGhpcyBBZ3Jl ZW1lbnQsIHdoZXRoZXIgZXhwcmVzc2x5LCBieSBpbXBsaWNhdGlvbiwgZXN0b3BwZWwgb3Igb3Ro ZXJ3aXNlLiBBbGwgcmlnaHRzDQppbiB0aGUgUHJvZ3JhbSBub3QgZXhwcmVzc2x5IGdyYW50ZWQg dW5kZXIgdGhpcyBBZ3JlZW1lbnQgYXJlIHJlc2VydmVkLg0KDQpUaGlzIEFncmVlbWVudCBpcyBn b3Zlcm5lZCBieSB0aGUgbGF3cyBvZiB0aGUgU3RhdGUgb2YgTmV3IFlvcmsgYW5kIHRoZQ0KaW50 ZWxsZWN0dWFsIHByb3BlcnR5IGxhd3Mgb2YgdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYS4g Tm8gcGFydHkgdG8gdGhpcyANCkFncmVlbWVudCB3aWxsIGJyaW5nIGEgbGVnYWwgYWN0aW9uIHVu ZGVyIHRoaXMgQWdyZWVtZW50IG1vcmUgdGhhbiBvbmUgeWVhciBhZnRlcg0KdGhlIGNhdXNlIG9m IGFjdGlvbiBhcm9zZS4gRWFjaCBwYXJ0eSB3YWl2ZXMgaXRzIHJpZ2h0cyB0byBhIGp1cnkgdHJp YWwgaW4gYW55DQpyZXN1bHRpbmcgbGl0aWdhdGlvbi4NCg0KDQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K VGhlIGZvbGxvd2luZyBsaWNlbnNlIGFwcGxpZXMgdG8gamRiY3Bvb2wtMC45OS5qYXINCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQpUaGUgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UsIFZlcnNpb24gMS4xDQoN CkNvcHlyaWdodCAoYykgMjAwMCBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24uICBBbGwg cmlnaHRzDQpyZXNlcnZlZC4NCg0KUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0 ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMNCmFyZSBtZXQ6DQoNCjEu IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w eXJpZ2h0DQogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93 aW5nIGRpc2NsYWltZXIuDQoNCjIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0 IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0DQogICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4NCiAgIHRoZSBkb2N1bWVu dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUNCiAgIGRpc3Ry aWJ1dGlvbi4NCg0KMy4gVGhlIGVuZC11c2VyIGRvY3VtZW50YXRpb24gaW5jbHVkZWQgd2l0aCB0 aGUgcmVkaXN0cmlidXRpb24sDQogICBpZiBhbnksIG11c3QgaW5jbHVkZSB0aGUgZm9sbG93aW5n IGFja25vd2xlZGdtZW50Og0KICAgICAgIlRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBk ZXZlbG9wZWQgYnkgdGhlDQogICAgICAgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6 Ly93d3cuYXBhY2hlLm9yZy8pLiINCiAgIEFsdGVybmF0ZWx5LCB0aGlzIGFja25vd2xlZGdtZW50 IG1heSBhcHBlYXIgaW4gdGhlIHNvZnR3YXJlIGl0c2VsZiwNCiAgIGlmIGFuZCB3aGVyZXZlciBz dWNoIHRoaXJkLXBhcnR5IGFja25vd2xlZGdtZW50cyBub3JtYWxseSBhcHBlYXIuDQoNCjQuIFRo ZSBuYW1lcyAiQXBhY2hlIiBhbmQgIkFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIiBtdXN0DQog ICBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t IHRoaXMNCiAgIHNvZnR3YXJlIHdpdGhvdXQgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiBGb3Ig d3JpdHRlbg0KICAgcGVybWlzc2lvbiwgcGxlYXNlIGNvbnRhY3QgYXBhY2hlQGFwYWNoZS5vcmcu DQoNCjUuIFByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIG1heSBub3QgYmUgY2Fs bGVkICJBcGFjaGUiLA0KICAgbm9yIG1heSAiQXBhY2hlIiBhcHBlYXIgaW4gdGhlaXIgbmFtZSwg d2l0aG91dCBwcmlvciB3cml0dGVuDQogICBwZXJtaXNzaW9uIG9mIHRoZSBBcGFjaGUgU29mdHdh cmUgRm91bmRhdGlvbi4NCg0KVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5E IEFOWSBFWFBSRVNTRUQgT1IgSU1QTElFRA0KV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMNCk9GIE1FUkNIQU5UQUJJTElUWSBB TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFDQpESVNDTEFJTUVELiAgSU4g Tk8gRVZFTlQgU0hBTEwgVEhFIEFQQUNIRSBTT0ZUV0FSRSBGT1VOREFUSU9OIE9SDQpJVFMgQ09O VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws DQpTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H LCBCVVQgTk9UDQpMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S IFNFUlZJQ0VTOyBMT1NTIE9GDQpVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EDQpPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwNCk9SIFRPUlQgKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVA0KT0Yg VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM SVRZIE9GDQpTVUNIIERBTUFHRS4NCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNClRoaXMgc29mdHdhcmUgY29uc2lz dHMgb2Ygdm9sdW50YXJ5IGNvbnRyaWJ1dGlvbnMgbWFkZSBieSBtYW55DQppbmRpdmlkdWFscyBv biBiZWhhbGYgb2YgdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgRm9yIG1vcmUNCmlu Zm9ybWF0aW9uIG9uIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiwgcGxlYXNlIHNlZQ0K PGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8+Lg0KDQpQb3J0aW9ucyBvZiB0aGlzIHNvZnR3YXJlIGFy ZSBiYXNlZCB1cG9uIHB1YmxpYyBkb21haW4gc29mdHdhcmUNCm9yaWdpbmFsbHkgd3JpdHRlbiBh dCB0aGUgTmF0aW9uYWwgQ2VudGVyIGZvciBTdXBlcmNvbXB1dGluZyBBcHBsaWNhdGlvbnMsDQpV bml2ZXJzaXR5IG9mIElsbGlub2lzLCBVcmJhbmEtQ2hhbXBhaWduLg0KDQo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KVGhlIGZvbGxvd2luZyBsaWNlbnNlIGFwcGxpZXMgdG8gZWNsaXBzZS1lY2ouamFyDQot LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KDQpFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIC0gdiAxLjANCg0KVEhF IEFDQ09NUEFOWUlORyBQUk9HUkFNIElTIFBST1ZJREVEIFVOREVSIFRIRSBURVJNUyBPRiBUSElT IEVDTElQU0UgUFVCTElDIExJQ0VOU0UgKCJBR1JFRU1FTlQiKS4gQU5ZIFVTRSwgUkVQUk9EVUNU SU9OIE9SIERJU1RSSUJVVElPTiBPRiBUSEUgUFJPR1JBTSBDT05TVElUVVRFUyBSRUNJUElFTlQn UyBBQ0NFUFRBTkNFIE9GIFRISVMgQUdSRUVNRU5ULg0KDQoxLiBERUZJTklUSU9OUw0KDQoiQ29u dHJpYnV0aW9uIiBtZWFuczoNCg0KYSkgaW4gdGhlIGNhc2Ugb2YgdGhlIGluaXRpYWwgQ29udHJp YnV0b3IsIHRoZSBpbml0aWFsIGNvZGUgYW5kIGRvY3VtZW50YXRpb24gZGlzdHJpYnV0ZWQgdW5k ZXIgdGhpcw0KICAgIEFncmVlbWVudCwgYW5kDQoNCmIpIGluIHRoZSBjYXNlIG9mIGVhY2ggc3Vi c2VxdWVudCBDb250cmlidXRvcjoNCg0KaSkgY2hhbmdlcyB0byB0aGUgUHJvZ3JhbSwgYW5kDQoN CmlpKSBhZGRpdGlvbnMgdG8gdGhlIFByb2dyYW07DQoNCndoZXJlIHN1Y2ggY2hhbmdlcyBhbmQv b3IgYWRkaXRpb25zIHRvIHRoZSBQcm9ncmFtIG9yaWdpbmF0ZSBmcm9tIGFuZCBhcmUgZGlzdHJp YnV0ZWQgYnkgdGhhdA0KcGFydGljdWxhciBDb250cmlidXRvci4gQSBDb250cmlidXRpb24gJ29y aWdpbmF0ZXMnIGZyb20gYSBDb250cmlidXRvciBpZiBpdCB3YXMgYWRkZWQgdG8gdGhlIFByb2dy YW0gDQpieSBzdWNoIENvbnRyaWJ1dG9yIGl0c2VsZiBvciBhbnlvbmUgYWN0aW5nIG9uIHN1Y2gg Q29udHJpYnV0b3IncyBiZWhhbGYuIENvbnRyaWJ1dGlvbnMgZG8gbm90IA0KaW5jbHVkZSBhZGRp dGlvbnMgdG8gdGhlIFByb2dyYW0gd2hpY2g6IChpKSBhcmUgc2VwYXJhdGUgbW9kdWxlcyBvZiBz b2Z0d2FyZSBkaXN0cmlidXRlZCBpbiANCmNvbmp1bmN0aW9uIHdpdGggdGhlIFByb2dyYW0gdW5k ZXIgdGhlaXIgb3duIGxpY2Vuc2UgYWdyZWVtZW50LCBhbmQgKGlpKSBhcmUgbm90IGRlcml2YXRp dmUgd29ya3MNCm9mIHRoZSBQcm9ncmFtLg0KDQoiQ29udHJpYnV0b3IiIG1lYW5zIGFueSBwZXJz b24gb3IgZW50aXR5IHRoYXQgZGlzdHJpYnV0ZXMgdGhlIFByb2dyYW0uDQoNCiJMaWNlbnNlZCBQ YXRlbnRzIiBtZWFuIHBhdGVudCBjbGFpbXMgbGljZW5zYWJsZSBieSBhIENvbnRyaWJ1dG9yIHdo aWNoIGFyZSBuZWNlc3NhcmlseSBpbmZyaW5nZWQNCmJ5IHRoZSB1c2Ugb3Igc2FsZSBvZiBpdHMg Q29udHJpYnV0aW9uIGFsb25lIG9yIHdoZW4gY29tYmluZWQgd2l0aCB0aGUgUHJvZ3JhbS4NCg0K IlByb2dyYW0iIG1lYW5zIHRoZSBDb250cmlidXRpb25zIGRpc3RyaWJ1dGVkIGluIGFjY29yZGFu Y2Ugd2l0aCB0aGlzIEFncmVlbWVudC4NCg0KIlJlY2lwaWVudCIgbWVhbnMgYW55b25lIHdobyBy ZWNlaXZlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIEFncmVlbWVudCwgaW5jbHVkaW5nIGFsbCBD b250cmlidXRvcnMuDQoNCjIuIEdSQU5UIE9GIFJJR0hUUw0KDQphKSBTdWJqZWN0IHRvIHRoZSB0 ZXJtcyBvZiB0aGlzIEFncmVlbWVudCwgZWFjaCBDb250cmlidXRvciBoZXJlYnkgZ3JhbnRzIFJl Y2lwaWVudCBhDQpub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZSBjb3B5cmln aHQgbGljZW5zZSB0byByZXByb2R1Y2UsIHByZXBhcmUgZGVyaXZhdGl2ZSB3b3JrcyBvZiwNCnB1 YmxpY2x5IGRpc3BsYXksIHB1YmxpY2x5IHBlcmZvcm0sIGRpc3RyaWJ1dGUgYW5kIHN1YmxpY2Vu c2UgdGhlIENvbnRyaWJ1dGlvbiBvZiBzdWNoIENvbnRyaWJ1dG9yLCBpZg0KYW55LCBhbmQgc3Vj aCBkZXJpdmF0aXZlIHdvcmtzLCBpbiBzb3VyY2UgY29kZSBhbmQgb2JqZWN0IGNvZGUgZm9ybS4N Cg0KYikgU3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGVhY2ggQ29udHJp YnV0b3IgaGVyZWJ5IGdyYW50cyBSZWNpcGllbnQgYQ0Kbm9uLWV4Y2x1c2l2ZSwgd29ybGR3aWRl LCByb3lhbHR5LWZyZWUgcGF0ZW50IGxpY2Vuc2UgdW5kZXIgTGljZW5zZWQgUGF0ZW50cyB0byBt YWtlLCB1c2UsIHNlbGwsDQpvZmZlciB0byBzZWxsLCBpbXBvcnQgYW5kIG90aGVyd2lzZSB0cmFu c2ZlciB0aGUgQ29udHJpYnV0aW9uIG9mIHN1Y2ggQ29udHJpYnV0b3IsIGlmIGFueSwgaW4gc291 cmNlDQpjb2RlIGFuZCBvYmplY3QgY29kZSBmb3JtLiBUaGlzIHBhdGVudCBsaWNlbnNlIHNoYWxs IGFwcGx5IHRvIHRoZSBjb21iaW5hdGlvbiBvZiB0aGUgQ29udHJpYnV0aW9uDQphbmQgdGhlIFBy b2dyYW0gaWYsIGF0IHRoZSB0aW1lIHRoZSBDb250cmlidXRpb24gaXMgYWRkZWQgYnkgdGhlIENv bnRyaWJ1dG9yLCBzdWNoIGFkZGl0aW9uIG9mIHRoZQ0KQ29udHJpYnV0aW9uIGNhdXNlcyBzdWNo IGNvbWJpbmF0aW9uIHRvIGJlIGNvdmVyZWQgYnkgdGhlIExpY2Vuc2VkIFBhdGVudHMuIFRoZSBw YXRlbnQgbGljZW5zZQ0Kc2hhbGwgbm90IGFwcGx5IHRvIGFueSBvdGhlciBjb21iaW5hdGlvbnMg d2hpY2ggaW5jbHVkZSB0aGUgQ29udHJpYnV0aW9uLiBObyBoYXJkd2FyZSBwZXIgc2UgaXMNCmxp Y2Vuc2VkIGhlcmV1bmRlci4NCg0KYykgUmVjaXBpZW50IHVuZGVyc3RhbmRzIHRoYXQgYWx0aG91 Z2ggZWFjaCBDb250cmlidXRvciBncmFudHMgdGhlIGxpY2Vuc2VzIHRvIGl0cyBDb250cmlidXRp b25zIHNldA0KZm9ydGggaGVyZWluLCBubyBhc3N1cmFuY2VzIGFyZSBwcm92aWRlZCBieSBhbnkg Q29udHJpYnV0b3IgdGhhdCB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBpbmZyaW5nZSB0aGUNCnBhdGVu dCBvciBvdGhlciBpbnRlbGxlY3R1YWwgcHJvcGVydHkgcmlnaHRzIG9mIGFueSBvdGhlciBlbnRp dHkuIEVhY2ggQ29udHJpYnV0b3IgZGlzY2xhaW1zIGFueQ0KbGlhYmlsaXR5IHRvIFJlY2lwaWVu dCBmb3IgY2xhaW1zIGJyb3VnaHQgYnkgYW55IG90aGVyIGVudGl0eSBiYXNlZCBvbiBpbmZyaW5n ZW1lbnQgb2YgaW50ZWxsZWN0dWFsDQpwcm9wZXJ0eSByaWdodHMgb3Igb3RoZXJ3aXNlLiBBcyBh IGNvbmRpdGlvbiB0byBleGVyY2lzaW5nIHRoZSByaWdodHMgYW5kIGxpY2Vuc2VzIGdyYW50ZWQN CmhlcmV1bmRlciwgZWFjaCBSZWNpcGllbnQgaGVyZWJ5IGFzc3VtZXMgc29sZSByZXNwb25zaWJp bGl0eSB0byBzZWN1cmUgYW55IG90aGVyIGludGVsbGVjdHVhbA0KcHJvcGVydHkgcmlnaHRzIG5l ZWRlZCwgaWYgYW55LiBGb3IgZXhhbXBsZSwgaWYgYSB0aGlyZCBwYXJ0eSBwYXRlbnQgbGljZW5z ZSBpcyByZXF1aXJlZCB0byBhbGxvdw0KUmVjaXBpZW50IHRvIGRpc3RyaWJ1dGUgdGhlIFByb2dy YW0sIGl0IGlzIFJlY2lwaWVudCdzIHJlc3BvbnNpYmlsaXR5IHRvIGFjcXVpcmUgdGhhdCBsaWNl bnNlIGJlZm9yZQ0KZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtLg0KDQpkKSBFYWNoIENvbnRyaWJ1 dG9yIHJlcHJlc2VudHMgdGhhdCB0byBpdHMga25vd2xlZGdlIGl0IGhhcyBzdWZmaWNpZW50IGNv cHlyaWdodCByaWdodHMgaW4gaXRzDQpDb250cmlidXRpb24sIGlmIGFueSwgdG8gZ3JhbnQgdGhl IGNvcHlyaWdodCBsaWNlbnNlIHNldCBmb3J0aCBpbiB0aGlzIEFncmVlbWVudC4NCg0KMy4gUkVR VUlSRU1FTlRTDQoNCkEgQ29udHJpYnV0b3IgbWF5IGNob29zZSB0byBkaXN0cmlidXRlIHRoZSBQ cm9ncmFtIGluIG9iamVjdCBjb2RlIGZvcm0gdW5kZXIgaXRzIG93biBsaWNlbnNlDQphZ3JlZW1l bnQsIHByb3ZpZGVkIHRoYXQ6DQoNCmEpIGl0IGNvbXBsaWVzIHdpdGggdGhlIHRlcm1zIGFuZCBj b25kaXRpb25zIG9mIHRoaXMgQWdyZWVtZW50OyBhbmQNCg0KYikgaXRzIGxpY2Vuc2UgYWdyZWVt ZW50Og0KDQppKSBlZmZlY3RpdmVseSBkaXNjbGFpbXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmli dXRvcnMgYWxsIHdhcnJhbnRpZXMgYW5kIGNvbmRpdGlvbnMsIGV4cHJlc3MgYW5kIA0KaW1wbGll ZCwgaW5jbHVkaW5nIHdhcnJhbnRpZXMgb3IgY29uZGl0aW9ucyBvZiB0aXRsZSBhbmQgbm9uLWlu ZnJpbmdlbWVudCwgYW5kIGltcGxpZWQgd2FycmFudGllcyBvcg0KY29uZGl0aW9ucyBvZiBtZXJj aGFudGFiaWxpdHkgYW5kIGZpdG5lc3MgZm9yIGEgcGFydGljdWxhciBwdXJwb3NlOw0KDQppaSkg ZWZmZWN0aXZlbHkgZXhjbHVkZXMgb24gYmVoYWxmIG9mIGFsbCBDb250cmlidXRvcnMgYWxsIGxp YWJpbGl0eSBmb3IgZGFtYWdlcywgaW5jbHVkaW5nIGRpcmVjdCwNCmluZGlyZWN0LCBzcGVjaWFs LCBpbmNpZGVudGFsIGFuZCBjb25zZXF1ZW50aWFsIGRhbWFnZXMsIHN1Y2ggYXMgbG9zdCBwcm9m aXRzOw0KDQppaWkpIHN0YXRlcyB0aGF0IGFueSBwcm92aXNpb25zIHdoaWNoIGRpZmZlciBmcm9t IHRoaXMgQWdyZWVtZW50IGFyZSBvZmZlcmVkIGJ5IHRoYXQgQ29udHJpYnV0b3INCmFsb25lIGFu ZCBub3QgYnkgYW55IG90aGVyIHBhcnR5OyBhbmQNCg0KaXYpIHN0YXRlcyB0aGF0IHNvdXJjZSBj b2RlIGZvciB0aGUgUHJvZ3JhbSBpcyBhdmFpbGFibGUgZnJvbSBzdWNoIENvbnRyaWJ1dG9yLCBh bmQgaW5mb3Jtcw0KbGljZW5zZWVzIGhvdyB0byBvYnRhaW4gaXQgaW4gYSByZWFzb25hYmxlIG1h bm5lciBvbiBvciB0aHJvdWdoIGEgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yDQpzb2Z0d2Fy ZSBleGNoYW5nZS4NCg0KV2hlbiB0aGUgUHJvZ3JhbSBpcyBtYWRlIGF2YWlsYWJsZSBpbiBzb3Vy Y2UgY29kZSBmb3JtOg0KDQphKSBpdCBtdXN0IGJlIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoaXMg QWdyZWVtZW50OyBhbmQNCg0KYikgYSBjb3B5IG9mIHRoaXMgQWdyZWVtZW50IG11c3QgYmUgaW5j bHVkZWQgd2l0aCBlYWNoIGNvcHkgb2YgdGhlIFByb2dyYW0uDQoNCkNvbnRyaWJ1dG9ycyBtYXkg bm90IHJlbW92ZSBvciBhbHRlciBhbnkgY29weXJpZ2h0IG5vdGljZXMgY29udGFpbmVkIHdpdGhp biB0aGUgUHJvZ3JhbS4NCg0KRWFjaCBDb250cmlidXRvciBtdXN0IGlkZW50aWZ5IGl0c2VsZiBh cyB0aGUgb3JpZ2luYXRvciBvZiBpdHMgQ29udHJpYnV0aW9uLCBpZiBhbnksIGluIGEgbWFubmVy IHRoYXQgDQpyZWFzb25hYmx5IGFsbG93cyBzdWJzZXF1ZW50IFJlY2lwaWVudHMgdG8gaWRlbnRp ZnkgdGhlIG9yaWdpbmF0b3Igb2YgdGhlIENvbnRyaWJ1dGlvbi4NCg0KNC4gQ09NTUVSQ0lBTCBE SVNUUklCVVRJT04NCg0KQ29tbWVyY2lhbCBkaXN0cmlidXRvcnMgb2Ygc29mdHdhcmUgbWF5IGFj Y2VwdCBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgd2l0aCByZXNwZWN0IHRvIGVuZCB1c2VycywN CmJ1c2luZXNzIHBhcnRuZXJzIGFuZCB0aGUgbGlrZS4gV2hpbGUgdGhpcyBsaWNlbnNlIGlzIGlu dGVuZGVkIHRvIGZhY2lsaXRhdGUgdGhlIGNvbW1lcmNpYWwgdXNlIG9mIHRoZQ0KUHJvZ3JhbSwg dGhlIENvbnRyaWJ1dG9yIHdobyBpbmNsdWRlcyB0aGUgUHJvZ3JhbSBpbiBhIGNvbW1lcmNpYWwg cHJvZHVjdCBvZmZlcmluZyBzaG91bGQgZG8gc28gaW4NCmEgbWFubmVyIHdoaWNoIGRvZXMgbm90 IGNyZWF0ZSBwb3RlbnRpYWwgbGlhYmlsaXR5IGZvciBvdGhlciBDb250cmlidXRvcnMuIFRoZXJl Zm9yZSwgaWYgYSBDb250cmlidXRvcg0KaW5jbHVkZXMgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJj aWFsIHByb2R1Y3Qgb2ZmZXJpbmcsIHN1Y2ggQ29udHJpYnV0b3IgKCJDb21tZXJjaWFsIENvbnRy aWJ1dG9yIikNCmhlcmVieSBhZ3JlZXMgdG8gZGVmZW5kIGFuZCBpbmRlbW5pZnkgZXZlcnkgb3Ro ZXIgQ29udHJpYnV0b3IgKCJJbmRlbW5pZmllZCBDb250cmlidXRvciIpIGFnYWluc3QNCmFueSBs b3NzZXMsIGRhbWFnZXMgYW5kIGNvc3RzIChjb2xsZWN0aXZlbHkgIkxvc3NlcyIpIGFyaXNpbmcg ZnJvbSBjbGFpbXMsIGxhd3N1aXRzIGFuZCBvdGhlciBsZWdhbA0KYWN0aW9ucyBicm91Z2h0IGJ5 IGEgdGhpcmQgcGFydHkgYWdhaW5zdCB0aGUgSW5kZW1uaWZpZWQgQ29udHJpYnV0b3IgdG8gdGhl IGV4dGVudCBjYXVzZWQgYnkgdGhlDQphY3RzIG9yIG9taXNzaW9ucyBvZiBzdWNoIENvbW1lcmNp YWwgQ29udHJpYnV0b3IgaW4gY29ubmVjdGlvbiB3aXRoIGl0cyBkaXN0cmlidXRpb24gb2YgdGhl IFByb2dyYW0NCmluIGEgY29tbWVyY2lhbCBwcm9kdWN0IG9mZmVyaW5nLiBUaGUgb2JsaWdhdGlv bnMgaW4gdGhpcyBzZWN0aW9uIGRvIG5vdCBhcHBseSB0byBhbnkgY2xhaW1zIG9yIA0KTG9zc2Vz IHJlbGF0aW5nIHRvIGFueSBhY3R1YWwgb3IgYWxsZWdlZCBpbnRlbGxlY3R1YWwgcHJvcGVydHkg aW5mcmluZ2VtZW50LiBJbiBvcmRlciB0byBxdWFsaWZ5LCBhbiANCkluZGVtbmlmaWVkIENvbnRy aWJ1dG9yIG11c3Q6IGEpIHByb21wdGx5IG5vdGlmeSB0aGUgQ29tbWVyY2lhbCBDb250cmlidXRv ciBpbiB3cml0aW5nIG9mIHN1Y2ggDQpjbGFpbSwgYW5kIGIpIGFsbG93IHRoZSBDb21tZXJjaWFs IENvbnRyaWJ1dG9yIHRvIGNvbnRyb2wsIGFuZCBjb29wZXJhdGUgd2l0aCB0aGUgQ29tbWVyY2lh bCANCkNvbnRyaWJ1dG9yIGluLCB0aGUgZGVmZW5zZSBhbmQgYW55IHJlbGF0ZWQgc2V0dGxlbWVu dCBuZWdvdGlhdGlvbnMuIFRoZSBJbmRlbW5pZmllZCBDb250cmlidXRvciANCm1heSBwYXJ0aWNp cGF0ZSBpbiBhbnkgc3VjaCBjbGFpbSBhdCBpdHMgb3duIGV4cGVuc2UuDQoNCkZvciBleGFtcGxl LCBhIENvbnRyaWJ1dG9yIG1pZ2h0IGluY2x1ZGUgdGhlIFByb2dyYW0gaW4gYSBjb21tZXJjaWFs IHByb2R1Y3Qgb2ZmZXJpbmcsIFByb2R1Y3QgWC4NClRoYXQgQ29udHJpYnV0b3IgaXMgdGhlbiBh IENvbW1lcmNpYWwgQ29udHJpYnV0b3IuIElmIHRoYXQgQ29tbWVyY2lhbCBDb250cmlidXRvciB0 aGVuIG1ha2VzIA0KcGVyZm9ybWFuY2UgY2xhaW1zLCBvciBvZmZlcnMgd2FycmFudGllcyByZWxh dGVkIHRvIFByb2R1Y3QgWCwgdGhvc2UgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCANCndhcnJhbnRp ZXMgYXJlIHN1Y2ggQ29tbWVyY2lhbCBDb250cmlidXRvcidzIHJlc3BvbnNpYmlsaXR5IGFsb25l LiBVbmRlciB0aGlzIHNlY3Rpb24sIHRoZSANCkNvbW1lcmNpYWwgQ29udHJpYnV0b3Igd291bGQg aGF2ZSB0byBkZWZlbmQgY2xhaW1zIGFnYWluc3QgdGhlIG90aGVyIENvbnRyaWJ1dG9ycyByZWxh dGVkIHRvIA0KdGhvc2UgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCB3YXJyYW50aWVzLCBhbmQgaWYg YSBjb3VydCByZXF1aXJlcyBhbnkgb3RoZXIgQ29udHJpYnV0b3IgdG8gcGF5IGFueSANCmRhbWFn ZXMgYXMgYSByZXN1bHQsIHRoZSBDb21tZXJjaWFsIENvbnRyaWJ1dG9yIG11c3QgcGF5IHRob3Nl IGRhbWFnZXMuDQoNCjUuIE5PIFdBUlJBTlRZDQoNCkVYQ0VQVCBBUyBFWFBSRVNTTFkgU0VUIEZP UlRIIElOIFRISVMgQUdSRUVNRU5ULCBUSEUgUFJPR1JBTSBJUyBQUk9WSURFRCBPTiBBTiAiQVMg DQpJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5E LCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVEIA0KSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJ T04sIEFOWSBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgVElUTEUsIA0KTk9OLUlORlJJTkdF TUVOVCwgTUVSQ0hBTlRBQklMSVRZIE9SIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiBFYWNoIFJlY2lwaWVudCANCmlzIHNvbGVseSByZXNwb25zaWJsZSBmb3IgZGV0ZXJtaW5pbmcg dGhlIGFwcHJvcHJpYXRlbmVzcyBvZiB1c2luZyBhbmQgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFt IGFuZCANCmFzc3VtZXMgYWxsIHJpc2tzIGFzc29jaWF0ZWQgd2l0aCBpdHMgZXhlcmNpc2Ugb2Yg cmlnaHRzIHVuZGVyIHRoaXMgQWdyZWVtZW50ICwgaW5jbHVkaW5nIGJ1dCBub3QgDQpsaW1pdGVk IHRvIHRoZSByaXNrcyBhbmQgY29zdHMgb2YgcHJvZ3JhbSBlcnJvcnMsIGNvbXBsaWFuY2Ugd2l0 aCBhcHBsaWNhYmxlIGxhd3MsIGRhbWFnZSB0byBvciBsb3NzIA0Kb2YgZGF0YSwgcHJvZ3JhbXMg b3IgZXF1aXBtZW50LCBhbmQgdW5hdmFpbGFiaWxpdHkgb3IgaW50ZXJydXB0aW9uIG9mIG9wZXJh dGlvbnMuDQoNCjYuIERJU0NMQUlNRVIgT0YgTElBQklMSVRZDQoNCkVYQ0VQVCBBUyBFWFBSRVNT TFkgU0VUIEZPUlRIIElOIFRISVMgQUdSRUVNRU5ULCBORUlUSEVSIFJFQ0lQSUVOVCBOT1IgQU5Z IA0KQ09OVFJJQlVUT1JTIFNIQUxMIEhBVkUgQU5ZIExJQUJJTElUWSBGT1IgQU5ZIERJUkVDVCwg SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIA0KRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U SUFMIERBTUFHRVMgKElOQ0xVRElORyBXSVRIT1VUIExJTUlUQVRJT04gTE9TVCBQUk9GSVRTKSwg DQpIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVCANCkxJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSANClVTRSBP UiBESVNUUklCVVRJT04gT0YgVEhFIFBST0dSQU0gT1IgVEhFIEVYRVJDSVNFIE9GIEFOWSBSSUdI VFMgR1JBTlRFRCBIRVJFVU5ERVIsIA0KRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU WSBPRiBTVUNIIERBTUFHRVMuDQoNCjcuIEdFTkVSQUwNCg0KSWYgYW55IHByb3Zpc2lvbiBvZiB0 aGlzIEFncmVlbWVudCBpcyBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIgYXBwbGljYWJs ZSBsYXcsIGl0IHNoYWxsIG5vdCANCmFmZmVjdCB0aGUgdmFsaWRpdHkgb3IgZW5mb3JjZWFiaWxp dHkgb2YgdGhlIHJlbWFpbmRlciBvZiB0aGUgdGVybXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGFuZCB3 aXRob3V0IA0KZnVydGhlciBhY3Rpb24gYnkgdGhlIHBhcnRpZXMgaGVyZXRvLCBzdWNoIHByb3Zp c2lvbiBzaGFsbCBiZSByZWZvcm1lZCB0byB0aGUgbWluaW11bSBleHRlbnQgDQpuZWNlc3Nhcnkg dG8gbWFrZSBzdWNoIHByb3Zpc2lvbiB2YWxpZCBhbmQgZW5mb3JjZWFibGUuDQoNCklmIFJlY2lw aWVudCBpbnN0aXR1dGVzIHBhdGVudCBsaXRpZ2F0aW9uIGFnYWluc3QgYW55IGVudGl0eSAoaW5j bHVkaW5nIGEgY3Jvc3MtY2xhaW0gb3IgY291bnRlcmNsYWltIGluDQphIGxhd3N1aXQpIGFsbGVn aW5nIHRoYXQgdGhlIFByb2dyYW0gaXRzZWxmIChleGNsdWRpbmcgY29tYmluYXRpb25zIG9mIHRo ZSBQcm9ncmFtIHdpdGggb3RoZXIgDQpzb2Z0d2FyZSBvciBoYXJkd2FyZSkgaW5mcmluZ2VzIHN1 Y2ggUmVjaXBpZW50J3MgcGF0ZW50KHMpLCB0aGVuIHN1Y2ggUmVjaXBpZW50J3MgcmlnaHRzIGdy YW50ZWQgDQp1bmRlciBTZWN0aW9uIDIoYikgc2hhbGwgdGVybWluYXRlIGFzIG9mIHRoZSBkYXRl IHN1Y2ggbGl0aWdhdGlvbiBpcyBmaWxlZC4NCg0KQWxsIFJlY2lwaWVudCdzIHJpZ2h0cyB1bmRl ciB0aGlzIEFncmVlbWVudCBzaGFsbCB0ZXJtaW5hdGUgaWYgaXQgZmFpbHMgdG8gY29tcGx5IHdp dGggYW55IG9mIHRoZSANCm1hdGVyaWFsIHRlcm1zIG9yIGNvbmRpdGlvbnMgb2YgdGhpcyBBZ3Jl ZW1lbnQgYW5kIGRvZXMgbm90IGN1cmUgc3VjaCBmYWlsdXJlIGluIGEgcmVhc29uYWJsZSANCnBl cmlvZCBvZiB0aW1lIGFmdGVyIGJlY29taW5nIGF3YXJlIG9mIHN1Y2ggbm9uY29tcGxpYW5jZS4g SWYgYWxsIFJlY2lwaWVudCdzIHJpZ2h0cyB1bmRlciB0aGlzIA0KQWdyZWVtZW50IHRlcm1pbmF0 ZSwgUmVjaXBpZW50IGFncmVlcyB0byBjZWFzZSB1c2UgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGUg UHJvZ3JhbSBhcyBzb29uIGFzIA0KcmVhc29uYWJseSBwcmFjdGljYWJsZS4gSG93ZXZlciwgUmVj aXBpZW50J3Mgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcyBBZ3JlZW1lbnQgYW5kIGFueSBsaWNlbnNl cyANCmdyYW50ZWQgYnkgUmVjaXBpZW50IHJlbGF0aW5nIHRvIHRoZSBQcm9ncmFtIHNoYWxsIGNv bnRpbnVlIGFuZCBzdXJ2aXZlLg0KDQpFdmVyeW9uZSBpcyBwZXJtaXR0ZWQgdG8gY29weSBhbmQg ZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhpcyBBZ3JlZW1lbnQsIGJ1dCBpbiBvcmRlciB0byBhdm9p ZCANCmluY29uc2lzdGVuY3kgdGhlIEFncmVlbWVudCBpcyBjb3B5cmlnaHRlZCBhbmQgbWF5IG9u bHkgYmUgbW9kaWZpZWQgaW4gdGhlIGZvbGxvd2luZyBtYW5uZXIuIFRoZSANCkFncmVlbWVudCBT dGV3YXJkIHJlc2VydmVzIHRoZSByaWdodCB0byBwdWJsaXNoIG5ldyB2ZXJzaW9ucyAoaW5jbHVk aW5nIHJldmlzaW9ucykgb2YgdGhpcyANCkFncmVlbWVudCBmcm9tIHRpbWUgdG8gdGltZS4gTm8g b25lIG90aGVyIHRoYW4gdGhlIEFncmVlbWVudCBTdGV3YXJkIGhhcyB0aGUgcmlnaHQgdG8gbW9k aWZ5IA0KdGhpcyBBZ3JlZW1lbnQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gaXMgdGhlIGluaXRp YWwgQWdyZWVtZW50IFN0ZXdhcmQuIFRoZSBFY2xpcHNlIEZvdW5kYXRpb24gDQptYXkgYXNzaWdu IHRoZSByZXNwb25zaWJpbGl0eSB0byBzZXJ2ZSBhcyB0aGUgQWdyZWVtZW50IFN0ZXdhcmQgdG8g YSBzdWl0YWJsZSBzZXBhcmF0ZSBlbnRpdHkuIA0KRWFjaCBuZXcgdmVyc2lvbiBvZiB0aGUgQWdy ZWVtZW50IHdpbGwgYmUgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gVGhl IFByb2dyYW0gDQooaW5jbHVkaW5nIENvbnRyaWJ1dGlvbnMpIG1heSBhbHdheXMgYmUgZGlzdHJp YnV0ZWQgc3ViamVjdCB0byB0aGUgdmVyc2lvbiBvZiB0aGUgQWdyZWVtZW50IHVuZGVyIA0Kd2hp Y2ggaXQgd2FzIHJlY2VpdmVkLiBJbiBhZGRpdGlvbiwgYWZ0ZXIgYSBuZXcgdmVyc2lvbiBvZiB0 aGUgQWdyZWVtZW50IGlzIHB1Ymxpc2hlZCwgQ29udHJpYnV0b3IgDQptYXkgZWxlY3QgdG8gZGlz dHJpYnV0ZSB0aGUgUHJvZ3JhbSAoaW5jbHVkaW5nIGl0cyBDb250cmlidXRpb25zKSB1bmRlciB0 aGUgbmV3IHZlcnNpb24uIEV4Y2VwdCBhcyANCmV4cHJlc3NseSBzdGF0ZWQgaW4gU2VjdGlvbnMg MihhKSBhbmQgMihiKSBhYm92ZSwgUmVjaXBpZW50IHJlY2VpdmVzIG5vIHJpZ2h0cyBvciBsaWNl bnNlcyB0byB0aGUgDQppbnRlbGxlY3R1YWwgcHJvcGVydHkgb2YgYW55IENvbnRyaWJ1dG9yIHVu ZGVyIHRoaXMgQWdyZWVtZW50LCB3aGV0aGVyIGV4cHJlc3NseSwgYnkgaW1wbGljYXRpb24sIA0K ZXN0b3BwZWwgb3Igb3RoZXJ3aXNlLiBBbGwgcmlnaHRzIGluIHRoZSBQcm9ncmFtIG5vdCBleHBy ZXNzbHkgZ3JhbnRlZCB1bmRlciB0aGlzIEFncmVlbWVudCBhcmUgDQpyZXNlcnZlZC4NCg0KVGhp cyBBZ3JlZW1lbnQgaXMgZ292ZXJuZWQgYnkgdGhlIGxhd3Mgb2YgdGhlIFN0YXRlIG9mIE5ldyBZ b3JrIGFuZCB0aGUgaW50ZWxsZWN0dWFsIHByb3BlcnR5IA0KbGF3cyBvZiB0aGUgVW5pdGVkIFN0 YXRlcyBvZiBBbWVyaWNhLiBObyBwYXJ0eSB0byB0aGlzIEFncmVlbWVudCB3aWxsIGJyaW5nIGEg bGVnYWwgYWN0aW9uIHVuZGVyIA0KdGhpcyBBZ3JlZW1lbnQgbW9yZSB0aGFuIG9uZSB5ZWFyIGFm dGVyIHRoZSBjYXVzZSBvZiBhY3Rpb24gYXJvc2UuIEVhY2ggcGFydHkgd2FpdmVzIGl0cyByaWdo dHMgdG8gDQphIGp1cnkgdHJpYWwgaW4gYW55IHJlc3VsdGluZyBsaXRpZ2F0aW9uLg0KDQo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQ0KVGhlIGZvbGxvd2luZyBsaWNlbnNlIGFwcGxpZXMgdG8gaHNxbGRiLmph cg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCkZvciB3b3JrIGRldmVsb3BlZCBieSB0aGUgSFNRTCBEZXZl bG9wbWVudCBHcm91cDoNCg0KQ29weXJpZ2h0IChjKSAyMDAxLTIwMTAsIFRoZSBIU1FMIERldmVs b3BtZW50IEdyb3VwDQpBbGwgcmlnaHRzIHJlc2VydmVkLg0KDQpSZWRpc3RyaWJ1dGlvbiBhbmQg dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCm1vZGlmaWNh dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u cyBhcmUgbWV0Og0KDQpSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIHRoaXMNCmxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KDQpSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsDQp0aGlzIGxpc3Qg b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVu dGF0aW9uDQphbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1 dGlvbi4NCg0KTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgSFNRTCBEZXZlbG9wbWVudCBHcm91cCBu b3IgdGhlIG5hbWVzIG9mIGl0cw0KY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcw0Kc29mdHdhcmUgd2l0aG91dCBz cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uDQoNClRISVMgU09GVFdBUkUgSVMgUFJP VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIg0K QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U IExJTUlURUQgVE8sIFRIRQ0KSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UNCkFSRSBESVNDTEFJTUVELiBJTiBO TyBFVkVOVCBTSEFMTCBIU1FMIERFVkVMT1BNRU5UIEdST1VQLCBIU1FMREIuT1JHLA0KT1IgQ09O VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws IFNQRUNJQUwsDQpFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H LCBCVVQgTk9UIExJTUlURUQgVE8sDQpQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S IFNFUlZJQ0VTOw0KTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EDQpPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVA0KKElOQ0xV RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU SEUgVVNFIE9GIFRISVMNClNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM SVRZIE9GIFNVQ0ggREFNQUdFLg0KDQoNCkZvciB3b3JrIG9yaWdpbmFsbHkgZGV2ZWxvcGVkIGJ5 IHRoZSBIeXBlcnNvbmljIFNRTCBHcm91cDoNCg0KQ29weXJpZ2h0IChjKSAxOTk1LTIwMDAgYnkg dGhlIEh5cGVyc29uaWMgU1FMIEdyb3VwLg0KQWxsIHJpZ2h0cyByZXNlcnZlZC4NCg0KUmVkaXN0 cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo b3V0DQptb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93 aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoNCg0KUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzDQpsaXN0IG9mIGNv bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCg0KUmVkaXN0cmlidXRpb25z IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl LA0KdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp biB0aGUgZG9jdW1lbnRhdGlvbg0KYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo IHRoZSBkaXN0cmlidXRpb24uDQoNCk5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEh5cGVyc29uaWMg U1FMIEdyb3VwIG5vciB0aGUgbmFtZXMgb2YgaXRzDQpjb250cmlidXRvcnMgbWF5IGJlIHVzZWQg dG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzDQpzb2Z0d2Fy ZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCg0KVEhJUyBTT0ZU V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S UyAiQVMgSVMiDQpBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KQVJFIERJU0NM QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBIWVBFUlNPTklDIFNRTCBHUk9VUCwNCk9SIENP TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM LCBTUEVDSUFMLA0KRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO RywgQlVUIE5PVCBMSU1JVEVEIFRPLA0KUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP UiBTRVJWSUNFUzsNCkxPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORA0KT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCihJTkNM VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg VEhFIFVTRSBPRiBUSElTDQpTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ TElUWSBPRiBTVUNIIERBTUFHRS4NCg0KVGhpcyBzb2Z0d2FyZSBjb25zaXN0cyBvZiB2b2x1bnRh cnkgY29udHJpYnV0aW9ucyBtYWRlIGJ5IG1hbnkgaW5kaXZpZHVhbHMgb24gYmVoYWxmIG9mIHRo ZQ0KSHlwZXJzb25pYyBTUUwgR3JvdXAuDQoNCg0K --0016364ed5de1ade1a049953b78a Content-Type: text/plain; charset=US-ASCII; name="NOTICE.txt" Content-Disposition: attachment; filename="NOTICE.txt" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gioertix1 QXBhY2hlIE1hbmlmb2xkQ0YNCkNvcHlyaWdodCAyMDEwIFRoZSBBcGFjaGUgU29mdHdhcmUgRm91 bmRhdGlvbg0KDQpUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5DQpU aGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24gKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy8pLg0K DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09DQo9PSAgICAgSmV0dHkgTm90aWNlICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID09DQo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KIEpldHR5IFdlYiBDb250YWluZXIgDQogQ29weXJpZ2h0IDE5OTUtMjAwNiBNb3J0IEJh eSBDb25zdWx0aW5nIFB0eSBMdGQNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQoNClRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb21l IHNvZnR3YXJlIGRldmVsb3BlZCBhdCBUaGUgQXBhY2hlIFNvZnR3YXJlIA0KRm91bmRhdGlvbiAo aHR0cDovL3d3dy5hcGFjaGUub3JnLykuDQoNClRoZSBqYXZheC5zZXJ2bGV0IHBhY2thZ2UgdXNl ZCBieSBKZXR0eSBpcyBjb3B5cmlnaHQgDQpTdW4gTWljcm9zeXN0ZW1zLCBJbmMgYW5kIEFwYWNo ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiBJdCBpcyANCmRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBDb21t b24gRGV2ZWxvcG1lbnQgYW5kIERpc3RyaWJ1dGlvbiBMaWNlbnNlLg0KWW91IGNhbiBvYnRhaW4g YSBjb3B5IG9mIHRoZSBsaWNlbnNlIGF0IA0KaHR0cHM6Ly9nbGFzc2Zpc2guZGV2LmphdmEubmV0 L3B1YmxpYy9DRERMdjEuMC5odG1sLg0KDQpUaGUgVW5peENyeXB0LmphdmEgY29kZSB+SW1wbGVt ZW50cyB0aGUgb25lIHdheSBjcnlwdG9ncmFwaHkgdXNlZCBieQ0KVW5peCBzeXN0ZW1zIGZvciBz aW1wbGUgcGFzc3dvcmQgcHJvdGVjdGlvbi4gIENvcHlyaWdodCAxOTk2IEFraSBZb3NoaWRhLA0K bW9kaWZpZWQgQXByaWwgMjAwMSAgYnkgSXJpcyBWYW4gZGVuIEJyb2VrZSwgRGFuaWVsIERldmls bGUuDQoNClRoZSBkZWZhdWx0IEpTUCBpbXBsZW1lbnRhdGlvbiBpcyBwcm92aWRlZCBieSB0aGUg R2xhc3NmaXNoIEpTUCBlbmdpbmUNCmZyb20gcHJvamVjdCBHbGFzc2Zpc2ggaHR0cDovL2dsYXNz ZmlzaC5kZXYuamF2YS5uZXQuICBDb3B5cmlnaHQgMjAwNQ0KU3VuIE1pY3Jvc3lzdGVtcywgSW5j LiBhbmQgcG9ydGlvbnMgQ29weXJpZ2h0IEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLg0KDQpT b21lIHBvcnRpb25zIG9mIHRoZSBjb2RlIGFyZSBDb3B5cmlnaHQ6DQogIDIwMDYgVGltIFZlcm51 bSANCiAgMTk5OSBKYXNvbiBHaWxiZXJ0Lg0KDQpUaGUgamJvc3MgaW50ZWdyYXRpb24gbW9kdWxl IGNvbnRhaW5zIHNvbWUgTEdQTCBjb2RlLg0KDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo9PSAgICAgSFNR TERCIE5vdGljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgID09DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09DQoNCkZvciBjb250ZW50LCBjb2RlLCBhbmQgcHJvZHVj dHMgb3JpZ2luYWxseSBkZXZlbG9wZWQgYnkgVGhvbWFzIE11ZWxsZXIgYW5kIHRoZSBIeXBlcnNv bmljIFNRTCBHcm91cDoNCg0KQ29weXJpZ2h0IChjKSAxOTk1LTIwMDAgYnkgdGhlIEh5cGVyc29u aWMgU1FMIEdyb3VwLg0KQWxsIHJpZ2h0cyByZXNlcnZlZC4NCg0KUmVkaXN0cmlidXRpb24gYW5k IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQptb2RpZmlj YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv bnMgYXJlIG1ldDoNCg0KUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCB0aGlzDQpsaXN0IG9mIGNvbmRpdGlvbnMgYW5k IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCg0KUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLA0KdGhpcyBsaXN0 IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l bnRhdGlvbg0KYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli dXRpb24uDQoNCk5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIEh5cGVyc29uaWMgU1FMIEdyb3VwIG5v ciB0aGUgbmFtZXMgb2YgaXRzDQpjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBv ciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzDQpzb2Z0d2FyZSB3aXRob3V0IHNw ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCg0KVEhJUyBTT0ZUV0FSRSBJUyBQUk9W SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAiQVMgSVMiDQpB TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywgVEhFDQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KQVJFIERJU0NMQUlNRUQuIElOIE5P IEVWRU5UIFNIQUxMIFRIRSBIWVBFUlNPTklDIFNRTCBHUk9VUCwNCk9SIENPTlRSSUJVVE9SUyBC RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLA0K RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM SU1JVEVEIFRPLA0KUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsN CkxPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p IEhPV0VWRVIgQ0FVU0VEIEFORA0KT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCihJTkNMVURJTkcgTkVHTElH RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU SElTDQpTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI IERBTUFHRS4NCg0KVGhpcyBzb2Z0d2FyZSBjb25zaXN0cyBvZiB2b2x1bnRhcnkgY29udHJpYnV0 aW9ucyBtYWRlIGJ5IG1hbnkgaW5kaXZpZHVhbHMgb24gYmVoYWxmIG9mIHRoZQ0KSHlwZXJzb25p YyBTUUwgR3JvdXAuDQoNCkZvciB3b3JrIGFkZGVkIGJ5IHRoZSBIU1FMIERldmVsb3BtZW50IEdy b3VwIChhLmsuYS4gaHNxbGRiX2xpYy50eHQpOg0KDQpDb3B5cmlnaHQgKGMpIDIwMDEtMjAwNSwg VGhlIEhTUUwgRGV2ZWxvcG1lbnQgR3JvdXANCkFsbCByaWdodHMgcmVzZXJ2ZWQuDQoNClJlZGlz dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0 aG91dA0KbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv d2luZyBjb25kaXRpb25zIGFyZSBtZXQ6DQoNClJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgdGhpcw0KbGlzdCBvZiBj b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuDQoNClJlZGlzdHJpYnV0aW9u cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj ZSwNCnRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg aW4gdGhlIGRvY3VtZW50YXRpb24NCmFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0 aCB0aGUgZGlzdHJpYnV0aW9uLg0KDQpOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBIU1FMIERldmVs b3BtZW50IEdyb3VwIG5vciB0aGUgbmFtZXMgb2YgaXRzDQpjb250cmlidXRvcnMgbWF5IGJlIHVz ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzDQpzb2Z0 d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4NCg0KVEhJUyBT T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV VE9SUyAiQVMgSVMiDQpBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFDQpJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQ0KQVJFIERJ U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEhTUUwgREVWRUxPUE1FTlQgR1JPVVAsIEhTUUxE Qi5PUkcsDQpPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwNCkVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywNClBST0NVUkVNRU5UIE9GIFNVQlNU SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7DQpMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQNCk9OIEFOWSBUSEVP UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP UiBUT1JUDQooSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUw0KU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuDQo= --0016364ed5de1ade1a049953b78a Content-Type: text/plain; charset=us-ascii --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org For additional commands, e-mail: general-help@incubator.apache.org --0016364ed5de1ade1a049953b78a--