From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH v9 1/6] drm: Add Content protection type property Date: Thu, 11 Jul 2019 11:20:49 +0530 Message-ID: <20190711055049.GA1552@intel.com> References: <20190708112116.1780-1-ramalingam.c@intel.com> <20190708112116.1780-2-ramalingam.c@intel.com> <20190709173110.1f18338d@eldfell.localdomain> <20190709124759.GA28326@intel.com> <20190710111624.08e527ed@eldfell.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190710111624.08e527ed@eldfell.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Pekka Paalanen Cc: intel-gfx , dri-devel List-Id: dri-devel@lists.freedesktop.org T24gMjAxOS0wNy0xMCBhdCAxMToxNjoyNCArMDMwMCwgUGVra2EgUGFhbGFuZW4gd3JvdGU6Cj4g T24gVHVlLCA5IEp1bCAyMDE5IDE4OjE3OjU5ICswNTMwCj4gUmFtYWxpbmdhbSBDIDxyYW1hbGlu Z2FtLmNAaW50ZWwuY29tPiB3cm90ZToKPiAKPiA+IE9uIDIwMTktMDctMDkgYXQgMTc6MzE6MTAg KzAzMDAsIFBla2thIFBhYWxhbmVuIHdyb3RlOgo+ID4gPiBPbiBNb24sICA4IEp1bCAyMDE5IDE2 OjUxOjExICswNTMwCj4gPiA+IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4g d3JvdGU6Cj4gPiA+ICAgCj4gPiA+ID4gVGhpcyBwYXRjaCBhZGRzIGEgRFJNIEVOVU0gcHJvcGVy dHkgdG8gdGhlIHNlbGVjdGVkIGNvbm5lY3RvcnMuCj4gPiA+ID4gVGhpcyBwcm9wZXJ0eSBpcyB1 c2VkIGZvciBtZW50aW9uaW5nIHRoZSBwcm90ZWN0ZWQgY29udGVudCdzIHR5cGUKPiA+ID4gPiBm cm9tIHVzZXJzcGFjZSB0byBrZXJuZWwgSERDUCBhdXRoZW50aWNhdGlvbi4KPiA+ID4gPiAKPiA+ ID4gPiBUeXBlIG9mIHRoZSBzdHJlYW0gaXMgZGVjaWRlZCBieSB0aGUgcHJvdGVjdGVkIGNvbnRl bnQgcHJvdmlkZXJzLgo+ID4gPiA+IFR5cGUgMCBjb250ZW50IGNhbiBiZSByZW5kZXJlZCBvbiBh bnkgSERDUCBwcm90ZWN0ZWQgZGlzcGxheSB3aXJlcy4KPiA+ID4gPiBCdXQgVHlwZSAxIGNvbnRl bnQgY2FuIGJlIHJlbmRlcmVkIG9ubHkgb24gSERDUDIuMiBwcm90ZWN0ZWQgcGF0aHMuCj4gPiA+ ID4gCj4gPiA+ID4gU28gd2hlbiBhIHVzZXJzcGFjZSBzZXRzIHRoaXMgcHJvcGVydHkgdG8gVHlw ZSAxIGFuZCBzdGFydHMgdGhlIEhEQ1AKPiA+ID4gPiBlbmFibGUsIGtlcm5lbCB3aWxsIGhvbm91 ciBpdCBvbmx5IGlmIEhEQ1AyLjIgYXV0aGVudGljYXRpb24gaXMgdGhyb3VnaAo+ID4gPiA+IGZv ciB0eXBlIDEuIEVsc2UgSERDUCBlbmFibGUgd2lsbCBiZSBmYWlsZWQuCj4gPiA+ID4gCj4gPiA+ ID4gTmVlZCBBQ0sgZm9yIHRoaXMgbmV3IGNvbmVuY3RvciBwcm9wZXJ0eSBmcm9tIHVzZXJzcGFj ZSBjb25zdW1lci4KPiA+ID4gPiAKPiA+ID4gPiB2MjoKPiA+ID4gPiAgIGNwX2NvbnRlbnRfdHlw ZSBpcyByZXBsYWNlZCB3aXRoIGNvbnRlbnRfcHJvdGVjdGlvbl90eXBlIFtkYW5pZWxdCj4gPiA+ ID4gICBjaGVjayBhdCBhdG9taWNfc2V0X3Byb3BlcnR5IGlzIHJlbW92ZWQgW01hYXJ0ZW5dCj4g PiA+ID4gdjM6Cj4gPiA+ID4gICAlcy9jb250ZW50X3Byb3RlY3Rpb25fdHlwZS9oZGNwX2NvbnRl bnRfdHlwZSBbUGVra2FdCj4gPiA+ID4gdjQ6Cj4gPiA+ID4gICBwcm9wZXJ0eSBpcyBjcmVhdGVk IGZvciB0aGUgZmlyc3QgcmVxdWVzdGVkIGNvbm5lY3RvciBhbmQgdGhlbiByZXVzZWQuCj4gPiA+ ID4gCVtEYW52ZXRdCj4gPiA+ID4gdjU6Cj4gPiA+ID4gICBrZXJuZWwgZG9jIG5pdHMgYWRkcmVz c2VkIFtEYW5pZWxdCj4gPiA+ID4gICBSZWJhc2VkIGFzIHBhcnQgb2YgcGF0Y2ggcmVvcmRlcmlu Zy4KPiA+ID4gPiB2NjoKPiA+ID4gPiAgIEtlcm5lbCBkb2NzIGFyZSBtb2RpZmllZCBbcGVra2Fd Cj4gPiA+ID4gdjc6Cj4gPiA+ID4gICBNb3JlIGRldGFpbHMgaW4gS2VybmVsIGRvY3MuIFtwZWtr YV0KPiA+ID4gPiAKPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5n YW0uY0BpbnRlbC5jb20+Cj4gPiA+ID4gUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmll bC52ZXR0ZXJAZmZ3bGwuY2g+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3VhcGkuYyAgICAgICAgIHwgIDQgKysrCj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMgICAgICAgICAgIHwgMzkgKysrKysrKysrKysrKysrKysrKysrKysK PiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9oZGNwLmMgICAgICAgICAgICAgICAgfCAzNiAr KysrKysrKysrKysrKysrKysrKy0KPiA+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9oZGNwLmMgfCAgNCArKy0KPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX2Nvbm5lY3Rv ci5oICAgICAgICAgICAgICAgfCAgNyArKysrCj4gPiA+ID4gIGluY2x1ZGUvZHJtL2RybV9oZGNw LmggICAgICAgICAgICAgICAgICAgIHwgIDIgKy0KPiA+ID4gPiAgaW5jbHVkZS9kcm0vZHJtX21v ZGVfY29uZmlnLmggICAgICAgICAgICAgfCAgNiArKysrCj4gPiA+ID4gIGluY2x1ZGUvdWFwaS9k cm0vZHJtX21vZGUuaCAgICAgICAgICAgICAgIHwgIDQgKysrCj4gPiA+ID4gIDggZmlsZXMgY2hh bmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKPiA+ID4gPiAKPiA+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jIGIvZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4gPiA+ID4gaW5kZXggYWJlMzhiZGY4NWFlLi4xOWFl MTE5ZjFhNWQgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf dWFwaS5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jCj4g PiA+ID4gQEAgLTc0Nyw2ICs3NDcsOCBAQCBzdGF0aWMgaW50IGRybV9hdG9taWNfY29ubmVjdG9y X3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gPiA+ICAJ CQlyZXR1cm4gLUVJTlZBTDsKPiA+ID4gPiAgCQl9Cj4gPiA+ID4gIAkJc3RhdGUtPmNvbnRlbnRf cHJvdGVjdGlvbiA9IHZhbDsKPiA+ID4gPiArCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmln LT5oZGNwX2NvbnRlbnRfdHlwZV9wcm9wZXJ0eSkgewo+ID4gPiA+ICsJCXN0YXRlLT5oZGNwX2Nv bnRlbnRfdHlwZSA9IHZhbDsKPiA+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29ubmVj dG9yLT5jb2xvcnNwYWNlX3Byb3BlcnR5KSB7Cj4gPiA+ID4gIAkJc3RhdGUtPmNvbG9yc3BhY2Ug PSB2YWw7Cj4gPiA+ID4gIAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+d3JpdGViYWNr X2ZiX2lkX3Byb3BlcnR5KSB7Cj4gPiA+ID4gQEAgLTgzMSw2ICs4MzMsOCBAQCBkcm1fYXRvbWlj X2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK PiA+ID4gPiAgCQkJc3RhdGUtPmhkcl9vdXRwdXRfbWV0YWRhdGEtPmJhc2UuaWQgOiAwOwo+ID4g PiA+ICAJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmNvbnRlbnRfcHJvdGVjdGlvbl9w cm9wZXJ0eSkgewo+ID4gPiA+ICAJCSp2YWwgPSBzdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uOwo+ ID4gPiA+ICsJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmhkY3BfY29udGVudF90eXBl X3Byb3BlcnR5KSB7Cj4gPiA+ID4gKwkJKnZhbCA9IHN0YXRlLT5oZGNwX2NvbnRlbnRfdHlwZTsK PiA+ID4gPiAgCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT53cml0ZWJhY2tfZmJfaWRf cHJvcGVydHkpIHsKPiA+ID4gPiAgCQkvKiBXcml0ZWJhY2sgZnJhbWVidWZmZXIgaXMgb25lLXNo b3QsIHdyaXRlIGFuZCBmb3JnZXQgKi8KPiA+ID4gPiAgCQkqdmFsID0gMDsKPiA+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fY29ubmVjdG9yLmMKPiA+ID4gPiBpbmRleCAwNjhkNGIwNWYxYmUuLjczMmY2NjQ1NjQz ZCAxMDA2NDQKPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCj4g PiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwo+ID4gPiA+IEBAIC05 NTIsNiArOTUyLDQ1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3Byb3BfZW51bV9saXN0IGhk bWlfY29sb3JzcGFjZXNbXSA9IHsKPiA+ID4gPiAgICoJICBpcyBubyBsb25nZXIgcHJvdGVjdGVk IGFuZCB1c2Vyc3BhY2Ugc2hvdWxkIHRha2UgYXBwcm9wcmlhdGUgYWN0aW9uCj4gPiA+ID4gICAq CSAgKHdoYXRldmVyIHRoYXQgbWlnaHQgYmUpLgo+ID4gPiA+ICAgKgo+ID4gPiA+ICsgKiBIRENQ IENvbnRlbnQgVHlwZToKPiA+ID4gPiArICoJVGhpcyBFbnVtIHByb3BlcnR5IGlzIHVzZWQgYnkg dGhlIHVzZXJzcGFjZSB0byBkZWNsYXJlIHRoZSBjb250ZW50IHR5cGUKPiA+ID4gPiArICoJb2Yg dGhlIGRpc3BsYXkgc3RyZWFtLCB0byBrZXJuZWwuIEhlcmUgZGlzcGxheSBzdHJlYW0gc3RhbmRz IGZvciBhbnkKPiA+ID4gPiArICoJZGlzcGxheSBjb250ZW50IHRoYXQgdXNlcnNwYWNlIGludGVu ZGVkIHRvIHJlbmRlciB3aXRoIEhEQ1AgZW5jcnlwdGlvbi4gIAo+ID4gPiAKPiA+ID4gSGksCj4g PiA+IAo+ID4gPiBJJ2Qgc3VnZ2VzdCBzL3JlbmRlciB3aXRoL2Rpc3BsYXkgdGhyb3VnaC8uCj4g PiA+IAo+ID4gPiBBcyBhIGdmeCBkZXYsIHJlbmRlcmluZyBpcyBzb21ldGhpbmcgcXVpdGUgZGlm ZmVyZW50IHRvIG1lLiAgCj4gPiBPay4KPiA+ID4gICAKPiA+ID4gPiArICoKPiA+ID4gPiArICoJ Q29udGVudCBUeXBlIG9mIGEgc3RyZWFtIGlzIGRlY2lkZWQgYnkgdGhlIG93bmVyIG9mIHRoZSBz dHJlYW0sIGFzCj4gPiA+ID4gKyAqCSJIRENQIFR5cGUwIiBvciAiSERDUCBUeXBlMSIuCj4gPiA+ ID4gKyAqCj4gPiA+ID4gKyAqCVRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgY2FuIGJlIG9uZSB0 aGUgYmVsb3c6ICAKPiA+ID4gCj4gPiA+ICpvbmUgb2YgdGhlIGJlbG93ICAKPiA+IFN1cmUuCj4g PiA+ICAgCj4gPiA+ID4gKyAqCSAgLSAiSERDUCBUeXBlMCI6IERSTV9NT0RFX0hEQ1BfQ09OVEVO VF9UWVBFMCA9IDAKPiA+ID4gPiArICoJICAtICJIRENQIFR5cGUxIjogRFJNX01PREVfSERDUF9D T05URU5UX1RZUEUxID0gMQo+ID4gPiA+ICsgKgo+ID4gPiA+ICsgKglXaGVuIGtlcm5lbCBzdGFy dHMgdGhlIEhEQ1AgYXV0aGVudGljYXRpb24gdXBvbiB0aGUgIkRFU0lSRUQiIHN0YXRlIG9mCj4g PiA+ID4gKyAqCXRoZSAiQ29udGVudCBQcm90ZWN0aW9uIiwgaXQgcmVmZXJzIHRoZSAiSERDUCBD b250ZW50IFR5cGUiIHByb3BlcnR5Cj4gPiA+ID4gKyAqCXN0YXRlLiBBbmQgcGVyZm9ybSB0aGUg SERDUCBhdXRoZW50aWNhdGlvbiB3aXRoIHRoZSBkaXNwbGF5IHNpbmsgZm9yCj4gPiA+ID4gKyAq CXRoZSBjb250ZW50IHR5cGUgbWVudGlvbmVkIGJ5ICJIRENQIENvbnRlbnQgVHlwZSIuICAKPiA+ ID4gCj4gPiA+IEhvdyBhYm91dDoKPiA+ID4gCj4gPiA+IAlXaGVuIGtlcm5lbCBzdGFydHMgdGhl IEhEQ1AgYXV0aGVudGljYXRpb24gKHNlZSAiQ29udGVudCBQcm90ZWN0aW9uIgo+ID4gPiAJZm9y IGRldGFpbHMpLCBpdCB1c2VzIHRoZSBjb250ZW50IHR5cGUgaW4gIkhEQ1AgQ29udGVudCBUeXBl Igo+ID4gPiAJZm9yIHBlcmZvcm1pbmcgdGhlIEhEQ1AgYXV0aGVudGljYXRpb24gd2l0aCB0aGUg ZGlzcGxheSBzaW5rLiAgCj4gPiBsZXNzIGNvbmZ1c2luZyA6KSBUaGFua3MuCj4gPiA+ICAgCj4g PiA+ID4gKyAqCj4gPiA+ID4gKyAqCVN0cmVhbSBjbGFzc2lmaWVkIGFzIEhEQ1AgVHlwZTAgY2Fu IGJlIHRyYW5zbWl0dGVkIG9uIGEgbGluayB3aGljaCBpcwo+ID4gPiA+ICsgKgllbmNyeXB0ZWQg d2l0aCBIRENQIDEuNCBvciBoaWdoZXIgdmVyc2lvbnMgb2YgSERDUChpLmUgSERDUDIuMgo+ID4g PiA+ICsgKglhbmQgbW9yZSkuICAKPiA+ID4gCj4gPiA+IFRoaXMgaXMgd2hlcmUgSSBnZXQgY29u ZnVzZWQsIHNlZSBteSBlYXJsaWVyIGVtYWlsIGZyb20gdG9kYXkgb24gdGhlCj4gPiA+IHByZXZp b3VzIHJldmlzaW9uIG9mIHRoaXMgcGF0Y2ggc2VyaWVzLiBJcyBpdCBuZWNlc3NhcnkgdG8gdGFs ayBhYm91dAo+ID4gPiBIRENQIHZlcnNpb25zIGhlcmU/IFRoZSBvbmx5IHRoaW5nIHRoYXQgbWF0 dGVycyBmb3IgVUFQSSBpcyB0aGUgY29udGVudAo+ID4gPiB0eXBlLCByaWdodD8KPiA+ID4gCj4g PiA+IFByZXZpb3VzbHkgeW91IHNhaWQgdGhhdCB0aGUga2VybmVsIHdpbGwgbm90IHVzZSBUeXBl MSBpZiB1c2Vyc3BhY2UKPiA+ID4gb25seSBhc2tlZCBmb3IgVHlwZTAsIGJ1dCB0byBtZSB0aGlz IHRleHQgcmVhZHMgYXMgcXVpdGUgdGhlIG9wcG9zaXRlLiAgCj4gPiBTaW1wbGUuIEhEQ1AyLjIg aXRzZWxmIHN1cHBvcnQgYm90aCBUeXBlIDAgYW5kIFR5cGUgMS4gd2hlcmUgYXMgSERDUDEuNAo+ ID4gYnkgZGVmYXVsdCBzdXBwb3J0cyB0aGUgVHlwZSAwIGFuZCBkb2Vzbid0IHN1cHBvcnQgdGhl IFR5cGUgMS4KPiA+IAo+ID4gSSBndWVzcyB5b3UgYXJlIGdldHRpbmcgY29uZnVzZWQgYnkgYXNz aWduaW5nIHRoZSB0eXBlIHRvIHRoZSB2ZXJzaW9ucy4KPiAKPiBIaSwKPiAKPiB5ZXMsIEkgYW0g aW5kZWVkLgo+IAo+IElzIHRoZSBIRENQIHZlcnNpb24gZXZlciBleHBvc2VkIHRvIHVzZXJzcGFj ZSBpbiBhbnkgd2F5Pwo+IAo+IElmIGl0IGlzLCB0aGVuIGV4cGxhaW5pbmcgaG93IHRoZSB0eXBl cyByZWxhdGUgdG8gdGhlIHZlcnNpb25zIG1heSB3ZWxsCj4gYmUgdXNlZnVsLiBCdXQgaWYgdXNl cnNwYWNlIGNhbm5vdCBldmVuIGtub3cgd2hhdCBIRENQIHZlcnNpb24gaXMgYmVpbmcKPiB1c2Vk IG9yIGF2YWlsYWJsZSwKSGksCgpJbXBsaWNpdGx5IGNvbnRlbnQgdHlwZSBjYXBhYmlsaXR5IGlz IGV4cG9zaW5nIHRoZSBIRENQIHZlcnNpb24gY2FwYWJpbGl0eS4KU2F5IGlmIEhEQ1AgVHlwZSAx IGlzIHN1cHBvcnRlZCB3ZSBpbmZlciB0aGF0IHVuZGVybHlpbmcga2VybmVsIHN1cHBvcnQKSERD UDIuMi4KCkFuZCBjb250ZW50IHR5cGUgaXMgaW50cm9kdWNlZCB0byByZXN0cmljdCBmZXcgY2F0 YWdvcmllcyBvZiB0aGUgY29udGVudAp3aXRoIGZldyBIRENQIHZlcnNpb25zJyBwcm90ZWN0aW9u LCBJTUhPIGl0IGlzIGJldHRlciB0byBjYXB0dXJlIHRoZQpyZWxhdGlvbnNoaXAgYmV0d2VlbiBU eXBlIGFuZCB0aGUgdW5kZXJseWluZyBIRENQIHZlcnNpb25zLgoKU2VlIGlmIHRoZSBiZWxvdyBw YXJhIHdpbGwgZG8gdGhpcyB0YXNrIHdpdGggb3V0IGFueSBhbWJpZ3VvdXMuCgogKiBIRENQIENv bnRlbnQgVHlwZToKICogICAgICBUaGlzIEVudW0gcHJvcGVydHkgaXMgdXNlZCBieSB0aGUgdXNl cnNwYWNlIHRvIGRlY2xhcmUgdGhlIGNvbnRlbnQgdHlwZQogKiAgICAgIG9mIHRoZSBkaXNwbGF5 IHN0cmVhbSwgdG8ga2VybmVsLiBIZXJlIGRpc3BsYXkgc3RyZWFtIHN0YW5kcyBmb3IgYW55CiAq ICAgICAgZGlzcGxheSBjb250ZW50IHRoYXQgdXNlcnNwYWNlIGludGVuZGVkIHRvIGRpc3BsYXkg dGhyb3VnaCBIRENQCiAqICAgICAgZW5jcnlwdGlvbi4KICoKICogICAgICBDb250ZW50IFR5cGUg b2YgYSBzdHJlYW0gaXMgZGVjaWRlZCBieSB0aGUgb3duZXIgb2YgdGhlIHN0cmVhbSwgYXMKICog ICAgICAiSERDUCBUeXBlMCIgb3IgIkhEQ1AgVHlwZTEiLgogKgogKiAgICAgIFRoZSB2YWx1ZSBv ZiB0aGUgcHJvcGVydHkgY2FuIGJlIG9uZSBvZiB0aGUgYmVsb3c6CiAqICAgICAgICAtICJIRENQ IFR5cGUwIjogRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUwID0gMAogKiAgICAgICAgLSAiSERD UCBUeXBlMSI6IERSTV9NT0RFX0hEQ1BfQ09OVEVOVF9UWVBFMSA9IDEKICoKICogICAgICBXaGVu IGtlcm5lbCBzdGFydHMgdGhlIEhEQ1AgYXV0aGVudGljYXRpb24gKHNlZSAiQ29udGVudCBQcm90 ZWN0aW9uIgogKiAgICAgIGZvciBkZXRhaWxzKSwgaXQgdXNlcyB0aGUgY29udGVudCB0eXBlIGlu ICJIRENQIENvbnRlbnQgVHlwZSIKICogICAgICBmb3IgcGVyZm9ybWluZyB0aGUgSERDUCBhdXRo ZW50aWNhdGlvbiB3aXRoIHRoZSBkaXNwbGF5IHNpbmsuCiAqCiAqICAgICAgUGxlYXNlIG5vdGUg aW4gSERDUCBzcGVjIHZlcnNpb25zLCBhIGxpbmsgY2FuIGJlIGF1dGhlbnRpY2F0ZWQgd2l0aAog KiAgICAgIEhEQ1AgMi4yIGZvciBDb250ZW50IFR5cGUgMC9Db250ZW50IFR5cGUgMS4gV2hlcmUg YXMgYSBsaW5rIGNhbiBiZQogKiAgICAgIGF1dGhlbnRpY2F0ZWQgd2l0aCBIRENQMS40IG9ubHkg Zm9yIENvbnRlbnQgVHlwZSAwKHRob3VnaCBpdCBpcyBpbXBsaWNpdAogKiAgICAgIGluIG5hdHVy ZS4gQXMgdGhlcmUgaXMgbm8gcmVmZXJlbmNlIGZvciBDb250ZW50IFR5cGUgaW4gSERDUDEuNCku CiAqCiAgKiAgICAgSERDUDIuMiBhdXRoZW50aWNhdGlvbiBwcm90b2NvbCBpdHNlbGYgdGFrZXMg dGhlICJDb250ZW50IFR5cGUiIGFzIGEKICogICAgICBwYXJhbWV0ZXIsIHdoaWNoIGlzIGEgaW5w dXQgZm9yIHRoZSBEUCBIRENQMi4yIGVuY3J5cHRpb24gYWxnby4KICoKICogICAgICBJbiBjYXNl IG9mIFR5cGUgMCBjb250ZW50IHByb3RlY3Rpb24gcmVxdWVzdCwga2VybmVsIGRyaXZlciBjYW4g Y2hvb3NlCiAqICAgICAgZWl0aGVyIG9mIEhEQ1Agc3BlYyB2ZXJzaW9ucyAxLjQgYW5kIDIuMi4g V2hlbiBIRENQMi4yIGlzIHVzZWQgZm9yCiAqICAgICAgIkhEQ1AgVHlwZSAwIiwgYSBIRENQIDIu MiBjYXBhYmxlIHJlcGVhdGVyIGluIHRoZSBkb3duc3RyZWFtIGNhbiBzZW5kCiAqICAgICAgdGhh dCBjb250ZW50IHRvIGEgSERDUCAxLjQgYXV0aGVudGljYXRlZCBIRENQIHNpbmsgKFR5cGUwIGxp bmspLgogKiAgICAgIEJ1dCBpZiB0aGUgY29udGVudCBpcyBjbGFzc2lmaWVkIGFzICJIRENQIFR5 cGUgMSIsIGFib3ZlIG1lbnRpb25lZAogKiAgICAgIEhEQ1AgMi4yIHJlcGVhdGVyIHdvbnQgc2Vu ZCB0aGUgY29udGVudCB0byB0aGUgSERDUCBzaW5rIGFzIGl0IGNhbid0CiAqICAgICAgYXV0aGVu dGljYXRlIHRoZSBIRENQMS40IGNhcGFibGUgc2luayBmb3IgIkhEQ1AgVHlwZSAxIi4KICoKICog ICAgICBQbGVhc2Ugbm90ZSB1c2Vyc3BhY2UgY2FuIGJlIGlnbm9yYW50IG9mIHRoZSBIRENQIHZl cnNpb25zIHVzZWQgYnkgdGhlCiAqICAgICAga2VybmVsIGRyaXZlciB0byBhY2hpZXZlIHRoZSAi SERDUCBDb250ZW50IFR5cGUiLgogKgogKiAgICAgIEF0IGN1cnJlbnQgc2NlbmFyaW8sIGNsYXNz aWZ5aW5nIGEgY29udGVudCBhcyBUeXBlIDEgZW5zdXJlcyB0aGF0IHRoZQogKiAgICAgIGNvbnRl bnQgd2lsbCBiZSBkaXNwbGF5ZWQgb25seSB0aHJvdWdoIHRoZSBIRENQMi4yIGVuY3J5cHRlZCBs aW5rLgogKgogKiAgICAgIE5vdGUgdGhhdCB0aGUgSERDUCBDb250ZW50IFR5cGUgcHJvcGVydHkg aXMgaW50cm9kdWNlZCBhdCBIRENQIDIuMiwgYW5kCiAqICAgICAgZGVmYXVsdHMgdG8gdHlwZSAw LiBJdCBpcyBvbmx5IGV4cG9zZWQgYnkgZHJpdmVycyBzdXBwb3J0aW5nIEhEQ1AgMi4yCiAqICAg ICAgKGhlbmNlIHN1cHBvcnRpbmcgVHlwZSAwIGFuZCBUeXBlIDEpLiBCYXNlZCBvbiBob3cgbmV4 dCB2ZXJzaW9ucyBvZgogKiAgICAgIEhEQ1Agc3BlY3MgYXJlIGRlZmluZWQgY29udGVudCBUeXBl IGNvdWxkIGJlIHVzZWQgZm9yIGhpZ2hlciB2ZXJzaW9ucyB0b28uCiAqCiAqICAgICAgSWYgY29u dGVudCB0eXBlIGlzIGNoYW5nZWQgd2hlbiAiQ29udGVudCBQcm90ZWN0aW9uIiBpcyBub3QgVU5E RVNJUkVELAogKiAgICAgIHRoZW4ga2VybmVsIHdpbGwgZGlzYWJsZSB0aGUgSERDUCBhbmQgcmUt ZW5hYmxlIHdpdGggbmV3IHR5cGUgaW4gdGhlCiAqICAgICAgc2FtZSBhdG9taWMgY29tbWl0LiBB bmQgd2hlbiAiQ29udGVudCBQcm90ZWN0aW9uIiBpcyBFTkFCTEVELCBpdCBtZWFucwogKiAgICAg IHRoYXQgbGluayBpcyBIRENQIGF1dGhlbnRpY2F0ZWQgYW5kIGVuY3J5cHRlZCwgZm9yIHRoZSB0 cmFuc21pc3Npb24gb2YKICogICAgICB0aGUgVHlwZSBvZiBzdHJlYW0gbWVudGlvbmVkIGF0ICJI RENQIENvbnRlbnQgVHlwZSIuCgpQbGVhc2Ugc2hhcmUgeW91ciB2aWV3IG9uIHRoaXMuCgotUmFt Cgo+IGV4cGxhaW5pbmcgaXQgaW4gdGhlIFVBUEkgZG9jIHNlZW1zIHRvIGp1c3QgY29uZnVzZQo+ IHRoZSByZWFkZXIuCj4gCj4gSWYgdGhlIHJlYWRlciBpcyBpbnRlcmVzdGVkIGluIEhEQ1AgdmVy c2lvbnMsIEkgc3VwcG9zZSBpdCBpcyBub3QgdG9vCj4gaGFyZCB0byBmaWd1cmUgb3V0IGhvdyB0 aGUgdHlwZXMgcmVsYXRlIHRvIHZlcnNpb25zIG9uIHRoZWlyIG93biwKPiByaWdodD8gSnVzdCBz ZWFyY2ggZm9yIHRoZSBkZWZpbml0aW9ucyBvZiB0aGUgdHlwZXMgaW4gYW55IHNwZWMgdGhhdAo+ IGRlZmluZXMgdGhlbS4KPiAKPiA+ID4gICAKPiA+ID4gPiArICoKPiA+ID4gPiArICoJU3RyZWFt cyBjbGFzc2lmaWVkIGFzIEhEQ1AgVHlwZTEgY2FuIGJlIHRyYW5zbWl0dGVkIG9uIGEgbGluayB3 aGljaCBpcwo+ID4gPiA+ICsgKgllbmNyeXB0ZWQgb25seSB3aXRoIEhEQ1AgMi4yLiBJbiBmdXR1 cmUsIEhEQ1AgdmVyc2lvbnMgPjIuMiBhbHNvIG1pZ2h0Cj4gPiA+ID4gKyAqCXN1cHBvcnQgVHlw ZTEgYmFzZWQgb24gdGhlaXIgc3BlYy4KPiA+ID4gPiArICoKPiA+ID4gPiArICoJSERDUDIuMiBh dXRoZW50aWNhdGlvbiBwcm90b2NvbCBpdHNlbGYgdGFrZXMgdGhlICJDb250ZW50IFR5cGUiIGFz IGEKPiA+ID4gPiArICoJcGFyYW1ldGVyLCB3aGljaCBpcyBhIGlucHV0IGZvciB0aGUgRFAgSERD UDIuMiBlbmNyeXB0aW9uIGFsZ28uCj4gPiA+ID4gKyAqCj4gPiA+ID4gKyAqCU5vdGUgdGhhdCB0 aGUgSERDUCBDb250ZW50IFR5cGUgcHJvcGVydHkgaXMgaW50cm9kdWNlZCBhdCBIRENQIDIuMiwg YW5kCj4gPiA+ID4gKyAqCWRlZmF1bHRzIHRvIHR5cGUgMC4gSXQgaXMgb25seSBleHBvc2VkIGJ5 IGRyaXZlcnMgc3VwcG9ydGluZyBIRENQIDIuMi4KPiA+ID4gPiArICoJQmFzZWQgb24gaG93IG5l eHQgdmVyc2lvbnMgb2YgSERDUCBzcGVjcyBhcmUgZGVmaW5lZCBjb250ZW50IFR5cGUgY291bGQK PiA+ID4gPiArICoJYmUgdXNlZCBmb3IgaGlnaGVyIHZlcnNpb25zIHRvby4gIAo+ID4gPiAKPiA+ ID4gT2ssIHVzZXJzcGFjZSBkb2VzIG5vdCBoYXZlIHRvIGNvcGUgd2l0aCBhICJIRENQIENvbnRl bnQgVHlwZSIgcHJvcGVydHkKPiA+ID4gdGhhdCBpcyBtaXNzaW5nIHRoZSBlbnVtIHZhbHVlIFR5 cGUxLiBJIHRoaW5rIHRoZSBXZXN0b24gcGF0Y2ggd291bGQKPiA+ID4gYXR0ZW1wdCBzb21ldGhp bmcgc2lsbHkgb3IgbWlzYmVoYXZlIGlmIFR5cGUxIHZhbHVlIHdhcyBldmVyIG1pc3NpbmcuCj4g PiA+IE5vdCBoYXZpbmcgdGhlIHdob2xlIHByb3BlcnR5IGlzIGZpbmUsIG9mIGNvdXJzZS4gIAo+ ID4gIElmIHRoZSBUeXBlMSBpcyBub3Qgc3VwcG9ydGVkIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCBm b3IgdGhlICJIRENQCj4gPiAgQ29udGVudCBUeXBlIiBwcm9wZXJ0eSBpdHNlbGYuIFRoYXRzIHdo eSB3aGVuIGEgZHJpdmVyIGhhcyB0aGUgc3VwcG9ydAo+ID4gIGZvciBUeXBlMSggYXMgb2Ygbm93 IEhEQ1AyLjIpIG9ubHkgdGhlbiAiSERDUCBDb250ZW50IFR5cGUiIHdpbGwgYmUKPiA+ICBleHBv c2VkLiBTbyB3ZXN0b24gaXMgZmluZSBhdCBpdHMgY3VycmVudCBzdGF0ZS4KPiAKPiBZZXMuIEkn bSBqdXN0IHNheWluZyB0aGF0IGlmIHRoZSBrZXJuZWwgZXZlciBleHBvc2VzICJIRENQIENvbnRl bnQKPiBUeXBlIiBwcm9wZXJ0eSB3aXRob3V0IHRoZSBUeXBlMSB2YWx1ZSAoYmVjYXVzZSBpdCBt YXkgaGF2ZSBlLmcuIFR5cGUzCj4gdmFsdWUgZnJvbSB0aGUgZnV0dXJlIGJ1dCBkb2VzIG5vdCBz dXBwb3J0IFR5cGUxKSwgdGhlbiBpdCB3aWxsIGJyZWFrCj4gdXNlcnNwYWNlLgo+IAo+IEFkZGlu ZyBuZXcgZW51bSB2YWx1ZXMgaXMgbm90IGEgcHJvYmxlbSBmb3IgdGhlIFdlc3RvbiBjb2RlIEkg aGF2ZSBiZWVuCj4gcmV2aWV3aW5nLiBJdCBzaW1wbHkgd29uJ3QgdXNlIHZhbHVlcyBpdCBkb2Vz bid0IGtub3csIHJlc2V0dGluZwo+IHVua25vd24gdmFsdWVzIHRvIHNvbWUgdmFsdWUgaXQgZG9l cyBrbm93Lgo+IAo+IFNldHRpbmcgdGhlIHJ1bGVzIG9uIGJvdGggd2hldGhlciBlbnVtIHZhbHVl cyBjYW4gYmUgcmVtb3ZlZCBhbmQgYWRkZWQKPiBpcyBpbXBvcnRhbnQgZm9yIHJldmlld2luZyB0 aGUgdXNlcnNwYWNlLCBiZWNhdXNlIHRob3NlIG5lZWQgdG8gYmUKPiBleHBsaWNpdGx5IHRha2Vu IGNhcmUgb2YgaW4gdXNlcnNwYWNlIGNvZGUuCj4gCj4gKEl0J3Mgbm90IGFjdHVhbGx5IHRoYXQg ZGlmZmVyZW50IGZyb20gcmV2aWV3aW5nIFdheWxhbmQgcHJvdG9jb2wKPiBleHRlbnNpb25zLikK PiAKPiAKPiBUaGFua3MsCj4gcHEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=