From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 4/7] drm/i915/perf: lock powergating configuration to default when active Date: Mon, 10 Sep 2018 14:44:53 +0100 Message-ID: References: <20180905142222.3251-1-tvrtko.ursulin@linux.intel.com> <20180905142222.3251-5-tvrtko.ursulin@linux.intel.com> <9450ba2c-0f62-88d9-de26-a82dc61cf0f8@intel.com> <153622864574.3050.17378497295783267410@skylake-alporthouse-com> <153622933425.3050.656484604120089123@skylake-alporthouse-com> <3f14bd57-3a23-7208-6072-6d51892994ca@intel.com> <4bfe6648-203f-fbc8-9bcd-7b4e28279d02@linux.intel.com> <6c567d44-6edd-0bc4-ccd7-dc678b6e5006@linux.intel.com> <9f0c7d11-73df-0bb3-296c-1fb3ce9a36ee@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id DEA796E074 for ; Mon, 10 Sep 2018 13:45:01 +0000 (UTC) In-Reply-To: <9f0c7d11-73df-0bb3-296c-1fb3ce9a36ee@intel.com> Content-Language: en-GB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lionel Landwerlin , Chris Wilson , Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA3LzA5LzIwMTggMTA6NTUsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+IE9uIDA3LzA5 LzIwMTggMTA6MzksIFR2cnRrbyBVcnN1bGluIHdyb3RlOgo+Pgo+PiBPbiAwNy8wOS8yMDE4IDEw OjIzLCBMaW9uZWwgTGFuZHdlcmxpbiB3cm90ZToKPj4+IE9uIDA3LzA5LzIwMTggMDk6MjYsIFR2 cnRrbyBVcnN1bGluIHdyb3RlOgo+Pj4+Cj4+Pj4gT24gMDYvMDkvMjAxOCAxMTozNiwgTGlvbmVs IExhbmR3ZXJsaW4gd3JvdGU6Cj4+Pj4+IE9uIDA2LzA5LzIwMTggMTE6MjIsIENocmlzIFdpbHNv biB3cm90ZToKPj4+Pj4+IFF1b3RpbmcgTGlvbmVsIExhbmR3ZXJsaW4gKDIwMTgtMDktMDYgMTE6 MTg6MDEpCj4+Pj4+Pj4gT24gMDYvMDkvMjAxOCAxMToxMCwgQ2hyaXMgV2lsc29uIHdyb3RlOgo+ Pj4+Pj4+PiBRdW90aW5nIExpb25lbCBMYW5kd2VybGluICgyMDE4LTA5LTA2IDEwOjU3OjQ3KQo+ Pj4+Pj4+Pj4gT24gMDUvMDkvMjAxOCAxNToyMiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Pj4+ Pj4+Pj4gRnJvbTogTGlvbmVsIExhbmR3ZXJsaW4gPGxpb25lbC5nLmxhbmR3ZXJsaW5AaW50ZWwu Y29tPgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gSWYgc29tZSBvZiB0aGUgY29udGV4dHMgc3VibWl0 dGluZyB3b3JrbG9hZHMgdG8gdGhlIEdQVSBoYXZlIGJlZW4KPj4+Pj4+Pj4+PiBjb25maWd1cmVk IHRvIHNodXRkb3duIHNsaWNlcy9zdWJzbGljZXMsIHdlIG1pZ2h0IGxvb3NlIHRoZSBOT0EKPj4+ Pj4+Pj4+PiBjb25maWd1cmF0aW9ucyB3cml0dGVuIGluIHRoZSBOT0EgbXV4ZXMuCj4+Pj4+Pj4+ Pj4KPj4+Pj4+Pj4+PiBPbmUgcG9zc2libGUgc29sdXRpb24gdG8gdGhpcyBwcm9ibGVtIGlzIHRv IHJlcHJvZ3JhbSB0aGUgTk9BIAo+Pj4+Pj4+Pj4+IG11eGVzCj4+Pj4+Pj4+Pj4gd2hlbiB3ZSBz d2l0Y2ggdG8gYSBuZXcgY29udGV4dC4gV2UgaW5pdGlhbGx5IHRyaWVkIHRoaXMgaW4gdGhlCj4+ Pj4+Pj4+Pj4gd29ya2Fyb3VuZCBiYXRjaGJ1ZmZlciBidXQgc29tZSBjb25jZXJucyB3aGVyZSBy YWlzZWQgYWJvdXQgCj4+Pj4+Pj4+Pj4gdGhlIGNvc3QKPj4+Pj4+Pj4+PiBvZiByZXByb2dyYW1t aW5nIGF0IGV2ZXJ5IGNvbnRleHQgc3dpdGNoLiBUaGlzIHNvbHV0aW9uIGlzIAo+Pj4+Pj4+Pj4+ IGFsc28gbm90Cj4+Pj4+Pj4+Pj4gd2l0aG91dCBjb25zZXF1ZW5jZXMgZnJvbSB0aGUgdXNlcnNw YWNlIHBvaW50IG9mIHZpZXcuIAo+Pj4+Pj4+Pj4+IFJlcHJvZ3JhbW1pbmcKPj4+Pj4+Pj4+PiBv ZiB0aGUgbXV4ZXMgY2FuIG9ubHkgaGFwcGVuIG9uY2UgdGhlIHBvd2VyZ2F0aW5nIAo+Pj4+Pj4+ Pj4+IGNvbmZpZ3VyYXRpb24gaGFzCj4+Pj4+Pj4+Pj4gY2hhbmdlZCAod2hpY2ggaGFwcGVucyBh ZnRlciBjb250ZXh0IHN3aXRjaCkuIFRoaXMgbWVhbnMgZm9yIGEgCj4+Pj4+Pj4+Pj4gd2luZG93 Cj4+Pj4+Pj4+Pj4gb2YgdGltZSBkdXJpbmcgdGhlIHJlY29yZGluZywgY291bnRlcnMgcmVjb3Jk ZWQgYnkgdGhlIE9BIHVuaXQgCj4+Pj4+Pj4+Pj4gbWlnaHQKPj4+Pj4+Pj4+PiBiZSBpbnZhbGlk LiBUaGlzIHJlcXVpcmVzIHVzZXJzcGFjZSBkZWFsaW5nIHdpdGggT0EgcmVwb3J0cyB0byAKPj4+ Pj4+Pj4+PiBkaXNjYXJkCj4+Pj4+Pj4+Pj4gdGhlIGludmFsaWQgdmFsdWVzLgo+Pj4+Pj4+Pj4+ Cj4+Pj4+Pj4+Pj4gTWluaW1pemluZyB0aGUgcmVwcm9ncmFtbWluZyBjb3VsZCBiZSBpbXBsZW1l bnRlZCBieSB0cmFja2luZyAKPj4+Pj4+Pj4+PiBvZiB0aGUKPj4+Pj4+Pj4+PiBsYXN0IHByb2dy YW1tZWQgY29uZmlndXJhdGlvbiBzb21ld2hlcmUgaW4gR0dUVCBhbmQgdXNlIAo+Pj4+Pj4+Pj4+ IE1JX1BSRURJQ0FURQo+Pj4+Pj4+Pj4+IHRvIGRpc2NhcmQgc29tZSBvZiB0aGUgcHJvZ3JhbW1p bmcgY29tbWFuZHMsIGJ1dCB0aGUgY29tbWFuZCAKPj4+Pj4+Pj4+PiBzdHJlYW1lcgo+Pj4+Pj4+ Pj4+IHdvdWxkIHN0aWxsIGhhdmUgdG8gcGFyc2UgYWxsIHRoZSBNSV9MUkkgaW5zdHJ1Y3Rpb25z IGluIHRoZQo+Pj4+Pj4+Pj4+IHdvcmthcm91bmQgYmF0Y2hidWZmZXIuCj4+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+PiBBbm90aGVyIHNvbHV0aW9uLCB3aGljaCB0aGlzIGNoYW5nZSBpbXBsZW1lbnRzLCBp cyB0byBzaW1wbHkgCj4+Pj4+Pj4+Pj4gZGlzcmVnYXJkCj4+Pj4+Pj4+Pj4gdGhlIHVzZXIgcmVx dWVzdGVkIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBwZXJpb2Qgb2YgdGltZSB3aGVuIAo+Pj4+Pj4+ Pj4+IGk5MTUvcGVyZgo+Pj4+Pj4+Pj4+IGlzIGFjdGl2ZS4gVGhlcmUgaXMgbm8ga25vd24gaXNz dWUgd2l0aCB0aGlzIGFwYXJ0IGZyb20gYSAKPj4+Pj4+Pj4+PiBwZXJmb3JtYW5jZQo+Pj4+Pj4+ Pj4+IHBlbmFsaXR5IGZvciBzb21lIG1lZGlhIHdvcmtsb2FkcyB0aGF0IGJlbmVmaXQgZnJvbSBy dW5uaW5nIG9uIGEKPj4+Pj4+Pj4+PiBwYXJ0aWFsbHkgcG93ZXJnYXRlZCBHUFUuIFdlIGFscmVh ZHkgcHJldmVudCBSQzYgZnJvbSAKPj4+Pj4+Pj4+PiBhZmZlY3RpbmcgdGhlCj4+Pj4+Pj4+Pj4g cHJvZ3JhbW1pbmcgc28gaXQgZG9lc24ndCBzb3VuZCBjb21wbGV0ZWx5IHVucmVhc29uYWJsZSB0 byAKPj4+Pj4+Pj4+PiBob2xkIG9uCj4+Pj4+Pj4+Pj4gcG93ZXJnYXRpbmcgZm9yIHRoZSBzYW1l IHJlYXNvbi4KPj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+IHYyOiBMZWF2ZSBSUENTIHByb2dyYW1taW5n IGluIGludGVsX2xyYy5jIChMaW9uZWwpCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiB2MzogVXBkYXRl IGZvciBzL3VuaW9uIGludGVsX3NzZXUvc3RydWN0IGludGVsX3NzZXUvIChMaW9uZWwpCj4+Pj4+ Pj4+Pj4gwqDCoMKgwqDCoMKgIE1vcmUgdG9faW50ZWxfY29udGV4dCgpIChUdnJ0a28pCj4+Pj4+ Pj4+Pj4gwqDCoMKgwqDCoMKgIHMvZGV2X3ByaXYvaTkxNS8gKFR2cnRrbykKPj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+IFR2cnRrbyBVcnN1bGluOgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjQ6Cj4+Pj4+ Pj4+Pj4gwqDCoMKgICogUmViYXNlIGZvciBtYWtlX3JwY3MgY2hhbmdlcy4KPj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+IHY1Ogo+Pj4+Pj4+Pj4+IMKgwqDCoCAqIEFwcGx5IE9BIHJlc3RyaWN0aW9uIGZy b20gbWFrZV9ycGNzIGRpcmVjdGx5Lgo+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4gdjY6Cj4+Pj4+Pj4+ Pj4gwqDCoMKgICogUmViYXNlIGZvciBjb250ZXh0IGltYWdlIHNldHVwIGNoYW5nZXMuCj4+Pj4+ Pj4+Pj4KPj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVs LmcubGFuZHdlcmxpbkBpbnRlbC5jb20+Cj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVHZydGtv IFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+Pj4+Pj4+PiAtLS0KPj4+Pj4+ Pj4+PiDCoMKgwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMgfMKgIDUgKysrKysK Pj4+Pj4+Pj4+PiDCoMKgwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCAzMCAK Pj4+Pj4+Pj4+PiArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KPj4+Pj4+Pj4+PiDCoMKg wqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmggfMKgIDMgKysrCj4+Pj4+Pj4+Pj4g wqDCoMKgIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p Cj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9wZXJmLmMgCj4+Pj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYu Ywo+Pj4+Pj4+Pj4+IGluZGV4IGNjYjIwMjMwZGYyYy4uZGQ2NWI3MmJkZGQ0IDEwMDY0NAo+Pj4+ Pj4+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCj4+Pj4+Pj4+Pj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKPj4+Pj4+Pj4+PiBAQCAtMTY3 Nyw2ICsxNjc3LDExIEBAIHN0YXRpYyB2b2lkIAo+Pj4+Pj4+Pj4+IGdlbjhfdXBkYXRlX3JlZ19z dGF0ZV91bmxvY2tlZChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAo+Pj4+Pj4+Pj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDVFhfUkVHKHJlZ19zdGF0ZSwgc3RhdGVfb2Zm c2V0LCBmbGV4X3JlZ3NbaV0sIAo+Pj4+Pj4+Pj4+IHZhbHVlKTsKPj4+Pj4+Pj4+PiDCoMKgwqDC oMKgwqDCoCB9Cj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+ICvCoMKgwqDCoCBDVFhfUkVHKHJlZ19z dGF0ZSwgQ1RYX1JfUFdSX0NMS19TVEFURSwgCj4+Pj4+Pj4+Pj4gR0VOOF9SX1BXUl9DTEtfU1RB VEUsCj4+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZW44X21ha2VfcnBjcyhk ZXZfcHJpdiwKPj4+Pj4+Pj4+PiArICZ0b19pbnRlbF9jb250ZXh0KGN0eCwKPj4+Pj4+Pj4+PiAr IGRldl9wcml2LT5lbmdpbmVbUkNTXSktPnNzZXUpKTsKPj4+Pj4+Pj4+IEkgdGhpbmsgdGhlcmUg aXMgb25lIGlzc3VlIEkgbWlzc2VkIG9uIHRoZSBwcmV2aW91cyBpdGVyYXRpb25zIAo+Pj4+Pj4+ Pj4gb2YgdGhpcwo+Pj4+Pj4+Pj4gcGF0Y2guCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gVGhpcyBnZW44 X3VwZGF0ZV9yZWdfc3RhdGVfdW5sb2NrZWQoKSBpcyBjYWxsZWQgd2hlbiB0aGUgR1BVIGlzIAo+ Pj4+Pj4+Pj4gcGFya2VkCj4+Pj4+Pj4+PiBvbiB0aGUga2VybmVsIGNvbnRleHQuCj4+Pj4+Pj4+ Pgo+Pj4+Pj4+Pj4gSXQncyBzdXBwb3NlZCB0byB1cGRhdGUgYWxsIGNvbnRleHRzLCBidXQgSSB0 aGluayB3ZSBtaWdodCBub3QgCj4+Pj4+Pj4+PiBiZSBhYmxlCj4+Pj4+Pj4+PiB0byB1cGRhdGUg dGhlIGtlcm5lbCBjb250ZXh0IGltYWdlIHdoaWxlIHRoZSBHUFUgaXMgdXNpbmcgaXQuCj4+Pj4+ Pj4+IFRoZSBrZXJuZWwgY29udGV4dCBpcyBvbmx5IGV2ZXIgdGFrZW4gaW4gZXh0cmVtaXMgKHlv dSBhcmUgZWl0aGVyCj4+Pj4+Pj4+IHBhcmtpbmcgb3Igc3RhbGxpbmcgdXNlcnNwYWNlKSBzbyBJ IGRvbid0IGNhcmUuCj4+Pj4+Pj4KPj4+Pj4+PiBUaGUgcGF0Y2ggZXhwb3NpbmcgdGhlIFJQQ1Mg Y29uZmlndXJhdGlvbiB0byB1c2Vyc3BhY2Ugd2lsbCBtYWtlIAo+Pj4+Pj4+IHVzZSBvZgo+Pj4+ Pj4+IHRoZSBrZXJuZWwgY29udGV4dCB3aGlsZSBPQS9wZXJmIGlzIGVuYWJsZWQuIEV2ZW4gaWYg aXQgCj4+Pj4+Pj4gcmVwcm9ncmFtcyB0aGUKPj4+Pj4+PiBsb2NrZWQgdmFsdWUgdGhhdCB3aWxs IGJyZWFrIHRoZSBwb3dlciBjb25maWd1cmF0aW9uIHN0YWJpbGl0eSBvbiAKPj4+Pj4+PiBHZW4x MQo+Pj4+Pj4+IChiZWNhdXNlIHRoZSBsb2NrZWQgY29uZmlndXJhdGlvbiB3aWxsIGJlIGRpZmZl cmVudCBmcm9tIHRoZSBrZXJuZWwKPj4+Pj4+PiBjb250ZXh0IGNvbmZpZ3VyYXRpb24pLgo+Pj4+ Pj4gU3VyZSwgYnV0IGFzIHlvdSBwb2ludCBvdXQgdGhhdCdzIG9ubHkgb24gY2hhbmdpbmcgY29u ZmlndXJhdGlvbi4KPj4+Pj4+Cj4+Pj4+PiBXaGF0J3MgbWlzc2luZyBpbiB0aGUgcGF0Y2ggaXMg dGhhdCB3ZSBvbmx5IGJhaWwgZWFybHkgaWYgdGhlIG5ldyAKPj4+Pj4+IHNzZXUKPj4+Pj4+IG1h dGNoZXMgdGhlIGNlLT5zc2V1LCBidXQgdGhhdCBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1hdGNoIHdo YXRzIGluIHRoZQo+Pj4+Pj4gY29udGV4dCBkdWUgdG8gT0EuIChPciBtYXliZSBJIG1pc3NlZCB0 aGUgY29udmVyc2lvbiB0byBycGNzIHZhbHVlIAo+Pj4+Pj4gYW5kCj4+Pj4+PiBjaGVja2luZy4p Cj4+Pj4+PiAtQ2hyaXMKPj4+Pj4+Cj4+Pj4+Cj4+Pj4+IFllcCwgYmVjYXVzZSB0aGUgZ2VuOF9t YWtlX3JwY3MoKSBwb3N0IHByb2Nlc3NlcyB0aGUgdmFsdWVzIHN0b3JlIAo+Pj4+PiBhdCB0aGUg Z2VtIGNvbnRleHQgbGV2ZWwsIHdlIHJpc2sgcmVydW5uaW5nIHRoZSBrZXJuZWwgY29udGV4dCB0 byAKPj4+Pj4gd3JpdGUgdGhlIGV4aXRpbmcgdmFsdWUuCj4+Pj4+IFNvcnJ5IHRoaXMgaXMgYWxs IHNvIG1lc3N5IDooCj4+Pj4KPj4+PiBMZXRzIHNlZSBpZiBJIG1hbmFnZWQgdG8gZm9sbG93IGhl cmUuCj4+Pj4KPj4+PiBUaGUgY3VycmVudCBjb2RlIGluZGVlZCBiYWlscyBvdXQgYXQgdGhlIHNl dCBjdHggcGFyYW0gbGV2ZWwgaWYgdGhlIAo+Pj4+IHJlcXVlc3RlZCBzdGF0ZSBtYXRjaGVzIHRo ZSBjZS0+c3RhdGUuIE15IHRoaW5raW5nIHdhcyB0aGF0IAo+Pj4+IGNlLT5zdGF0ZSBpcyB0aGUg bWFzdGVyIHN0YXRlIGFuZCB3aGF0ZXZlciBoYXBwZW5zIGluICJwb3N0IAo+Pj4+IHByb2Nlc3Np bmciIHZpYSBnZW44X21ha2VfcnBjcyBzaG91bGQgYmUgaGlkZGVuIGZyb20gaXQgc2luY2UgdGhl IAo+Pj4+IGRlc2lnbiBpcyB0aGF0IHRoZSBpOTE1X3BlcmYuYyB3aWxsIHJlLWNvbmZpZ3VyZSBh bGwgY29udGV4dHMgd2hlbiAKPj4+PiB0aGUgT0EgYWN0aXZlIHN0YXR1cyBjaGFuZ2VzICh0byBl aXRoZXIgZGlyZWN0aW9uKS4KPj4+Pgo+Pj4+IFNvIEkgZG9uJ3Qgc2VlIGEgcHJvYmxlbSBpbiB0 aG9zZSB0d28gaW50ZXJhY3Rpb25zLgo+Pj4KPj4+Cj4+PiBMZXQncyBzYXkgeW91IGhhdmUgY29u dGV4dEEgd2l0aCBzc2V1KHNsaWNlLHN1YnNsaWNlKT0oMHgxLzB4ZmYpIGZvciAKPj4+IElDTC4K Pj4+Cj4+PiBZb3UgdGhlbiBlbmFibGUgT0Egd2hpY2ggbG9ja3MgdGhlIGNvbmZpZ3VyYXRpb24g YXQgKDB4MSwweGYpLgo+Pj4KPj4+IFRoZSBrZXJuZWwgY29udGV4dCBoYXMgcmV0YWluZWQgaXRz ICgweDEvMHhmZikgY29uZmlndXJhdGlvbi4KPj4+Cj4+Pgo+Pj4gQW5kIGFmdGVyIHlvdSBjaGFu Z2UgdGhlIGNvbmZpZyBvZiBjb250ZXh0QSB0byAoMHgxLDB4NykuCj4+Pgo+Pj4KPj4+IFRoaXMg d291bGQgbGVhZCB0byB0aGUga2VybmVsIGNvbnRleHQgc2NoZWR1bGVkIHdpdGggKDB4MSwweGZm KSB3aGlsZSAKPj4+IE9BIGlzIGFjdGl2ZS4KPj4KPj4gT2theSB0aGF0J3MgYSBwcm9ibGVtIGRp c2N1c3NlZCBpbiB0aGUgcGFyYWdyYXBoIGJlbG93IC0gdGhhdCB0aGUgCj4+IGtlcm5lbCBjb250 ZXh0IGlzIG5vdCB1cGRhdGVkIGF0IGFsbC4gQnV0IGlzIGl0IGEgcHJvYmxlbSBmb3IgT0E/IFdp bGwgCj4+IGl0IG1lc3MgdXAgc29tZSBjb3VudGVycyBldmVuIGlmIGtlcm5lbCBjb250ZXh0IGlz bid0IGV4ZWN1dGluZyAKPj4gYW55dGhpbmcgaW50ZXJhY3Rpbmcgd2l0aCB0aGVtPyBPciBpcyBp dD8KPiAKPiAKPiBXaGF0IHRoZSBIVyBpcyBnb2luZyB0byBkbyB0byB0aGUgTk9BIGxvZ2ljIGlu IHBvd2VyIGNvbmZpZ3VyYXRpb24gCj4gY2hhbmdlcyBpcyBub3QgcmVhbGx5IGRvY3VtZW50ZWQu Cj4gRXhwZXJpbWVudGFsbHkgb24gU0tMIEdUNCwgaXQgc2VlbXMgYSBjaGFuZ2UgaW4gcG93ZXIg Y29uZmlndXJhdGlvbiB3aWxsIAo+IHRyaWdnZXIgYSBwb3dlciBvZmYgb2YgZXZlcnl0aGluZyBi ZWZvcmUgYXBwbHlpbmcgdGhlIHBvd2VyIGF0IHRoZSBuZXcgCj4gY29uZmlndXJhdGlvbi4KPiBT byB0aGF0IHdvdWxkIGltcGx5IGxvb3NpbmcgdGhlIE5PQSBwcm9ncmFtbWluZyB3aGVuIHdlIHN3 aXRjaCB0byB0aGUgCj4ga2VybmVsIGNvbnRleHQgd2hpY2ggbWVhbnMgaW52YWxpZCB2YWx1ZXMg aW4gdGhlIGNvdW50ZXJzLgo+IAo+IAo+Pgo+Pj4KPj4+Pgo+Pj4+IEFwYXJ0IGZyb20gb25lLCBn ZXRfcGFyYW1fc3NldSB3aWxsIGxpZSBhIGJpdCAtIHdlIGNhbiBkaXNjdXNzIGFib3V0IAo+Pj4+ IHRoaXMgb25lIG1vcmUuIEF0IG9uZSBwb2ludCBJIHN1Z2dlc3RlZCB3ZSBoYXZlIHR3byBzZXRz IG9mIG1hc2tzIGluIAo+Pj4+IHRoZSB1QVBJLCByZXF1ZXN0ZWQgYW5kIGFjdGl2ZSBpbiBhIHdh eS4gU28gdXNlcnNwYWNlIGNvdWxkIHF1ZXJ5IAo+Pj4+IHdoYXQgaXQgc2V0IGFuZCB3aGF0IGlz IGFjdHVhbGx5IGFjdGl2ZS4KPj4+Pgo+Pj4+IE5vdyBzZWNvbmQgaXNzdWUgaXMgaWYgaTkxNV9w ZXJmLmMgaXMgYWJsZSB0byByZXByb2dyYW0gdGhlIGtlcm5lbCAKPj4+PiBjb25maWcuCj4+Pj4K Pj4+PiBIZXJlIGl0cyB0cnVlLCBpdCB3aWxsIHdyaXRlIHRvIHRoZSBjb250ZXh0IGltYWdlIGFu ZCB0aGF0IHdpbGwgZ2V0IAo+Pj4+IG92ZXJ3cml0dGVuIGJ5IGNvbnRleHQgc2F2ZS4KPj4+Pgo+ Pj4+IElmIHRoYXQgaXMgYSBwcm9ibGVtIGZvciBPQSwgSSB3YXMgaW5pdGlhbGx5IGlmIGEgdGhy b3ctYXdheSBzZWNvbmQgCj4+Pj4gImtlcm5lbCIgY29udGV4dCBjb3VsZCBiZSB1c2UgdG8gcmUt cHJvZ3JhbSB0aGUgcmVhbCBvbmUsIGJ1dCAKPj4+PiBwZXJoYXBzIGV2ZW4gc2ltcGxlciAtIHdo YXQgYWJvdXQgYSBtbWlvIHdyaXRlIHRvIHByb2dyYW0gdGhlIFJQQ1MgCj4+Pj4gd2hpbGUga2Vy bmVsIGNvbnRleHQgaXMgYWN0aXZlPwo+Pj4KPj4+Cj4+PiBEb2N1bWVudGF0aW9uIHNheXMgOiAi VGhpcyByZWdpc3RlciBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIGRpcmVjdGx5IAo+Pj4gdGhyb3Vn aCBDUFUgTU1JTyBjeWNsZS4iCj4+Pgo+Pj4KPj4+IFNvcnJ5IDooCj4+Cj4+IFVnaC4uIG9rYXks IGhlbHAgbWUgdW5kZXJzdGFuZCBpZiBrZXJuZWwgY29udGV4dCBhYnNvbHV0ZWx5IG5lZWRzIHRv IAo+PiBmb2xsb3cgdGhlICJsb2NrIiBmb3IgT0EgdG8gd29yayBhbmQgdGhlbiB3ZSdsbCBzZWUg d2hhdCB0byBkby4KPiAKPiBJIHRoaW5rIHNvLgo+IAo+IFlvdXIgaWRlYSBvZiBhIHRocm93IGF3 YXkgY29udGV4dCB0byByZXByb2dyYW1taW5nIGV2ZXJ5IHNlZW1zIHNvdW5kLgoKSSB3YXMgaW4g dGhlIG1pZGRsZSBvZiByZWZhY3RvcmluZyB0aGUgc2VyaWVzIHRvIGltcGxlbWVudCB0aGlzIHdo ZW4gSSAKc3RhcnRlZCBzdXNwZWN0aW5nIHRoZSBuZWVkIGZvciBpdC4KClByZW1pc2Ugb2YgdGhl IHByb2JsZW0gc3RhdGVtZW50IHdhcyB0aGUga2VybmVsIGNvbnRleHQgZG9lc24ndCBnZXQgCnVw ZGF0ZWQgYnkgdGhlIE9BIGNvZGUsIGJ1dCwgdGhlcmUgaXMgYSBsb29wIGluIApnZW44X2NvbmZp Z3VyZV9hbGxfY29udGV4dHMgd2hpY2ggZ29lcyB0aHJvdWdoIGV4YWN0bHkgYWxsIG9mIHRoZW0g YWZ0ZXIgCml0IGhhcyBpZGxlZCB0aGUgR1BVLgoKQUZBSUNTIHRoYXQgbWVhbnMgaXQgaXMgYWJs ZSB0byBtYXAgdGhlIGtlcm5lbCBjb250ZXh0IHN0YXRlIGFuZCBlZGl0IGl0IApzbyBldmVyeXRo aW5nIHNlZW1zIGZpbmUgZnJvbSB0aGlzIGFuZ2xlLiAoS2VybmVsIGNvbnRleHQgaXMgCnBlcm1h LXBpbm5lZCBpbiBzb2Z0d2FyZSwgYnV0IGFmdGVyIGlkbGluZyB0aGUgR1BVIHdlIGtub3cgaXQg aXMgbm90IAphY3R1YWxseSBvbiB0aGUgR1BVIHNvIGl0IHNhZmUgdG8gZWRpdCBpdCdzIGltYWdl LikKCkFtIEkgbWlzc2luZyBzb21lIGhvbGUgaGVyZSwgYW5kIGlmIG5vdCwgd2h5IGRvZXMgdGhl IGNvZGUgbmVlZHMgdG8gaGF2ZSAKYSBwcmltYXJ5IHVwZGF0ZSB2aWEgYSByZXF1ZXN0IGluIGdl bjhfc3dpdGNoX3RvX3VwZGF0ZWRfa2VybmVsX2NvbnRleHQ/IApDb250ZXh0IGltYWdlIGFmdGVy IGlkbGluZyBzZWVtcyBhZ2FpbiBzdWZmaWNpZW50LgoKV291bGQgaXQgYmUgcG9zc2libGUgdG8g ZXhlcmNpc2UgdGhlIGh5cG90aGV0aWNhbCBsb3NzIG9mIE5PQSAKY29uZmlndXJhdGlvbiBmcm9t IGFuIElHVCwgaWYga2VybmVsIGNvbnRleHQgd2Fzbid0IGNvcnJlY3RseSB1cGRhdGVkPwoKUmVn YXJkcywKClR2cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK