From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by dpdk.org (Postfix) with ESMTP id 96FC52BD2 for ; Thu, 25 Feb 2016 19:22:58 +0100 (CET) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga103.fm.intel.com with ESMTP; 25 Feb 2016 10:22:55 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.22,498,1449561600"; d="scan'208,217";a="659287827" Received: from irsmsx153.ger.corp.intel.com ([163.33.192.75]) by FMSMGA003.fm.intel.com with ESMTP; 25 Feb 2016 10:22:54 -0800 Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by IRSMSX153.ger.corp.intel.com (163.33.192.75) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 25 Feb 2016 18:22:53 +0000 Received: from irsmsx108.ger.corp.intel.com ([169.254.11.102]) by irsmsx155.ger.corp.intel.com ([169.254.14.201]) with mapi id 14.03.0248.002; Thu, 25 Feb 2016 18:22:53 +0000 From: "Dumitrescu, Cristian" To: sreenaath vasudevan Thread-Topic: [dpdk-dev] DPDK-QoS - link sharing across classes Thread-Index: AQHRbp4X3B4qP+wfR0qD61ZaHVmrU587BewggADRYoCAAT4foA== Date: Thu, 25 Feb 2016 18:22:52 +0000 Message-ID: <3EB4FA525960D640B5BDFFD6A3D8912647955C89@IRSMSX108.ger.corp.intel.com> References: <3EB4FA525960D640B5BDFFD6A3D8912647952060@IRSMSX108.ger.corp.intel.com> <3EB4FA525960D640B5BDFFD6A3D89126479536FC@IRSMSX108.ger.corp.intel.com> <3EB4FA525960D640B5BDFFD6A3D8912647954FAE@IRSMSX108.ger.corp.intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzQ3ZGIxNTEtZjE3NS00ZTFhLWI1MzEtY2QzNjc5ZGQwMTNmIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE1LjkuNi42IiwiVHJ1c3RlZExhYmVsSGFzaCI6IktyUFNoUm5FNWR0YXBDUm9jdDR1MWF0ajFiR0kzK0VWemN0TlJXbEh4K0k9In0= x-ctpclassification: CTP_IC x-originating-ip: [163.33.239.180] MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] DPDK-QoS - link sharing across classes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Feb 2016 18:22:59 -0000 DQoNCkZyb206IHNyZWVuYWF0aCB2YXN1ZGV2YW4gW21haWx0bzpzcmVlbmFhdGhrdkBnbWFpbC5j b21dDQpTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDI0LCAyMDE2IDExOjIzIFBNDQpUbzogRHVt aXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29tPg0KQ2M6IGRl dkBkcGRrLm9yZw0KU3ViamVjdDogUmU6IFtkcGRrLWRldl0gRFBESy1Rb1MgLSBsaW5rIHNoYXJp bmcgYWNyb3NzIGNsYXNzZXMNCg0KW0NyaXN0aWFuXSBJdCBkb2VzIHRvIG1lLCBhcyBoaWdoIHBy aW9yaXR5IHRyYWZmaWMgaXMgdXN1YWxseSBsb3cgYmFuZHdpZHRoIGFuZCB0eXBpY2FsbHkgZnVs bHkgcHJvdmlzaW9uZWQgKGhvdyBtYW55IHZvaWNlIGNvbm5lY3Rpb25zLCBSVFAgdmlkZW8gY29u ZmVyZW5jZXMsIDkxMSBjYWxscywgc2lnbmFsbGluZyB0cmFmZmljLCBldGMgY2FuIHlvdSBoYXZl IGFjdGl2ZSBmb3IgYSBnaXZlbiB1c2VyIGF0IGEgZ2l2ZW4gdGltZT8pLCB3aGlsZSBtb3N0IG9m IHRoZSBJbnRlcm5ldCB0cmFmZmljIGlzIGJlc3QgZWZmb3J0IChsb3cgcHJpb3JpdHkpIGFuZCBp dCBpcyB0eXBpY2FsbHkgb3ZlcnByb3Zpc2lvbmVkIDIwOjEgb3IgbW9yZS4NCllvdSBjYW4gc2V0 IFRDMCByYXRlIHRvIDEwMCUgb2YgcGlwZSByYXRlLCBidXQgdGhpcyBpcyB0b3RhbGx5IG5vdCBy ZWNvbW1lbmRlZCwgYmVjYXVzZSB3aGVuIFRDMCBkZW1hbmQgaXMgZXhhY3RseSAxMDAlIHlvdSBh cmUgZ29pbmcgdG8gc3RhcnZlIHRoZSBsb3cgcHJpb3JpdHkgVEMxIC4uIFRDMiBjb21wbGV0ZWx5 LiBZb3UgY2FuIG1ha2UgV2VpZ2h0ZWQgRmFpciBRdWV1aW5nIChXRlEpIGJlaGF2ZSBsaWtlIHN0 cmljdCBwcmlvcml0eSBieSB1c2luZyBiaWcgd2VpZ2h0IHJhdGlvcyBsaWtlIDQ6MSBvciAxNjox LCBidXQgeW91IGNhbm5vdCBtYWtlIHN0cmljdCBwcmlvcml0eSBiZWhhdmUgbGlrZSBXRlEgKHdo aWNoIGlzIHdoYXQgeW91IHNlZW0gdG8gYmUgbG9va2luZyBmb3IpLg0KDQoNCj4+IFtTcmVlbmFh dGhdIFlvdSBhcmUgcmlnaHQgdGhhdCBoaWdoIHByaW9yaXR5IHRyYWZmaWMgaXMgdXN1YWxseSBs b3ctYmFuZHdpZHRoLiBCdXQgdG8gbWUgaXQgaXMgbm8gaGFybSB0byBwcm92aXNpb24gdW4tdXNl ZCBsaW5rIGJhbmR3aWR0aCB0byBoaWdoZXIgcHJpb3JpdHkgY2xhc3MuIEJ1dCB0aGlzIGlzIHdo YXQgRFBESyBwcm92aWRlcyB0b2RheSBhbmQgdGhhdCdzIGZpbmUuIEJ1dCBpZiBpdHMgcG9zc2li bGUsIEkgd291bGQgbGlrZSB0byBzdWJtaXQgdG8geW91IGZ1dHVyZSBmZWF0dXJlIHJlcXVlc3Qg Zm9yIGhpZ2gtcHJpb3JpdHkgVEMgdG8gdXNlIHVuLXVzZWQgYncuDQoNCg0KDQpJIGhhdmUgYW5v dGhlciBxdWVzdGlvbiByZWdhcmRpbmcgdXNpbmcgb25seSB0d28gY2xhc3NlcyB3aXRoaW4gYSBw aXBlLiBXaGVuIEkgdHJ5IHRvIHByb3Zpc29uIG9ubHkgdHdvIGNsYXNzZXMgVEMwIGFuZCBUQzEs IHRoZW4gSSBoaXQgdGhlIGZvbGxvd2luZyBjb2RlIGluICJydGVfc2NoZWRfcG9ydF9jaGVja19w YXJhbXMoKSAgZnVuY3Rpb24sIHdoaWNoIGZvcmNlcyBtZSB0byBnaXZlIHNvbWUgYncgdG8gVEMy IGFuZCBUQzMgZXZlbiBpZiBJIGRvIG5vdCB3YW50IHRvIHVzZSB0aGVtLg0KDQoNCg0KLyogVEMg cmF0ZTogbm9uLXplcm8sIGxlc3MgdGhhbiBwaXBlIHJhdGUgKi8NCg0KICAgICAgICBmb3IgKGog PSAwOyBqIDwgUlRFX1NDSEVEX1RSQUZGSUNfQ0xBU1NFU19QRVJfUElQRTsgaiArKykgew0KDQog ICAgICAgICAgICBpZiAoKHAtPnRjX3JhdGVbal0gPT0gMCkgfHwgKHAtPnRjX3JhdGVbal0gPiBw LT50Yl9yYXRlKSkgew0KDQogICAgICAgICAgICAgICAgcmV0dXJuIC0xMjsNCg0KICAgICAgICAg ICAgfQ0KDQogICAgICAgIH0NCg0KDQoNCklzIHRoZXJlIGEgd2F5IGFyb3VuZCB0aGlzPyBIb3cg Y2FuIEkgcHJvdmlzaW9uIGJ3IGZvciBvbmx5IHR3byBjbGFzc2VzIFRDMCBhbmQgVEMxIGFuZCBk byBub3QgcnVuIGluIHRvIHRoZSBhYm92ZSBpc3N1ZSA/DQoNCltDcmlzdGlhbl0gQXMgeW91IGFy ZSBub3QgdXNpbmcgVEMyIGFuZCBUQzMsIHlvdSBjYW4gcHJvYmFibHkgc2V0IGFueSB2YWx1ZSAw IC4uIDEwMCUgZm9yIHRoZWlyIHJhdGUuDQoNCg0KT24gV2VkLCBGZWIgMjQsIDIwMTYgYXQgMzow MiBBTSwgRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVzY3VAaW50ZWwuY29t PG1haWx0bzpjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT4+IHdyb3RlOg0KDQoNCkZyb206 IHNyZWVuYWF0aCB2YXN1ZGV2YW4gW21haWx0bzpzcmVlbmFhdGhrdkBnbWFpbC5jb208bWFpbHRv OnNyZWVuYWF0aGt2QGdtYWlsLmNvbT5dDQpTZW50OiBXZWRuZXNkYXksIEZlYnJ1YXJ5IDI0LCAy MDE2IDEyOjU1IEFNDQpUbzogRHVtaXRyZXNjdSwgQ3Jpc3RpYW4gPGNyaXN0aWFuLmR1bWl0cmVz Y3VAaW50ZWwuY29tPG1haWx0bzpjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbT4+DQpDYzog ZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+DQpTdWJqZWN0OiBSZTogW2RwZGstZGV2 XSBEUERLLVFvUyAtIGxpbmsgc2hhcmluZyBhY3Jvc3MgY2xhc3Nlcw0KDQoNCmIpIEluIGN1cnJl bnQgRFBESyBRb1MgaW1wbGVtZW50aW9uLCBpZiBDMSBoYXMgdW4tdXNlZCBiL3cgd291bGQgdGhh dCBnZXQgdXNlZCBieSBDMD8gT3IgaXMgaXQgb25seSAibG93ZXIgcHJpb3JpdHkgY2xhc3MgKEMz LCBtb3JlIHNwZWNpZmljYWxseSkgdXNlcyB0aGUgdW4tdXNlZCBiL3cgZnJvbSBoaWdoZXIgcHJp b3JpdHkgY2xhc3NlcyAoQzAsQzEsQzIpID8NCg0KW0NyaXN0aWFuXSBEdWUgdG8gc3RyaWN0IHBy aW9yaXR5LCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIHRoaW5rIGFib3V0IGhpZ2hlciBwcmlv cml0eSBjbGFzc2VzIHVzaW5nIHdoYXRldmVyIGlzIG5vdCB1c2VkIGJ5IGxvdyBwcmlvcml0eSBj bGFzc2VzOiBJZiBoaWdoIHByaW9yaXR5IGNsYXNzZXMgaGF2ZSB0cmFmZmljIHRvIHNlbmQsIHRo ZXkgd2lsbCBhbHdheXMgYmUgcGlja2VkIGluIHRoZSBkZXRyaW1lbnQgb2YgbG93ZXIgb25lczsg d2hlbiB0aGUgaGlnaCBwcmlvcml0eSBjbGFzc2VzIGhpdCB0aGVpciB1cHBlciBsaW1pdCByYXRl LCB0aGVuIHRoZXkgYXJlIG5vdCBhbGxvd2VkIHRvIHNlbmQgbW9yZSwgb3RoZXJ3aXNlIHRoZSB1 cHBlciBsaW1pdCBtYWtlcyBubyBzZW5zZS4gU28gdGhlIGJhbmR3aWR0aCByZXVzZSBjb25jZXB0 IG1ha2VzIHNlbnNlIG9ubHkgZm9yIGxvdyBwcmlvIFRDcyB0byByZXVzZSB3aGF0ZXZlciBpcyBu b3QgdXNlZCBmcm9tIGhpZ2ggcHJpbyBUQ3MuIFVzdWFsbHksIHRoaXMgaXMgY29uZmlndXJlZCBi eSBmdWxseSBwcm92aXNpb25pbmcgVEMwIC4uIFRDMiBhbmQgc2V0dGluZyBUQzMgdG8gMTAwJSBv ZiBwaXBlIHJhdGUsIHNvIFRDMyBjYW4gdXNlIGl0cyByYXRlIHBsdXMgd2hhdGV2ZXIgZ2V0cyB1 bnVzZWQgYnkgVEMwIC4uIFRDMiwgc28gVEMzIHJhdGUgaXMgYmV0d2VlbjogMTAwJSAtIChyYXRl IFRDMCArIHJhdGUgVEMxICsgcmF0ZSBUQzIpIGFuZCAxMDAlIG9mIHBpcGUgcmF0ZS4gQXMgZXhw bGFpbmVkIGFib3ZlLCB0aGlzIGNhbiBiZSBhcHBsaWNhYmxlIHRvIGUuZyBUQzEgYXMgd2VsbCB3 aGVuIG9ubHkgVEMwIGFuZCBUQzEgYXJlIGFjdHVhbGx5IHVzZWQuIFNvIHRoZSBhbnN3ZXJzIHRv IHlvdXIgMiBxdWVzdGlvbnMgYXJlOiBuby9uby4NCg0KDQoNCj4+IFNyZWVuYWF0aCAtIExldCdz IHNheSBJIGhhdmUgdHdvIGNsYXNzZXMgVEMwIGFuZCBUQzEgZWFjaCBoYXZpbmcgYSBzaW5nbGUg cXVldWUuIExldCdzIHNheSBJIGdpdmUgVEMwIDYwJSBhbmQgVEMxIDEwMCUuIFNvIGFjY29yZGlu ZyB0byBEUERLJ3MgaW1wbGVtZW50YXRpb24sIFRDMSBjYW4gdXNlIDEwMCUgb2YgdGhlIGJhbmR3 aWR0aCBpZiBUQzAgaXMgaW5hY3RpdmUsIHdoaWxlIFRDMCBhdCBhbnkgdGltZSBjYW5ub3QgZXhj ZWVkIDYwJSwgZXZlbiBpZiBUQzEgaXMgaW5hY3RpdmUuIElzIHRoYXQgY29ycmVjdCA/IEFuZCBz aW5jZSB5b3UgbWVudGlvbmVkIHRoYXQgdGhpcyBpcyBzdHJpY3QgcHJpb3JpdHksIGFjY29yZGlu ZyB0byB0aGlzIGltcGxlbWVudGF0aW9uLCBoaWdoIHByaW9yaXR5IHRyYWZmaWMgY2Fubm90IHVz ZSAxMDAlIG9mIHRoZSBidyBldmVuIGlmIHRoZXJlIGlzIG5vIGxvdyBwcmlvcml0eSB0cmFmZmlj LCBidXQgbG93IHByaW9yaXR5IHRyYWZmaWMgY2FuIHVzZSAxMDAlIG9mIHRoZSBidyBpZiB0aGVy ZSBpcyBubyBoaWdoIHByaW9yaXR5IHRyYWZmaWMuIElzIG15IHVuZGVyc3RhbmRpbmcgY29ycmVj dCA/IFRoaXMgZG9lc24ndCBtYWtlIHNlbnNlLg0KW0NyaXN0aWFuXSBJdCBkb2VzIHRvIG1lLCBh cyBoaWdoIHByaW9yaXR5IHRyYWZmaWMgaXMgdXN1YWxseSBsb3cgYmFuZHdpZHRoIGFuZCB0eXBp Y2FsbHkgZnVsbHkgcHJvdmlzaW9uZWQgKGhvdyBtYW55IHZvaWNlIGNvbm5lY3Rpb25zLCBSVFAg dmlkZW8gY29uZmVyZW5jZXMsIDkxMSBjYWxscywgc2lnbmFsbGluZyB0cmFmZmljLCBldGMgY2Fu IHlvdSBoYXZlIGFjdGl2ZSBmb3IgYSBnaXZlbiB1c2VyIGF0IGEgZ2l2ZW4gdGltZT8pLCB3aGls ZSBtb3N0IG9mIHRoZSBJbnRlcm5ldCB0cmFmZmljIGlzIGJlc3QgZWZmb3J0IChsb3cgcHJpb3Jp dHkpIGFuZCBpdCBpcyB0eXBpY2FsbHkgb3ZlcnByb3Zpc2lvbmVkIDIwOjEgb3IgbW9yZS4NCllv dSBjYW4gc2V0IFRDMCByYXRlIHRvIDEwMCUgb2YgcGlwZSByYXRlLCBidXQgdGhpcyBpcyB0b3Rh bGx5IG5vdCByZWNvbW1lbmRlZCwgYmVjYXVzZSB3aGVuIFRDMCBkZW1hbmQgaXMgZXhhY3RseSAx MDAlIHlvdSBhcmUgZ29pbmcgdG8gc3RhcnZlIHRoZSBsb3cgcHJpb3JpdHkgVEMxIC4uIFRDMiBj b21wbGV0ZWx5LiBZb3UgY2FuIG1ha2UgV2VpZ2h0ZWQgRmFpciBRdWV1aW5nIChXRlEpIGJlaGF2 ZSBsaWtlIHN0cmljdCBwcmlvcml0eSBieSB1c2luZyBiaWcgd2VpZ2h0IHJhdGlvcyBsaWtlIDQ6 MSBvciAxNjoxLCBidXQgeW91IGNhbm5vdCBtYWtlIHN0cmljdCBwcmlvcml0eSBiZWhhdmUgbGlr ZSBXRlEgKHdoaWNoIGlzIHdoYXQgeW91IHNlZW0gdG8gYmUgbG9va2luZyBmb3IpLg0KDQoNCk9u IEZyaSwgRmViIDE5LCAyMDE2IGF0IDc6MDIgQU0sIER1bWl0cmVzY3UsIENyaXN0aWFuIDxjcmlz dGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbTxtYWlsdG86Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRl bC5jb20+PiB3cm90ZToNCg0KDQpGcm9tOiBzcmVlbmFhdGggdmFzdWRldmFuIFttYWlsdG86c3Jl ZW5hYXRoa3ZAZ21haWwuY29tPG1haWx0bzpzcmVlbmFhdGhrdkBnbWFpbC5jb20+XQ0KU2VudDog VGh1cnNkYXksIEZlYnJ1YXJ5IDE4LCAyMDE2IDg6MDEgUE0NClRvOiBEdW1pdHJlc2N1LCBDcmlz dGlhbiA8Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb208bWFpbHRvOmNyaXN0aWFuLmR1bWl0 cmVzY3VAaW50ZWwuY29tPj4NCkNjOiBkZXZAZHBkay5vcmc8bWFpbHRvOmRldkBkcGRrLm9yZz4N ClN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIERQREstUW9TIC0gbGluayBzaGFyaW5nIGFjcm9zcyBj bGFzc2VzDQoNCkhpIENyaXN0aWFuDQpUaGFua3MgZm9yIGRldGFpbGVkIHJlc3BvbnNlLg0KWW91 ciBzb2x1dGlvbiB3b3JrcyBzbyBsb25nIGFzIEkgaGF2ZSBmb3VyIHF1ZXVlcyBpbiBteSBjdXJy ZW50IGltcGxlbWVudGF0aW9uLg0KW0NyaXN0aWFuXSBZZXMsIEkgd2FzIHJlbHlpbmcgb24geW91 IHNheWluZyB5b3UgY2FuIGFjdHVhbGx5IGdyb3VwIFEwIGFuZCBRMSB0b2dldGhlciwgYXMgd2Vs bCBhcyBRMiBhbmQgUTMsIFE0IGFuZCBRNSwgUTYgYW5kIFE3Lg0KDQpGb2xsb3dpbmcgYXJlIHRo ZSB0d28gaXNzdWVzIEkgaGF2ZSBub3cNCjEuIEkgaGF2ZSA4IHF1ZXVlcyBpbiB0aGUgY3VycmVu dCBpbXBsZW1lbnRhdGlvbi4gVGhpcyBtZWFucyBJIG5lZWQgdG8gbWFwIHRoZSBleGlzdGluZyA4 IHF1ZXVlcyB0byB0d28gc2V0cyBvZiA0IHF1ZXVlcyBhY3Jvc3MgdHdvIGRpZmZlcmVudCBjbGFz c2VzICAoQzAgYW5kIEMxKSBpbiBEUERLLVFPcyByaWdodD8gVGhlIHByb2JsZW0gd2l0aCB0aGF0 IGFwcHJvYWNoIGlzIHRoYXQgcXVldWUgd2VpZ2h0cyBhcmUgbm90IHJlbGF0aXZlIGFjcm9zcyBj bGFzc2VzLiBJcyB0aGVyZSBhIHdheSB0byB3b3JrIGFyb3VuZCB0aGlzPw0KW0NyaXN0aWFuXSBZ b3UgY2FuLCBvZiBjb3Vyc2UsIGNoYW5nZSB0byBjb2RlIHRvIGltcGxlbWVudCA4IHF1ZXVlcyBw ZXIgcGlwZSB0cmFmZmljIGNsYXNzLCBidXQgdGhpcyBpcyBub3QgZ29pbmcgdG8gYmUgYSB0cml2 aWFsIGV4ZXJjaXNlLiBXaXRoIHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIHVubW9kaWZpZWQs IHlvdSBjb3VsZCBzaW1wbHkgbWFwIDQgcXVldWVzIHRvIGUuZy4gVEMwIGFuZCA0IHF1ZXVlcyB0 byBlLmcuIFRDMSwgcHJvdmlkZWQgdGhhdCBpdCBtYWtlcyBzZW5zZSB0byBwcmlvcml0aXplIHRo ZSA0IHF1ZXVlcyBvZiBUQzAgYXMgaGlnaGVyIHByaW9yaXR5IHRoYW4gdGhvc2UgNCBxdWV1ZXMg bWFwcGVkIHRvIFRDMSwgc28gYmFzaWNhbGx5IHlvdSBhcmUgT0sgd2l0aCBoYXZpbmcgc3RyaWN0 IHByaW9yaXR5ICh1cCB0byBhbiB1cHBlciBsaW1pdCkgYmV0d2VlbiB0aGUgMiBzZXRzIG9mIDQg cXVldWVzLg0KDQoNCjIuIEIvdyByZWRpc3RyaWJ1dGlvbiAtDQogICAgIGEpIFRoZSBtb21lbnQg SSBtYXAgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24ncyA4IHF1ZXVlcyBhY3Jvc3MgdHdvIGRp ZmZlcmVudCBjbGFzc2VzIChzYXkgQzAgYW5kIEMxKSwgd291bGQgcmVtYWluaW5nIGIvdyBiZSBk aXN0cmlidXRlZCBhY3Jvc3MgdGhlIHR3byBjbGFzc2VzIEMwIGFuZCBDMT8gSXMgaXQgdHJ1ZSB0 aGF0IGluIHRoZSBjdXJyZW50IERQREstUW9TIGltcGxlbWVudGF0aW9uLCB1bnVzZWQgYi93IGdl dHMgZGlzdHJpYnV0ZWQgb25seSB0byB0aGUgbGFzdCBjbGFzcyBDMz8gV291bGQgbm90IHVuLXVz ZWQgYi93IGZyb20gQzAgY29tZSB0byBDMT8NCltDcmlzdGlhbl0gV2l0aCA0IHF1ZXVlcyBtYXBw ZWQgdG8gVEMwIGFuZCA0IHF1ZXVlcyBtYXBwZWQgdG8gVEMxLCB5b3UgY2FuIHNldCBUQzAgcmF0 ZSB0byBYJSBvZiBwaXBlIHJhdGUgYW5kIFRDMSByYXRlIHRvIDEwMCUgb2YgcGlwZSByYXRlLiBU aGlzIGlzIHRoZSBpZGVhIGJlaGluZCBzdHJpY3QgcHJpb3JpdHk6IHRoZSBzdW0gb2YgVEMgcmF0 ZXMgaXMgdXN1YWxseSBiaWdnZXIgdGhhbiAxMDAlIG9mIHBpcGUgcmF0ZSwgYnV0IHRoaXMgaXMg ZmluZSwgYXMgZHVlIHRvIHN0cmljdCBwcmlvcml0eSB0aGUgbG93ZXN0IHByaW9yaXR5IFRDIHVz ZWQgKHdoaWNoIGluIHRoaXMgY2FzZSBpcyBUQzEsIG5vdCBUQzMsIGFzIHlvdSBhcmUgbm90IHVz aW5nIFRDMiBhbmQgVEMzIGF0IGFsbCkgb25seSBnZXRzIDEwMCUgb2YgdGhlIHBpcGUgcmF0ZSB3 aGVuIG5vIHRyYWZmaWMgZnJvbSBoaWdoZXIgcHJpb3JpdHkgVENzIGV4aXN0cy4gSW4gdGhpcyBj YXNlLCB0aGUgZXh0cmVtZXMgYXJlOiAoMSkgVEMwIGRlbWFuZCBpcyBoaWdoLCBzbyBUQzAgdXNl cyBldmVyeXRoaW5nIHVwIHRvIFglLCBzbyBUQzEgY2FuIHVzZSBhIG1heCBvZiAoMTAwIOKAkyBY KSUgYW5kICgyKSBUQzAgZGVtYW5kIGlzIHplcm8sIGluIHdoaWNoIGNhc2UgVEMxIGlzIGZyZWUg dG8gdXNlIHVwIHRvIDEwMCUgb2YgcGlwZSByYXRlLiBTbyB0aGUgYW5zd2VycyB0byB5b3VyIDMg cXVlc3Rpb25zIGFyZTogeWVzL25vL3llcy4NCg0KICAgICBiKSBJbiBjdXJyZW50IERQREsgUW9T IGltcGxlbWVudGlvbiwgaWYgQzEgaGFzIHVuLXVzZWQgYi93IHdvdWxkIHRoYXQgZ2V0IHVzZWQg YnkgQzA/IE9yIGlzIGl0IG9ubHkgImxvd2VyIHByaW9yaXR5IGNsYXNzIChDMywgbW9yZSBzcGVj aWZpY2FsbHkpIHVzZXMgdGhlIHVuLXVzZWQgYi93IGZyb20gaGlnaGVyIHByaW9yaXR5IGNsYXNz ZXMgKEMwLEMxLEMyKSA/DQpbQ3Jpc3RpYW5dIER1ZSB0byBzdHJpY3QgcHJpb3JpdHksIGl0IGRv ZXMgbm90IG1ha2Ugc2Vuc2UgdG8gdGhpbmsgYWJvdXQgaGlnaGVyIHByaW9yaXR5IGNsYXNzZXMg dXNpbmcgd2hhdGV2ZXIgaXMgbm90IHVzZWQgYnkgbG93IHByaW9yaXR5IGNsYXNzZXM6IElmIGhp Z2ggcHJpb3JpdHkgY2xhc3NlcyBoYXZlIHRyYWZmaWMgdG8gc2VuZCwgdGhleSB3aWxsIGFsd2F5 cyBiZSBwaWNrZWQgaW4gdGhlIGRldHJpbWVudCBvZiBsb3dlciBvbmVzOyB3aGVuIHRoZSBoaWdo IHByaW9yaXR5IGNsYXNzZXMgaGl0IHRoZWlyIHVwcGVyIGxpbWl0IHJhdGUsIHRoZW4gdGhleSBh cmUgbm90IGFsbG93ZWQgdG8gc2VuZCBtb3JlLCBvdGhlcndpc2UgdGhlIHVwcGVyIGxpbWl0IG1h a2VzIG5vIHNlbnNlLiBTbyB0aGUgYmFuZHdpZHRoIHJldXNlIGNvbmNlcHQgbWFrZXMgc2Vuc2Ug b25seSBmb3IgbG93IHByaW8gVENzIHRvIHJldXNlIHdoYXRldmVyIGlzIG5vdCB1c2VkIGZyb20g aGlnaCBwcmlvIFRDcy4gVXN1YWxseSwgdGhpcyBpcyBjb25maWd1cmVkIGJ5IGZ1bGx5IHByb3Zp c2lvbmluZyBUQzAgLi4gVEMyIGFuZCBzZXR0aW5nIFRDMyB0byAxMDAlIG9mIHBpcGUgcmF0ZSwg c28gVEMzIGNhbiB1c2UgaXRzIHJhdGUgcGx1cyB3aGF0ZXZlciBnZXRzIHVudXNlZCBieSBUQzAg Li4gVEMyLCBzbyBUQzMgcmF0ZSBpcyBiZXR3ZWVuOiAxMDAlIC0gKHJhdGUgVEMwICsgcmF0ZSBU QzEgKyByYXRlIFRDMikgYW5kIDEwMCUgb2YgcGlwZSByYXRlLiBBcyBleHBsYWluZWQgYWJvdmUs IHRoaXMgY2FuIGJlIGFwcGxpY2FibGUgdG8gZS5nIFRDMSBhcyB3ZWxsIHdoZW4gb25seSBUQzAg YW5kIFRDMSBhcmUgYWN0dWFsbHkgdXNlZC4gU28gdGhlIGFuc3dlcnMgdG8geW91ciAyIHF1ZXN0 aW9ucyBhcmU6IG5vL25vLg0KDQoNCk9uIFR1ZSwgRmViIDE2LCAyMDE2IGF0IDI6NDYgUE0sIER1 bWl0cmVzY3UsIENyaXN0aWFuIDxjcmlzdGlhbi5kdW1pdHJlc2N1QGludGVsLmNvbTxtYWlsdG86 Y3Jpc3RpYW4uZHVtaXRyZXNjdUBpbnRlbC5jb20+PiB3cm90ZToNCg0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldiBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3Jn PG1haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZz5dIE9uIEJlaGFsZiBPZiBzcmVlbmFhdGgNCj4g dmFzdWRldmFuDQo+IFNlbnQ6IFR1ZXNkYXksIEZlYnJ1YXJ5IDIsIDIwMTYgOTowOSBQTQ0KPiBU bzogZGV2QGRwZGsub3JnPG1haWx0bzpkZXZAZHBkay5vcmc+DQo+IFN1YmplY3Q6IFtkcGRrLWRl dl0gRFBESy1Rb1MgLSBsaW5rIHNoYXJpbmcgYWNyb3NzIGNsYXNzZXMNCj4NCj4gSGkNCj4gSSBj dXJyZW50bHkgaGF2ZSBRb1MgaW1wbGVtZW50ZWQgaW4gaGFyZHdhcmUgYW5kIEkgYW0gdGhpbmtp bmcgb2YgdXNpbmcNCj4gRFBESydzIFFvUyBmZWF0dXJlIHRvIG1vdmUgaXQgdG8gc29mdHdhcmUu DQo+IEN1cnJlbnRseSBpbiB0aGUgaGFyZHdhcmUsQmFzZWQgb24gdGhlIDQgY2xhc3MgcGVyIHBp cGUgYW5kIDQgcXVldWVzIHBlcg0KPiBjbGFzcyBsaW1pdGF0aW9uLCBJIHdhcyB0aGlua2luZyBv ZiB1c2luZyA0IGNsYXNzZXMgaW4gRFBESy1Rb1MgYW5kIHNwcmVhZA0KPiBvdXQgdGhlIDggaC93 IHF1ZXVlcyBhY3Jvc3MgdGhlIDQgY2xhc3Nlcy4NCj4gTGV0IG1lIGV4cGxhaW4gd2l0aCBhbiBl eGFtcGxlLiBDdXJyZW50bHksIHRoaXMgaXMgaG93IHRoZSBoL3cgcXVldWUgaXMNCj4gcmVwcmVz ZW50ZWQNCj4gUTAgLSAxMCUgYi93DQo+IFExLSAxMCUgIGIvdw0KPiBRMi0gMTUlIGIvdw0KPiBR MyAtIDE1JSBiL3cNCj4gUTQgLSAxNSUgYi93DQo+IFE1IC0gMTUlIGIvdw0KPiBRNiAtIDEwJSBi L3cNCj4gUTcgLSAxMCUgYi93DQo+DQo+IFRyYW5zbGF0aW5nIHRoZSBhYm92ZSBjb25maWcgdG8g RFBESy1Rb1MsIGJhc2VkIG9uIG15IGFwcGxpY2F0aW9uIG5lZWQsIFEwDQo+IGFuZCBRMSBjYW4g YmUgbG9naWNhbGx5IGdyb3VwZWQgdW5kZXIgY2xhc3MwIHdpdGggdXBwZXIgYi93ID0gMjAlOyBR MiwgUTMsDQo+IFE0LCBRNSBjYW4gYmUgbG9naWNhbGx5IGdyb3VwZWQgdW5kZXIgY2xhc3MyIHdp dGggdXBwZXIgYi93ID0gNjAlOyBRNiBhbmQNCj4gUTcgY2FuIGJlIGxvZ2ljYWxseSBncm91cGVk IHVuZGVyIGNsYXNzIDMgd2l0aCBzdXBlciBiL3cgPSAyMCUuDQo+DQo+IEhvd2V2ZXIsIGluIHRo ZSBoL3csIGxpbmsgc2hhcmluZyBpcyBhdmFpbGFibGUgYWNyb3NzIGFsbCB0aGUgOCBxdWV1ZXMu DQo+IERQREsgbWF0ZXJpYWxzIHNheSBsaW5rIHNoYXJpbmcgInR5cGljYWxseSIgaXMgZW5hYmxl ZCBmb3IgbGFzdCBjbGFzcywgaW4NCj4gdGhpcyBjYXNlIGNsYXNzMi4gSG93ZXZlciwgSSBhbHNv IHdhbnQgY2xhc3MgMSBvciBjbGFzcyAwIHRvIHVzZSB0aGUNCj4gcmVtYWluaW5nIGJhbmR3aWR0 aCB3aGVuIGNsYXNzMiBkb2VzIG5vdCBoYXZlIGFueSB0cmFmZmljIGFuZCBzbyBvbi4gQ2FuDQo+ IHRoaXMgYmUgZG9uZSBpbiBEUERLID8gRG8gd2UgaGF2ZSBhIGNvbmNlcHQgb2YgbWluIGFuZCBt YXggYi93IGd1YXJhbnRlZQ0KPiBhdA0KPiB0aGUgY2xhc3MgbGV2ZWwgaW4gRFBESy1Rb1MgPw0K WW91ciByZXF1aXJlbWVudHMgc2VlbSB0byBiZToNCi0gbWluaW1hbCByYXRlIGZvciBlYWNoIGNs YXNzICh3aXRoIHJhdGVzIGZ1bGx5IHByb3Zpc2lvbmVkLCBpLmUuIHN1bSBvZiByYXRlIG5vdCBl eGNlZWRpbmcgMTAwJSkNCi0gYXZvaWQgYi93IHdhc3RlIGJ5IHJlZGlzdHJpYnV0aW5nIHVudXNl ZCBiL3cgdG8gdGhlIHRyYWZmaWMgY2xhc3NlcyB0aGF0IGN1cnJlbnRseSBoYXZlIHRyYWZmaWMg YWNjb3JkaW5nIHRvIHRoZWlyIHJlbGF0aXZlIHdlaWdodHMNCg0KSW4gb3VyIGltcGxlbWVudGF0 aW9uLCB0cmFmZmljIGNsYXNzZXMgYXJlIHNjaGVkdWxlZCBpbiBzdHJpY3QgcHJpb3JpdHkgKHdp dGggdXBwZXIgbGltaXQgZGVmaW5lZCwgdG8gYXZvaWQgc3RhcnZhdGlvbiksIHNvIFRDMCB0cmFm ZmljIGlzIGFsd2F5cyBwcmlvcml0aXplZCBmb3IgdGhlIGN1cnJlbnQgcGlwZSBvdmVyIFRDMSAu LiBUQzMgdHJhZmZpYyAoYXMgbG9uZyBhcyBjdXJyZW50IHBpcGUgaGFzIFRDMCB0cmFmZmljIGFu ZCBwaXBlIFRDMCByYXRlIGlzIG5vdCByZWFjaGVkKS4gVGhlcmVmb3JlLCB0aGUgdHJhZmZpYyBj bGFzcyBoaWVyYXJjaHkgbGV2ZWwgaXMgbm90IGdvaW5nIHRvIGhlbHAgeW91IGhlcmUuDQoNCk9u IHRoZSBvdGhlciBoYW5kLCBpZiB5b3UgbWFwIGFsbCB5b3VyIHF1ZXVlcy90cmFmZmljIGNsYXNz ZXMgdG8gdGhlIHF1ZXVlcyBvZiBvbmUgb2Ygb3VyIHBpcGUgdHJhZmZpYyBjbGFzc2VzIChpdCBk b2VzIG5vdCBtYXR0ZXIgd2hpY2ggb25lIG9mIFRDMCAuLiBUQzMgeW91IHBpY2ssIGFzIGxvbmcg YXMgeW91IHBpY2sganVzdCBvbmUpLCB5b3VyIHJlcXVpcmVtZW50cyBiZWNvbWUgcG9zc2libGUs IGFzIHdlIGhhdmUgNCBxdWV1ZXMgcGVyIGVhY2ggcGlwZSB0cmFmZmljIGNsYXNzLCBhbmQgdGhl eSBhcmUgc2NoZWR1bGVkIHVzaW5nIHdlaWdodGVkIGZhaXIgcXVldWluZyAoYnl0ZS1sZXZlbCB3 ZWlnaHRlZCByb3VuZCByb2JpbikuIFNpbXBseSBtYXAgeW91ciBjbGFzczAgIHRvIG91ciBwaXBl IFRDMCBxdWV1ZSAwICh3ZWlnaHQgb2YgMjAlKSwgeW91ciBjbGFzczIgdG8gb3VyIHBpcGUgVEMw IHF1ZXVlIDEgKHdlaWdodCBvZiA2MCUpIGFuZCB5b3VyIGNsYXNzMyB0byBvdXIgcGlwZSBUQzAg cXVldWUgMiAod2VpZ2h0IG9mIDIwJSksIHdpdGggb3VyIHBpcGUgVEMwIHF1ZXVlIDMgdW51c2Vk LCB3aGljaCBzaG91bGQgd29yayBleGFjdGx5IHdoYXQgeW91IG5lZWQuIE1ha2VzIHNlbnNlPw0K DQpSZWdhcmRzLA0KQ3Jpc3RpYW4NCg0KPg0KPiBUaGFua3MgIQ0KPg0KPiAtLQ0KPiByZWdhcmRz DQo+IHNyZWVuYWF0aA0KDQoNCg0KLS0NCnJlZ2FyZHMNCnNyZWVuYWF0aA0KDQoNCg0KLS0NCnJl Z2FyZHMNCnNyZWVuYWF0aA0KDQoNCg0KLS0NCnJlZ2FyZHMNCnNyZWVuYWF0aA0K