From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 4/7] drm/i915/perf: lock powergating configuration to default when active Date: Tue, 11 Sep 2018 21:11:30 +0100 Message-ID: <730a67ee-85ae-a9ea-c068-2ad330e7c319@intel.com> 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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6771E6E0F3 for ; Tue, 11 Sep 2018 20:12:06 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Tvrtko Ursulin , Chris Wilson , Intel-gfx@lists.freedesktop.org, Tvrtko Ursulin List-Id: intel-gfx@lists.freedesktop.org T24gMTAvMDkvMjAxOCAxNDo0NCwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4KPiBPbiAwNy8wOS8y MDE4IDEwOjU1LCBMaW9uZWwgTGFuZHdlcmxpbiB3cm90ZToKPj4gT24gMDcvMDkvMjAxOCAxMDoz OSwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Pgo+Pj4gT24gMDcvMDkvMjAxOCAxMDoyMywgTGlv bmVsIExhbmR3ZXJsaW4gd3JvdGU6Cj4+Pj4gT24gMDcvMDkvMjAxOCAwOToyNiwgVHZydGtvIFVy c3VsaW4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+IE9uIDA2LzA5LzIwMTggMTE6MzYsIExpb25lbCBMYW5k d2VybGluIHdyb3RlOgo+Pj4+Pj4gT24gMDYvMDkvMjAxOCAxMToyMiwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+Pj4+Pj4+IFF1b3RpbmcgTGlvbmVsIExhbmR3ZXJsaW4gKDIwMTgtMDktMDYgMTE6MTg6 MDEpCj4+Pj4+Pj4+IE9uIDA2LzA5LzIwMTggMTE6MTAsIENocmlzIFdpbHNvbiB3cm90ZToKPj4+ Pj4+Pj4+IFF1b3RpbmcgTGlvbmVsIExhbmR3ZXJsaW4gKDIwMTgtMDktMDYgMTA6NTc6NDcpCj4+ Pj4+Pj4+Pj4gT24gMDUvMDkvMjAxOCAxNToyMiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+Pj4+ Pj4+Pj4+IEZyb206IExpb25lbCBMYW5kd2VybGluIDxsaW9uZWwuZy5sYW5kd2VybGluQGludGVs LmNvbT4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gSWYgc29tZSBvZiB0aGUgY29udGV4dHMgc3Vi bWl0dGluZyB3b3JrbG9hZHMgdG8gdGhlIEdQVSBoYXZlIAo+Pj4+Pj4+Pj4+PiBiZWVuCj4+Pj4+ Pj4+Pj4+IGNvbmZpZ3VyZWQgdG8gc2h1dGRvd24gc2xpY2VzL3N1YnNsaWNlcywgd2UgbWlnaHQg bG9vc2UgdGhlIE5PQQo+Pj4+Pj4+Pj4+PiBjb25maWd1cmF0aW9ucyB3cml0dGVuIGluIHRoZSBO T0EgbXV4ZXMuCj4+Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IE9uZSBwb3NzaWJsZSBzb2x1dGlvbiB0 byB0aGlzIHByb2JsZW0gaXMgdG8gcmVwcm9ncmFtIHRoZSAKPj4+Pj4+Pj4+Pj4gTk9BIG11eGVz Cj4+Pj4+Pj4+Pj4+IHdoZW4gd2Ugc3dpdGNoIHRvIGEgbmV3IGNvbnRleHQuIFdlIGluaXRpYWxs eSB0cmllZCB0aGlzIGluIHRoZQo+Pj4+Pj4+Pj4+PiB3b3JrYXJvdW5kIGJhdGNoYnVmZmVyIGJ1 dCBzb21lIGNvbmNlcm5zIHdoZXJlIHJhaXNlZCBhYm91dCAKPj4+Pj4+Pj4+Pj4gdGhlIGNvc3QK Pj4+Pj4+Pj4+Pj4gb2YgcmVwcm9ncmFtbWluZyBhdCBldmVyeSBjb250ZXh0IHN3aXRjaC4gVGhp cyBzb2x1dGlvbiBpcyAKPj4+Pj4+Pj4+Pj4gYWxzbyBub3QKPj4+Pj4+Pj4+Pj4gd2l0aG91dCBj b25zZXF1ZW5jZXMgZnJvbSB0aGUgdXNlcnNwYWNlIHBvaW50IG9mIHZpZXcuIAo+Pj4+Pj4+Pj4+ PiBSZXByb2dyYW1taW5nCj4+Pj4+Pj4+Pj4+IG9mIHRoZSBtdXhlcyBjYW4gb25seSBoYXBwZW4g b25jZSB0aGUgcG93ZXJnYXRpbmcgCj4+Pj4+Pj4+Pj4+IGNvbmZpZ3VyYXRpb24gaGFzCj4+Pj4+ Pj4+Pj4+IGNoYW5nZWQgKHdoaWNoIGhhcHBlbnMgYWZ0ZXIgY29udGV4dCBzd2l0Y2gpLiBUaGlz IG1lYW5zIGZvciAKPj4+Pj4+Pj4+Pj4gYSB3aW5kb3cKPj4+Pj4+Pj4+Pj4gb2YgdGltZSBkdXJp bmcgdGhlIHJlY29yZGluZywgY291bnRlcnMgcmVjb3JkZWQgYnkgdGhlIE9BIAo+Pj4+Pj4+Pj4+ PiB1bml0IG1pZ2h0Cj4+Pj4+Pj4+Pj4+IGJlIGludmFsaWQuIFRoaXMgcmVxdWlyZXMgdXNlcnNw YWNlIGRlYWxpbmcgd2l0aCBPQSByZXBvcnRzIAo+Pj4+Pj4+Pj4+PiB0byBkaXNjYXJkCj4+Pj4+ Pj4+Pj4+IHRoZSBpbnZhbGlkIHZhbHVlcy4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gTWluaW1p emluZyB0aGUgcmVwcm9ncmFtbWluZyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBieSAKPj4+Pj4+Pj4+ Pj4gdHJhY2tpbmcgb2YgdGhlCj4+Pj4+Pj4+Pj4+IGxhc3QgcHJvZ3JhbW1lZCBjb25maWd1cmF0 aW9uIHNvbWV3aGVyZSBpbiBHR1RUIGFuZCB1c2UgCj4+Pj4+Pj4+Pj4+IE1JX1BSRURJQ0FURQo+ Pj4+Pj4+Pj4+PiB0byBkaXNjYXJkIHNvbWUgb2YgdGhlIHByb2dyYW1taW5nIGNvbW1hbmRzLCBi dXQgdGhlIGNvbW1hbmQgCj4+Pj4+Pj4+Pj4+IHN0cmVhbWVyCj4+Pj4+Pj4+Pj4+IHdvdWxkIHN0 aWxsIGhhdmUgdG8gcGFyc2UgYWxsIHRoZSBNSV9MUkkgaW5zdHJ1Y3Rpb25zIGluIHRoZQo+Pj4+ Pj4+Pj4+PiB3b3JrYXJvdW5kIGJhdGNoYnVmZmVyLgo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiBB bm90aGVyIHNvbHV0aW9uLCB3aGljaCB0aGlzIGNoYW5nZSBpbXBsZW1lbnRzLCBpcyB0byBzaW1w bHkgCj4+Pj4+Pj4+Pj4+IGRpc3JlZ2FyZAo+Pj4+Pj4+Pj4+PiB0aGUgdXNlciByZXF1ZXN0ZWQg Y29uZmlndXJhdGlvbiBmb3IgdGhlIHBlcmlvZCBvZiB0aW1lIHdoZW4gCj4+Pj4+Pj4+Pj4+IGk5 MTUvcGVyZgo+Pj4+Pj4+Pj4+PiBpcyBhY3RpdmUuIFRoZXJlIGlzIG5vIGtub3duIGlzc3VlIHdp dGggdGhpcyBhcGFydCBmcm9tIGEgCj4+Pj4+Pj4+Pj4+IHBlcmZvcm1hbmNlCj4+Pj4+Pj4+Pj4+ IHBlbmFsaXR5IGZvciBzb21lIG1lZGlhIHdvcmtsb2FkcyB0aGF0IGJlbmVmaXQgZnJvbSBydW5u aW5nIAo+Pj4+Pj4+Pj4+PiBvbiBhCj4+Pj4+Pj4+Pj4+IHBhcnRpYWxseSBwb3dlcmdhdGVkIEdQ VS4gV2UgYWxyZWFkeSBwcmV2ZW50IFJDNiBmcm9tIAo+Pj4+Pj4+Pj4+PiBhZmZlY3RpbmcgdGhl Cj4+Pj4+Pj4+Pj4+IHByb2dyYW1taW5nIHNvIGl0IGRvZXNuJ3Qgc291bmQgY29tcGxldGVseSB1 bnJlYXNvbmFibGUgdG8gCj4+Pj4+Pj4+Pj4+IGhvbGQgb24KPj4+Pj4+Pj4+Pj4gcG93ZXJnYXRp bmcgZm9yIHRoZSBzYW1lIHJlYXNvbi4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gdjI6IExlYXZl IFJQQ1MgcHJvZ3JhbW1pbmcgaW4gaW50ZWxfbHJjLmMgKExpb25lbCkKPj4+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+Pj4gdjM6IFVwZGF0ZSBmb3Igcy91bmlvbiBpbnRlbF9zc2V1L3N0cnVjdCBpbnRlbF9z c2V1LyAoTGlvbmVsKQo+Pj4+Pj4+Pj4+PiDCoMKgwqDCoMKgwqAgTW9yZSB0b19pbnRlbF9jb250 ZXh0KCkgKFR2cnRrbykKPj4+Pj4+Pj4+Pj4gwqDCoMKgwqDCoMKgIHMvZGV2X3ByaXYvaTkxNS8g KFR2cnRrbykKPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gVHZydGtvIFVyc3VsaW46Cj4+Pj4+Pj4+ Pj4+Cj4+Pj4+Pj4+Pj4+IHY0Ogo+Pj4+Pj4+Pj4+PiDCoMKgwqAgKiBSZWJhc2UgZm9yIG1ha2Vf cnBjcyBjaGFuZ2VzLgo+Pj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4+PiB2NToKPj4+Pj4+Pj4+Pj4gwqDC oMKgICogQXBwbHkgT0EgcmVzdHJpY3Rpb24gZnJvbSBtYWtlX3JwY3MgZGlyZWN0bHkuCj4+Pj4+ Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IHY2Ogo+Pj4+Pj4+Pj4+PiDCoMKgwqAgKiBSZWJhc2UgZm9yIGNv bnRleHQgaW1hZ2Ugc2V0dXAgY2hhbmdlcy4KPj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+Pj4gU2lnbmVk LW9mZi1ieTogTGlvbmVsIExhbmR3ZXJsaW4gCj4+Pj4+Pj4+Pj4+IDxsaW9uZWwuZy5sYW5kd2Vy bGluQGludGVsLmNvbT4KPj4+Pj4+Pj4+Pj4gU2lnbmVkLW9mZi1ieTogVHZydGtvIFVyc3VsaW4g PHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4+Pj4+Pj4+Pj4gLS0tCj4+Pj4+Pj4+Pj4+IMKg wqDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYuYyB8wqAgNSArKysrKwo+Pj4+Pj4+ Pj4+PiDCoMKgwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgfCAzMCAKPj4+Pj4+ Pj4+Pj4gKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCj4+Pj4+Pj4+Pj4+IMKgwqDCoCBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCB8wqAgMyArKysKPj4+Pj4+Pj4+Pj4gwqDC oMKgIDMgZmlsZXMgY2hhbmdlZCwgMjggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCj4+ Pj4+Pj4+Pj4+Cj4+Pj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BlcmYuYyAKPj4+Pj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BlcmYu Ywo+Pj4+Pj4+Pj4+PiBpbmRleCBjY2IyMDIzMGRmMmMuLmRkNjViNzJiZGRkNCAxMDA2NDQKPj4+ Pj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKPj4+Pj4+Pj4+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wZXJmLmMKPj4+Pj4+Pj4+Pj4gQEAg LTE2NzcsNiArMTY3NywxMSBAQCBzdGF0aWMgdm9pZCAKPj4+Pj4+Pj4+Pj4gZ2VuOF91cGRhdGVf cmVnX3N0YXRlX3VubG9ja2VkKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCj4+Pj4+Pj4+ Pj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBDVFhfUkVHKHJlZ19zdGF0ZSwgc3Rh dGVfb2Zmc2V0LCAKPj4+Pj4+Pj4+Pj4gZmxleF9yZWdzW2ldLCB2YWx1ZSk7Cj4+Pj4+Pj4+Pj4+ IMKgwqDCoMKgwqDCoMKgIH0KPj4+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4+PiArwqDCoMKgwqAgQ1RY X1JFRyhyZWdfc3RhdGUsIENUWF9SX1BXUl9DTEtfU1RBVEUsIAo+Pj4+Pj4+Pj4+PiBHRU44X1Jf UFdSX0NMS19TVEFURSwKPj4+Pj4+Pj4+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBnZW44 X21ha2VfcnBjcyhkZXZfcHJpdiwKPj4+Pj4+Pj4+Pj4gKyAmdG9faW50ZWxfY29udGV4dChjdHgs Cj4+Pj4+Pj4+Pj4+ICsgZGV2X3ByaXYtPmVuZ2luZVtSQ1NdKS0+c3NldSkpOwo+Pj4+Pj4+Pj4+ IEkgdGhpbmsgdGhlcmUgaXMgb25lIGlzc3VlIEkgbWlzc2VkIG9uIHRoZSBwcmV2aW91cyAKPj4+ Pj4+Pj4+PiBpdGVyYXRpb25zIG9mIHRoaXMKPj4+Pj4+Pj4+PiBwYXRjaC4KPj4+Pj4+Pj4+Pgo+ Pj4+Pj4+Pj4+IFRoaXMgZ2VuOF91cGRhdGVfcmVnX3N0YXRlX3VubG9ja2VkKCkgaXMgY2FsbGVk IHdoZW4gdGhlIEdQVSAKPj4+Pj4+Pj4+PiBpcyBwYXJrZWQKPj4+Pj4+Pj4+PiBvbiB0aGUga2Vy bmVsIGNvbnRleHQuCj4+Pj4+Pj4+Pj4KPj4+Pj4+Pj4+PiBJdCdzIHN1cHBvc2VkIHRvIHVwZGF0 ZSBhbGwgY29udGV4dHMsIGJ1dCBJIHRoaW5rIHdlIG1pZ2h0IAo+Pj4+Pj4+Pj4+IG5vdCBiZSBh YmxlCj4+Pj4+Pj4+Pj4gdG8gdXBkYXRlIHRoZSBrZXJuZWwgY29udGV4dCBpbWFnZSB3aGlsZSB0 aGUgR1BVIGlzIHVzaW5nIGl0Lgo+Pj4+Pj4+Pj4gVGhlIGtlcm5lbCBjb250ZXh0IGlzIG9ubHkg ZXZlciB0YWtlbiBpbiBleHRyZW1pcyAoeW91IGFyZSBlaXRoZXIKPj4+Pj4+Pj4+IHBhcmtpbmcg b3Igc3RhbGxpbmcgdXNlcnNwYWNlKSBzbyBJIGRvbid0IGNhcmUuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+ IFRoZSBwYXRjaCBleHBvc2luZyB0aGUgUlBDUyBjb25maWd1cmF0aW9uIHRvIHVzZXJzcGFjZSB3 aWxsIAo+Pj4+Pj4+PiBtYWtlIHVzZSBvZgo+Pj4+Pj4+PiB0aGUga2VybmVsIGNvbnRleHQgd2hp bGUgT0EvcGVyZiBpcyBlbmFibGVkLiBFdmVuIGlmIGl0IAo+Pj4+Pj4+PiByZXByb2dyYW1zIHRo ZQo+Pj4+Pj4+PiBsb2NrZWQgdmFsdWUgdGhhdCB3aWxsIGJyZWFrIHRoZSBwb3dlciBjb25maWd1 cmF0aW9uIHN0YWJpbGl0eSAKPj4+Pj4+Pj4gb24gR2VuMTEKPj4+Pj4+Pj4gKGJlY2F1c2UgdGhl IGxvY2tlZCBjb25maWd1cmF0aW9uIHdpbGwgYmUgZGlmZmVyZW50IGZyb20gdGhlIAo+Pj4+Pj4+ PiBrZXJuZWwKPj4+Pj4+Pj4gY29udGV4dCBjb25maWd1cmF0aW9uKS4KPj4+Pj4+PiBTdXJlLCBi dXQgYXMgeW91IHBvaW50IG91dCB0aGF0J3Mgb25seSBvbiBjaGFuZ2luZyBjb25maWd1cmF0aW9u Lgo+Pj4+Pj4+Cj4+Pj4+Pj4gV2hhdCdzIG1pc3NpbmcgaW4gdGhlIHBhdGNoIGlzIHRoYXQgd2Ug b25seSBiYWlsIGVhcmx5IGlmIHRoZSAKPj4+Pj4+PiBuZXcgc3NldQo+Pj4+Pj4+IG1hdGNoZXMg dGhlIGNlLT5zc2V1LCBidXQgdGhhdCBkb2Vzbid0IG5lY2Vzc2FyaWx5IG1hdGNoIHdoYXRzIAo+ Pj4+Pj4+IGluIHRoZQo+Pj4+Pj4+IGNvbnRleHQgZHVlIHRvIE9BLiAoT3IgbWF5YmUgSSBtaXNz ZWQgdGhlIGNvbnZlcnNpb24gdG8gcnBjcyAKPj4+Pj4+PiB2YWx1ZSBhbmQKPj4+Pj4+PiBjaGVj a2luZy4pCj4+Pj4+Pj4gLUNocmlzCj4+Pj4+Pj4KPj4+Pj4+Cj4+Pj4+PiBZZXAsIGJlY2F1c2Ug dGhlIGdlbjhfbWFrZV9ycGNzKCkgcG9zdCBwcm9jZXNzZXMgdGhlIHZhbHVlcyBzdG9yZSAKPj4+ Pj4+IGF0IHRoZSBnZW0gY29udGV4dCBsZXZlbCwgd2UgcmlzayByZXJ1bm5pbmcgdGhlIGtlcm5l bCBjb250ZXh0IHRvIAo+Pj4+Pj4gd3JpdGUgdGhlIGV4aXRpbmcgdmFsdWUuCj4+Pj4+PiBTb3Jy eSB0aGlzIGlzIGFsbCBzbyBtZXNzeSA6KAo+Pj4+Pgo+Pj4+PiBMZXRzIHNlZSBpZiBJIG1hbmFn ZWQgdG8gZm9sbG93IGhlcmUuCj4+Pj4+Cj4+Pj4+IFRoZSBjdXJyZW50IGNvZGUgaW5kZWVkIGJh aWxzIG91dCBhdCB0aGUgc2V0IGN0eCBwYXJhbSBsZXZlbCBpZiAKPj4+Pj4gdGhlIHJlcXVlc3Rl ZCBzdGF0ZSBtYXRjaGVzIHRoZSBjZS0+c3RhdGUuIE15IHRoaW5raW5nIHdhcyB0aGF0IAo+Pj4+ PiBjZS0+c3RhdGUgaXMgdGhlIG1hc3RlciBzdGF0ZSBhbmQgd2hhdGV2ZXIgaGFwcGVucyBpbiAi cG9zdCAKPj4+Pj4gcHJvY2Vzc2luZyIgdmlhIGdlbjhfbWFrZV9ycGNzIHNob3VsZCBiZSBoaWRk ZW4gZnJvbSBpdCBzaW5jZSB0aGUgCj4+Pj4+IGRlc2lnbiBpcyB0aGF0IHRoZSBpOTE1X3BlcmYu YyB3aWxsIHJlLWNvbmZpZ3VyZSBhbGwgY29udGV4dHMgd2hlbiAKPj4+Pj4gdGhlIE9BIGFjdGl2 ZSBzdGF0dXMgY2hhbmdlcyAodG8gZWl0aGVyIGRpcmVjdGlvbikuCj4+Pj4+Cj4+Pj4+IFNvIEkg ZG9uJ3Qgc2VlIGEgcHJvYmxlbSBpbiB0aG9zZSB0d28gaW50ZXJhY3Rpb25zLgo+Pj4+Cj4+Pj4K Pj4+PiBMZXQncyBzYXkgeW91IGhhdmUgY29udGV4dEEgd2l0aCBzc2V1KHNsaWNlLHN1YnNsaWNl KT0oMHgxLzB4ZmYpIAo+Pj4+IGZvciBJQ0wuCj4+Pj4KPj4+PiBZb3UgdGhlbiBlbmFibGUgT0Eg d2hpY2ggbG9ja3MgdGhlIGNvbmZpZ3VyYXRpb24gYXQgKDB4MSwweGYpLgo+Pj4+Cj4+Pj4gVGhl IGtlcm5lbCBjb250ZXh0IGhhcyByZXRhaW5lZCBpdHMgKDB4MS8weGZmKSBjb25maWd1cmF0aW9u Lgo+Pj4+Cj4+Pj4KPj4+PiBBbmQgYWZ0ZXIgeW91IGNoYW5nZSB0aGUgY29uZmlnIG9mIGNvbnRl eHRBIHRvICgweDEsMHg3KS4KPj4+Pgo+Pj4+Cj4+Pj4gVGhpcyB3b3VsZCBsZWFkIHRvIHRoZSBr ZXJuZWwgY29udGV4dCBzY2hlZHVsZWQgd2l0aCAoMHgxLDB4ZmYpIAo+Pj4+IHdoaWxlIE9BIGlz IGFjdGl2ZS4KPj4+Cj4+PiBPa2F5IHRoYXQncyBhIHByb2JsZW0gZGlzY3Vzc2VkIGluIHRoZSBw YXJhZ3JhcGggYmVsb3cgLSB0aGF0IHRoZSAKPj4+IGtlcm5lbCBjb250ZXh0IGlzIG5vdCB1cGRh dGVkIGF0IGFsbC4gQnV0IGlzIGl0IGEgcHJvYmxlbSBmb3IgT0E/IAo+Pj4gV2lsbCBpdCBtZXNz IHVwIHNvbWUgY291bnRlcnMgZXZlbiBpZiBrZXJuZWwgY29udGV4dCBpc24ndCBleGVjdXRpbmcg Cj4+PiBhbnl0aGluZyBpbnRlcmFjdGluZyB3aXRoIHRoZW0/IE9yIGlzIGl0Pwo+Pgo+Pgo+PiBX aGF0IHRoZSBIVyBpcyBnb2luZyB0byBkbyB0byB0aGUgTk9BIGxvZ2ljIGluIHBvd2VyIGNvbmZp Z3VyYXRpb24gCj4+IGNoYW5nZXMgaXMgbm90IHJlYWxseSBkb2N1bWVudGVkLgo+PiBFeHBlcmlt ZW50YWxseSBvbiBTS0wgR1Q0LCBpdCBzZWVtcyBhIGNoYW5nZSBpbiBwb3dlciBjb25maWd1cmF0 aW9uIAo+PiB3aWxsIHRyaWdnZXIgYSBwb3dlciBvZmYgb2YgZXZlcnl0aGluZyBiZWZvcmUgYXBw bHlpbmcgdGhlIHBvd2VyIGF0IAo+PiB0aGUgbmV3IGNvbmZpZ3VyYXRpb24uCj4+IFNvIHRoYXQg d291bGQgaW1wbHkgbG9vc2luZyB0aGUgTk9BIHByb2dyYW1taW5nIHdoZW4gd2Ugc3dpdGNoIHRv IHRoZSAKPj4ga2VybmVsIGNvbnRleHQgd2hpY2ggbWVhbnMgaW52YWxpZCB2YWx1ZXMgaW4gdGhl IGNvdW50ZXJzLgo+Pgo+Pgo+Pj4KPj4+Pgo+Pj4+Pgo+Pj4+PiBBcGFydCBmcm9tIG9uZSwgZ2V0 X3BhcmFtX3NzZXUgd2lsbCBsaWUgYSBiaXQgLSB3ZSBjYW4gZGlzY3VzcyAKPj4+Pj4gYWJvdXQg dGhpcyBvbmUgbW9yZS4gQXQgb25lIHBvaW50IEkgc3VnZ2VzdGVkIHdlIGhhdmUgdHdvIHNldHMg b2YgCj4+Pj4+IG1hc2tzIGluIHRoZSB1QVBJLCByZXF1ZXN0ZWQgYW5kIGFjdGl2ZSBpbiBhIHdh eS4gU28gdXNlcnNwYWNlIAo+Pj4+PiBjb3VsZCBxdWVyeSB3aGF0IGl0IHNldCBhbmQgd2hhdCBp cyBhY3R1YWxseSBhY3RpdmUuCj4+Pj4+Cj4+Pj4+IE5vdyBzZWNvbmQgaXNzdWUgaXMgaWYgaTkx NV9wZXJmLmMgaXMgYWJsZSB0byByZXByb2dyYW0gdGhlIGtlcm5lbCAKPj4+Pj4gY29uZmlnLgo+ Pj4+Pgo+Pj4+PiBIZXJlIGl0cyB0cnVlLCBpdCB3aWxsIHdyaXRlIHRvIHRoZSBjb250ZXh0IGlt YWdlIGFuZCB0aGF0IHdpbGwgCj4+Pj4+IGdldCBvdmVyd3JpdHRlbiBieSBjb250ZXh0IHNhdmUu Cj4+Pj4+Cj4+Pj4+IElmIHRoYXQgaXMgYSBwcm9ibGVtIGZvciBPQSwgSSB3YXMgaW5pdGlhbGx5 IGlmIGEgdGhyb3ctYXdheSAKPj4+Pj4gc2Vjb25kICJrZXJuZWwiIGNvbnRleHQgY291bGQgYmUg dXNlIHRvIHJlLXByb2dyYW0gdGhlIHJlYWwgb25lLCAKPj4+Pj4gYnV0IHBlcmhhcHMgZXZlbiBz aW1wbGVyIC0gd2hhdCBhYm91dCBhIG1taW8gd3JpdGUgdG8gcHJvZ3JhbSB0aGUgCj4+Pj4+IFJQ Q1Mgd2hpbGUga2VybmVsIGNvbnRleHQgaXMgYWN0aXZlPwo+Pj4+Cj4+Pj4KPj4+PiBEb2N1bWVu dGF0aW9uIHNheXMgOiAiVGhpcyByZWdpc3RlciBtdXN0IG5vdCBiZSBwcm9ncmFtbWVkIGRpcmVj dGx5IAo+Pj4+IHRocm91Z2ggQ1BVIE1NSU8gY3ljbGUuIgo+Pj4+Cj4+Pj4KPj4+PiBTb3JyeSA6 KAo+Pj4KPj4+IFVnaC4uIG9rYXksIGhlbHAgbWUgdW5kZXJzdGFuZCBpZiBrZXJuZWwgY29udGV4 dCBhYnNvbHV0ZWx5IG5lZWRzIHRvIAo+Pj4gZm9sbG93IHRoZSAibG9jayIgZm9yIE9BIHRvIHdv cmsgYW5kIHRoZW4gd2UnbGwgc2VlIHdoYXQgdG8gZG8uCj4+Cj4+IEkgdGhpbmsgc28uCj4+Cj4+ IFlvdXIgaWRlYSBvZiBhIHRocm93IGF3YXkgY29udGV4dCB0byByZXByb2dyYW1taW5nIGV2ZXJ5 IHNlZW1zIHNvdW5kLgo+Cj4gSSB3YXMgaW4gdGhlIG1pZGRsZSBvZiByZWZhY3RvcmluZyB0aGUg c2VyaWVzIHRvIGltcGxlbWVudCB0aGlzIHdoZW4gSSAKPiBzdGFydGVkIHN1c3BlY3RpbmcgdGhl IG5lZWQgZm9yIGl0Lgo+Cj4gUHJlbWlzZSBvZiB0aGUgcHJvYmxlbSBzdGF0ZW1lbnQgd2FzIHRo ZSBrZXJuZWwgY29udGV4dCBkb2Vzbid0IGdldCAKPiB1cGRhdGVkIGJ5IHRoZSBPQSBjb2RlLCBi dXQsIHRoZXJlIGlzIGEgbG9vcCBpbiAKPiBnZW44X2NvbmZpZ3VyZV9hbGxfY29udGV4dHMgd2hp Y2ggZ29lcyB0aHJvdWdoIGV4YWN0bHkgYWxsIG9mIHRoZW0gCj4gYWZ0ZXIgaXQgaGFzIGlkbGVk IHRoZSBHUFUuCj4KPiBBRkFJQ1MgdGhhdCBtZWFucyBpdCBpcyBhYmxlIHRvIG1hcCB0aGUga2Vy bmVsIGNvbnRleHQgc3RhdGUgYW5kIGVkaXQgCj4gaXQgc28gZXZlcnl0aGluZyBzZWVtcyBmaW5l IGZyb20gdGhpcyBhbmdsZS4gKEtlcm5lbCBjb250ZXh0IGlzIAo+IHBlcm1hLXBpbm5lZCBpbiBz b2Z0d2FyZSwgYnV0IGFmdGVyIGlkbGluZyB0aGUgR1BVIHdlIGtub3cgaXQgaXMgbm90IAo+IGFj dHVhbGx5IG9uIHRoZSBHUFUgc28gaXQgc2FmZSB0byBlZGl0IGl0J3MgaW1hZ2UuKQo+Cj4gQW0g SSBtaXNzaW5nIHNvbWUgaG9sZSBoZXJlLCBhbmQgaWYgbm90LCB3aHkgZG9lcyB0aGUgY29kZSBu ZWVkcyB0byAKPiBoYXZlIGEgcHJpbWFyeSB1cGRhdGUgdmlhIGEgcmVxdWVzdCBpbiAKPiBnZW44 X3N3aXRjaF90b191cGRhdGVkX2tlcm5lbF9jb250ZXh0PyBDb250ZXh0IGltYWdlIGFmdGVyIGlk bGluZyAKPiBzZWVtcyBhZ2FpbiBzdWZmaWNpZW50LgoKCk15IHVuZGVyc3RhbmRpbmcgaXMgdGhh dCB0aGUgY3VycmVudCBjb2RlIHB1dHMgdGhlIEdQVSBpZGxlIG9uIHRoZSAKa2VybmVsIGNvbnRl eHQuCldoZW4gaWRsaW5nIHN0b3BzLCB0aGUgR1BVIHdpbGwgc2F2ZSB0aGUgbGFzdCB2YWx1ZXMg ZnJvbSB0aGUgSFcgCnJlZ2lzdGVyIGludG8gdGhlIGtlcm5lbCBjb250ZXh0IGltYWdlLgpXZSBj dXJyZW50bHkgZG9uJ3Qgc2VlIGFueSBpc3N1ZSBiZWNhdXNlIHdlIGFsc28gcnVuIGEgc2V0IG9m IGNvbW1hbmRzIApvbiB0aGUga2VybmVsIGNvbnRleHQgcHJpb3IgdG8gaWRsZSB0aGF0IG1pcnJv ciB0aGUgY29udGV4dHMgaW1hZ2UgZWRpdGlvbi4KClRoYXQgd29uJ3QgYmUgdGhlIGNhc2UgZm9y IHRoZSBSUENTIHJlZ2lzdGVyIGJlY2F1c2Ugd2UgY2FuJ3QgbG9hZCBpdCAKZnJvbSB0aGUgY29t bWFuZCBzdHJlYW1lci4KCgo+Cj4gV291bGQgaXQgYmUgcG9zc2libGUgdG8gZXhlcmNpc2UgdGhl IGh5cG90aGV0aWNhbCBsb3NzIG9mIE5PQSAKPiBjb25maWd1cmF0aW9uIGZyb20gYW4gSUdULCBp ZiBrZXJuZWwgY29udGV4dCB3YXNuJ3QgY29ycmVjdGx5IHVwZGF0ZWQ/CgoKVGhlIHRlc3QgY29u ZmlncyBzYXZlZCBpbiB0aGUga2VybmVsIHVzZSBOT0EgYW5kIHRoZWlyIGNvdW50ZXJzIGFyZSAK cHJvZ3Jlc3NpbmcgYXQgZGlmZmVyZW50IHJhdGlvcyBmcm9tIHRoZSAiY29yZSBjbG9jayIgKFJJ TkdfVElNRVNUQU1QIApyZWdpc3RlcikuCkluIElHVCB0ZXN0cy9wZXJmLmMsIHRoZSBnZW44X3Nh bml0eV9jaGVja190ZXN0X29hX3JlcG9ydHMoKSB2ZXJpZnkgdGhhdCAKdGhlIGNvdW50ZXJzIHBy b2dyZXNzIGFzIGV4cGVjdGVkLgoKQnV0IEkgY2FuJ3QgdGVsbCBmcm9tIHdoYXQgcGFydCBvZiB0 aGUgR1QgdGhlIHRlc3QgY29uZmlncyBhcmUgc291cmNpbmcgCnNpZ25hbHMgZnJvbS4gSWYgdGhl eSBkbyBmcm9tIHVuc2xpY2UsIHRoZW4gdGhhdCB3b24ndCB3b3JrIDooCgotCkxpb25lbAoKCgo+ Cj4gUmVnYXJkcywKPgo+IFR2cnRrbwo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK