Return-Path: X-Original-To: apmail-community-dev-archive@minotaur.apache.org Delivered-To: apmail-community-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B702B182EA for ; Sat, 21 Nov 2015 14:18:58 +0000 (UTC) Received: (qmail 94402 invoked by uid 500); 21 Nov 2015 14:18:58 -0000 Delivered-To: apmail-community-dev-archive@community.apache.org Received: (qmail 94119 invoked by uid 500); 21 Nov 2015 14:18:58 -0000 Mailing-List: contact dev-help@community.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@community.apache.org Delivered-To: mailing list dev@community.apache.org Received: (qmail 94107 invoked by uid 99); 21 Nov 2015 14:18:57 -0000 Received: from Unknown (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 21 Nov 2015 14:18:57 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 7A55CC7D97 for ; Sat, 21 Nov 2015 14:18:57 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.15 X-Spam-Level: X-Spam-Status: No, score=0.15 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, KAM_LOTSOFHASH=0.25, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 4m7hsSLa17k2 for ; Sat, 21 Nov 2015 14:18:47 +0000 (UTC) Received: from na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0119.outbound.protection.outlook.com [65.55.169.119]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id 86B3320C34 for ; Sat, 21 Nov 2015 14:18:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector1; h=From:To:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=X+kqQNeZKho8LLenXkSNIihpCDDEXhMLOp5yZB0qsxc=; b=AiCYqpM1BwqsUuh7GLIp8kqJEEO2N6u5vU2aLdX7tYZW/++WdmIy/LOs52TYcR9IXkzrRuP0fN8dQlqbXJPMTL+yWwTo9G4Cf5ipEYGR79Is9ebQJ/GLpViz6pCl6IMeTVrwIvC4JlMiueJj4xj7d/xDbDvAvsFHLnoj0EyUPrw= Received: from BY2PR03CA012.namprd03.prod.outlook.com (10.255.93.29) by DM2PR0301MB0686.namprd03.prod.outlook.com (10.160.96.24) with Microsoft SMTP Server (TLS) id 15.1.325.17; Sat, 21 Nov 2015 14:18:42 +0000 Received: from BL2FFO11FD020.protection.gbl (10.255.93.4) by BY2PR03CA012.outlook.office365.com (10.255.93.29) with Microsoft SMTP Server (TLS) id 15.1.325.17 via Frontend Transport; Sat, 21 Nov 2015 14:18:41 +0000 Authentication-Results: spf=pass (sender IP is 206.191.229.100) smtp.mailfrom=microsoft.com; community.apache.org; dkim=none (message not signed) header.d=none;community.apache.org; dmarc=pass action=none header.from=microsoft.com; Received-SPF: Pass (protection.outlook.com: domain of microsoft.com designates 206.191.229.100 as permitted sender) receiver=protection.outlook.com; client-ip=206.191.229.100; helo=064-smtp-out.microsoft.com; Received: from 064-smtp-out.microsoft.com (206.191.229.100) by BL2FFO11FD020.mail.protection.outlook.com (10.173.161.38) with Microsoft SMTP Server (TLS) id 15.1.331.11 via Frontend Transport; Sat, 21 Nov 2015 14:18:39 +0000 Received: from SIXPR3002MB0112.064d.mgd.msft.net (141.251.56.84) by SIXPR3002MB0111.064d.mgd.msft.net (141.251.56.83) with Microsoft SMTP Server (TLS) id 15.1.331.15; Sat, 21 Nov 2015 14:18:29 +0000 Received: from SIXPR3002MB0112.064d.mgd.msft.net ([141.251.56.84]) by SIXPR3002MB0112.064d.mgd.msft.net ([141.251.56.84]) with mapi id 15.01.0331.000; Sat, 21 Nov 2015 14:18:29 +0000 From: Ted Liu To: "dev@community.apache.org" CC: "niclas@hedhman.org" Subject: RE: Forming a community of Apache fans in China - Apache China Community Thread-Topic: Forming a community of Apache fans in China - Apache China Community Thread-Index: AdEkFB2zWro8QUW6RZysRi6VfxsY1gAFmWQAAAKGcuAABEjXgAABAMbgAAE6dxAAAGiugAAAje8gAAThPYAAADYcUA== Date: Sat, 21 Nov 2015 14:18:29 +0000 Message-ID: <7ca09594e507419a8d8d4401da5ea89f@SIXPR3002MB0112.064d.mgd.msft.net> References: <7a3b7976c0174d9388682e25f5316583@SIXPR3002MB0112.064d.mgd.msft.net> <20c15c82ec704e829d4013f1fd45051c@SIXPR3002MB0112.064d.mgd.msft.net> <13d0b84300f64c5c9c81ad141602db0d@SIXPR3002MB0112.064d.mgd.msft.net> <8a769cebd78c41b5ac33085ae9d687dc@SIXPR3002MB0112.064d.mgd.msft.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [114.244.74.13] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BL2FFO11FD020;1:LG/xzYjO5VPPwtMqYUil4dBC6UlbG8iylezcUWBhQWn5Zbwf6KL4LPgX0s/0M4xvpCz1odZLmLG6pOe3tmi0mC/B0Bt+URulDUNHneYarlJGbmHDhvpxFoZRPs89ezJInYmobUaJF3wfa3Kbub+IhrK3vuQYSA7SS73Z6wTPSrGE+upUP7Z6zlMW6XT6XRh2B5Vj1QNZoPg2ljAfapi8p3PX5/+BBXz5h9E5T2+gRCZQ7dA4BcO/h8066+bBFMkISSZ+KU7pHmY0KVC+vk7U+fftmBpCh3T8+69oXrk1rQMiFMYt+L3oToTt1YOAQSByOFaMq+6E+cLPCyI4qM2bke/SS104xvNmkDcfOV0Ycgc= X-Forefront-Antispam-Report: CIP:206.191.229.100;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(438002)(13464003)(199003)(24454002)(3905003)(189002)(377454003)(11100500001)(6116002)(19580395003)(5003600100002)(5004730100002)(54356999)(586003)(33646002)(575784001)(87936001)(5003630100001)(24736003)(3846002)(76176999)(86146001)(102836003)(50986999)(106466001)(50466002)(93886004)(69596002)(86362001)(561944003)(2950100001)(189998001)(5005710100001)(19580405001)(86612001)(5008740100001)(81156007)(5007970100001)(15975445007)(2351001)(6806005)(110136002)(10290500002)(2900100001)(5001960100002)(97736004)(16796002)(108616004)(2501003)(10400500002)(66066001)(10090500001)(23676002)(47776003)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:DM2PR0301MB0686;H:064-smtp-out.microsoft.com;FPR:;SPF:Pass;PTR:ErrorRetry;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0686;2:M4AhHGj51kedE4rLxAoB2VyrKjC1UuNO6s+yHYYk6o3oE076AxRIMmzfYiONArdVp0wFkIOrfoN1p/NkL873bmZjrss7Dy7xwoRFARVBR7a1+AqL42wRVxgBiaKAsDzewJA1r+yCNy/sBB7YF1gea1FJSWu1SeqZawtjf5CKWKI=;3:sUZstq8KfkQnO8sbxa78K39jpqQO/cNea5Nx68763Wrv7DeSzAYyn2yllUydqcV5rbbgXD6hzqmDweyImLBmRT5xxnoQbaFLad7etj6CRg3SEt0KZdqL8VINFiFob+tvSEh5FOE2axiJt+fAEgatwvKtu/Xv8wCuoMRfCvFDJHBzaCZZHIyUmQiNGa3i7gsjPpulnoFg4rVNESQzoVBWHD36Ws+UlirfPKu0npNWfCZN9ZxHIDM45tTmzGKy0yvEbAk/rYKs4oxv+9lKJGLX9g==;25:/CDKhLLmSK1qOpAUvDrnI/wZ/VwNXm2BPwu4xpMVqq3ZfG9QYrlZrDUYqkEpAmULL0A9bRDMG0ldipyfJM0atqo5nMfR1wWMMAb980Ms8oNK2qIQWb9Z+PXxYBk0yZNHnsScIx2zUW5F/rRTMUUb6eOLl86CysVO+w3+twhLu7EkoiWzhw/bvD9ms/OmwEu2uah49yYLUOthM+uE8LvS2OKJUIEidPQKiT/qXjO8Yp87g6BjCoUDSOfNf3NlbcuUf7QE6v0My3aqCHW6IPoT0g== X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501001);SRVR:DM2PR0301MB0686; X-O365EOP-Header: O365_EOP: AllowList from IP - set SCL to -1 X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0686;20:SalSXjLrBYzz6iShy3qRvjwt5RrL6jPhNJNSu8d5aQJnN7O2r1Bfh5qL8f3mKn4LWQkYKld0Et/MNvrULLwCuAIEHMZblV2fYxGDfZKKX21vJKuMMFr8fvSp80hv0O7mVlg3kyojVQLFGecK49Y2QsIQ7TN3CQ7j/eYfjFQNSHK4gSqM9bdtENI650pxnO2KW2M1hruYMxmMoYP3uX6rmTIV/QZFfD5vupiXKcsgVBaQGzs00/+8qL4X9Djp1Bvzv4BTy/nrj17l+6OFyM76QDCItTFk+/+HVrxAI/x4DjM4FhAxv6lh+CFZI2YT4NExOpm6LT1MnpzxCsL0e8UHbotipu8qAJDMA/+2ZSKg4NCTw7id3fZFvdD+6q9kFe16XwG6tK2hluwKYgL+i9tYUWcusRefqFh1M6xXd5g3PVkFkiOznjWrk/2riaI20PPLZLAiwAUFLD0KYJzmNW6sjJ/K/O7wk4getRkDctfpGfBZr69BeILhKGFSAN/eMaONlH5BRSSifi611GQ619yQz8GDBbFmWiBodeU70v8cHvm6ANNN+2gR4iNsVxHPKYb5RQqGV6dZ7BycS7mEtACivWvWUbZj7EURJ7FVwkloG0k= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(202136424685340)(189930954265078)(108003899814671); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(61425024)(601004)(2401047)(520078)(8121501046)(5005006)(10201501046)(3002001)(61426024)(61427024);SRVR:DM2PR0301MB0686;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0686; X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0686;4:tsKAoPKxk6GZizXcKih1ZloCeGWFZEwuKpfu0WxSz+Rq02zGMOwFTWVyEdyBvy/9kJSKz5BgoKTnc7ywfJGBGGgCjeF4lxQXYX+W4LODfAIktkoENMcw+Nxa+I8hyb4v1SQJuusz8/i7Ni3+7PziByNK5GSNSZ3ZcguBV3oS2JRgKgp9WF9GyTwWaQ1z2eNeadEC3MYkNKSZFWrodQvU0X+MiYYq5FknlwDDlrzWYfs9Pc8bxUWinEc+i2fRFmJNmClpEaUYg1XRI+N2sfNrPvT6H3CeAnW9+avnjWjtLItvwpbnDK0bThwXmyCO6saDQ8yRtc/e71SbnkFPi5Ut6KA8MOfSCYw+MD3M1PlKoalLN/FHYD6abQP4aMs8w0LKWsLp+XYfaj4wsGx93/ENuLvsH+hcvvOVFNJ+M6Fp77t3eKJ6pMQQCx5+/Rvq9zHp X-Forefront-PRVS: 076777155F X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAzMDFNQjA2ODY7MjM6TTljOC8wTEgvbmxRSTRNRHFrNTliNWpH?= =?utf-8?B?eEVKNWM4UTZoRjBGQVZXQnBJNFdMK3AvMmVZT2lvWDc2ZitycmNIL2JFMzRw?= =?utf-8?B?enNQMCtxV1ZKMW1xN2hSVXdQUkV6QU5UT2htYjdteWE4d0ZkYURhclYvc25R?= =?utf-8?B?cmFoMHBEK0xNakptNHNuVkQzMlJMRHBGSDhIOWxsZkpybDY0UlIxVERwS3Uw?= =?utf-8?B?WXVyVGpWY2VrSDVBRGwxUFBhKzcxTFAxT2NDT2t5My9tZFpRVW5JcUtUbWNW?= =?utf-8?B?ekgrbDgzY0lBeWxGTTdkQ09QbVdYeWtwaDJRMHpjQ3VUMkkrZEc0YjZlUXBn?= =?utf-8?B?QjFKZzg0Y1hmSjZPRjRLUHRJR24zc2N2cjVOYTQvaDZ5MkNMcCtBREJtKzZC?= =?utf-8?B?MVlQSjN3MVVpTzNEWmhFMzNlNGxnSkY3QWpjdno1VmJkUzE3ejNFZE91K0tX?= =?utf-8?B?WkVETWF3S28zZ0MvR2VvQlZ1MlE2bnFNTTV6Y3hVVjBVb254TWRLREhtTjR4?= =?utf-8?B?V1dZVUEvVmpqejNhTlVrV0wvaG5EL2h6bDg5RWp3ZEdWYSsvdENDKzhJeFkr?= =?utf-8?B?SVcyNzhLbGRmbFhBV3Bsc2ZjNkxIdHQrMWowOTlUSDM2SlJ3cmE5eGdhbHpJ?= =?utf-8?B?eVlCd1FCQTFxTFVFeVJpdmRjMVBmeDQybkR2YTNaOXRjQVYrVjJaM3JxYVBJ?= =?utf-8?B?UGZESEpXZlVaNWJVQUMwWTBCMTgzRktwdERmdW0yY3RNd2tURFVYRGhxL21k?= =?utf-8?B?RGxYSDhwUkZnYi9kcVFyVFkvSktjU3phcWdLMzNMR2NkS25PQ25EbEJPSk1l?= =?utf-8?B?ZzhXMUtRWlZOQWNzQ2l0bjZqcmsydTRadklXYXMzTjNFaXphMXlqdU41UFM2?= =?utf-8?B?YWNTSmJLVzd4N2kxM0pOaUM5aHh6YlphbzNOR1lVdTNjcjdJSGxscFZnTW1W?= =?utf-8?B?bHlqN09KY1g2bG8xdHJWRVl4WEsybUJ0ZGJsQ1R4Wjl5cHUvQWl2M01WQ29k?= =?utf-8?B?cFlVT1BUellkWWJQVitsQ255Vm1Rb2kybHlpMFVmQnphS0dQeElIblFKS2du?= =?utf-8?B?QUgxenJkSjR5Mmtrd2tBbGJBQ21na2JxaDNaY1lHYlJ5YzB3ZWxXZ0VPSkN5?= =?utf-8?B?VnNEQXU4SDZaYXV4YVYvTmljalhQQW5hV3I4WGVtUU1tQjFwemlnRHNBQ3l5?= =?utf-8?B?UTkyR1BkbERoVW9CbGNYSFV5V0owSy9zakF3dU1Bc05pWXpGUWhNNnF0a2VB?= =?utf-8?B?K3hvOW1vbHpIOGp1b1FXWUQvWFVIaGxEb0s4N0NxTE4wSnd4bWxTa0lWanFn?= =?utf-8?B?V3BmcVh1WUlvUW9qRHZFVFZ6a0RlZDl1NzdhT04rRjRyL2dpemkrN0tWN2ZD?= =?utf-8?B?aFFOYlZjT0xRSEYyM0tpSlgvMkF4aTJaWmtsNzk5bGtBbDlNRnQ1K00xNW44?= =?utf-8?B?UFhNcWpaSVNMZU1PcmNOTzFGTUdQTE1ERFZHcWZyemZ2a1p1VnFsRmRib1hS?= =?utf-8?B?WmVUNklOT1U1cERFNVJzdExTNUVuOUVLNStlK01MY3gyRTVSZ3lxeVJGU0JU?= =?utf-8?B?bmRzU1dDNGJZYmp4c3haRzN1REhvUFhONXZsSmpORzlWYk15azZjSHp5VU1N?= =?utf-8?B?emw4YWpzQ0g4YnQ0eThGcG42ZnNia2FZSVlqY3lkbWtkVlBtSGdRWlRTZEM5?= =?utf-8?B?U21aY2RQRW50SnFkL0taQnhDeEhaU2VzTTZxYW12VXZ4aU1SS1B5bGtBcE56?= =?utf-8?B?aXlQRU1DRHBHdFo2eTUyd3ZyQ2J1Yjd5Nm1XTWx0a01pRkY4d0ljYTI4Sk1L?= =?utf-8?B?ZzhnWVIzaEtnTHlUaFpRdm14bHFIaDJwQUl5OFdBcTF1QTh3Qm1wMWdReEw1?= =?utf-8?B?M1JIajJLczV6RkNzUThtVGx2QXlYb0hteUdZOWllUDFFTnBMRTRtc0h1aVpV?= =?utf-8?B?K0VSNmdDWUgvdXN1NlB2MTJWU2YvVVlMWVFiTlgveFp6REYrSmxYOVVXU016?= =?utf-8?B?YzJ4SnZTRVpVRER4TnpNcVFtcStZUGFsOGcyUDlBPT0=?= X-Microsoft-Exchange-Diagnostics: 1;DM2PR0301MB0686;5:7E1qPRKBIBckt6im3ovhicoIXr2DjnEFar37RIAM72HeXgU7dgrGPQh+nY4X3jO58mytgoi9OCCQ1e88LG0LIilfjYHQABxbjED6XxGTQAO/tjheHjvB8TWLypA+EyDTrJ1DZQ5uw3v6T/pWwzbV+A==;24:qrwCEv3CPd0t3OMgsbvIoqbXcPkPCqf09XF496/15feedHk39mebRylsVooSsigDPK/DN1vvcKVlrUraZg/bjFCz2mlObF3imhjU3lYgHAI=;20:mOaFno4keqFQe+4MKLZttIwj0+mf7gZtY3j8hbYGaC5d1LFXv3tflpjw0jpILDu0aVE/WC2tn+rB5gncFJ6vAQ== SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Nov 2015 14:18:39.4073 (UTC) X-MS-Exchange-CrossTenant-Id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=72f988bf-86f1-41af-91ab-2d7cd011db47;Ip=[206.191.229.100];Helo=[064-smtp-out.microsoft.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0686 TXkgYXBvbG9naWVzIGlmIG1pc3VuZGVyc3Rvb2QgZnJvbSBUZWQgRHVubmluZydzIGVhcmxpZXIg Y29tbWVudDogIiBJIHdhcyBhIG1lbnRvciBvbiBreWxpbiBhbmQgd29ycmllZCBhYm91dCBFbmds aXNoIGJlaW5nIGEgcHJvYmxlbSBmb3IgY29udHJpYnV0aW9uLiBUaGUgcmVhbCBwcm9ibGVtIGlz IHRoYXQgYXBhY2hlIGlzIHBhcnRpYWxseSBkZWZpbmVkIGJ5IHRoZSB1c2Ugb2YgRW5nbGlzaCB0 byBhbGxvdyBhcyB3aWRlIGEgcGFydGljaXBhdGlvbiBhcyBwb3NzaWJsZS4iDQoNCkkgdHJ1c3Qg THVrZSBhbmQgaGlzIHRlYW0gYXJlIHZlcnkgY2FwYWJsZSBvZiBFbmdsaXNoIGNvbW11bmljYXRp b24gZWZmZWN0aXZlbHkuIEl0IGlzIGp1c3QgdGhhdCBpdCBpcyBzdGlsbCBtaW5vcml0eSBvZiBz dWNoIGVsaXRlcyBpbiBDaGluYSBkZXYgY29tbXVuaXR5IHNvIGZhciBhbmQgdGhhdCdzIHRoZSBy ZWFzb24gd2h5IENoaW5lc2UgZG9jdW1lbnQgZm9yIEt5bGluIGlzIHN0aWxsIG5lZWRlZC4NCg0K VGVkDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBMdWtlIEhhbiBbbWFpbHRv Omx1a2UuaHFAZ21haWwuY29tXSANClNlbnQ6IFNhdHVyZGF5LCBOb3ZlbWJlciAyMSwgMjAxNSAx MDowOCBQTQ0KVG86IGRldkBjb21tdW5pdHkuYXBhY2hlLm9yZw0KQ2M6IG5pY2xhc0BoZWRobWFu Lm9yZw0KU3ViamVjdDogUmU6IEZvcm1pbmcgYSBjb21tdW5pdHkgb2YgQXBhY2hlIGZhbnMgaW4g Q2hpbmEgLSBBcGFjaGUgQ2hpbmEgQ29tbXVuaXR5DQoNCj4+SSdtIHNvIGdsYWQgdG8gaGVhciB0 aGF0IHlvdSB3ZXJlIHRoZSBtZW50b3Igb2YgQXBhY2hlIEt5bGluIA0KPj5pbmN1YmF0aW9uDQpw cm9qZWN0IGFuZCB0cnVzdCB0aGF0IHlvdSB3ZXJlIGFsc28gPj5hd2FyZSBvZiB0aGUgZnJ1c3Ry YXRpb25zIGZyb20gYm90aCBzaWRlIGR1ZSB0byBsYW5ndWFnZSBpc3N1ZXMNCg0KSSBkb24ndCB0 aGlzIGlzIHRydWUuLi5MYW5ndWFnZSBpcyBhIGxpdHRsZSBiaXQgY2hhbGxlbmdlIGFzIFRlZCBE dW5uaW5nIGFuZCBJIGhhdmUgZGlzY3Vzc2VkIGluIExvbmRvbiBhbmQgU2FuIEpvc2UgbWFueSB0 aW1lcywgeWVzLCB0aGUgQ2hpbmVzZSBkZXZlbG9wZXJzIGFyZSBub3QgbmF0aXZlIEVuZ2xpc2gg c3BlYWtlcnMgYnV0IHdoYXQgd2UgaGF2ZSBkZW1vbnN0cmF0ZWQgaW4gS3lsaW4gY29tbXVuaXR5 IGlzIGJvdGggc2lkZXMgYXJlIGhhcHB5IHRvIGNvbGxhYm9yYXRpb24gdG9nZXRoZXIsIGxhbmd1 YWdlIGlzIG5vdCBhIHByb2JsZW0uDQoNClBlb3BsZSBpbnRlbmQgdG8gZGlzY3VzcyB3aXRoIHRo ZWlyIG5hdGl2ZSBsYW5ndWFnZSB3aGljaCB3aWxsIGJyaW5nIHByb2JsZW0gdG8gZm9ybSAib2Zm aWNpYWwgbG9jYWxpemVkIGNvbW11bml0eSIgZXZlbnRmdWxseSwgdGhleSB3aWxsIHRyeSB0byBz dGF5IHdpdGhpbiBsb2NhbCBjb21tdW5pdHkuIFdlIHNob3VsZCBlbmdhZ2UgYW5kIGJyaW5nIGxv Y2FsIGRldmVsb3BlcnMsIHByb2plY3RzIHRvIEFTRiwgbm90IG9ubHkgQ2hpbmVzZSBhbmQgYWxs IG9mIHRoZSB3b3JsZC4NCg0KVGhlcmUncyBXZUNoYXQgZ3JvdXAgZm9yIEt5bGluIGJ1dCBldmVy eSB0aW1lIHBlb3BsZSByYWlzZWQgcXVlc3Rpb24gdGhlcmUgd2Ugd2lsbCByZS1kaXJlY3QgdGhl bSB0byBtYWlsaW5nIGxpc3QsIHRvIGtlZXAgb25seSBvbmUgcGxhY2UgdG8gaGF2ZSBzdWNoIGRp c2N1c3Npb24sIGV2ZW4gd2UgaGF2ZSB0byBoZWxwIHRvIHRyYW5zbGF0ZSB0byBFbmdsaXNoLiBB bmQgdGhlIHJlc3VsdCBpcyBnb29kIChJTU8pLCB3ZSBlbmdhZ2VkIG1hbnkgY29tbWl0dGVycyBm cm9tIGxvY2FsIHdobyBhcmUgcGFydGljaXBhdGluZyBpbiB0aGUgY29tbXVuaXR5IHZlcnkgd2Vs bCwgaW4gRW5nbGlzaC4NCg0KTG9jYWxpemF0aW9uIGlzIG9uZSBnb29kIGlkZWEsIHdoaWNoIGFs c28gc2hvdWxkIGJlIGNvdW50ZWQgYXMgY29udHJpYnV0aW9uIHdpdGggcmVsYXRpdmUgcHJvamVj dCwgd2UgY291bGQgc2F3IHRoZXJlIGFyZSBzb21lIENoaW5lc2UgZG9jcyBvZiBIQmFzZSwgbW9z dCBvZiBLeWxpbidzIGRvY3Mgbm93IGhhdmUgYm90aCBFbmdsaXNoIGFuZCBDaGluZXNlLi4uDQoN Cg0KQmVzdCBSZWdhcmRzIQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkx1a2UgSGFuDQoNCk9u IFNhdCwgTm92IDIxLCAyMDE1IGF0IDg6MjkgUE0sIFRlZCBMaXUgPHRlZGxAbWljcm9zb2Z0LmNv bT4gd3JvdGU6DQoNCj4gSGkgVGVkLCBZZXMsIHdlIHdhbnQgdG8gZXN0YWJsaXNoIGEgYnJpZGdl IG9yIGEgZ3JvdXAgKGlmIHRoZSBpZGVhIG9mIA0KPiAiQ2hpbmEgQ29tbXVuaXR5IiBzZWVtZWQg dG8gYmUgaW50aW1pZGF0aW5nIG9yIGNyYXp5KSB0byBoZWxwIG1vcmUgDQo+IGRldnMgYmVjb21l IGNvbnRyaWJ1dG9ycyBhbmQgY29tbWl0dGVycyB0byBwb3B1bGFyIHByb2plY3RzIGZyb20gdGhl IA0KPiBXZXN0IGFuZCB0byBoZWxwIGluY3ViYXRlIG1vcmUgQ2hpbmVzZSBwcm9qZWN0cyB0byBi ZWNvbWUgcG9wdWxhciBib3RoIA0KPiBpbnRlcm5hdGlvbmFsbHkgYW5kIGRvbWVzdGljYWxseS4g SXQgYWltcyB0byBiZSBhIGJyaWRnZSB0byBvdmVyY29tZSANCj4gbGFuZ3VhZ2UgYmFycmllcnMg YW5kIGN1bHR1cmUgZGlmZmVyZW5jZXMgc28gdGhhdCBtb3JlIHRhbGVudHMgYW5kIA0KPiBwcm9q ZWN0cyBjYW4gZXhjaGFuZ2UuIFdlIGNlcnRhaW5seSBob3BlIHRoaXMgYnJpZGdlIG9yIGdyb3Vw IGNhbiB1c2UgDQo+IHRoZSBBcGFjaGUgbmFtZSwgYXQgbGVhc3QgaW4gQ2hpbmVzZSDpmL/luJXl pYcsIGJ1dCBub3QgcmVhbGx5IGEgTVVTVCBpZiBBU0YgDQo+IGRvZXNu4oCZdCBzdXBwb3J0IHRo ZSBpZGVhIG9yIHRyZWF0IGl0IGFzIGEgYmVhc3QuIEluIHRoaXMgY2FzZSwgd2UnZCANCj4gcHJv YmFibHkgZG8gaXQgd2l0aCBhbm90aGVyIG5hbWUgbm90IHZpb2xhdGluZyBBU0YgdHJhZGVtYXJr Lg0KPg0KPiBPdXIgaWRlYSBpcyB0byBzZXQgdXAgYSBmZXcgd29ya2luZyBncm91cHMgbW9kZXJh dGVkLCBtZW50b3JlZCBieSANCj4gZXhwZXJpZW5jZWQgQ2hpbmVzZSBBU0YgbWVtYmVycywgUE1D IG1lbWJlcnMsIGNvbW1pdHRlcnMsIA0KPiBjb250cmlidXRvcnMsIGV0Yy4gdG8gYWNoaWV2ZSB0 aGUgYWJvdmUgZ29hbHMuIFRoZSB3b3JraW5nIGdyb3VwcyBtYXkgDQo+IGJlIHJhbmdpbmcgZnJv bSBiaWcgZGF0YSwgY2xvdWQgY29tcHV0aW5nLCBkZXYgbGFuZ3VhZ2UvZnJhbWV3b3JrLCANCj4g Y29tbXVuaXR5IGRldmVsb3BtZW50IChpbmNsdWRpbmcgZXZlbnRzLCBtZWV0dXBzLCBsb2NhbGl6 YXRpb24sIHRyYXZlbCBhc3Npc3RhbmNlLi4uKSwgZXRjLg0KPg0KPiBJJ20gc28gZ2xhZCB0byBo ZWFyIHRoYXQgeW91IHdlcmUgdGhlIG1lbnRvciBvZiBBcGFjaGUgS3lsaW4gDQo+IGluY3ViYXRp b24gcHJvamVjdCBhbmQgdHJ1c3QgdGhhdCB5b3Ugd2VyZSBhbHNvIGF3YXJlIG9mIHRoZSANCj4g ZnJ1c3RyYXRpb25zIGZyb20gYm90aCBzaWRlIGR1ZSB0byBsYW5ndWFnZSBpc3N1ZXMgKGFuZCBt YXliZSBub3Qtc28tb2J2aW91cyBjdWx0dXJlIGRpZmZlcmVuY2UpLg0KPiBBbm90aGVyIGV4YW1w bGUgaXMgQWxpIEpTdG9ybSBhcyBhbiBpbmN1YmF0aW9uIHByb2plY3QgdG8gdGhlIEFwYWNoZSAN Cj4gU3Rvcm0gcHJvamVjdC4gQm90aCBzaWRlIHByb2JhYmx5IGZlbHQgZnJ1c3RyYXRlZCBhbG9u ZyB0aGUgd2F5LiBFdmVuIA0KPiB0aG91Z2ggdGhlcmUgYXJlIG1vcmUgRW5nbGlzaC1jYXBhYmxl IElUIHBlb3BsZSBpbiBDaGluYSBub3dhZGF5cywgdGhlIA0KPiBwYWlucyBhbmQgbWlzdW5kZXJz dGFuZGluZ3Mgb2YgdXNpbmcgbm9uLW5hdGl2ZSBsYW5ndWFnZXMgc3RpbGwgZXhpc3QuDQo+DQo+ IER1ZSB0byB0aGUgbXVjaCBiaWdnZXIgdXNlciBhbmQgZGV2IGJhc2UgaW4gQ2hpbmEsIEknZCBw dXQgbXVjaCANCj4gaGVhdmllciB3ZWlnaCBvbiBob3QgcHJvamVjdHMgZnJvbSB0aGUgV2VzdCwg ZS5nLiBTcGFyaywgSGFkb29wLCBldGMuIA0KPiBvdmVyIHRoZSBDaGluZXNlLW9yaWdpbmF0ZWQg cHJvamVjdHMgbGlrZSBLeWxpbi4gU28gdGhlIGxvY2FsaXphdGlvbiANCj4gcHJpb3JpdHkgaXMg b2J2aW91cy4NCj4NCj4gVGVkDQo+DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZy b206IFRlZCBEdW5uaW5nIFttYWlsdG86dGVkLmR1bm5pbmdAZ21haWwuY29tXQ0KPiBTZW50OiBT YXR1cmRheSwgTm92ZW1iZXIgMjEsIDIwMTUgNzozMyBQTQ0KPiBUbzogZGV2QGNvbW11bml0eS5h cGFjaGUub3JnDQo+IENjOiBuaWNsYXNAaGVkaG1hbi5vcmcNCj4gU3ViamVjdDogUmU6IEZvcm1p bmcgYSBjb21tdW5pdHkgb2YgQXBhY2hlIGZhbnMgaW4gQ2hpbmEgLSBBcGFjaGUgDQo+IENoaW5h IENvbW11bml0eQ0KPg0KPg0KPiBUZWQNCj4NCj4gSSB0aGluayBhcGFjaGUgY2FuIGhlbHAgeW91 IHdpdGggc29tZSBuZWVkcywgYnV0IG5vdCBhbGwuICBBcGFjaGUgaXMgDQo+IGVudGh1c2lhc3Rp YyBhYm91dCBoZWxwaW5nIHBlb3BsZSBpbnRlcmFjdCB3aXRoIG91ciBFbmdsaXNoLWNlbnRyaWMg DQo+IG1haWxpbmcgbGlzdHMuICBBcGFjaGUgd291bGQgbGlrZWx5IGhlbHAgeW91IGZpZ3VyZSBv dXQgaG93IHRvIHNldCB1cCANCj4gQ2hpbmVzZSBsYW5ndWFnZSBvcGVuIHNvdXJjZSBwcm9qZWN0 cyBhcyB3ZWxsLg0KPg0KPiBJIGRvbid0IHVuZGVyc3RhbmQgaWYgdGhhdCBpcyB3aGF0IHlvdSB3 YW50LiAgWW91IHNheSAid2l0aGluIGFwYWNoZSIuIA0KPiBCdXQgSSBhbHNvIHRob3VnaHQgeW91 IHdhbnRlZCB0byBoZWxwIGRldmVsb3BlcnMgd2hvIGRvbid0IGhhdmUgZW5vdWdoIEVuZ2xpc2gu DQo+DQo+IEl0IHNvdW5kcyBsaWtlIHlvdSBuZWVkIG1vcmUgdGhhbiBvbmUgYW5zd2VyIHRvIG1v cmUgdGhhbiBvbmUgcXVlc3Rpb24uDQo+DQo+IFNlbnQgZnJvbSBteSBpUGhvbmUNCj4NCj4gPiBP biBOb3YgMjEsIDIwMTUsIGF0IDE5OjI0LCBUZWQgTGl1IDx0ZWRsQG1pY3Jvc29mdC5jb20+IHdy b3RlOg0KPiA+DQo+ID4gT3VyIGluaXRpYXRpdmUgd2FudHMvZGVzaXJlcyB0byBiZSBpbnNpZGUg b2YgQVNGIGFzIGNsb3NlIGFzIA0KPiA+IHBvc3NpYmxlDQo+IGFuZCB0byBhdm9pZCBhbnkgdHJh ZGVtYXJrIHZpb2xhdGlvbi4gSWYgaXQgaXMgYSBuby1nbywgSSBndWVzcyB0aGUgDQo+IHZvbHVu dGVlciBncm91cCBoZXJlIHdpbGwgc3RpbGwgZG8gdGhlIHJpZ2h0IHRoaW5ncyB0byBoZWxwIGVu YWJsZSBhbmQgDQo+IG1vdGl2YXRlIGRldmVsb3BlcnMgYW5kIHByb2plY3RzLCB3aXRoIG9yIHdp dGhvdXQgQVNG4oCZcyB0cmFkZW1hcmsvYmFubmVyLg0KPiA+DQo+ID4gVGVkDQo+ID4NCj4gPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IFJvc3MgR2FyZGxlciBbbWFpbHRv OlJvc3MuR2FyZGxlckBtaWNyb3NvZnQuY29tXQ0KPiA+IFNlbnQ6IFNhdHVyZGF5LCBOb3ZlbWJl ciAyMSwgMjAxNSA2OjQ2IFBNDQo+ID4gVG86IGRldkBjb21tdW5pdHkuYXBhY2hlLm9yZw0KPiA+ IENjOiBuaWNsYXNAaGVkaG1hbi5vcmcNCj4gPiBTdWJqZWN0OiBSRTogRm9ybWluZyBhIGNvbW11 bml0eSBvZiBBcGFjaGUgZmFucyBpbiBDaGluYSAtIEFwYWNoZSANCj4gPiBDaGluYSBDb21tdW5p dHkNCj4gPg0KPiA+IFdoeSBkbyB0aG9zZSBwaW9uZWVycyBuZWVkIGEgcGxhY2Ugb3V0c2lkZSBv ZiB0aGUgQVNGIHRvIGRvIHRoYXQ/IElmDQo+IHRoZXkgZG8gbmVlZCBhIHBsYWNlIG91dHNpZGUg dGhlIEFTRiB3aHkgZG9lcyBpdCBuZWVkIGFuIEFwYWNoZSBsb2dvIG9uIGl0Pw0KPiA+DQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBMZWkgQ2hhbmcgW21haWx0bzpj aGFuZy5sZWkuY25AZ21haWwuY29tXQ0KPiA+IFNlbnQ6IFNhdHVyZGF5LCBOb3ZlbWJlciAyMSwg MjAxNSAyOjE3IEFNDQo+ID4gVG86IGRldkBjb21tdW5pdHkuYXBhY2hlLm9yZw0KPiA+IENjOiBu aWNsYXNAaGVkaG1hbi5vcmcNCj4gPiBTdWJqZWN0OiBSZTogRm9ybWluZyBhIGNvbW11bml0eSBv ZiBBcGFjaGUgZmFucyBpbiBDaGluYSAtIEFwYWNoZSANCj4gPiBDaGluYSBDb21tdW5pdHkNCj4g Pg0KPiA+ICsxIGZvciBhIGZvcm1hbCBjb21tdW5pdHkgcHJvamVjdCBpbiBDaGluYS4NCj4gPg0K PiA+IFRoZXJlIGFyZSBzb21lIGV4cGVyaWVuY2VzIEkgY2FuIHNoYXJlIHdoZW4gc29tZSBhcGFj aGUgY29tbWl0dGVycyANCj4gPiBpbg0KPiBDaGluYSBhcmUgZGV2ZWxvcGluZyB0aGUgY29tbXVu aXR5IGZvciBBcGFjaGUgSEFXUSAoaW4gaW5jdWJhdGlvbikuDQo+ID4NCj4gPiBBIHdlY2hhdCBn cm91cCB3YXMgY3JlYXRlZCwgYW5kIHRoZXJlIGFyZSBtYW55IHBlb3BsZSB3aG8gYXJlIHZlcnkN Cj4gYWN0aXZlIGF0IGFzayBxdWVzdGlvbnMgYW5kIGNvbnRyaWJ1dGluZyBpZGVhcy4gVGhpcyBp cyBhIGtpbmQgb2YgdmVyeSANCj4gZGlmZmljdWx0IHRvIGhhcHBlbiB3aXRoIHNvbWUgQ2hpbmVz ZSBuYXRpdmUgZ3V5cyBkaXNjdXNzaW5nIGluIEVuZ2xpc2guDQo+IFRoZXJlIGFyZSBhYm91dCA1 IG1pbGxpb24gY29sbGVnZSBncmFkdWF0ZXMgZWFjaCB5ZWFyIGluIENoaW5hLCBhbmQgaSANCj4g dGhpbmsgdGhlcmUgaXMgYSBncmVhdCBwb3RlbnRpYWwgdG8gaW5jcmVhc2UgdGhlIG51bWJlciBv ZiANCj4gY29udHJpYnV0b3JzIGZyb20gQXBhY2hlIGNvbW11bml0eSBpbiBDaGluYS4NCj4gPg0K PiA+IERldmVsb3BpbmcgYW4gQXBhY2hlIGNvbW11bml0eSBpbiBDaGluYSBuZWVkcyBzb21lIHBp b25lZXJzIHRvIGdldA0KPiB0b2dldGhlciwgZGlzY3VzcywgZGlyZWN0cyBhbmQgb3JnYW5pemUg dGhlIG1lZXR1cHMsIGNvbmZlcmVuY2VzLiBJdCANCj4gd291bGQgYmUgdmVyeSBoZWxwZnVsIHRv IGhhdmUgYSBmb3JtYWwgQXBhY2hlIGNvbW11bml0eSBwcm9qZWN0IHNldCB1cCANCj4gdG8gd29y ayBvbiB0aGlzLg0KPiA+DQo+ID4gQ2hlZXJzDQo+ID4gTGVpDQo+ID4NCj4gPg0KPiA+PiBPbiBT YXQsIE5vdiAyMSwgMjAxNSBhdCA1OjU4IFBNLCBUZWQgTGl1IDx0ZWRsQG1pY3Jvc29mdC5jb20+ IHdyb3RlOg0KPiA+Pg0KPiA+PiBIaSBOaWNsYXMsDQo+ID4+DQo+ID4+IEl0J2QgYmUgYXBwcmVj aWF0ZWQgYW4gb3BlbiBhbmQgY29uc3RydWN0aXZlIGRpc2N1c3Npb24gY2FuIGJlIA0KPiA+PiBm b3JtZWQgYXQgQVNGIGluc3RlYWQgb2YgbGFiZWxpbmcgb3Igc3RlcmVvdHlwaW5nLiBUaGUgYXNr IG9mIA0KPiA+PiBmb3JtaW5nIG9mIGEgY29tbXVuaXR5LCBncm91cCBvciBhbGlrZSBpbiBDaGlu YSBjb21lcyBmcm9tIHRoZSANCj4gPj4gZ3Jhc3Mtcm9vdCBpZGVhIGFuZCBhY3Rpb24gYmVjYXVz ZSB0aGVyZSBhcmUgc3Ryb25nIGRlbWFuZHMgaGVyZS4gDQo+ID4+IE90aGVyd2lzZSBub2JvZHkg d291bGQgY2FyZSBhbmQgbm9ib2R5IGNvdWxkIGJlIGluc3RydWN0ZWQgb3IgDQo+ID4+IGRpcmVj dGVkLiBUaGF04oCZcyB0aGUgcmVhc29uIHdoeSBhIGdyb3VwIG9mIENoaW5lc2UgQVNGIG1lbWJl cnMsIFBNQyANCj4gPj4gbWVtYmVycywgY29tbWl0dGVycywgY29udHJpYnV0b3JzLCBldGMuLCB3 YW50IHRvIHdvcmsgdG9nZXRoZXIgDQo+ID4+IHZvbHVudGFyaWx5IHRvIGNoYW5nZSB0aGUgc3Rh dHVzIHF1byBieSBicmlkZ2luZyB0aGUgQ2hpbmVzZSANCj4gPj4gdGFsZW50cyBhbmQgZ29vZCBw cm9qZWN0cyB0by9mcm9tIEFTRi4gVGhlIG1vdGl2YXRpb24gYW5kIA0KPiA+PiBlbmFibGVtZW50 IG9mIHRoZSBsb2NhbCBjb21tdW5pdHkvZ3JvdXAgd2lsbCBiZSBtYWlubHkgZnJvbSB0aGUgDQo+ ID4+IGV4cGVyaWVuY2VkIENoaW5lc2UgQVNGIG1lbWJlcnMsIGNvbW1pdHRlcnMgYW5kIGNvbnRy aWJ1dG9ycywgd2hvIA0KPiA+PiBwZW9wbGUgd2lsbCB0cnVzdCwgaW5zdGVhZCBvZiBhbnkgaW5k aXZpZHVhbCBuZXcgdG8NCj4gQVNGLg0KPiA+Pg0KPiA+PiBUYWxraW5nIGFib3V0IHRoZSBsYW5n dWFnZSBiYXJyaWVyLCB5b3Ugc2hvdWxkIGFscmVhZHkga25vdyBob3cgDQo+ID4+IGRpZmZpY3Vs dCBpdCBpcyB0byBsZWFybiBDaGluZXNlIGFmdGVyIGxpdmluZyA0KyB5ZWFycyBpbiBTaGFuZ2hh aS4NCj4gPj4gT25lIHJlY2VudCBleGFtcGxlIGlzIHRoYXQgbGl0ZXJhbGx5IG5vIG9uZSBmcm9t IHRoZSBBcGFjaGUgRmFucyANCj4gPj4gV2VjaGF0IHNvY2lhbCBncm91cA0KPiA+PiAoMzYwIHBl b3BsZSBub3cpIHJlc3BvbmRlZCB0byB5b3VyIHByb3Bvc2FsLCBpbiBFbmdsaXNoLCB0byBob2xk IGEgDQo+ID4+IHRlY2huaWNhbCBtZWV0dXAgaW4gU2hhbmdoYWkuIFlvdXIgQVNGIHN0YXR1cyBh bmQgdGhlIGZhY3Qgb2YgeW91ciANCj4gPj4gbG9jYXRpb24gaW4gU2hhbmdoYWkgZG8gbm90IGF1 dG9tYXRpY2FsbHkgdHJhbnNsYXRlIGludG8gdHJ1c3QgYW5kIA0KPiA+PiBlZmZlY3RpdmUgY29t bXVuaWNhdGlvbiB0byBlbmFibGUgYW5kIG1vdGl2YXRlIHBlb3BsZSdzIGFjdGlvbnMuIA0KPiA+ PiBUaGUgd2FpdCBvZiBhIGdvb2QgbWFjaGluZSB0cmFuc2xhdGlvbiBpcyBhbiB1bmtub3duIHRo YXQgeW91bmdlciANCj4gPj4gZ2VuZXJhdGlvbiBjb250cmlidXRvcnMgd291bGQgbm90IHRvbGVy YXRlLg0KPiA+Pg0KPiA+PiBUaGUgbW9yZSBjaGFsbGVuZ2luZyBwYXJ0IGlzIHRoZSBjdWx0dXJl IGRpZmZlcmVuY2VzIHdoZXJlIHRoZSANCj4gPj4gc2Vuc2Ugb2YgY29tbXVuaXR5LCBnb3Zlcm5h bmNlLCBjb250cmlidXRpb24gYW5kIHRoZSBBcGFjaGUgV2F5IGFyZSANCj4gPj4gc3RpbGwgYXQg aW5mYW50IHN0YWdlIGluIENoaW5hLiBUaGVyZSBhcmUgbW9yZSB0aGFuIGVub3VnaCBnb29kIA0K PiA+PiBjb2RlcyBhbmQgZXZlbnRzIChjb25mZXJlbmNlcywgbWVldHVwcywgZXRjLikgaW4gQ2hp bmEuIFRoZSByZWFsIA0KPiA+PiBibG9ja2VycyBhcmUgbGFuZ3VhZ2UgYW5kIG5vbi1BcGFjaGUt V2F5IGN1bHR1cmUgd2hlcmUgdGhlIHByb3Bvc2VkIA0KPiA+PiBDaGluYSBjb21tdW5pdHkvZ3Jv dXAgY2FuIGNvbnRyaWJ1dGUuDQo+ID4+DQo+ID4+DQo+ID4+IFRlZA0KPiA+Pg0KPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBOaWNsYXMgSGVkaG1hbiBbbWFpbHRv OmhlZGhtYW5AZ21haWwuY29tXQ0KPiA+PiBTZW50OiBTYXR1cmRheSwgTm92ZW1iZXIgMjEsIDIw MTUgMzowMiBQTQ0KPiA+PiBUbzogZGV2QGNvbW11bml0eS5hcGFjaGUub3JnDQo+ID4+IFN1Ympl Y3Q6IFJlOiBGb3JtaW5nIGEgY29tbXVuaXR5IG9mIEFwYWNoZSBmYW5zIGluIENoaW5hIC0gQXBh Y2hlIA0KPiA+PiBDaGluYSBDb21tdW5pdHkNCj4gPj4NCj4gPj4gVGVkLA0KPiA+PiAyIHRoaW5n cy4uLg0KPiA+Pg0KPiA+PiAxLiBUaGVyZSB3ZXJlIEFwYWNoZSBSb2Fkc2hvd3MgaW4gU2hhbmdo YWkgaW4gMjAxMCBhbmQgMjAxMS4NCj4gPj4NCj4gPj4gMi4gSSBhbSBnbGFkIHRvIHNlZSB5b3Vy IGVudGh1c2lhc20gb2YgZm9ybWluZy9jcmVhdGluZyBvcmdhbml6YXRpb24uDQo+ID4+IEJ1dCB0 aGUgQVNGIGFuZCBtYW55IG90aGVyIG9wZW4gc291cmNlIHByb2plY3RzIGFyZSBub3QgDQo+ID4+ IGNvbW1hbmQmY29udHJvbCBkcml2ZW4gdG9wLWRvd24gc3RydWN0dXJlcy4gU28sIHRoZXJlIGlz IHZlcnkgDQo+ID4+IGxpdHRsZSAibmVlZCIgZm9yICJjcmVhdGlvbiBvZiBjb21tdW5pdGllcyIu IFRoZXkgZWl0aGVyIGZvcm0sIG9yIHRoZXkgZG9uJ3QuDQo+ID4+DQo+ID4+IEkgd2FzIGhhcHB5 IHRvIHNlZSB0aGF0IHRoZSB5b3VuZ2VyIGdlbmVyYXRpb24gYXQgdGhlIFJvYWRzaG93IGluIA0K PiA+PiBCZWlqaW5nIGdyYXNwZWQgdGhhdCBpZGVhIHZlcnkgd2VsbCwgd2hlcmVhcyB0aGUgc29t ZXdoYXQgb2xkZXIgDQo+ID4+IGdlbmVyYXRpb24gaGFkIGEgbW9yZSB0b3AtZG93biBhcHByb2Fj aCwgb2Ygd2FudGluZyB0byBidWlsZCBpdCANCj4gPj4gbGlrZSBhIGNvbXBhbnksIGxpa2UgYSBn b3Zlcm5tZW50IG9yIGEgcmVsaWdpb3VzIG9yZ2FuaXphdGlvbi4gSSANCj4gPj4gaG9wZSB0aGF0 IHlvdSBjYW4gYXBwcmVjaWF0ZSB0aGUgZGlmZmVyZW5jZSBhbmQgY2hhbm5lbCB5b3VyIA0KPiA+ PiBlbnRodXNpYXNtIHNsaWdodGx5DQo+IGRpZmZlcmVudGx5Lg0KPiA+Pg0KPiA+PiBMaWtlIHlv dSwgSSB0aGluayBsYW5ndWFnZSBiYXJyaWVyIGlzIGN1cnJlbnRseSBhIGJpZyBiYXJyaWVyLCBi dXQgDQo+ID4+IEkgaGF2ZSBmaXJzdCBoYW5kIHdpdG5lc3NlZCB0aGUgaW1wcm92ZW1lbnRzIGlu IG9ubGluZSB0cmFuc2xhdGlvbiANCj4gPj4gc2VydmljZXMgaW4gdGhlIHBhc3QgZmV3IHllYXJz LiBFbm9ybW91cyBpbXByb3ZlbWVudC4gUGVyaGFwcyB3ZSANCj4gPj4gYXJlIHNvb24gYXQgYSBz dGFnZSB3aGVyZSB0aGlzIGNhbiBiZSBhbiBhZGRpdGlvbmFsIHRvb2wgdG8gYnJpZGdlIHRoaXMg Z2FwLg0KPiA+Pg0KPiA+PiBNeSBzdWdnZXN0aW9ucyBhcmUgdG93YXJkcyBsb2NhbGl6ZWQgbWVl dHVwcywgd2hlcmUgZGlzY3Vzc2lvbiwgDQo+ID4+IGhhY2tpbmcsIHByZXNlbnRhdGlvbnMgYXJl IGNvbmR1Y3RlZCwgYnkgdGhlIHBhcnRpY2lwYW50cywgZm9yIHRoZSANCj4gPj4gcGFydGljaXBh bnRzLCBhIHBlZXItdG8tcGVlciBlbnZpcm9ubWVudC4gQXBhY2hlIGRvZXNuJ3QgbmVlZCB0byBi ZSANCj4gPj4gZm9ybWFsbHkgaW52b2x2ZWQgaW4gdGhpcywgYnV0IEkgYW0gc3VyZSBtYW55IEFw YWNoZSBjb250cmlidXRvcnMgDQo+ID4+IHdvdWxkIGJlIGhhcHB5IHRvIHBhcnRpY2lwYXRlLCBh cyBwZWVycywgaW4gc3VjaCBldmVudHMvY2x1YnMuIEFuZCANCj4gPj4gSSBhbSBjb252aW5jZWQg dGhpcyB3aWxsIHNwaW4gb2ZmIGJvdGggcHJvamVjdHMgYXMgd2VsbCBhcyBkaWVlY3QNCj4gY29u dHJpYnV0aW9uIHRvIEFTRiBhbmQgb3RoZXIgcHJvamVjdHMuDQo+ID4+DQo+ID4+IEJlIGFuIGln bml0ZXIsIG5vdCBhIGRyaXZlci4gSWduaXRlIG1hbnkgc21hbGwgZWZmb3J0cywgaW5zdGVhZCBv ZiANCj4gPj4gc2luZ2xlIGJpZyBvbmUuDQo+ID4+DQo+ID4+IEtlZXAgdXAgdGhlIHBvc2l0aXZl IHdvcmsuDQo+ID4+DQo+ID4+IE5pY2xhcw0KPiA+Pg0KPiA+Pj4gT24gTm92IDIxLCAyMDE1IDEz OjE4LCAiVGVkIExpdSIgPHRlZGxAbWljcm9zb2Z0LmNvbT4gd3JvdGU6DQo+ID4+Pg0KPiA+Pj4g SGkgQXBhY2hlIENvbW11bml0eSBEZXZlbG9wbWVudCBQTUMsDQo+ID4+Pg0KPiA+Pj4gV2lzaCB0 byBnZXQgc29tZSBhZHZpY2VzIG9uIGhvdyB0byBmb3JtIGEgY29tbXVuaXR5IG9mIEFwYWNoZSBm YW5zIA0KPiA+Pj4gaW4gQ2hpbmEuIFdvdWxkIGEgbmV3IENoaW5hLXNwZWNpZmljIHByb2plY3Qg YXQgdGhlIENvbURldiBiZSBwb3NzaWJsZT8NCj4gPj4+IFBsZWFzZSBzZWUgdGhlIGJhY2tncm91 bmQgYW5kIHRob3VnaHRzIG91dGxpbmVkIGJlbG93Lg0KPiA+Pj4NCj4gPj4+IEFwYWNoZSBwcm9q ZWN0cyBhbmQgdGVjaG5vbG9naWVzIGhhdmUgYmVlbiB3aWRlbHkgYWRvcHRlZCBpbiANCj4gPj4+ IENoaW5hLCBzdWNoIGFzIEFsaWJhYmEsIFRlbmNlbnQsIG1hbnkgZW50ZXJwcmlzZXMsIGFjYWRl bWljIGFuZCANCj4gPj4+IHB1YmxpYw0KPiBzZXJ2aWNlcy4NCj4gPj4+IEhvd2V2ZXIsIHRoZXJl IGhhcyBiZWVuIGxpdHRsZSBlbmdhZ2VtZW50IGJldHdlZW4gQVNGIGFuZCANCj4gPj4+IGNvbW11 bml0aWVzIGFuZCBlbnRlcnByaXNlcyBpbiBDaGluYS4gV2UsIGF0IEtBSVlVQU5TSEUgDQo+ID4+ PiAoaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9d3d3 LmthaXl1YW5zaGUNCj4gPj4+IC5vDQo+ID4+PiByZw0KPiA+Pj4gJmRhdGE9MDElN2MwMSU3Y3Rl ZGwlNDAwNjRkLm1nZC5taWNyb3NvZnQuY29tJTdjZjdkOThjMjMwMDg0NDU3YjZlDQo+ID4+PiBm NA0KPiA+Pj4gMDgNCj4gPj4+IGQyZjI0MWIzZWYlN2M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2Nk MDExZGI0NyU3YzEmc2RhdGE9YzlJaHI0Q0oyaQ0KPiA+Pj4gRkMNCj4gPj4+IHNYDQo+ID4+PiBh c0owTnBaQmVxeFRHZ3BRNjM4YjJmUUZyZm8xWSUzZDwNCj4gPj4+IGh0dHBzOi8vbmEwMS5zYWZl bGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNvbS8/dXJsPWh0dHAlM2ElMmYlMmZ3d3cuDQo+ID4+ PiBrYQ0KPiA+Pj4gaXl1YW5zaGUub3JnJmRhdGE9MDElN2MwMSU3Y3RlZGwlNDAwNjRkLm1nZC5t aWNyb3NvZnQuY29tJTdjZjdkOThjDQo+ID4+PiAyMw0KPiA+Pj4gMDANCj4gPj4+IDg0NDU3YjZl ZjQwOGQyZjI0MWIzZWYlN2M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3YzEmc2Rh dA0KPiA+Pj4gYT0gS04gSXNtSktxSDJqRzk5M0hXV2NWeUtHWmx1cVFWbXVCSHF4aTdSQzFZZU0l M2Q+LCB0aGUgZmlyc3QgDQo+ID4+PiBncm91bmQtdXAgb3BlbiBzb3VyY2UgYWxsaWFuY2UgY2hh cnRlcmVkIHRvIHByb21vdGUgb3BlbiBzb3VyY2UgDQo+ID4+PiBnb3Zlcm5hbmNlIGFuZCB0ZWNo bm9sb2dpZXMgaW4gQ2hpbmEgYW5kIEFzaWEgd2l0aCBvdmVyIDUwIA0KPiA+Pj4gY29tbXVuaXR5 IGFuZCBlbnRlcnByaXNlIG1lbWJlcnMgbm93KSB3aXNoIHRvIGJyaWRnZSB0aGUgZ2FwcyANCj4g Pj4+IGJldHdlZW4gdGhlIGxlYWRpbmcgaW50ZXJuYXRpb25hbA0KPiA+PiBPU1MgY29tbXVuaXRp ZXMsIGxpa2UgQVNGLCBhbmQgY29tbXVuaXRpZXMgYW5kIGVudGVycHJpc2VzIGluIENoaW5hLg0K PiA+PiBUaGUgbGFzdCBBcGFjaGUgcm9hZHNob3cgd2FzIG9uIDIwMDkgaW4gU2hhbmdoYWkuIFdl LCBLQUlZVUFOU0hFLCANCj4gPj4gdGhvdWdodCBpdCdkIGJlIGdvb2QgdG8gcmVib290IHRoZSBB U0YgZW5nYWdlbWVudCB0aHJvdWdoIGFub3RoZXINCj4gcm9hZHNob3cgaW4gQ2hpbmEuDQo+ID4+ Pg0KPiA+Pj4gVGhlIEFwYWNoZSBSb2Fkc2hvdyAyMDE1IC0gQ2hpbmEgd2l0aCBLQUlZVUFOU0hF IHdhcyBvcmdhbml6ZWQgYnkgDQo+ID4+PiBLQUlZVUFOU0hFIGFuZCBzdWNjZXNzZnVsbHkgaGVs ZCBvbiBPY3QuIDI0LTI1IGluIEJlaWppbmcgd2l0aCANCj4gPj4+IEFTRidzIGNvbW11bml0eSBz cG9uc29yc2hpcCBhbmQga2V5bm90ZXJzIHN1cHBvcnQsIGkuZS4gQnJldHQgDQo+ID4+PiBQb3J0 ZXIsIERhdmlkIE5hbGxleSwgTmljbGFzIEhlZGhtYW4sIEouIEFhcm9uIEZhcnIgYW5kIEphc29u IERhaS4gDQo+ID4+PiBQbGVhc2Ugc2VlIG1vcmUgcm9hZHNob3cgZGV0YWlscyBoZXJlLg0KPiA+ Pj4NCj4gPj4+IC0gQVNGICJGb3VuZGF0aW9uIiBibG9nDQo+ID4+PiBodHRwczovL25hMDEuc2Fm ZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwJTNhJTJmJTJmcy4NCj4gPj4+ IGFwDQo+ID4+PiBhYw0KPiA+Pj4gaGUub3JnJTJmcTJMJmRhdGE9MDElN2MwMSU3Y3RlZGwlNDAw NjRkLm1nZC5taWNyb3NvZnQuY29tJTdjZjdkOThjDQo+ID4+PiAyMw0KPiA+Pj4gMDANCj4gPj4+ IDg0NDU3YjZlZjQwOGQyZjI0MWIzZWYlN2M3MmY5ODhiZjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0 NyU3YzEmc2RhdA0KPiA+Pj4gYT0NCj4gPj4+IG0xIG50QmhxR3F4dmdqZkJuYXV0d3JCZjFvS25J YzZkeWk2ajMxZmpQNnhvJTNkPA0KPiA+Pj4gaHR0cHM6Ly9uYTAxLnNhZmVsaW5rcy5wcm90ZWN0 aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzYSUyZiUyZnMuDQo+ID4+PiBhcA0KPiA+Pj4gYWMN Cj4gPj4+IGhlLm9yZyUyZnEyTCZkYXRhPTAxJTdjMDElN2N0ZWRsJTQwMDY0ZC5tZ2QubWljcm9z b2Z0LmNvbSU3YzQwN2FhYQ0KPiA+Pj4gNGINCj4gPj4+IDhhDQo+ID4+PiAzMTRmODVkYzBhMDhk MmViZDMwNTdkJTdjNzJmOTg4YmY4NmYxNDFhZjkxYWIyZDdjZDAxMWRiNDclN2MxJnNkYXQNCj4g Pj4+IGE9IEJYIDlKWVFDMWYxM1FYUFp3S1NHQm02JTJid0MyRCUyZm4xJTJiY09vcTNySVFUd3N3 JTNkDQo+ID4+PiAtIEBUaGVBU0YgVHdpdHRlciBmZWVkDQo+ID4+PiBodHRwczovL25hMDEuc2Fm ZWxpbmtzLnByb3RlY3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzYSUyZiUyZnQNCj4gPj4+ IHdpDQo+ID4+PiB0dA0KPiA+Pj4gZXIuY29tJTJmVGhlQVNGJTJmc3RhdHVzJTJmNjY0OTIwMjY2 Mzk3NjQ2ODQ4JmRhdGE9MDElN2MwMSU3Y3RlZGwlDQo+ID4+PiA0MA0KPiA+Pj4gMDYNCj4gPj4+ IDRkLm1nZC5taWNyb3NvZnQuY29tJTdjZjdkOThjMjMwMDg0NDU3YjZlZjQwOGQyZjI0MWIzZWYl N2M3MmY5ODhiZg0KPiA+Pj4gODYNCj4gPj4+IGYxDQo+ID4+PiA0MWFmOTFhYjJkN2NkMDExZGI0 NyU3YzEmc2RhdGE9cWRldDklMmJiSkZRT2hvMTg4ODM4VG5sQTA5VzA5aWtXVTMNCj4gPj4+IDdD DQo+ID4+PiBXdA0KPiA+Pj4gRU9Yd3FnJTNkPA0KPiA+Pj4gaHR0cHM6Ly9uYTAxLnNhZmVsaW5r cy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cHMlM2ElMmYlMmZ0DQo+ID4+PiB3aQ0K PiA+Pj4gdHQNCj4gPj4+IGVyLmNvbSUyZlRoZUFTRiUyZnN0YXR1cyUyZjY2NDkyMDI2NjM5NzY0 Njg0OCZkYXRhPTAxJTdjMDElN2N0ZWRsJQ0KPiA+Pj4gNDANCj4gPj4+IDA2DQo+ID4+PiA0ZC5t Z2QubWljcm9zb2Z0LmNvbSU3YzQwN2FhYTRiOGEzMTRmODVkYzBhMDhkMmViZDMwNTdkJTdjNzJm OTg4YmYNCj4gPj4+IDg2DQo+ID4+PiBmMQ0KPiA+Pj4gNDFhZjkxYWIyZDdjZDAxMWRiNDclN2Mx JnNkYXRhPWw2ZXhQSHpPSG1JNTYlMmJpY3YyTUN0YUVQa0NIcGRDN0NXDQo+ID4+PiBoZA0KPiA+ Pj4gWDANCj4gPj4+IEdGUndQcyUzZA0KPiA+Pj4gLSBhbm5vdW5jZUBhcGFjaGUub3JnPG1haWx0 bzphbm5vdW5jZUBhcGFjaGUub3JnPiAoYW5kIGFyY2hpdmVzKQ0KPiA+Pj4gLSBBU0YgZGVkaWNh dGVkIG1lZGlhL2FuYWx5c3QgbGlzdA0KPiA+Pj4gLQ0KPiA+Pj4gaHR0cHM6Ly9uYTAxLnNhZmVs aW5rcy5wcm90ZWN0aW9uLm91dGxvb2suY29tLz91cmw9aHR0cCUzYSUyZiUyZmFwDQo+ID4+PiBh Yw0KPiA+Pj4gaGUNCj4gPj4+IC5vcmclMmYmZGF0YT0wMSU3YzAxJTdjdGVkbCU0MDA2NGQubWdk Lm1pY3Jvc29mdC5jb20lN2NmN2Q5OGMyMzAwOA0KPiA+Pj4gNDQNCj4gPj4+IDU3DQo+ID4+PiBi NmVmNDA4ZDJmMjQxYjNlZiU3YzcyZjk4OGJmODZmMTQxYWY5MWFiMmQ3Y2QwMTFkYjQ3JTdjMSZz ZGF0YT1lSDENCj4gPj4+IE00IGd1IDJtb1BLTEVsaDk3eE03Q2d4Z1NFYk05TzNKWkRxazFBeGZF VSUzZDwNCj4gPj4+IGh0dHBzOi8vbmEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29rLmNv bS8/dXJsPWh0dHAlM2ElMmYlMmZhcA0KPiA+Pj4gYWMNCj4gPj4+IGhlDQo+ID4+PiAub3JnJTJm JmRhdGE9MDElN2MwMSU3Y3RlZGwlNDAwNjRkLm1nZC5taWNyb3NvZnQuY29tJTdjNDA3YWFhNGI4 YTMNCj4gPj4+IDE0DQo+ID4+PiBmOA0KPiA+Pj4gNWRjMGEwOGQyZWJkMzA1N2QlN2M3MmY5ODhi Zjg2ZjE0MWFmOTFhYjJkN2NkMDExZGI0NyU3YzEmc2RhdGE9RjFEDQo+ID4+PiBkRSBBRiBONEVX bmxLTWxZWmtQZmEyaXpydFB3dWxUb0JIWmNwZiUyYjBPNCUzZD4NCj4gPj4+IGhvbWUgcGFnZQ0K PiA+Pj4NCj4gPj4+IEFmdGVyIHRoZSByb2Fkc2hvdywgd2UgaGF2ZSByZWNlaXZlZCB0cmVtZW5k b3VzIHJlcXVlc3RzIHRvIGZvcm0gYSANCj4gPj4+IENoaW5hIGNvbW11bml0eSB0byBrZWVwIGVu Z2FnaW5nIHdpdGggNTAwMCsgYXVkaWVuY2Ugd2hvIGF0dGVuZGVkIA0KPiA+Pj4gdGhpcyByb2Fk c2hvdyBhbmQgdGVucyBvZiB0aG91c2FuZHMgcGVvcGxlIHdobyBkaWQgbm90IGhhdmUgdGltZSAN Cj4gPj4+IG9yIHdlcmUgdW5hd2FyZSBvZiB0aGUgZXZlbnRzLiBTbyBmYXIsIHRoZXJlIGFscmVh ZHkgYXJlIG1hbnkgDQo+ID4+PiB2b2x1bnRlZXJzLCBpbmNsdWRpbmcgQXBhY2hlIG1lbWJlcnMs IFBNQyBtZW1iZXJzLCBjb21taXR0ZXJzLCANCj4gPj4+IGNvbnRyaWJ1dG9ycywgZGV2ZWxvcGVy cyBhbmQgdXNlcnMsIHdobyBhcmUgd2lsbGluZyB0byBqb2luIHRoZSANCj4gPj4+IENoaW5hIGNv bW11bml0eSBzdGVlcmluZyBjb21taXR0ZWUgYW5kIHdvcmtpbmcgZ3JvdXBzIHRvIGhlbHAgZ3Jv dyANCj4gPj4+IHRoZSB0YWxlbnRzLCBwcm9qZWN0cyBhbmQgY29tbXVuaXR5IGluIENoaW5hIGFu ZCBicmlkZ2UgYmV0d2VlbiANCj4gPj4+IEFTRiBhbmQgdGhlIGZhbnMgaW4NCj4gPj4gQ2hpbmEg Zm9sbG93aW5nIHRoZSBBcGFjaGUgd2F5Lg0KPiA+Pj4NCj4gPj4+IEFueSBmZWVkYmFjayBvciBh ZHZpY2Ugb24gaG93IHRvIGZvcm0gYSBjb21tdW5pdHkgb2YgQXBhY2hlIGZhbnMgDQo+ID4+PiBp biBDaGluYSBvciBob3cgdG8gZm9ybSBhIG5ldyBDaGluYS1zcGVjaWZpYyBwcm9qZWN0IGF0IHRo ZSBDb21EZXYgDQo+ID4+PiB3b3VsZCBiZSBncmVhdGx5IGFwcHJlY2lhdGVkLg0KPiA+Pj4NCj4g Pj4+DQo+ID4+PiBUZWQgTGl1DQo+ID4+PiBDby1vcmdhbml6ZXIgb2YgdGhlIEFwYWNoZSBSb2Fk c2hvdyAyMDE1IC0gQ2hpbmEgQ28tZm91bmRpbmcgDQo+ID4+PiBtZW1iZXIgb2YgS0FJWVVBTlNI RQ0KPiA+Pg0KPg0K