From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0073.outbound.protection.outlook.com [104.47.38.73]) by dpdk.org (Postfix) with ESMTP id 241778E01 for ; Thu, 4 Jan 2018 12:45:17 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=v8AEz7sH/VPzacjTGrvMz8oUzDgjTvXl6TBELDdWvXY=; b=ZJj4nftB5Lk16ub9tAyliyXV7gUaYXEQmTjuWDmMTQ7/pjT0+p+OYiHewXaWYXgXCBy3tEFfzpP4mDdpig7SIT394tyKp81xYuODNkLoO4P7RMAbPdS3eufBG1t+iY0EuNj94BC3vu0XoPHlBaEE6gKNMSJLINySX3E1Zlhu8PI= Received: from BY1PR0701MB1111.namprd07.prod.outlook.com (10.160.104.21) by BN3PR07MB2724.namprd07.prod.outlook.com (10.167.2.154) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.386.5; Thu, 4 Jan 2018 11:45:13 +0000 Received: from BY1PR0701MB1111.namprd07.prod.outlook.com ([fe80::b138:ccec:b8d1:528f]) by BY1PR0701MB1111.namprd07.prod.outlook.com ([fe80::b138:ccec:b8d1:528f%16]) with mapi id 15.20.0366.009; Thu, 4 Jan 2018 11:45:12 +0000 From: "Verma, Shally" To: "Trahe, Fiona" , "dev@dpdk.org" CC: "Athreya, Narayana Prasad" , "Gupta, Ashish" , "Sahu, Sunila" , "De Lara Guarch, Pablo" , "Challa, Mahipal" , "Jain, Deepak K" , Hemant Agrawal , Roy Pledge , Youri Querry , Ahmed Mansour Thread-Topic: [RFC v2] doc compression API for DPDK Thread-Index: AdOFUW8Wdt99b3u6RKydGSrxJwvtHg== Date: Thu, 4 Jan 2018 11:45:12 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=Shally.Verma@cavium.com; x-originating-ip: [115.113.156.2] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BN3PR07MB2724; 7:ScUBlTRYN1paswNbZlL0Ui7wtnVdzy229Ex5CejC6VcGrQA8g0J2m81i0Jdz0ic7/McfDCvgzD2A7lps9RNlSr9Jrbwnd96PApqYSNyiomLjihjljfrmxnxeuz0SlKvMoGVC8BYSNovQ//rwNP4WEZ4EclW15KO5SgOKV4RUq0hBRazirGnUcWgwICE40I8usv/nslPZ/VWc8aPa3/9xT3yeunKvp0GSaBh4SBWJPscJIuYOG4ByGawVISX1TRoF x-ms-exchange-antispam-srfa-diagnostics: SSOS;SSOR; x-forefront-antispam-report: SFV:SKI; SCL:-1; SFV:NSPM; SFS:(10009020)(39380400002)(396003)(376002)(366004)(346002)(39850400004)(199004)(189003)(2906002)(561944003)(66066001)(4326008)(53376002)(99286004)(8936002)(33656002)(105586002)(305945005)(478600001)(106356001)(14454004)(72206003)(7736002)(2900100001)(74316002)(966005)(1720100001)(68736007)(3660700001)(7696005)(102836004)(59450400001)(25786009)(3280700002)(6436002)(55236004)(6306002)(6506007)(3846002)(6116002)(53936002)(9686003)(5660300001)(54906003)(8656006)(97736004)(55016002)(81156014)(110136005)(81166006)(2501003)(316002)(5890100001)(86362001)(8676002)(5250100002); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR07MB2724; H:BY1PR0701MB1111.namprd07.prod.outlook.com; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; x-ms-office365-filtering-correlation-id: 0293094a-caad-417a-1d48-08d553689d62 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(4534020)(4602075)(7168020)(4627115)(201703031133081)(201702281549075)(5600026)(4604075)(3008032)(2017052603307)(7153060); SRVR:BN3PR07MB2724; x-ms-traffictypediagnostic: BN3PR07MB2724: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(278428928389397); x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(8121501046)(5005006)(93006095)(93001095)(3231023)(944501075)(3002001)(10201501046)(6041268)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011); SRVR:BN3PR07MB2724; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:BN3PR07MB2724; x-forefront-prvs: 054231DC40 received-spf: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 7JBmt4CkjLVF8w4rBXpb9g7aNDHeG82PQKMfUo3QgfU92MyVq1UxpHuw+XOwYYM9AucFA010zOeSvaau2QmrAA== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: cavium.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0293094a-caad-417a-1d48-08d553689d62 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2018 11:45:12.3387 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 711e4ccf-2e9b-4bcf-a551-4094005b6194 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR07MB2724 Subject: [dpdk-dev] [RFC v2] doc compression API for DPDK X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jan 2018 11:45:17 -0000 VGhpcyBpcyBhbiBSRkMgdjIgZG9jdW1lbnQgdG8gYnJpZWYgdW5kZXJzdGFuZGluZyBhbmQgcmVx dWlyZW1lbnRzIG9uIGNvbXByZXNzaW9uIEFQSSBwcm9wb3NhbCBpbiBEUERLLiBJdCBpcyBiYXNl ZCBvbiAiW1JGQyB2M10gQ29tcHJlc3Npb24gQVBJIGluIERQREsgaHR0cDovL2RwZGsub3JnL2Rl di9wYXRjaHdvcmsvcGF0Y2gvMzIzMzEvICIuDQpJbnRlbnRpb24gb2YgdGhpcyBkb2N1bWVudCBp cyB0byBhbGlnbiBvbiBjb25jZXB0cyBidWlsdCBpbnRvIGNvbXByZXNzaW9uIEFQSSwgaXRzIHVz YWdlIGFuZCBpZGVudGlmeSBmdXJ0aGVyIHJlcXVpcmVtZW50cy4gDQoNCkdvaW5nIGZ1cnRoZXIg aXQgY291bGQgYmUgYSBiYXNlIHRvIENvbXByZXNzaW9uIE1vZHVsZSBQcm9ncmFtbWVyIEd1aWRl Lg0KDQpDdXJyZW50IHNjb3BlIGlzIGxpbWl0ZWQgdG8NCi0gZGVmaW5pdGlvbiBvZiB0aGUgdGVy bWlub2xvZ3kgd2hpY2ggbWFrZXMgdXAgZm91bmRhdGlvbiBvZiBjb21wcmVzc2lvbiBBUEkNCi0g dHlwaWNhbCBBUEkgZmxvdyBleHBlY3RlZCB0byB1c2UgYnkgYXBwbGljYXRpb25zDQotIFN0YXRl bGVzcyBhbmQgU3RhdGVmdWwgb3BlcmF0aW9uIGRlZmluaXRpb24gYW5kIHVzYWdlIGFmdGVyIFJG QyB2MSBkb2MgcmV2aWV3IGh0dHA6Ly9kZXYuZHBkay5uYXJraXZlLmNvbS9DSFM1bDAxQi9kcGRr LWRldi1yZmMtdjEtZG9jLWNvbXByZXNzaW9uLWFwaS1mb3ItZHBkaw0KwqANCjEuIE92ZXJ2aWV3 DQp+fn5+fn5+fn5+fg0KDQpBLiBDb21wcmVzc2lvbiBNZXRob2RvbG9naWVzIGluIGNvbXByZXNz aW9uIEFQSQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KRFBE SyBjb21wcmVzc2lvbiBzdXBwb3J0cyB0d28gdHlwZXMgb2YgY29tcHJlc3Npb24gbWV0aG9kb2xv Z2llczoNCi0gU3RhdGVsZXNzIC0gZWFjaCBkYXRhIG9iamVjdCBpcyBjb21wcmVzc2VkIGluZGl2 aWR1YWxseSB3aXRob3V0IGFueSByZWZlcmVuY2UgdG8gcHJldmlvdXMgZGF0YSwgDQotIFN0YXRl ZnVsIC0gIGVhY2ggZGF0YSBvYmplY3QgaXMgY29tcHJlc3NlZCB3aXRoIHJlZmVyZW5jZSB0byBw cmV2aW91cyBkYXRhIG9iamVjdCBpLmUuIGhpc3Rvcnkgb2YgZGF0YSBpcyBuZWVkZWQgZm9yIGNv bXByZXNzaW9uIC8gZGVjb21wcmVzc2lvbg0KRm9yIG1vcmUgZXhwbGFuYXRpb24sIHBsZWFzZSBy ZWZlciBSRkMgaHR0cHM6Ly93d3cuaWV0Zi5vcmcvcmZjL3JmYzE5NTEudHh0DQoNClRvIHN1cHBv cnQgYm90aCBtZXRob2RvbG9naWVzLCBEUERLIGNvbXByZXNzaW9uIGludHJvZHVjZXMgdHdvIGtl eSBjb25jZXB0czogU2Vzc2lvbiBhbmQgU3RyZWFtLg0KDQpCLiBOb3Rpb24gb2YgYSBzZXNzaW9u IGluIGNvbXByZXNzaW9uIEFQSQ0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PcKg DQpBIFNlc3Npb24gaW4gRFBESyBjb21wcmVzc2lvbiBpcyBhIGxvZ2ljYWwgZW50aXR5IHdoaWNo IGlzIHNldHVwIG9uZS10aW1lIHdpdGggaW1tdXRhYmxlIHBhcmFtZXRlcnMgaS5lLiBwYXJhbWV0 ZXJzIHRoYXQgZG9uJ3QgY2hhbmdlIGFjcm9zcyBvcGVyYXRpb25zIGFuZCBkZXZpY2VzLg0KQSBz ZXNzaW9uIGNhbiBiZSBzaGFyZWQgYWNyb3NzIG11bHRpcGxlIGRldmljZXMgYW5kIG11bHRpcGxl IG9wZXJhdGlvbnMgc2ltdWx0YW5lb3VzbHkuIA0KQSB0eXBpY2FsIFNlc3Npb24gcGFyYW1ldGVy cyBpbmNsdWRlcyBpbmZvIHN1Y2ggYXM6DQotIGNvbXByZXNzIC8gZGVjb21wcmVzcw0KLSBjb21w cmVzc2lvbiBhbGdvcml0aG0gYW5kIGFzc29jaWF0ZWQgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJz DQoNCkFwcGxpY2F0aW9uIGNhbiBjcmVhdGUgZGlmZmVyZW50IHNlc3Npb25zIG9uIGEgZGV2aWNl IGluaXRpYWxpemVkIHdpdGggc2FtZS9kaWZmZXJlbnQgeGZvcm1zLiBPbmNlIGEgc2Vzc2lvbiBp cyBpbml0aWFsaXplZCB3aXRoIG9uZSB4Zm9ybSBpdCBjYW5ub3QgYmUgcmUtaW5pdGlhbGl6ZWQu DQrCoA0KQy4gTm90aW9uIG9mIHN0cmVhbSBpbiBjb21wcmVzc2lvbiBBUEkNCiA9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClVubGlrZSBzZXNzaW9uIHdoaWNoIGNhcnJ5 IGNvbW1vbiBzZXQgb2YgaW5mb3JtYXRpb24gYWNyb3NzIG9wZXJhdGlvbnMsIGEgc3RyZWFtIGlu IERQREsgY29tcHJlc3Npb24gaXMgYSBsb2dpY2FsIGVudGl0eSB3aGljaCBpZGVudGlmeSByZWxh dGVkIHNldCBvZiBvcGVyYXRpb25zIGFuZCBjYXJyeSBvcGVyYXRpb24gc3BlY2lmaWMgaW5mb3Jt YXRpb24gYXMgbmVlZGVkIGJ5IGRldmljZSBkdXJpbmcgaXRzIHByb2Nlc3NpbmcuDQpJdCBpcyBk ZXZpY2Ugc3BlY2lmaWMgZGF0YSBzdHJ1Y3R1cmUgd2hpY2ggaXMgb3BhcXVlIHRvIGFwcGxpY2F0 aW9uLCBzZXR1cCBhbmQgbWFpbnRhaW5lZCBieSBkZXZpY2UuIA0KDQpBIHN0cmVhbSBjYW4gYmUg dXNlZCB3aXRoICpvbmx5KiBvbmUgb3AgYXQgYSB0aW1lIGkuZS4gbm8gdHdvIG9wZXJhdGlvbnMg Y2FuIHNoYXJlIHNhbWUgc3RyZWFtIHNpbXVsdGFuZW91c2x5Lg0KQSBzdHJlYW0gaXMgKm11c3Qq IGZvciBzdGF0ZWZ1bCBvcHMgcHJvY2Vzc2luZyBhbmQgb3B0aW9uYWwgZm9yIHN0YXRlbGVzcyAo UGxlYXNlIHNlZSByZXNwZWN0aXZlIHNlY3Rpb25zIGZvciBtb3JlIGRldGFpbHMpLg0KDQpUaGlz IGVuYWJsZXMgc2hhcmluZyBvZiBhIHNlc3Npb24gYnkgbXVsdGlwbGUgdGhyZWFkcyBoYW5kbGlu ZyBkaWZmZXJlbnQgZGF0YSBzZXQgYXMgZWFjaCBvcCBjYXJyeSBpdHMgb3duIGNvbnRleHQgKGlu dGVybmFsIHN0YXRlcywgaGlzdG9yeSBidWZmZXJzIGV0IGVsKSBpbiBpdHMgYXR0YWNoZWQgc3Ry ZWFtLiANCkFwcGxpY2F0aW9uIHNob3VsZCBjYWxsIHJ0ZV9jb21wX3N0cmVhbV9jcmVhdGUoKSBh bmQgYXR0YWNoIHRvIG9wIGJlZm9yZSBiZWdpbm5pbmcgb2YgIG9wZXJhdGlvbiBwcm9jZXNzaW5n IGFuZCBmcmVlIHZpYSBydGVfY29tcF9zdHJlYW1fZnJlZSgpIGFmdGVyIGl0cyBjb21wbGV0ZS4N Cg0KQy4gTm90aW9uIG9mIGJ1cnN0IG9wZXJhdGlvbnMgaW4gY29tcHJlc3Npb24gQVBJDQrCoD09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KQSBidXJzdCBpbiBEUERLIGNv bXByZXNzaW9uIGlzIGFuIGFycmF5IG9mIG9wZXJhdGlvbnMgd2hlcmUgZWFjaCBvcCBjYXJyeSBp bmRlcGVuZGVudCBzZXQgb2YgZGF0YS4gaS5lLiBhIGJ1cnN0IGNhbiBsb29rIGxpa2U6DQoNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICAgICAgICAgIGVucXVlX2J1cnN0ICh8 b3AxLm5vX2ZsdXNoIHwgb3AyLm5vX2ZsdXNoIHwgb3AzLmZsdXNoX2ZpbmFsIHwgb3A0Lm5vX2Zs dXNoIHwgb3A1Lm5vX2ZsdXNoIHwpDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0K V2hlcmUsIG9wMSAuLiBvcDUgYXJlIGFsbCBpbmRlcGVuZGVudCBvZiBlYWNoIG90aGVyIGFuZCBj YXJyeSBlbnRpcmVseSBkaWZmZXJlbnQgc2V0IG9mIGRhdGEuIA0KRWFjaCBvcCBjYW4gYmUgYXR0 YWNoZWQgdG8gc2FtZS9kaWZmZXJlbnQgc2Vzc2lvbiBidXQgKm11c3QqIGJlIGF0dGFjaGVkIHRv IGRpZmZlcmVudCBzdHJlYW0uDQoNCkVhY2ggb3AgKHN0cnVjdCBydGVfY29tcF9vcCkgY2Fycnkg Y29tcHJlc3Npb24vZGVjb21wcmVzc2lvbiBvcGVyYXRpb25hbCBwYXJhbWV0ZXIgYW5kIGlzIGJv dGggYW4gaW5wdXQvb3V0cHV0IHBhcmFtZXRlci4gDQpQTUQgZ2V0cyBzb3VyY2UsIGRlc3RpbmF0 aW9uIGFuZCBjaGVja3N1bSBpbmZvcm1hdGlvbiBhdCBpbnB1dCBhbmQgdXBkYXRlIGl0IHdpdGgg Ynl0ZXMgY29uc3VtZWQgYW5kIHByb2R1Y2VkIGFuZCBjaGVja3N1bSBhdCBvdXRwdXQuDQoNClNp bmNlIGVhY2ggb3BlcmF0aW9uIGluIGEgYnVyc3QgaXMgaW5kZXBlbmRlbnQgYW5kIHRodXMgY2Fu IGNvbXBsZXRlIG91dC1vZi1vcmRlciwgIGFwcGxpY2F0aW9ucyB3aGljaCBuZWVkIG9yZGVyaW5n LCBzaG91bGQgc2V0dXAgcGVyLW9wIHVzZXIgZGF0YSBhcmVhIHdpdGggcmVvcmRlcmluZyBpbmZv cm1hdGlvbiBzbyB0aGF0IGl0IGNhbiBkZXRlcm1pbmUgZW5xdWV1ZSBvcmRlciBhdCBkZXF1ZS4N Cg0KQWxzbyBpZiBtdWx0aXBsZSB0aHJlYWRzIGNhbGxzIGVucXVldWVfYnVyc3QoKSBvbiBzYW1l IHF1ZXVlIHBhaXIgdGhlbiBpdOKAmXMgYXBwbGljYXRpb24gb251cyB0byB1c2UgcHJvcGVyIGxv Y2tpbmcgbWVjaGFuaXNtIHRvIGVuc3VyZSBleGNsdXNpdmUgZW5xdWV1aW5nIG9mIG9wZXJhdGlv bnMuDQoNCkQuIFN0YXRlbGVzcyBWcyBTdGF0ZWZ1bA0KPT09PT09PT09PT09PT09PT09PQ0KQ29t cHJlc3Npb24gQVBJIHByb3ZpZGUgUlRFX0NPTVBfRkZfU1RBVEVGVUwgZmVhdHVyZSBmbGFnIGZv ciBQTUQgdG8gcmVmbGVjdCBpdHMgc3VwcG9ydCBmb3IgU3RhdGVmdWwgb3BlcmF0aW9uLiBFYWNo IG9wIGNhcnJ5IGFuIG9wIHR5cGUgaW5kaWNhdGluZyBpZiBpdCdzIHRvIGJlIHByb2Nlc3NlZCBz dGF0ZWZ1bCBvciBzdGF0ZWxlc3MuDQrCoA0KRC4xIENvbXByZXNzaW9uIEFQSSBTdGF0ZWxlc3Mg b3BlcmF0aW9uDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS3CoA0KQW4gb3AgaXMgcHJvY2Vzc2VkIHN0YXRlbGVzcyBpZiBpdCBoYXMNCi3CoMKg wqDCoMKgwqDCoMKgwqAgICDCoCBmbHVzaCB2YWx1ZSBpcyBzZXQgdG8gUlRFX0ZMVVNIX0ZVTEwg b3IgUlRFX0ZMVVNIX0ZJTkFMIChyZXF1aXJlZCBvbmx5IG9uIGNvbXByZXNzaW9uIHNpZGUpLA0K LQkgb3BfdHlwZSBzZXQgdG8gUlRFX0NPTVBfT1BfU1RBVEVMRVNTDQotwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgQWxsLW9mIHRoZSByZXF1aXJlZCBpbnB1dCBhbmQgc3VmZmljaWVudCBsYXJn ZSBvdXRwdXQgYnVmZmVyIHRvIHN0b3JlIG91dHB1dCBpLmUuIE9VVF9PRl9TUEFDRSBjYW4gbmV2 ZXIgb2NjdXIuDQrCoA0KV2hlbiBhbGwgb2YgdGhlIGFib3ZlIGNvbmRpdGlvbnMgYXJlIG1ldCwg UE1EIGluaXRpYXRlcyBzdGF0ZWxlc3MgcHJvY2Vzc2luZyBhbmQgcmVsZWFzZXMgYWNxdWlyZWQg cmVzb3VyY2VzIGFmdGVyIHByb2Nlc3Npbmcgb2YgY3VycmVudCBvcGVyYXRpb24gaXMgY29tcGxl dGUgaS5lLiBmdWxsIGlucHV0IGNvbnN1bWVkIGFuZCBmdWxsIG91dHB1dCB3cml0dGVuLg0KQXBw bGljYXRpb24gY2FuIG9wdGlvbmFsbHkgYXR0YWNoIGEgc3RyZWFtIHRvIHN1Y2ggb3BzLiBJbiBz dWNoIGNhc2UsIGFwcGxpY2F0aW9uIG11c3QgYXR0YWNoIGRpZmZlcmVudCBzdHJlYW0gdG8gZWFj aCBvcC4NCg0KQXBwbGljYXRpb24gY2FuIGVucXVldWUgc3RhdGVsZXNzIGJ1cnN0IHZpYSBtYWtp bmcgY29uc2VjdXRpdmUgZW5xdWVfYnVyc3QoKSBjYWxscyBpLmUuIEZvbGxvd2luZyBpcyByZWxl dmFudCB1c2FnZToNCsKgDQplbnF1ZXVlZCA9IHJ0ZV9jb21wX2VucXVlX2J1cnN0IChkZXZfaWQs IHFwX2lkLCBvcHMxLCBuYl9vcHMpO8KgDQplbnF1ZXVlZCA9IHJ0ZV9jb21wX2VucXVlX2J1cnN0 KGRldl9pZCwgcXBfaWQsIG9wczIsIG5iX29wcyk7IMKgDQrCoA0KKk5vdGUg4oCTIEV2ZXJ5IGNh bGwgaGFzIGRpZmZlcmVudCBvcHMgYXJyYXkgaS5lLsKgIHNhbWUgcnRlX2NvbXBfb3AgYXJyYXkg KmNhbm5vdCBiZSByZS1lbnF1ZXVlZCogdG8gcHJvY2VzcyBuZXh0IGJhdGNoIG9mIGRhdGEgdW50 aWwgcHJldmlvdXMgb25lcyBhcmUgY29tcGxldGVseSBwcm9jZXNzZWQuDQoNCkQuMS4xIFN0YXRl bGVzcyBhbmQgT1VUX09GX1NQQUNFIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQpPVVRfT0ZfU1BBQ0UgaXMgYSBjb25kaXRpb24gd2hlbiBvdXRwdXQg YnVmZmVyIHJ1bnMgb3V0IG9mIHNwYWNlIGFuZCB3aGVyZSBQTUQgc3RpbGwgaGFzIG1vcmUgZGF0 YSB0byBwcm9kdWNlLiBJZiBQTUQgcnVuIGludG8gc3VjaCBjb25kaXRpb24sIHRoZW4gaXQncyBh biBlcnJvciBjb25kaXRpb24gaW4gc3RhdGVsZXNzIHByb2Nlc3NpbmcuDQpJbiBzdWNoIGNhc2Us IFBNRCByZXNldHMgaXRzZWxmIGFuZCByZXR1cm4gd2l0aCBzdGF0dXMgUlRFX0NPTVBfT1BfU1RB VFVTX09VVF9PRl9TUEFDRSB3aXRoIHByb2R1Y2VkPWNvbnN1bWVkPTAgaS5lLiBubyBpbnB1dCBy ZWFkLCBubyBvdXRwdXQgd3JpdHRlbi4NCkFwcGxpY2F0aW9uIGNhbiByZXN1Ym1pdCBhbiBmdWxs IGlucHV0IHdpdGggbGFyZ2VyIG91dHB1dCBidWZmZXIgc2l6ZS4NCg0KRC4yIENvbXByZXNzaW9u IEFQSSBTdGF0ZWZ1bCBvcGVyYXRpb24NCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCsKgQSBTdGF0ZWZ1bCBvcGVyYXRpb24gaW4gRFBE SyBjb21wcmVzc2lvbiBtZWFucyBhcHBsaWNhdGlvbiBpbnZva2VzIGVucXVldWUgYnVyc3QoKSBt dWx0aXBsZSB0aW1lcyB0byBwcm9jZXNzIHJlbGF0ZWQgY2h1bmsgb2YgZGF0YSBlaXRoZXIgYmVj YXVzZSANCi0gQXBwbGljYXRpb24gYnJva2UgZGF0YSBpbnRvIHNldmVyYWwgb3BzLCBhbmQvb3IN Ci0gUE1EIHJhbiBpbnRvIG91dF9vZl9zcGFjZSBzaXR1YXRpb24gZHVyaW5nIGlucHV0IHByb2Nl c3NpbmcNCg0KSW4gY2FzZSBvZiBlaXRoZXIgb25lIG9yIGFsbCBvZiB0aGUgYWJvdmUgY29uZGl0 aW9ucywgUE1EIGlzIHJlcXVpcmVkIHRvIG1haW50YWluIHN0YXRlIG9mIG9wIGFjcm9zcyBlbnF1 ZV9idXJzdCgpIGNhbGxzIGFuZA0Kb3BzIGFyZSBzZXR1cCB3aXRoIG9wX3R5cGUgUlRFX0NPTVBf T1BfU1RBVEVGVUwsIGFuZCBiZWdpbiB3aXRoIGZsdXNoIHZhbHVlID0gUlRFX0NPTVBfTk8vU1lO Q19GTFVTSCBhbmQgZW5kIGF0IGZsdXNoIHZhbHVlIFJURV9DT01QX0ZVTEwvRklOQUxfRkxVU0gu DQoNCkQuMi4xIFN0YXRlZnVsIG9wZXJhdGlvbiBzdGF0ZSBtYWludGVuYW5jZQ0KLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJ dCBpcyBhbHdheXMgYW4gaWRlYWwgZXhwZWN0YXRpb24gZnJvbSBhcHBsaWNhdGlvbiB0aGF0IGl0 IHNob3VsZCBwYXJzZSB0aHJvdWdoIGFsbCByZWxhdGVkIGNodW5rIG9mIHNvdXJjZSBkYXRhIG1h a2luZyBpdHMgbWJ1Zi1jaGFpbiBhbmQgZW5xdWV1ZSBpdCBmb3Igc3RhdGVsZXNzIHByb2Nlc3Np bmcuDQpIb3dldmVyLCBpZiBpdCBuZWVkIHRvIGJyZWFrIGl0IGludG8gc2V2ZXJhbCBlbnF1ZXVl X2J1cnN0KCkgY2FsbHMsIHRoZW4gYW4gZXhwZWN0ZWQgY2FsbCBmbG93IHdvdWxkIGJlIHNvbWV0 aGluZyBsaWtlOg0KDQplbnF1ZXVlX2J1cnN0KCB8b3Aubm9fZmx1c2ggfCkNCmRlcXVlX2J1cnN0 KG9wKSAvLyBzaG91bGQgZGVxdWV1ZSBiZWZvcmUgd2UgZW5xdWV1ZSBuZXh0DQplbnF1ZXVlX2J1 cnN0KCB8b3Aubm9fZmx1c2ggfCkNCmRlcXVlX2J1cnN0KG9wKSAvLyBzaG91bGQgZGVxdWV1ZSBi ZWZvcmUgd2UgZW5xdWV1ZSBuZXh0DQplbnF1ZXVlX2J1cnN0KCB8b3AuZnVsbF9mbHVzaCB8KQ0K DQpIZXJlIGFuIG9wICptdXN0KiBiZSBhdHRhY2hlZCB0byBhIHN0cmVhbSBhbmQgZXZlcnkgc3Vi c2VxdWVudCBlbnF1ZXVlX2J1cnN0KCkgY2FsbCBzaG91bGQgY2FycnkgKnNhbWUqIHN0cmVhbS4g U2luY2UgUE1EIG1haW50YWluIG9wcyBzdGF0ZSBpbiBzdHJlYW0sIHRodXMgaXQgaXMgbWFuZGF0 b3J5IGZvciBhcHBsaWNhdGlvbiB0byBhdHRhY2ggc3RyZWFtIHRvIHN1Y2ggb3BzLg0KDQpELjIu MiBTdGF0ZWZ1bCBhbmQgT3V0X29mX1NwYWNlDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KSWYgUE1EIHN1cHBvcnQgc3RhdGVmdWwgYW5kIHJ1biBpbnRvIE9V VF9PRl9TUEFDRSBzaXR1YXRpb24sIHRoZW4gaXQgaXMgbm90IGFuIGVycm9yIGNvbmRpdGlvbiBm b3IgUE1ELiBJbiBzdWNoIGNhc2UsIFBNRCByZXR1cm4gd2l0aCBzdGF0dXMgUlRFX0NPTVBfT1Bf U1RBVFVTX09VVF9PRl9TUEFDRSB3aXRoIGNvbnN1bWVkID0gbnVtYmVyIG9mIGlucHV0IGJ5dGVz IHJlYWQgYW5kIHByb2R1Y2VkID0gbGVuZ3RoIG9mIGNvbXBsZXRlIG91dHB1dCBidWZmZXIuDQpB cHBsaWNhdGlvbiBzaG91bGQgZW5xdWV1ZSBvcCB3aXRoIHNvdXJjZSBzdGFydGluZyBhdCBjb25z dW1lZCsxIGFuZCBvdXRwdXQgYnVmZmVyIHdpdGggYXZhaWxhYmxlIHNwYWNlLg0KICAgICAgICAg IMKgDQpELjIuMyBTbGlkaW5nIFdpbmRvdyBTaXplDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCkV2ZXJ5IFBNRCB3aWxsIHJlZmxlY3QgaW4gaXRzIGFsZ29yaXRobSBjYXBh YmlsaXR5IHN0cnVjdHVyZSBtYXhpbXVtIGxlbmd0aCBvZiBTbGlkaW5nIFdpbmRvdyBpbiBieXRl cyB3aGljaCB3b3VsZCBpbmRpY2F0ZSBtYXhpbXVtIGhpc3RvcnkgYnVmZmVyIGxlbmd0aCB1c2Vk IGJ5IGFsZ28uDQoNCjIuIEV4YW1wbGUgQVBJIGlsbHVzdHJhdGlvbg0Kfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4NCg0KRm9sbG93aW5nIGlzIGFuIGlsbHVzdHJhdGlvbiBvbiBBUEkgdXNhZ2UgIChU aGlzIGlzIGp1c3Qgb25lIGZsb3csIG90aGVyIHZhcmlhbnRzIGFyZSBhbHNvIHBvc3NpYmxlKToN CjEuIHJ0ZV9jb21wX3Nlc3Npb24gKnNlc3MgPSBydGVfY29tcHJlc3NkZXZfc2Vzc2lvbl9jcmVh dGUgKHJ0ZV9tZW1wb29sICpwb29sKTsgIA0KMi4gcnRlX2NvbXByZXNzZGV2X3Nlc3Npb25faW5p dCAoaW50IGRldl9pZCwgcnRlX2NvbXBfc2Vzc2lvbiAqc2VzcywgcnRlX2NvbXBfeGZvcm0gKnhm b3JtLCBydGVfbWVtcG9vbCAqc2Vzc19wb29sKTsgIA0KMy4gcnRlX2NvbXBfb3BfcG9vbF9jcmVh dGUocnRlX21lbXBvb2wgLi4pICANCjQuIHJ0ZV9jb21wX29wX2J1bGtfYWxsb2MgKHN0cnVjdCBy dGVfbWVtcG9vbCAqbWVtcG9vbCwgc3RydWN0IHJ0ZV9jb21wX29wICoqb3BzLCB1aW50MTZfdCBu Yl9vcHMpOyAgDQo1LiBmb3IgZXZlcnkgcnRlX2NvbXBfb3AgaW4gb3BzW10sDQogICAgNS4xIHJ0 ZV9jb21wX29wX2F0dGFjaF9zZXNzaW9uIChydGVfY29tcF9vcCAqb3AsIHJ0ZV9jb21wX3Nlc3Np b24gKnNlc3MpOyANCiAgICA1LjIgb3Aub3BfdHlwZSA9IFJURV9DT01QX09QX1NUQVRFTEVTUw0K ICAgIDUuMyBvcC5mbHVzaCA9IFJURV9GTFVTSF9GSU5BTA0KNi4gW09wdGlvbmFsXSBmb3IgZXZl cnkgcnRlX2NvbXBfb3AgaW4gb3BzW10sDQogICAgNi4xIHJ0ZV9jb21wX3N0cmVhbV9jcmVhdGUo aW50IGRldl9pZCwgcnRlX2NvbXBfc2Vzc2lvbiAqc2Vzcywgdm9pZCAqKnN0cmVhbSk7IA0KICAg IDYuMiBydGVfY29tcF9vcF9hdHRhY2hfc3RyZWFtKHJ0ZV9jb21wX29wICpvcCwgcnRlX2NvbXBf c2Vzc2lvbiAqc3RyZWFtKTsNCjcuZm9yIGV2ZXJ5IHJ0ZV9jb21wX29wIGluIG9wc1tdLA0KICAg ICA3LjEgc2V0IHVwIHdpdGggc3JjL2RzdCBidWZmZXINCjguIGVucSA9IHJ0ZV9jb21wcmVzc2Rl dl9lbnF1ZXVlX2J1cnN0IChkZXZfaWQsIHFwX2lkLCAmb3BzLCBuYl9vcHMpOyANCjkuIGRvIHdo aWxlIChkcXUgPCBlbnEpIC8vIFdhaXQgdGlsbCBhbGwgb2YgZW5xdWV1ZWQgYXJlIGRlcXVldWVk IA0KICAgIDkuMSBkcXUgPSBydGVfY29tcHJlc3NkZXZfZGVxdWV1ZV9idXJzdCAoZGV2X2lkLCBx cF9pZCwgJm9wcywgZW5xKTsNCjEwLiBSZXBlYXQgNyBmb3IgbmV4dCBiYXRjaCBvZiBkYXRhICAN CjExLiBmb3IgZXZlcnkgb3BzIGluIG9wc1tdDQogICAgICAxMS4xIHJ0ZV9jb21wX3N0cmVhbV9m cmVlKG9wLT5zdHJlYW0pOw0KMTEuIHJ0ZV9jb21wX3Nlc3Npb25fY2xlYXIgKHNlc3MpIDsNCjEy LiBydGVfY29tcF9zZXNzaW9uX3Rlcm1pbmF0ZShyZXRfY29tcF9zZXNzICpzZXNzaW9uKQ0KDQpU aGFua3MNClNoYWxseQ0KDQo=