Return-Path: X-Original-To: apmail-hbase-user-archive@www.apache.org Delivered-To: apmail-hbase-user-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id CB62111EE4 for ; Sat, 26 Jul 2014 13:50:36 +0000 (UTC) Received: (qmail 90729 invoked by uid 500); 26 Jul 2014 13:50:34 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 90664 invoked by uid 500); 26 Jul 2014 13:50:34 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 90653 invoked by uid 99); 26 Jul 2014 13:50:33 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 26 Jul 2014 13:50:33 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of shankar.hiremath@huawei.com designates 119.145.14.65 as permitted sender) Received: from [119.145.14.65] (HELO szxga02-in.huawei.com) (119.145.14.65) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 26 Jul 2014 13:50:29 +0000 Received: from 172.24.2.119 (EHLO nkgeml401-hub.china.huawei.com) ([172.24.2.119]) by szxrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id BXE66103; Sat, 26 Jul 2014 21:50:05 +0800 (CST) Received: from nkgeml510-mbs.china.huawei.com ([169.254.4.246]) by nkgeml401-hub.china.huawei.com ([10.98.56.32]) with mapi id 14.03.0158.001; Sat, 26 Jul 2014 21:50:03 +0800 From: Shankar hiremath To: "user@hbase.apache.org" Subject: RE: HBase file encryption, inconsistencies observed and data loss Thread-Topic: HBase file encryption, inconsistencies observed and data loss Thread-Index: Ac+oEeWAxG9ep7auSW6R245bafVt/P//6ksA//5hbHA= Date: Sat, 26 Jul 2014 13:50:02 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-IN, zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.18.147.75] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Virus-Checked: Checked by ClamAV on apache.org SGkgQW5kcmV3LA0KDQpQbGVhc2UgZmluZCB0aGUgZGV0YWlscw0KDQpIYmFzZSAwLjk4LjMgJiBo YWRvb3AgMi40LjENCkhiYXNlIHJvb3QgZmlsZSBzeXN0ZW0gb24gaGRmcw0KDQpPbiBIbWFzdGVy IHNpZGUgdGhlcmUgaXMgbm8gZmFpbHVyZSBvciBlcnJvciBtZXNzYWdlIGluIHRoZSBsb2cgZmls ZQ0KT24gUmVnaW9uIFNlcnZlciBzaWRlIHRoZSB0aGUgYmVsb3cgZXJyb3IgbWVzc2FnZSByZXBv cnRlZCBhcyBiZWxvdw0KDQpSZWdpb24gU2VydmVyIExvZzoNCjIwMTQtMDctMjYgMTk6Mjk6MTUs OTA0IERFQlVHIFtyZWdpb25zZXJ2ZXI2MDAyMC1TZW5kVGhyZWFkKGhvc3QyOjIxODEpXSB6b29r ZWVwZXIuQ2xpZW50Q254bjogUmVhZGluZyByZXBseSBzZXNzaW9uaWQ6MHgxNDc2ZDhjODNlNTAx MmMsIHBhY2tldDo6IGNsaWVudFBhdGg6bnVsbCBzZXJ2ZXJQYXRoOm51bGwgZmluaXNoZWQ6ZmFs c2UgaGVhZGVyOjogMTcyLDQgIHJlcGx5SGVhZGVyOjogMTcyLDQyOTQ5ODg4MjUsMCAgcmVxdWVz dDo6ICcvaGJhc2UvdGFibGUvaGJhc2U6YWNsLEYgIHJlc3BvbnNlOjogI2ZmZmZmZmZmMDAwMTQ2 ZDYxNzM3NDY1NzIzYTM2MzAzMDMwMzAzMzcyZmZmZmZmZWIzOWZmZmZmZmJiZjE1ZmZmZmZmYzE1 MDQyNTU0NjgwLHN7NDI5NDk2NzQ3Niw0Mjk0OTY3NDgwLDE0MDYyOTM2MDA4NDQsMTQwNjI5MzYw MTQxNCwyLDAsMCwwLDMxLDAsNDI5NDk2NzQ3Nn0NCjIwMTQtMDctMjYgMTk6Mjk6MTUsOTA1IERF QlVHIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAyMC0wLVdyaXRlci0wXSB3YWwuSExvZ1Nw bGl0dGVyOiBXcml0ZXIgdGhyZWFkIFRocmVhZFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAy MC0wLVdyaXRlci0wLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2IDE5OjI5OjE1LDkwNSBE RUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0ZXItMV0gd2FsLkhMb2dT cGxpdHRlcjogV3JpdGVyIHRocmVhZCBUaHJlYWRbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAw MjAtMC1Xcml0ZXItMSw1LG1haW5dOiBzdGFydGluZw0KMjAxNC0wNy0yNiAxOToyOToxNSw5MDUg REVCVUcgW1JTX0xPR19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTJdIHdhbC5ITG9n U3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBMQVlfT1BTLWhvc3QxOjYw MDIwLTAtV3JpdGVyLTIsNSxtYWluXTogc3RhcnRpbmcNCjIwMTQtMDctMjYgMTk6Mjk6MTUsOTA2 IERFQlVHIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAyMC0wLVdyaXRlci0zXSB3YWwuSExv Z1NwbGl0dGVyOiBXcml0ZXIgdGhyZWFkIFRocmVhZFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2 MDAyMC0wLVdyaXRlci0zLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2IDE5OjI5OjE1LDkw NiBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0ZXItNF0gd2FsLkhM b2dTcGxpdHRlcjogV3JpdGVyIHRocmVhZCBUaHJlYWRbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6 NjAwMjAtMC1Xcml0ZXItNCw1LG1haW5dOiBzdGFydGluZw0KMjAxNC0wNy0yNiAxOToyOToxNSw5 MDYgREVCVUcgW1JTX0xPR19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTVdIHdhbC5I TG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBMQVlfT1BTLWhvc3Qx OjYwMDIwLTAtV3JpdGVyLTUsNSxtYWluXTogc3RhcnRpbmcNCjIwMTQtMDctMjYgMTk6Mjk6MTUs OTA2IERFQlVHIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAyMC0wLVdyaXRlci02XSB3YWwu SExvZ1NwbGl0dGVyOiBXcml0ZXIgdGhyZWFkIFRocmVhZFtSU19MT0dfUkVQTEFZX09QUy1ob3N0 MTo2MDAyMC0wLVdyaXRlci02LDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2IDE5OjI5OjE1 LDkwNiBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0ZXItN10gd2Fs LkhMb2dTcGxpdHRlcjogV3JpdGVyIHRocmVhZCBUaHJlYWRbUlNfTE9HX1JFUExBWV9PUFMtaG9z dDE6NjAwMjAtMC1Xcml0ZXItNyw1LG1haW5dOiBzdGFydGluZw0KMjAxNC0wNy0yNiAxOToyOTox NSw5MDYgREVCVUcgW1JTX0xPR19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLThdIHdh bC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBMQVlfT1BTLWhv c3QxOjYwMDIwLTAtV3JpdGVyLTgsNSxtYWluXTogc3RhcnRpbmcNCjIwMTQtMDctMjYgMTk6Mjk6 MTUsOTA3IERFQlVHIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAyMC0wLVdyaXRlci05XSB3 YWwuSExvZ1NwbGl0dGVyOiBXcml0ZXIgdGhyZWFkIFRocmVhZFtSU19MT0dfUkVQTEFZX09QUy1o b3N0MTo2MDAyMC0wLVdyaXRlci05LDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2IDE5OjI5 OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0ZXItMTBd IHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBMQVlfT1BT LWhvc3QxOjYwMDIwLTAtV3JpdGVyLTEwLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2IDE5 OjI5OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0ZXIt MTFdIHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBMQVlf T1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTExLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3LTI2 IDE5OjI5OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1Xcml0 ZXItMTJdIHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19SRVBM QVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTEyLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0LTA3 LTI2IDE5OjI5OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAtMC1X cml0ZXItMTNdIHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xPR19S RVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTEzLDUsbWFpbl06IHN0YXJ0aW5nDQoyMDE0 LTA3LTI2IDE5OjI5OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAwMjAt MC1Xcml0ZXItMTRdIHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JTX0xP R19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTE0LDUsbWFpbl06IHN0YXJ0aW5nDQoy MDE0LTA3LTI2IDE5OjI5OjE1LDkwNyBERUJVRyBbUlNfTE9HX1JFUExBWV9PUFMtaG9zdDE6NjAw MjAtMC1Xcml0ZXItMTVdIHdhbC5ITG9nU3BsaXR0ZXI6IFdyaXRlciB0aHJlYWQgVGhyZWFkW1JT X0xPR19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTAtV3JpdGVyLTE1LDUsbWFpbl06IHN0YXJ0aW5n DQoNCjIwMTQtMDctMjYgMTk6Mjk6MTYsMTYwIEVSUk9SIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0 MTo2MDAyMC0wXSBjb2RlYy5CYXNlRGVjb2RlcjogUGFydGlhbCBjZWxsIHJlYWQgY2F1c2VkIGJ5 IEVPRjogamF2YS5pby5JT0V4Y2VwdGlvbjogUHJlbWF0dXJlIEVPRiBmcm9tIGlucHV0U3RyZWFt DQoNCjIwMTQtMDctMjYgMTk6Mjk6MTYsMTYxIElORk8gIFtSU19MT0dfUkVQTEFZX09QUy1ob3N0 MTo2MDAyMC0wXSB3YWwuSExvZ1NwbGl0dGVyOiBGaW5pc2hpbmcgd3JpdGluZyBvdXRwdXQgbG9n cyBhbmQgY2xvc2luZyBkb3duLg0KMjAxNC0wNy0yNiAxOToyOToxNiwxNjEgSU5GTyAgW1JTX0xP R19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTBdIHdhbC5ITG9nU3BsaXR0ZXI6IFdhaXRpbmcgZm9y IHNwbGl0IHdyaXRlciB0aHJlYWRzIHRvIGZpbmlzaA0KMjAxNC0wNy0yNiAxOToyOToxNiwxNjEg SU5GTyAgW1JTX0xPR19SRVBMQVlfT1BTLWhvc3QxOjYwMDIwLTBdIHdhbC5ITG9nU3BsaXR0ZXI6 IFNwbGl0IHdyaXRlcnMgZmluaXNoZWQNCjIwMTQtMDctMjYgMTk6Mjk6MTYsMTYyIElORk8gIFtS U19MT0dfUkVQTEFZX09QUy1ob3N0MTo2MDAyMC0wXSB3YWwuSExvZ1NwbGl0dGVyOiBQcm9jZXNz ZWQgMCBlZGl0cyBhY3Jvc3MgMCByZWdpb25zOyBsb2cgZmlsZT1oZGZzOi8vaGFjbHVzdGVyL2hi YXNlL1dBTHMvaG9zdDEsNjAwMjAsMTQwNjM4MzAwNzE1MS1zcGxpdHRpbmcvaG9zdDElMkM2MDAy MCUyQzE0MDYzODMwMDcxNTEuMTQwNjM4MzA2OTMzNC5tZXRhIGlzIGNvcnJ1cHRlZCA9IGZhbHNl IHByb2dyZXNzIGZhaWxlZCA9IGZhbHNlDQoyMDE0LTA3LTI2IDE5OjI5OjE2LDE4NCBERUJVRyBb cmVnaW9uc2VydmVyNjAwMjAtU2VuZFRocmVhZChob3N0MjoyMTgxKV0gem9va2VlcGVyLkNsaWVu dENueG46IEdvdCBub3RpZmljYXRpb24gc2Vzc2lvbmlkOjB4MTQ3NmQ4YzgzZTUwMTJjDQoNCg0K V2hlbiBJIHF1ZXJ5IHRoZSB0YWJsZSBkYXRhLCB3aGljaCB3YXMgaW4gV0FMIGZpbGVzKGJlZm9y ZSB0aGUgUmVnaW9uU2VydmVyIG1hY2hpbmUgd2VudCBkb3duKSBpcyBub3QgY29taW5nLA0KT25l IG1vcmUgdGhpbmcgd2hhdCBJIG9ic2VydmVkIGlzIGV2ZW4gd2hlbiB0aGUgV0FMIGZpbGUgbm90 IHN1Y2Nlc3NmdWxseSBwcm9jZXNzZWQgdGhlbiBhbHNvIGl0IGlzIG1vdmluZyB0byAvb2xkV0FM cyBmb2xkZXIuDQpTbyB3aGVuIEkgcmV2ZXJ0IGJhY2sgdGhlIGJlbG93IDMgY29uZmlndXJhdGlv biBpbiBSZWdpb24gU2VydmVyIHNpZGUgYW5kIHJlc3RhcnQsIHNpbmNlIHRoZSBXQUwgaXMgYWxy ZWFkeSBtb3ZlZCB0byBvbGRXQUxTLyBmb2xkZXIsDQpTbyBpdCB3aWxsIG5vdCBnZXQgcHJvY2Vz c2VkLg0KDQo8cHJvcGVydHk+DQoJPG5hbWU+aGJhc2UucmVnaW9uc2VydmVyLmhsb2cucmVhZGVy LmltcGw8L25hbWU+DQoJPHZhbHVlPm9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnJlZ2lvbnNlcnZl ci53YWwuU2VjdXJlUHJvdG9idWZMb2dSZWFkZXI8L3ZhbHVlPg0KPC9wcm9wZXJ0eT4NCjxwcm9w ZXJ0eT4NCgk8bmFtZT5oYmFzZS5yZWdpb25zZXJ2ZXIuaGxvZy53cml0ZXIuaW1wbDwvbmFtZT4N Cgk8dmFsdWU+b3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UucmVnaW9uc2VydmVyLndhbC5TZWN1cmVQ cm90b2J1ZkxvZ1dyaXRlcjwvdmFsdWU+DQo8L3Byb3BlcnR5Pg0KPHByb3BlcnR5Pg0KCTxuYW1l PmhiYXNlLnJlZ2lvbnNlcnZlci53YWwuZW5jcnlwdGlvbjwvbmFtZT4NCgk8dmFsdWU+dHJ1ZTwv dmFsdWU+DQo8L3Byb3BlcnR5Pg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tDQoNCkFuZCBvbmUgbW9yZSBzY2VuYXJpbyBJIHRyaWVkIChBbm9v cCBzdWdnZXN0ZWQpLCB3aXRoIHRoZSBiZWxvdyBjb25maWd1cmF0aW9uIChpbnN0ZWFkIG9mIGRl bGV0aW5nIHRoZSBiZWxvdyAzIGNvbmZpZyBwYXJhbXRlcnMNCktlcHAgYWxsIGJ1dCBtYWtlIG9u bHkgJ2hiYXNlLnJlZ2lvbnNlcnZlci53YWwuZW5jcnlwdGlvbj1mYWxzZScpIHRoZSBlbmNyeXB0 ZWQgd2FsIGZpbGUgaXMgZ2V0dGluZyBwcm9jZXNzZWQNClN1Y2Nlc3NmdWxseSwgYW5kIHRoZSBx dWVyeSB0YWJsZSBpcyBnaXZpbmcgdGhlIFdBTCBkYXRhIChiZWZvcmUgdGhlIFJlZ2lvblNlcnZl ciBtYWNoaW5lIHdlbnQgZG93bikgY29ycmVjdGx5Lg0KDQo8cHJvcGVydHk+DQoJPG5hbWU+aGJh c2UucmVnaW9uc2VydmVyLmhsb2cucmVhZGVyLmltcGw8L25hbWU+DQoJPHZhbHVlPm9yZy5hcGFj aGUuaGFkb29wLmhiYXNlLnJlZ2lvbnNlcnZlci53YWwuU2VjdXJlUHJvdG9idWZMb2dSZWFkZXI8 L3ZhbHVlPg0KPC9wcm9wZXJ0eT4NCjxwcm9wZXJ0eT4NCgk8bmFtZT5oYmFzZS5yZWdpb25zZXJ2 ZXIuaGxvZy53cml0ZXIuaW1wbDwvbmFtZT4NCgk8dmFsdWU+b3JnLmFwYWNoZS5oYWRvb3AuaGJh c2UucmVnaW9uc2VydmVyLndhbC5TZWN1cmVQcm90b2J1ZkxvZ1dyaXRlcjwvdmFsdWU+DQo8L3By b3BlcnR5Pg0KPHByb3BlcnR5Pg0KCTxuYW1lPmhiYXNlLnJlZ2lvbnNlcnZlci53YWwuZW5jcnlw dGlvbjwvbmFtZT4NCgk8dmFsdWU+ZmFsc2U8L3ZhbHVlPiAgICAgICANCjwvcHJvcGVydHk+DQoN Cg0KUmVnYXJkcw0KLVNoYW5rYXINCg0KVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBj b250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiBmcm9tIEhVQVdFSSwgd2hpY2ggaXMgaW50 ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0 ZWQgYWJvdmUuIEFueSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4g YW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwg ZGlzY2xvc3VyZSwgcmVwcm9kdWN0aW9uLCBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90 aGVyIHRoYW4gdGhlIGludGVuZGVkIHJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3Ug cmVjZWl2ZSB0aGlzIGUtbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5 IHBob25lIG9yIGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQhDQoNCg0KDQoNCg0KLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IGFuZHJldy5wdXJ0ZWxsQGdtYWlsLmNvbSBb bWFpbHRvOmFuZHJldy5wdXJ0ZWxsQGdtYWlsLmNvbV0gT24gQmVoYWxmIE9mIEFuZHJldyBQdXJ0 ZWxsDQpTZW50OiAyNiBKdWx5IDIwMTQgQU0gMDI6MjENClRvOiB1c2VyQGhiYXNlLmFwYWNoZS5v cmcNClN1YmplY3Q6IFJlOiBIQmFzZSBmaWxlIGVuY3J5cHRpb24sIGluY29uc2lzdGVuY2llcyBv YnNlcnZlZCBhbmQgZGF0YSBsb3NzDQoNCkVuY3J5cHRpb24gKG9yIHRoZSBsYWNrIG9mIGl0KSBk b2Vzbid0IGV4cGxhaW4gbWlzc2luZyBIRmlsZXMuDQoNCk1vc3QgbGlrZWx5IGlmIHlvdSBhcmUg aGF2aW5nIGEgcHJvYmxlbSB3aXRoIGVuY3J5cHRpb24sIHRoaXMgd2lsbCBtYW5pZmVzdCBhcyBm b2xsb3dzOiBIRmlsZXMgd2lsbCBiZSBwcmVzZW50LiBIb3dldmVyLCB5b3Ugd2lsbCBmaW5kIG1h bnkgSU9FeGNlcHRpb25zIGluIHRoZSByZWdpb25zZXJ2ZXIgbG9ncyBhcyB0aGV5IGF0dGVtcHQg dG8gb3BlbiB0aGUgSEZpbGVzIGJ1dCBmYWlsIGJlY2F1c2UgdGhlIGRhdGEgaXMgdW5yZWFkYWJs ZS4NCg0KV2Ugc2hvdWxkIHN0YXJ0IGJ5IGxvb2tpbmcgYXQgbW9yZSBiYXNpYyBpc3N1ZXMuIFdo YXQgY291bGQgZXhwbGFpbiB0aGUgdG90YWwgZGlzYXBwZWFyYW5jZSBvZiBIRmlsZXMuDQoNCklz IHRoZSBIQmFzZSByb290IGZpbGVzeXN0ZW0gb24gSERGUyAoZnMgVVJMIHN0YXJ0cyB3aXRoIGhk ZnM6Ly8pIG9yIG9uIHRoZSBsb2NhbCBmaWxlc3lzdGVtIChmcyBVUkwgc3RhcnRzIHdpdGggZmls ZTovLyk/DQoNCkluIHlvdXIgZW1haWwgeW91IHByb3ZpZGUgb25seSBleGNlcHRpb25zIHByaW50 ZWQgYnkgdGhlIGNsaWVudC4gV2hhdCBraW5kIG9mIGV4Y2VwdGlvbnMgYXBwZWFyIGluIHRoZSBy ZWdpb25zZXJ2ZXIgbG9ncz8gT3IgYXBwZWFyIGluIHRoZSBtYXN0ZXIgbG9nPw0KSWYgdGhlIGxv Z3MgYXJlIGxhcmdlIHlvdXIgYmVzdCBiZXQgaXMgdG8gcGFzdGViaW4gdGhlbSBhbmQgdGhlbiBz ZW5kIHRoZSBVUkwgdG8gdGhlIHBhc3RlIGluIHlvdXIgcmVzcG9uc2UuDQoNCg0KDQoNCk9uIEZy aSwgSnVsIDI1LCAyMDE0IGF0IDc6MDggQU0sIFNoYW5rYXIgaGlyZW1hdGggPCBzaGFua2FyLmhp cmVtYXRoQGh1YXdlaS5jb20+IHdyb3RlOg0KDQo+IEhCYXNlIGZpbGUgZW5jcnlwdGlvbiBzb21l IGluY29uc2lzdGVuY2llcyBvYnNlcnZlZCBhbmQgZGF0YSBsb3NzIA0KPiBoYXBwZW5zIGFmdGVy IHJ1bm5pbmcgdGhlIGhiY2sgdG9vbCwNCj4gdGhlIG9wZXJhdGlvbiBzdGVwcyBhcmUgYXMgYmVs b3cuICAgIChvbmUgdGhpbmcgd2hhdCBJIG9ic2VydmVkIGlzLCBvbg0KPiBzdGFydHVwIG9mIEhN YXN0ZXIgaWYgaXQgaXMgbm90IGFibGUgdG8gcHJvY2VzcyB0aGUgV0FMIGZpbGUsIHRoZW4gDQo+ IGFsc28gaXQgbW92ZWQgdG8gL29sZFdBTHMpDQo+DQo+IFByb2NlZHVyZToNCj4gMS4gU3RhcnQg dGhlIEhiYXNlIHNlcnZpY2VzIChITWFzdGVyICYgcmVnaW9uIFNlcnZlcikgMi4gRW5hYmxlIEhG aWxlIA0KPiBlbmNyeXB0aW9uIGFuZCBXQUwgZmlsZSBlbmNyeXB0aW9uIGFzIGJlbG93LCBhbmQg cGVyZm9ybSAndGFibGU0LTAnIA0KPiBwdXQgb3BlcmF0aW9ucyAoMTAwIHJlY29yZHMgYWRkZWQp IDxwcm9wZXJ0eT4gDQo+IDxuYW1lPmhiYXNlLmNyeXB0by5rZXlwcm92aWRlcjwvbmFtZT4NCj4g PHZhbHVlPm9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlvLmNyeXB0by5LZXlTdG9yZUtleVByb3Zp ZGVyPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5Pg0KPiA8bmFtZT5oYmFzZS5j cnlwdG8ua2V5cHJvdmlkZXIucGFyYW1ldGVyczwvbmFtZT4NCj4gPHZhbHVlPmpjZWtzOi8vL29w dC9zaGFua2FyMS9rZGNfa2V5dGFiL2hiYXNlLmprcz9wYXNzd29yZD1IYWRvb3BAMjM0DQo+IDwv dmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4gPG5hbWU+aGJhc2UuY3J5cHRv Lm1hc3Rlci5rZXkubmFtZTwvbmFtZT4NCj4gPHZhbHVlPmhkZnM8L3ZhbHVlPg0KPiA8L3Byb3Bl cnR5Pg0KPiA8cHJvcGVydHk+DQo+IDxuYW1lPmhmaWxlLmZvcm1hdC52ZXJzaW9uPC9uYW1lPg0K PiA8dmFsdWU+MzwvdmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4gPG5hbWU+ aGJhc2UucmVnaW9uc2VydmVyLmhsb2cucmVhZGVyLmltcGw8L25hbWU+DQo+DQo+IDx2YWx1ZT5v cmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5yZWdpb25zZXJ2ZXIud2FsLlNlY3VyZVByb3RvYnVmTG9n UmVhZGUNCj4gcjwvdmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4gPG5hbWU+ aGJhc2UucmVnaW9uc2VydmVyLmhsb2cud3JpdGVyLmltcGw8L25hbWU+DQo+DQo+IDx2YWx1ZT5v cmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5yZWdpb25zZXJ2ZXIud2FsLlNlY3VyZVByb3RvYnVmTG9n V3JpdGUNCj4gcjwvdmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4gPG5hbWU+ aGJhc2UucmVnaW9uc2VydmVyLndhbC5lbmNyeXB0aW9uPC9uYW1lPg0KPiA8dmFsdWU+dHJ1ZTwv dmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDMuIE1hY2hpbmUgd2VudCBkb3duLCBzbyBhbGwgcHJv Y2VzcyB3ZW50IGRvd24NCj4NCj4gNC4gV2UgZGlzYWJsZWQgdGhlIFdBTCBmaWxlIGVuY3J5cHRp b24gZm9yIHBlcmZvcm1hbmNlIHJlYXNvbiwgYW5kIA0KPiBrZWVwIGVuY3J5cHRpb24gb25seSBm b3IgSGZpbGUsIGFzIGJlbG93IDxwcm9wZXJ0eT4gDQo+IDxuYW1lPmhiYXNlLmNyeXB0by5rZXlw cm92aWRlcjwvbmFtZT4NCj4gPHZhbHVlPm9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlvLmNyeXB0 by5LZXlTdG9yZUtleVByb3ZpZGVyPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5 Pg0KPiA8bmFtZT5oYmFzZS5jcnlwdG8ua2V5cHJvdmlkZXIucGFyYW1ldGVyczwvbmFtZT4NCj4g PHZhbHVlPmpjZWtzOi8vL29wdC9zaGFua2FyMS9rZGNfa2V5dGFiL2hiYXNlLmprcz9wYXNzd29y ZD1IYWRvb3BAMjM0DQo+IDwvdmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4g PG5hbWU+aGJhc2UuY3J5cHRvLm1hc3Rlci5rZXkubmFtZTwvbmFtZT4NCj4gPHZhbHVlPmhkZnM8 L3ZhbHVlPg0KPiA8L3Byb3BlcnR5Pg0KPiA8cHJvcGVydHk+DQo+IDxuYW1lPmhmaWxlLmZvcm1h dC52ZXJzaW9uPC9uYW1lPg0KPiA8dmFsdWU+MzwvdmFsdWU+DQo+IDwvcHJvcGVydHk+DQo+IDUu IFN0YXJ0IHRoZSBSZWdpb24gU2VydmVyIGFuZCBxdWVyeSB0aGUgJ3RhYmxlNC0wJyBkYXRhIA0K PiBoYmFzZShtYWluKTowMDM6MD4gY291bnQgJ3RhYmxlNC0wJw0KPiBFUlJPUjogb3JnLmFwYWNo ZS5oYWRvb3AuaGJhc2UuTm90U2VydmluZ1JlZ2lvbkV4Y2VwdGlvbjogUmVnaW9uIA0KPiB0YWJs ZTQtMCwsMTQwNjIwNzgxNTQ1Ni5mYzEwNjIwYTNkY2MxNGUwMDRhYjAzNDQyMGY3ZDMzMi4gaXMg bm90IA0KPiBvbmxpbmUgb24NCj4gWFgtWFgtWFgtWFgsNjAwMjAsMTQwNjIwOTAyMzE0Ng0KPiBh dA0KPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5yZWdpb25zZXJ2ZXIuSFJlZ2lvblNlcnZlci5n ZXRSZWdpb25CeUVuY29kZWRODQo+IGFtZShIUmVnaW9uU2VydmVyLmphdmE6MjY4NSkNCj4gYXQN Cj4gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UucmVnaW9uc2VydmVyLkhSZWdpb25TZXJ2ZXIuZ2V0 UmVnaW9uKEhSZWdpb25TZQ0KPiBydmVyLmphdmE6NDExOSkNCj4gYXQNCj4gb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UucmVnaW9uc2VydmVyLkhSZWdpb25TZXJ2ZXIuc2NhbihIUmVnaW9uU2VydmVy Lg0KPiBqYXZhOjMwNjYpDQo+IGF0DQo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnByb3RvYnVm LmdlbmVyYXRlZC5DbGllbnRQcm90b3MkQ2xpZW50U2VydmljZSQNCj4gMi5jYWxsQmxvY2tpbmdN ZXRob2QoQ2xpZW50UHJvdG9zLmphdmE6Mjk0OTcpDQo+IGF0IG9yZy5hcGFjaGUuaGFkb29wLmhi YXNlLmlwYy5ScGNTZXJ2ZXIuY2FsbChScGNTZXJ2ZXIuamF2YToyMDg0KQ0KPiBhdCBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5pcGMuQ2FsbFJ1bm5lci5ydW4oQ2FsbFJ1bm5lci5qYXZhOjk4KQ0K PiBhdA0KPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuU2ltcGxlUnBjU2NoZWR1bGVyLmNv bnN1bWVyTG9vcChTaW1wbGVScGNTDQo+IGNoZWR1bGVyLmphdmE6MTY4KQ0KPiBhdA0KPiBvcmcu YXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuU2ltcGxlUnBjU2NoZWR1bGVyLmFjY2VzcyQwMDAoU2lt cGxlUnBjU2NoDQo+IGVkdWxlci5qYXZhOjM5KQ0KPiBhdA0KPiBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5pcGMuU2ltcGxlUnBjU2NoZWR1bGVyJDEucnVuKFNpbXBsZVJwY1NjaGVkdWxlDQo+IHIu amF2YToxMTEpIGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjY2MikNCj4gNi4g Tm90IGFibGUgdG8gcmVhZCB0aGUgZGF0YSwgc28gd2UgZGVjaWRlZCB0byByZXZlcnQgYmFjayB0 aGUgDQo+IGNvbmZpZ3VyYXRpb24gKGFzIG9yaWdpbmFsKSA3LiBLaWxsL1N0b3AgdGhlIFJlZ2lv biBTZXJ2ZXIsIHJldmVydCBhbGwgDQo+IHRoZSBjb25maWd1cmF0aW9ucyBhcyBvcmlnaW5hbCwg YXMgYmVsb3cgPHByb3BlcnR5PiANCj4gPG5hbWU+aGJhc2UuY3J5cHRvLmtleXByb3ZpZGVyPC9u YW1lPg0KPiA8dmFsdWU+b3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuaW8uY3J5cHRvLktleVN0b3Jl S2V5UHJvdmlkZXI8L3ZhbHVlPg0KPiA8L3Byb3BlcnR5Pg0KPiA8cHJvcGVydHk+DQo+IDxuYW1l PmhiYXNlLmNyeXB0by5rZXlwcm92aWRlci5wYXJhbWV0ZXJzPC9uYW1lPg0KPiA8dmFsdWU+amNl a3M6Ly8vb3B0L3NoYW5rYXIxL2tkY19rZXl0YWIvaGJhc2UuamtzP3Bhc3N3b3JkPUhhZG9vcEAy MzQNCj4gPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5Pg0KPiA8bmFtZT5oYmFz ZS5jcnlwdG8ubWFzdGVyLmtleS5uYW1lPC9uYW1lPg0KPiA8dmFsdWU+aGRmczwvdmFsdWU+DQo+ IDwvcHJvcGVydHk+DQo+IDxwcm9wZXJ0eT4NCj4gPG5hbWU+aGZpbGUuZm9ybWF0LnZlcnNpb248 L25hbWU+DQo+IDx2YWx1ZT4zPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5Pg0K PiA8bmFtZT5oYmFzZS5yZWdpb25zZXJ2ZXIuaGxvZy5yZWFkZXIuaW1wbDwvbmFtZT4NCj4NCj4g PHZhbHVlPm9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnJlZ2lvbnNlcnZlci53YWwuU2VjdXJlUHJv dG9idWZMb2dSZWFkZQ0KPiByPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5Pg0K PiA8bmFtZT5oYmFzZS5yZWdpb25zZXJ2ZXIuaGxvZy53cml0ZXIuaW1wbDwvbmFtZT4NCj4NCj4g PHZhbHVlPm9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnJlZ2lvbnNlcnZlci53YWwuU2VjdXJlUHJv dG9idWZMb2dXcml0ZQ0KPiByPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gPHByb3BlcnR5Pg0K PiA8bmFtZT5oYmFzZS5yZWdpb25zZXJ2ZXIud2FsLmVuY3J5cHRpb248L25hbWU+DQo+IDx2YWx1 ZT50cnVlPC92YWx1ZT4NCj4gPC9wcm9wZXJ0eT4NCj4gNy4gU3RhcnQgdGhlIFJlZ2lvbiBTZXJ2 ZXIsIGFuZCBwZXJmb3JtIHRoZSAndGFibGU0LTAnIHF1ZXJ5IA0KPiBoYmFzZShtYWluKTowMDM6 MD4gY291bnQgJ3RhYmxlNC0wJw0KPiBFUlJPUjogb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuTm90 U2VydmluZ1JlZ2lvbkV4Y2VwdGlvbjogUmVnaW9uIA0KPiB0YWJsZTQtMCwsMTQwNjIwNzgxNTQ1 Ni5mYzEwNjIwYTNkY2MxNGUwMDRhYjAzNDQyMGY3ZDMzMi4gaXMgbm90IA0KPiBvbmxpbmUgb24N Cj4gWFgtWFgtWFgtWFgsNjAwMjAsMTQwNjIwOTAyMzE0Ng0KPiBhdA0KPiBvcmcuYXBhY2hlLmhh ZG9vcC5oYmFzZS5yZWdpb25zZXJ2ZXIuSFJlZ2lvblNlcnZlci5nZXRSZWdpb25CeUVuY29kZWRO DQo+IGFtZShIUmVnaW9uU2VydmVyLmphdmE6MjY4NSkNCj4gYXQNCj4gb3JnLmFwYWNoZS5oYWRv b3AuaGJhc2UucmVnaW9uc2VydmVyLkhSZWdpb25TZXJ2ZXIuZ2V0UmVnaW9uKEhSZWdpb25TZQ0K PiBydmVyLmphdmE6NDExOSkNCj4gYXQNCj4gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UucmVnaW9u c2VydmVyLkhSZWdpb25TZXJ2ZXIuc2NhbihIUmVnaW9uU2VydmVyLg0KPiBqYXZhOjMwNjYpDQo+ IGF0DQo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLnByb3RvYnVmLmdlbmVyYXRlZC5DbGllbnRQ cm90b3MkQ2xpZW50U2VydmljZSQNCj4gMi5jYWxsQmxvY2tpbmdNZXRob2QoQ2xpZW50UHJvdG9z LmphdmE6Mjk0OTcpDQo+IGF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLmlwYy5ScGNTZXJ2ZXIu Y2FsbChScGNTZXJ2ZXIuamF2YToyMDg0KQ0KPiBhdCBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5p cGMuQ2FsbFJ1bm5lci5ydW4oQ2FsbFJ1bm5lci5qYXZhOjk4KQ0KPiBhdA0KPiBvcmcuYXBhY2hl LmhhZG9vcC5oYmFzZS5pcGMuU2ltcGxlUnBjU2NoZWR1bGVyLmNvbnN1bWVyTG9vcChTaW1wbGVS cGNTDQo+IGNoZWR1bGVyLmphdmE6MTY4KQ0KPiBhdA0KPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFz ZS5pcGMuU2ltcGxlUnBjU2NoZWR1bGVyLmFjY2VzcyQwMDAoU2ltcGxlUnBjU2NoDQo+IGVkdWxl ci5qYXZhOjM5KQ0KPiBhdA0KPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5pcGMuU2ltcGxlUnBj U2NoZWR1bGVyJDEucnVuKFNpbXBsZVJwY1NjaGVkdWxlDQo+IHIuamF2YToxMTEpIGF0IGphdmEu bGFuZy5UaHJlYWQucnVuKFRocmVhZC5qYXZhOjY2MikNCj4gOC4gUnVuIHRoZSBoYmFzZSBoYmNr IHRvIHJlcGFpciwgYXMgYmVsb3cgLi9oYmFzZSBoYmNrIC1kZXRhaWxzIA0KPiAuLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uDQo+IFN1bW1hcnk6DQo+IHRhYmxlMS0wIGlzIG9rYXkuDQo+IE51bWJl ciBvZiByZWdpb25zOiAwDQo+IERlcGxveWVkIG9uOg0KPiB0YWJsZTItMCBpcyBva2F5Lg0KPiBO dW1iZXIgb2YgcmVnaW9uczogMA0KPiBEZXBsb3llZCBvbjoNCj4gdGFibGUzLTAgaXMgb2theS4N Cj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDANCj4gRGVwbG95ZWQgb246DQo+IHRhYmxlNC0wIGlzIG9r YXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAwDQo+IERlcGxveWVkIG9uOg0KPiB0YWJsZTUtMCBp cyBva2F5Lg0KPiBOdW1iZXIgb2YgcmVnaW9uczogMA0KPiBEZXBsb3llZCBvbjoNCj4gdGFibGU2 LTAgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDANCj4gRGVwbG95ZWQgb246DQo+IHRh YmxlNy0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAwDQo+IERlcGxveWVkIG9uOg0K PiB0YWJsZTgtMCBpcyBva2F5Lg0KPiBOdW1iZXIgb2YgcmVnaW9uczogMA0KPiBEZXBsb3llZCBv bjoNCj4gdGFibGU5LTAgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDANCj4gRGVwbG95 ZWQgb246DQo+IGhiYXNlOm1ldGEgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDENCj4g RGVwbG95ZWQgb246IFhYLVhYLVhYLVhYLDYwMDIwLDE0MDYyMDkwMjMxNDYgaGJhc2U6YWNsIGlz IG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAwDQo+IERlcGxveWVkIG9uOg0KPiBoYmFzZTpu YW1lc3BhY2UgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDANCj4gRGVwbG95ZWQgb246 DQo+IDIyIGluY29uc2lzdGVuY2llcyBkZXRlY3RlZC4NCj4gU3RhdHVzOiBJTkNPTlNJU1RFTlQN Cj4gMjAxNC0wNy0yNCAxOToxMzowNSw1MzIgSU5GTyBbbWFpbl0NCj4gY2xpZW50LkhDb25uZWN0 aW9uTWFuYWdlciRIQ29ubmVjdGlvbkltcGxlbWVudGF0aW9uOiBDbG9zaW5nIG1hc3Rlcg0KPiBw cm90b2NvbDogTWFzdGVyU2VydmljZQ0KPiAyMDE0LTA3LTI0IDE5OjEzOjA1LDUzMyBJTkZPIFtt YWluXQ0KPiBjbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0aW9uSW1wbGVtZW50YXRp b246IENsb3Npbmcgem9va2VlcGVyIA0KPiBzZXNzaW9uaWQ9MHgxNDc1ZDE2MTE2MTFiY2YNCj4g MjAxNC0wNy0yNCAxOToxMzowNSw1MzMgREVCVUcgW21haW5dIHpvb2tlZXBlci5ab29LZWVwZXI6 IENsb3Npbmcgc2Vzc2lvbjoNCj4gMHgxNDc1ZDE2MTE2MTFiY2YNCj4gMjAxNC0wNy0yNCAxOTox MzowNSw1MzMgREVCVUcgW21haW5dIHpvb2tlZXBlci5DbGllbnRDbnhuOiBDbG9zaW5nIA0KPiBj bGllbnQgZm9yIHNlc3Npb246IDB4MTQ3NWQxNjExNjExYmNmDQo+IDIwMTQtMDctMjQgMTk6MTM6 MDUsNTQ2IERFQlVHIFttYWluLVNlbmRUaHJlYWQoWFgtWFgtWFgtWFg6MjE4MSldDQo+IHpvb2tl ZXBlci5DbGllbnRDbnhuOiBSZWFkaW5nIHJlcGx5IHNlc3Npb25pZDoweDE0NzVkMTYxMTYxMWJj ZiwgcGFja2V0OjoNCj4gY2xpZW50UGF0aDpudWxsIHNlcnZlclBhdGg6bnVsbCBmaW5pc2hlZDpm YWxzZSBoZWFkZXI6OiA2LC0xMSByZXBseUhlYWRlcjo6DQo+IDYsNDI5NTEwMjA3NCwwIHJlcXVl c3Q6OiBudWxsIHJlc3BvbnNlOjogbnVsbA0KPiAyMDE0LTA3LTI0IDE5OjEzOjA1LDU0NiBERUJV RyBbbWFpbl0gem9va2VlcGVyLkNsaWVudENueG46IA0KPiBEaXNjb25uZWN0aW5nIGNsaWVudCBm b3Igc2Vzc2lvbjogMHgxNDc1ZDE2MTE2MTFiY2YNCj4gMjAxNC0wNy0yNCAxOToxMzowNSw1NDYg REVCVUcgW21haW4tU2VuZFRocmVhZChYWC1YWC1YWC1YWDoyMTgxKV0NCj4gem9va2VlcGVyLkNs aWVudENueG46IEFuIGV4Y2VwdGlvbiB3YXMgdGhyb3duIHdoaWxlIGNsb3Npbmcgc2VuZCANCj4g dGhyZWFkIGZvciBzZXNzaW9uIDB4MTQ3NWQxNjExNjExYmNmIDogVW5hYmxlIHRvIHJlYWQgYWRk aXRpb25hbCBkYXRhIA0KPiBmcm9tIHNlcnZlciBzZXNzaW9uaWQgMHgxNDc1ZDE2MTE2MTFiY2Ys IGxpa2VseSBzZXJ2ZXIgaGFzIGNsb3NlZCANCj4gc29ja2V0DQo+IDIwMTQtMDctMjQgMTk6MTM6 MDUsNTQ2IElORk8gW21haW4tRXZlbnRUaHJlYWRdIHpvb2tlZXBlci5DbGllbnRDbnhuOg0KPiBF dmVudFRocmVhZCBzaHV0IGRvd24NCj4gMjAxNC0wNy0yNCAxOToxMzowNSw1NDYgSU5GTyBbbWFp bl0gem9va2VlcGVyLlpvb0tlZXBlcjogU2Vzc2lvbjoNCj4gMHgxNDc1ZDE2MTE2MTFiY2YgY2xv c2VkDQo+IHNoYW5rYXIxQFhYLVhYLVhYLVhYOn4vRGF0YVNpZ2h0L2hiYXNlL2Jpbj4NCj4gOS4g Rml4IHRoZSBhc3NpZ25tZW50cyBhcyBiZWxvdw0KPiAuL2hiYXNlIGhiY2sgLWZpeEFzc2lnbm1l bnRzDQo+IFN1bW1hcnk6DQo+IHRhYmxlMS0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25z OiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRh YmxlMi0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBY WC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlMy0wIGlzIG9rYXkuDQo+IE51 bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2 MjA5MDIzMTQ2DQo+IHRhYmxlNC0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+ IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlNS0w IGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1Y WC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlNi0wIGlzIG9rYXkuDQo+IE51bWJlciBv ZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIz MTQ2DQo+IHRhYmxlNy0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxv eWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlOC0wIGlzIG9r YXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2 MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlOS0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdp b25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2IGhi YXNlOm1ldGEgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDENCj4gRGVwbG95ZWQgb246 IFhYLVhYLVhYLVhYLDYwMDIwLDE0MDYyMDkwMjMxNDYgaGJhc2U6YWNsIGlzIG9rYXkuDQo+IE51 bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2 MjA5MDIzMTQ2IGhiYXNlOm5hbWVzcGFjZSBpcyBva2F5Lg0KPiBOdW1iZXIgb2YgcmVnaW9uczog MQ0KPiBEZXBsb3llZCBvbjogWFgtWFgtWFgtWFgsNjAwMjAsMTQwNjIwOTAyMzE0Ng0KPiAwIGlu Y29uc2lzdGVuY2llcyBkZXRlY3RlZC4NCj4gU3RhdHVzOiBPSw0KPiAyMDE0LTA3LTI0IDE5OjQ0 OjU1LDE5NCBJTkZPIFttYWluXQ0KPiBjbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0 aW9uSW1wbGVtZW50YXRpb246IENsb3NpbmcgbWFzdGVyDQo+IHByb3RvY29sOiBNYXN0ZXJTZXJ2 aWNlDQo+IDIwMTQtMDctMjQgMTk6NDQ6NTUsMTk0IElORk8gW21haW5dDQo+IGNsaWVudC5IQ29u bmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbjogQ2xvc2luZyB6b29rZWVw ZXINCj4gc2Vzc2lvbmlkPTB4MjQ3NWQxNWY3YjMxYjczDQo+IDIwMTQtMDctMjQgMTk6NDQ6NTUs MTk0IERFQlVHIFttYWluXSB6b29rZWVwZXIuWm9vS2VlcGVyOiBDbG9zaW5nIHNlc3Npb246DQo+ IDB4MjQ3NWQxNWY3YjMxYjczDQo+IDIwMTQtMDctMjQgMTk6NDQ6NTUsMTk0IERFQlVHIFttYWlu XSB6b29rZWVwZXIuQ2xpZW50Q254bjogQ2xvc2luZyANCj4gY2xpZW50IGZvciBzZXNzaW9uOiAw eDI0NzVkMTVmN2IzMWI3Mw0KPiAyMDE0LTA3LTI0IDE5OjQ0OjU1LDIwMyBERUJVRyBbbWFpbi1T ZW5kVGhyZWFkKFhYLVhYLVhYLVhYOjIxODEpXQ0KPiB6b29rZWVwZXIuQ2xpZW50Q254bjogUmVh ZGluZyByZXBseSBzZXNzaW9uaWQ6MHgyNDc1ZDE1ZjdiMzFiNzMsIHBhY2tldDo6DQo+IGNsaWVu dFBhdGg6bnVsbCBzZXJ2ZXJQYXRoOm51bGwgZmluaXNoZWQ6ZmFsc2UgaGVhZGVyOjogNywtMTEg cmVwbHlIZWFkZXI6Og0KPiA3LDQyOTUxMDIzNzcsMCByZXF1ZXN0OjogbnVsbCByZXNwb25zZTo6 IG51bGwNCj4gMjAxNC0wNy0yNCAxOTo0NDo1NSwyMDMgREVCVUcgW21haW5dIHpvb2tlZXBlci5D bGllbnRDbnhuOiANCj4gRGlzY29ubmVjdGluZyBjbGllbnQgZm9yIHNlc3Npb246IDB4MjQ3NWQx NWY3YjMxYjczDQo+IDIwMTQtMDctMjQgMTk6NDQ6NTUsMjA0IERFQlVHIFttYWluLVNlbmRUaHJl YWQoWFgtWFgtWFgtWFg6MjE4MSldDQo+IHpvb2tlZXBlci5DbGllbnRDbnhuOiBBbiBleGNlcHRp b24gd2FzIHRocm93biB3aGlsZSBjbG9zaW5nIHNlbmQgDQo+IHRocmVhZCBmb3Igc2Vzc2lvbiAw eDI0NzVkMTVmN2IzMWI3MyA6IFVuYWJsZSB0byByZWFkIGFkZGl0aW9uYWwgZGF0YSANCj4gZnJv bSBzZXJ2ZXIgc2Vzc2lvbmlkIDB4MjQ3NWQxNWY3YjMxYjczLCBsaWtlbHkgc2VydmVyIGhhcyBj bG9zZWQgDQo+IHNvY2tldA0KPiAyMDE0LTA3LTI0IDE5OjQ0OjU1LDIwNCBJTkZPIFttYWluXSB6 b29rZWVwZXIuWm9vS2VlcGVyOiBTZXNzaW9uOg0KPiAweDI0NzVkMTVmN2IzMWI3MyBjbG9zZWQN Cj4gMjAxNC0wNy0yNCAxOTo0NDo1NSwyMDQgSU5GTyBbbWFpbi1FdmVudFRocmVhZF0gem9va2Vl cGVyLkNsaWVudENueG46DQo+IEV2ZW50VGhyZWFkIHNodXQgZG93bg0KPiAxMC4gRml4IHRoZSBh c3NpZ25tZW50cyBhcyBiZWxvdw0KPiAuL2hiYXNlIGhiY2sgLWZpeEFzc2lnbm1lbnRzIC1maXhN ZXRhDQo+IFN1bW1hcnk6DQo+IHRhYmxlMS0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25z OiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRh YmxlMi0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBY WC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlMy0wIGlzIG9rYXkuDQo+IE51 bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2 MjA5MDIzMTQ2DQo+IHRhYmxlNC0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+ IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlNS0w IGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1Y WC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlNi0wIGlzIG9rYXkuDQo+IE51bWJlciBv ZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIz MTQ2DQo+IHRhYmxlNy0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxv eWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlOC0wIGlzIG9r YXkuDQo+IE51bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2 MDAyMCwxNDA2MjA5MDIzMTQ2DQo+IHRhYmxlOS0wIGlzIG9rYXkuDQo+IE51bWJlciBvZiByZWdp b25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2MjA5MDIzMTQ2IGhi YXNlOm1ldGEgaXMgb2theS4NCj4gTnVtYmVyIG9mIHJlZ2lvbnM6IDENCj4gRGVwbG95ZWQgb246 IFhYLVhYLVhYLVhYLDYwMDIwLDE0MDYyMDkwMjMxNDYgaGJhc2U6YWNsIGlzIG9rYXkuDQo+IE51 bWJlciBvZiByZWdpb25zOiAxDQo+IERlcGxveWVkIG9uOiBYWC1YWC1YWC1YWCw2MDAyMCwxNDA2 MjA5MDIzMTQ2IGhiYXNlOm5hbWVzcGFjZSBpcyBva2F5Lg0KPiBOdW1iZXIgb2YgcmVnaW9uczog MQ0KPiBEZXBsb3llZCBvbjogWFgtWFgtWFgtWFgsNjAwMjAsMTQwNjIwOTAyMzE0Ng0KPiAwIGlu Y29uc2lzdGVuY2llcyBkZXRlY3RlZC4NCj4gU3RhdHVzOiBPSw0KPiAyMDE0LTA3LTI0IDE5OjQ2 OjE2LDI5MCBJTkZPIFttYWluXQ0KPiBjbGllbnQuSENvbm5lY3Rpb25NYW5hZ2VyJEhDb25uZWN0 aW9uSW1wbGVtZW50YXRpb246IENsb3NpbmcgbWFzdGVyDQo+IHByb3RvY29sOiBNYXN0ZXJTZXJ2 aWNlDQo+IDIwMTQtMDctMjQgMTk6NDY6MTYsMjkwIElORk8gW21haW5dDQo+IGNsaWVudC5IQ29u bmVjdGlvbk1hbmFnZXIkSENvbm5lY3Rpb25JbXBsZW1lbnRhdGlvbjogQ2xvc2luZyB6b29rZWVw ZXINCj4gc2Vzc2lvbmlkPTB4MzQ3NWQxNjA1MzIxYmU5DQo+IDIwMTQtMDctMjQgMTk6NDY6MTYs MjkwIERFQlVHIFttYWluXSB6b29rZWVwZXIuWm9vS2VlcGVyOiBDbG9zaW5nIHNlc3Npb246DQo+ IDB4MzQ3NWQxNjA1MzIxYmU5DQo+IDIwMTQtMDctMjQgMTk6NDY6MTYsMjkwIERFQlVHIFttYWlu XSB6b29rZWVwZXIuQ2xpZW50Q254bjogQ2xvc2luZyANCj4gY2xpZW50IGZvciBzZXNzaW9uOiAw eDM0NzVkMTYwNTMyMWJlOQ0KPiAyMDE0LTA3LTI0IDE5OjQ2OjE2LDMwMCBERUJVRyBbbWFpbi1T ZW5kVGhyZWFkKFhYLVhYLVhYLVhYOjIxODEpXQ0KPiB6b29rZWVwZXIuQ2xpZW50Q254bjogUmVh ZGluZyByZXBseSBzZXNzaW9uaWQ6MHgzNDc1ZDE2MDUzMjFiZTksIHBhY2tldDo6DQo+IGNsaWVu dFBhdGg6bnVsbCBzZXJ2ZXJQYXRoOm51bGwgZmluaXNoZWQ6ZmFsc2UgaGVhZGVyOjogNiwtMTEg cmVwbHlIZWFkZXI6Og0KPiA2LDQyOTUxMDIzOTcsMCByZXF1ZXN0OjogbnVsbCByZXNwb25zZTo6 IG51bGwNCj4gMjAxNC0wNy0yNCAxOTo0NjoxNiwzMDAgREVCVUcgW21haW5dIHpvb2tlZXBlci5D bGllbnRDbnhuOiANCj4gRGlzY29ubmVjdGluZyBjbGllbnQgZm9yIHNlc3Npb246IDB4MzQ3NWQx NjA1MzIxYmU5DQo+IDIwMTQtMDctMjQgMTk6NDY6MTYsMzAwIERFQlVHIFttYWluLVNlbmRUaHJl YWQoWFgtWFgtWFgtWFg6MjE4MSldDQo+IHpvb2tlZXBlci5DbGllbnRDbnhuOiBBbiBleGNlcHRp b24gd2FzIHRocm93biB3aGlsZSBjbG9zaW5nIHNlbmQgDQo+IHRocmVhZCBmb3Igc2Vzc2lvbiAw eDM0NzVkMTYwNTMyMWJlOSA6IFVuYWJsZSB0byByZWFkIGFkZGl0aW9uYWwgZGF0YSANCj4gZnJv bSBzZXJ2ZXIgc2Vzc2lvbmlkIDB4MzQ3NWQxNjA1MzIxYmU5LCBsaWtlbHkgc2VydmVyIGhhcyBj bG9zZWQgDQo+IHNvY2tldA0KPiAyMDE0LTA3LTI0IDE5OjQ2OjE2LDMwMCBJTkZPIFttYWluXSB6 b29rZWVwZXIuWm9vS2VlcGVyOiBTZXNzaW9uOg0KPiAweDM0NzVkMTYwNTMyMWJlOSBjbG9zZWQN Cj4gMjAxNC0wNy0yNCAxOTo0NjoxNiwzMDAgSU5GTyBbbWFpbi1FdmVudFRocmVhZF0gem9va2Vl cGVyLkNsaWVudENueG46DQo+IEV2ZW50VGhyZWFkIHNodXQgZG93bg0KPiBoYmFzZShtYWluKTow MDY6MD4gY291bnQgJ3RhYmxlNC0wJw0KPiAwIHJvdyhzKSBpbiAwLjAyMDAgc2Vjb25kcw0KPiA9 PiAwDQo+IGhiYXNlKG1haW4pOjAwNzowPg0KPiBDb21wbGV0ZSBkYXRhIGxvc3MgaGFwcGVuZWQs DQo+IFdBTHMsIG9sZFdBTHMgJiAvaGJhc2UvZGF0YS9kZWZhdWx0L3RhYmxlNC0wLyBkb2VzIG5v dCBoYXZlIGFueSBkYXRhDQo+DQo+DQo+DQo+IFtYXQ0KPiBUaGlzIGUtbWFpbCBhbmQgaXRzIGF0 dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIGZyb20gDQo+IEhVQVdF SSwgd2hpY2ggaXMgaW50ZW5kZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2Ug YWRkcmVzcyANCj4gaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBj b250YWluZWQgaGVyZWluIGluIGFueSANCj4gd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRl ZCB0bywgdG90YWwgb3IgcGFydGlhbCBkaXNjbG9zdXJlLCANCj4gcmVwcm9kdWN0aW9uLCBvciBk aXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90aGVyIHRoYW4gdGhlIGludGVuZGVkIA0KPiByZWNp cGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJy b3IsIA0KPiBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkgcGhvbmUgb3IgZW1haWwgaW1tZWRp YXRlbHkgYW5kIGRlbGV0ZSBpdCENCj4gW1hdDQo+DQo+DQo+DQo+DQo+DQo+DQoNCg0KLS0NCkJl c3QgcmVnYXJkcywNCg0KICAgLSBBbmR5DQoNClByb2JsZW1zIHdvcnRoeSBvZiBhdHRhY2sgcHJv dmUgdGhlaXIgd29ydGggYnkgaGl0dGluZyBiYWNrLiAtIFBpZXQgSGVpbiAodmlhIFRvbSBXaGl0 ZSkNCg==