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 3763C11FC0 for ; Thu, 24 Jul 2014 12:03:35 +0000 (UTC) Received: (qmail 83820 invoked by uid 500); 24 Jul 2014 12:03:33 -0000 Delivered-To: apmail-hbase-user-archive@hbase.apache.org Received: (qmail 83753 invoked by uid 500); 24 Jul 2014 12:03:33 -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 83742 invoked by uid 99); 24 Jul 2014 12:03:32 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jul 2014 12:03:32 +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 (nike.apache.org: domain of shankar.hiremath@huawei.com designates 119.145.14.66 as permitted sender) Received: from [119.145.14.66] (HELO szxga03-in.huawei.com) (119.145.14.66) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 24 Jul 2014 12:03:30 +0000 Received: from 172.24.2.119 (EHLO nkgeml408-hub.china.huawei.com) ([172.24.2.119]) by szxrg03-dlp.huawei.com (MOS 4.4.3-GA FastPath queued) with ESMTP id ASA69291; Thu, 24 Jul 2014 20:03:00 +0800 (CST) Received: from nkgeml510-mbs.china.huawei.com ([169.254.4.246]) by nkgeml408-hub.china.huawei.com ([10.98.56.39]) with mapi id 14.03.0158.001; Thu, 24 Jul 2014 20:02:55 +0800 From: Shankar hiremath To: "user@hbase.apache.org" Subject: RE: RegionServer many socket fds are in CLOSE_WAIT and not getting cleared Thread-Topic: RegionServer many socket fds are in CLOSE_WAIT and not getting cleared Thread-Index: AQHPpwv7VW+V4LTfV0eYQBbVkFamo5uuy+uw//9+U4CAACpogIAAq26A Date: Thu, 24 Jul 2014 12:02:54 +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-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020206.53D0F5F5.01FC,ss=1,re=0.000,fgs=0, ip=169.254.4.246, so=2013-05-26 15:14:31, dmn=2011-05-27 18:58:46 X-Mirapoint-Loop-Id: e0025d35d999002a5155256a6058067c X-Virus-Checked: Checked by ClamAV on apache.org SSBhbSB1c2luZyBIYmFzZSAwLjk4LjMgYW5kIEhhZG9vcCAyLjQuMQ0KDQpSZWdhcmRzDQotU2hh bmthcg0KDQoNClRoaXMgZS1tYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRl bnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoIGlzIGludGVuZGVkIG9ubHkgZm9y IHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkg dXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1 ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFsIGRpc2Nsb3N1cmUsIHJl cHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBp bnRlbmRlZCByZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBl LW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSBwaG9uZSBvciBlbWFp bCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KDQoNCg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBRaWFuZyBUaWFuIFttYWlsdG86dGlhbnEwMUBnbWFpbC5jb21dIA0K U2VudDogMjQgSnVseSAyMDE0IFBNIDAzOjE5DQpUbzogdXNlckBoYmFzZS5hcGFjaGUub3JnDQpT dWJqZWN0OiBSZTogUmVnaW9uU2VydmVyIG1hbnkgc29ja2V0IGZkcyBhcmUgaW4gQ0xPU0VfV0FJ VCBhbmQgbm90IGdldHRpbmcgY2xlYXJlZA0KDQp3aGF0IGlzIHlvdXIgaGJhc2UgdmVyc2lvbj8N CnRoZSBjbG9zZV93YWl0IGlzIGluIHJlZ2lvbnNlcnZlciBwcm9jZXNzLCBwcm9iYWJseSBycGMg Y29ubmVjdGlvbiBjbG9zZSgpIGlzIG5vdCBjYWxsIGR1ZSB0byBzb21lIHJlYXNvbj8gY2FuIHlv dSBwYXN0ZWJpbiB0aGUgcmVsYXRlZCByZWdpb25zZXJ2ZXIgbG9nPw0KDQoNCk9uIFRodSwgSnVs IDI0LCAyMDE0IGF0IDM6MTYgUE0sIHJhbWtyaXNobmEgdmFzdWRldmFuIDwgcmFta3Jpc2huYS5z LnZhc3VkZXZhbkBnbWFpbC5jb20+IHdyb3RlOg0KDQo+IFNvcnJ5IGFib3V0IHRoYXQuDQo+IGh0 dHBzOi8vaXNzdWVzLmFwYWNoZS5vcmcvamlyYS9icm93c2UvSEJBU0UtOTM5My4gIFNpbWlsYXIg aXNzdWUgaGFzIA0KPiBiZWVuIHJlcG9ydGVkLg0KPg0KPiBXaGF0IHZlcnNpb24gb2YgSEJhc2Ug YW5kIEhERlMgYXJlIHlvdSB1c2luZz8gIFNlZSBpZiB0aGluZ3MgYXJlIHNpbWlsYXIuDQo+DQo+ IFJlZ2FyZHMNCj4gUmFtDQo+DQo+DQo+IE9uIFRodSwgSnVsIDI0LCAyMDE0IGF0IDEyOjMzIFBN LCBTaGFua2FyIGhpcmVtYXRoIDwgDQo+IHNoYW5rYXIuaGlyZW1hdGhAaHVhd2VpLmNvbT4gd3Jv dGU6DQo+DQo+ID4gSGkgUmFtLA0KPiA+DQo+ID4gQWN0dWFsbHkgSXQgaXMgbm90IGZpbGUgRkQs IGl0IGlzIHNvY2tldCBGRCB3aGljaCBpcyBpbiBDTE9TRV9XQUlUIA0KPiA+IHN0YXRlICh0Y3Ag c29ja2V0IGNvbm5lY3Rpb24pDQo+ID4NCj4gPiA+IGphdmEgICAgMTgwMjggc2hhbmthcjEgIDE5 NHUgIElQdjYgMTg1NDg1NjAgICAgICAwdDAgIFRDUA0KPiA+ID4gWFgtWFgtWFgtWFg6NjI2NzUt PlhYLVhYLVhYLVhYOmJ1c2JveSAoQ0xPU0VfV0FJVCkNCj4gPg0KPiA+IFJlZ2FyZHMNCj4gPiAt U2hhbmthcg0KPiA+DQo+ID4NCj4gPiBUaGlzIGUtbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNv bnRhaW4gY29uZmlkZW50aWFsIGluZm9ybWF0aW9uIA0KPiA+IGZyb20gSFVBV0VJLCB3aGljaCBp cyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSANCj4gPiBhZGRy ZXNzIGlzIGxpc3RlZCBhYm92ZS4gQW55IHVzZSBvZiB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVk IGhlcmVpbiANCj4gPiBpbiBhbnkgd2F5IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywg dG90YWwgb3IgcGFydGlhbCANCj4gPiBkaXNjbG9zdXJlLA0KPiByZXByb2R1Y3Rpb24sDQo+ID4g b3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCByZWNp cGllbnQocykgaXMgDQo+ID4gcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwg aW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIA0KPiA+IHNlbmRlciBieSBwaG9uZSBvciBlbWFp bCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KPiA+DQo+ID4NCj4gPg0KPiA+DQo+ID4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiByYW1rcmlzaG5hIHZhc3VkZXZhbiBb bWFpbHRvOnJhbWtyaXNobmEucy52YXN1ZGV2YW5AZ21haWwuY29tXQ0KPiA+IFNlbnQ6IDI0IEp1 bHkgMjAxNCBQTSAxMjoyMw0KPiA+IFRvOiB1c2VyQGhiYXNlLmFwYWNoZS5vcmcNCj4gPiBTdWJq ZWN0OiBSZTogUmVnaW9uU2VydmVyIG1hbnkgc29ja2V0IGZkcyBhcmUgaW4gQ0xPU0VfV0FJVCBh bmQgbm90IA0KPiA+IGdldHRpbmcgY2xlYXJlZA0KPiA+DQo+ID4gRG9lcyB5b3VyIHJlZ2lvbnMg aGF2ZSBzdG9yZSBmaWxlcyBpbiB0aGVtPw0KPiA+IEluIEhCYXNlIGFsbCB0aGUgc3RvcmUgZmls ZXMgYXJlIG9wZW5lZCBhbmQgdGhlIHJlYWRlcnMgYXJlIGtlcHQgDQo+ID4gb3BlbiBhbHdheXMg d2hlbiB0aGUgcmVnaW9uIG9wZW5pbmcgaGFwcGVucy4gIFdoZW4gdGhlcmUgaXMgYSANCj4gPiBj b21wYWN0aW9uIGhhcHBlbmluZyB0aGUgY291bnQgb2YgdGhvc2UgZmlsZSBoYW5kbGVycyBvcGVu IGdldHMgDQo+ID4gcmVkdWNlZCBiYXNlZCBvbiB0aGUgbnVtYmVyIG9mIGZpbGVzIGNvbXBhY3Rl ZC4NCj4gPg0KPiA+IFJlZ2FyZHMNCj4gPiBSYW0NCj4gPg0KPiA+DQo+ID4gT24gVGh1LCBKdWwg MjQsIDIwMTQgYXQgMTI6MTkgUE0sIFNoYW5rYXIgaGlyZW1hdGggPCANCj4gPiBzaGFua2FyLmhp cmVtYXRoQGh1YXdlaS5jb20+IHdyb3RlOg0KPiA+DQo+ID4gPiBEZWFyIEFsbCwNCj4gPiA+DQo+ ID4gPiBPYnNlcnZhdGlvbjoNCj4gPiA+IEkgaGF2ZSBIQmFzZSBjbHVzdGVyIHdpdGggS2VyYmVy b3MgZW5hYmxlZCwgd2hlbiB0aGUgUmVnaW9uIFNlcnZlciANCj4gPiA+IHN0YXJ0dXBzIHRoZW4g d2Ugb2JzZXJ2ZWQgc29tZSAyMC0zMCBzb2NrZXQgZmRzIGFyZSBpbiBDTE9TRV9XQUlUIA0KPiA+ ID4gc3RhdGUsIEFmdGVyIHRoYXQgd2hlbiB0aGUgUmVnaW9uIFNlcnZlciBzdGFydHMgb3Blbmlu ZyB0aGVuIHRoZSANCj4gPiA+IHNvY2tldCBmZHMgaW4gQ0xPU0VfV0FJVCBzdGFydHMgaW5jcmVh c2luZyBncmFkdWFsbHkgKGFsbW9zdCBzYW1lIA0KPiA+ID4gYXMgbnVtYmVyIG9mIHJlZ2lvbnMg b3BlbmVkIGJ5IHRoZSByZWdpb24gc2VydmVyKSBBbmQgYWxsIHRoZXNlIA0KPiA+ID4gQ0xPU0Vf V0FJVCBzdGF0ZXMgYXJlIG5vdCBnZXR0aW5nIGNsZWFyZWQgdXAsDQo+ID4gPg0KPiA+ID4gL2hi YXNlPiBsc29mIC1pIHwgZ3JlcCBganBzIHwgZ3JlcCBSZWdpb25TZXJ2ZXIgfCBjdXQgLWQgIiAi IC1mMWANCj4gPiA+IGphdmEgICAgMTgwMjggc2hhbmthcjEgIDExOHUgIElQdjYgMTg1NTI4OTQg ICAgICAwdDAgIFRDUA0KPiA+ID4gWFgtWFgtWFgtWFg6NjAwMjAgKExJU1RFTikNCj4gPiA+IGph dmEgICAgMTgwMjggc2hhbmthcjEgIDE2MHUgIElQdjYgMTg1NDg1MjAgICAgICAwdDAgIFRDUCAq OjYwMDMwDQo+ID4gKExJU1RFTikNCj4gPiA+IGphdmEgICAgMTgwMjggc2hhbmthcjEgIDE2N3Ug IElQdjYgMTg1NDg1MjIgICAgICAwdDAgIFRDUA0KPiA+ID4gWFgtWFgtWFgtWFg6NDI1MzQtPiBY WC1YWC1YWC1YWDplZm9yd2FyZCAoRVNUQUJMSVNIRUQpDQo+ID4gPiBqYXZhICAgIDE4MDI4IHNo YW5rYXIxICAxNzJ1ICBJUHY2IDE4NTUyOTE2ICAgICAgMHQwICBUQ1ANCj4gPiA+IFhYLVhYLVhY LVhYOjQyNTM1LT4gWFgtWFgtWFgtWFg6ZWZvcndhcmQgKEVTVEFCTElTSEVEKQ0KPiA+ID4gamF2 YSAgICAxODAyOCBzaGFua2FyMSAgMTczdSAgSVB2NiAxODU1MTIyNyAgICAgIDB0MCAgVENQDQo+ ID4gPiBYWC1YWC1YWC1YWDo0OTY0Ni0+WFgtWFgtWFgtWFg6NjAwMDAgKEVTVEFCTElTSEVEKQ0K PiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMTc4dSAgSVB2NiAxODU1MTIzNyAgICAgIDB0 MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MjY2OC0+WFgtWFgtWFgtWFg6YnVzYm95IChFU1RB QkxJU0hFRCkNCj4gPiA+IGphdmEgICAgMTgwMjggc2hhbmthcjEgIDE4NXUgIElQdjYgMTg1NDg1 NDkgICAgICAwdDAgIFRDUA0KPiA+ID4gWFgtWFgtWFgtWFg6MjE4NTYtPiBYWC1YWC1YWC1YWDpl Zm9yd2FyZCAoRVNUQUJMSVNIRUQpDQo+ID4gPiBqYXZhICAgIDE4MDI4IHNoYW5rYXIxICAxODd1 ICBJUHY2IDE4NTQ4NTU4ICAgICAgMHQwICBUQ1ANCj4gPiA+IFhYLVhYLVhYLVhYOjYyNjczLT5Y WC1YWC1YWC1YWDpidXNib3kgKEVTVEFCTElTSEVEKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFu a2FyMSAgMTg4dSAgSVB2NiAxODYwMTMyMyAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1Y WDo2MzE2OC0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAx ODAyOCBzaGFua2FyMSAgMTg5dSAgSVB2NiAxODYwMTMyMiAgICAgIDB0MCAgVENQDQo+ID4gPiBY WC1YWC1YWC1YWDo2MzE2Ny0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4g amF2YSAgICAxODAyOCBzaGFua2FyMSAgMTkwdSAgSVB2NiAxODYwMTMyNCAgICAgIDB0MCAgVENQ DQo+ID4gPiBYWC1YWC1YWC1YWDo2MzE2OS0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlU KQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMTkxciAgSVB2NiAxODU5MjQyMyAgICAg IDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MzA4Ny0+WFgtWFgtWFgtWFg6YnVzYm95IChD TE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMTkzdSAgSVB2NiAxODU5 MzIxMCAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MzA5MC0+WFgtWFgtWFgtWFg6 YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMTk0dSAg SVB2NiAxODU0ODU2MCAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MjY3NS0+WFgt WFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2Fy MSAgMTk1dSAgSVB2NiAxODU5MjQyOCAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2 MzA5My0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAy OCBzaGFua2FyMSAgMTk2dSAgSVB2NiAxODU5MzIxOCAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1Y WC1YWC1YWDo2MzA5Ni0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2 YSAgICAxODAyOCBzaGFua2FyMSAgMTk3dSAgSVB2NiAxODU5MTQyMyAgICAgIDB0MCAgVENQDQo+ ID4gPiBYWC1YWC1YWC1YWDo2MzEwNS0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0K PiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMjAxdSAgSVB2NiAxODU5MjQzMSAgICAgIDB0 MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MzA5OS0+WFgtWFgtWFgtWFg6YnVzYm95IChDTE9T RV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMjAydSAgSVB2NiAxODU5MjQz MyAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MzEwMi0+WFgtWFgtWFgtWFg6YnVz Ym95IChDTE9TRV9XQUlUKQ0KPiA+ID4gamF2YSAgICAxODAyOCBzaGFua2FyMSAgMjAzdSAgSVB2 NiAxODU1MjMxNyAgICAgIDB0MCAgVENQDQo+ID4gPiBYWC1YWC1YWC1YWDo2MjY4MS0+WFgtWFgt WFgtWFg6YnVzYm95IChDTE9TRV9XQUlUKQ0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uDQo+ID4gPg0KPiA+ID4N Cj4gPg0KPiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4NCj4gPiA+DQo+ID4gPg0KPiA+DQo+IC4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uDQo+ID4gPg0KPiA+ID4NCj4gPg0K PiAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4u Li4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4NCj4g PiA+DQo+ID4gPiBhbnkgaW5wdXQgb3Igc3VnZ2VzdGlvbiB3aWxsIGJlIGhlbHBmdWwsIG9yIGlz IGl0IGEgYnVnLg0KPiA+ID4NCj4gPiA+IFJlZ2FyZHMNCj4gPiA+IC1TaGFua2FyDQo+ID4gPg0K PiA+ID4NCj4gPiA+IFtYXQ0KPiA+ID4gVGhpcyBlLW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBj b250YWluIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbiANCj4gPiA+IGZyb20gSFVBV0VJLCB3aGlj aCBpcyBpbnRlbmRlZCBvbmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSANCj4gPiA+ IGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250 YWluZWQgDQo+ID4gPiBoZXJlaW4gaW4gYW55IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0 ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwgDQo+ID4gPiBkaXNjbG9zdXJlLCByZXByb2R1Y3Rpb24s IG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIgdGhhbiANCj4gPiA+IHRoZSBpbnRl bmRlZA0KPiA+ID4gcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNlaXZlIHRo aXMgZS1tYWlsIGluIGVycm9yLCANCj4gPiA+IHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSBw aG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KPiA+ID4gW1hdDQo+ID4g Pg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4NCg==