From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH v5 26/35] drm/i915: Added debugfs interface to scheduler tuning parameters Date: Fri, 11 Mar 2016 16:28:31 +0000 Message-ID: <56E2F22F.6060503@Intel.com> References: <1455805644-6450-1-git-send-email-John.C.Harrison@Intel.com> <1455805644-6450-27-git-send-email-John.C.Harrison@Intel.com> <56CCC9DC.3080906@virtuousgeek.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id D4E966E136 for ; Fri, 11 Mar 2016 16:28:33 +0000 (UTC) In-Reply-To: <56CCC9DC.3080906@virtuousgeek.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jesse Barnes , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMjMvMDIvMjAxNiAyMTowNiwgSmVzc2UgQmFybmVzIHdyb3RlOgo+IE9uIDAyLzE4LzIwMTYg MDY6MjcgQU0sIEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20gd3JvdGU6Cj4+IEZyb206IEpvaG4g SGFycmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Cj4+Cj4+IFRoZXJlIGFyZSB2YXJp b3VzIHBhcmFtZXRlcnMgd2l0aGluIHRoZSBzY2hlZHVsZXIgd2hpY2ggY2FuIGJlIHR1bmVkCj4+ IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UsIHJlZHVjZSBtZW1vcnkgZm9vdHByaW50LCBldGMuIFRo aXMgY2hhbmdlIGFkZHMKPj4gc3VwcG9ydCBmb3IgYWx0ZXJpbmcgdGhlc2UgdmlhIGRlYnVnZnMu Cj4+Cj4+IHYyOiBVcGRhdGVkIGZvciBwcmlvcml0aWVzIG5vdyBiZWluZyBzaWduZWQgdmFsdWVz Lgo+Pgo+PiB2NTogU3F1YXNoZWQgcHJpb3JpdHkgYnVtcGluZyBlbnRyaWVzIGludG8gdGhpcyBw YXRjaCByYXRoZXIgdGhhbiBhCj4+IHNlcGFyYXRlIHBhdGNoIGFsbCBvZiB0aGVpciBvd24uCj4+ Cj4+IEZvcjogVklaLTE1ODcKPj4gU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9obi5D LkhhcnJpc29uQEludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgfCAxNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4+ ICAgMSBmaWxlIGNoYW5nZWQsIDE2OSBpbnNlcnRpb25zKCspCj4+Cj4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IGI5MjM5NDkuLjdkMDFjMDcgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IEBAIC0zOSw2ICszOSw3IEBACj4+ICAgI2luY2x1 ZGUgImludGVsX3JpbmdidWZmZXIuaCIKPj4gICAjaW5jbHVkZSA8ZHJtL2k5MTVfZHJtLmg+Cj4+ ICAgI2luY2x1ZGUgImk5MTVfZHJ2LmgiCj4+ICsjaW5jbHVkZSAiaTkxNV9zY2hlZHVsZXIuaCIK Pj4gICAKPj4gICBlbnVtIHsKPj4gICAJQUNUSVZFX0xJU1QsCj4+IEBAIC0xMTIyLDYgKzExMjMs MTY4IEBAIERFRklORV9TSU1QTEVfQVRUUklCVVRFKGk5MTVfbmV4dF9zZXFub19mb3BzLAo+PiAg IAkJCWk5MTVfbmV4dF9zZXFub19nZXQsIGk5MTVfbmV4dF9zZXFub19zZXQsCj4+ICAgCQkJIjB4 JWxseFxuIik7Cj4+ICAgCj4+ICtzdGF0aWMgaW50Cj4+ICtpOTE1X3NjaGVkdWxlcl9wcmlvcml0 eV9taW5fZ2V0KHZvaWQgKmRhdGEsIHU2NCAqdmFsKQo+PiArewo+PiArCXN0cnVjdCBkcm1fZGV2 aWNlICAgICAgICpkZXYgICAgICAgPSBkYXRhOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiAgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBpOTE1X3NjaGVkdWxl ciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwo+PiArCj4+ICsJKnZhbCA9ICh1 NjQpIHNjaGVkdWxlci0+cHJpb3JpdHlfbGV2ZWxfbWluOwo+PiArCXJldHVybiAwOwo+PiArfQo+ PiArCj4+ICtzdGF0aWMgaW50Cj4+ICtpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9taW5fc2V0KHZv aWQgKmRhdGEsIHU2NCB2YWwpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRl diAgICAgICA9IGRhdGE7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ICA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxl ciA9IGRldl9wcml2LT5zY2hlZHVsZXI7Cj4+ICsKPj4gKwlzY2hlZHVsZXItPnByaW9yaXR5X2xl dmVsX21pbiA9IChpbnQzMl90KSB2YWw7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK0RF RklORV9TSU1QTEVfQVRUUklCVVRFKGk5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X21pbl9mb3BzLAo+ PiArCQkJaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfbWluX2dldCwKPj4gKwkJCWk5MTVfc2NoZWR1 bGVyX3ByaW9yaXR5X21pbl9zZXQsCj4+ICsJCQkiJWxsZFxuIik7Cj4+ICsKPj4gK3N0YXRpYyBp bnQKPj4gK2k5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X21heF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2 YWwpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiAgICAgICA9IGRhdGE7 Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ICA9IGRldi0+ZGV2X3ByaXZh dGU7Cj4+ICsJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5z Y2hlZHVsZXI7Cj4+ICsKPj4gKwkqdmFsID0gKHU2NCkgc2NoZWR1bGVyLT5wcmlvcml0eV9sZXZl bF9tYXg7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQKPj4gK2k5MTVf c2NoZWR1bGVyX3ByaW9yaXR5X21heF9zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKPj4gK3sKPj4g KwlzdHJ1Y3QgZHJtX2RldmljZSAgICAgICAqZGV2ICAgICAgID0gZGF0YTsKPj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1 Y3QgaTkxNV9zY2hlZHVsZXIgICAqc2NoZWR1bGVyID0gZGV2X3ByaXYtPnNjaGVkdWxlcjsKPj4g Kwo+PiArCXNjaGVkdWxlci0+cHJpb3JpdHlfbGV2ZWxfbWF4ID0gKGludDMyX3QpIHZhbDsKPj4g KwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArREVGSU5FX1NJTVBMRV9BVFRSSUJVVEUoaTkxNV9z Y2hlZHVsZXJfcHJpb3JpdHlfbWF4X2ZvcHMsCj4+ICsJCQlpOTE1X3NjaGVkdWxlcl9wcmlvcml0 eV9tYXhfZ2V0LAo+PiArCQkJaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfbWF4X3NldCwKPj4gKwkJ CSIlbGxkXG4iKTsKPj4gKwo+PiArc3RhdGljIGludAo+PiAraTkxNV9zY2hlZHVsZXJfcHJpb3Jp dHlfYnVtcF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9k ZXZpY2UgICAgICAgKmRldiAgICAgICA9IGRhdGE7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ICA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICsJc3RydWN0IGk5MTVfc2NoZWR1 bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2LT5zY2hlZHVsZXI7Cj4+ICsKPj4gKwkqdmFsID0g KHU2NCkgc2NoZWR1bGVyLT5wcmlvcml0eV9sZXZlbF9idW1wOwo+PiArCXJldHVybiAwOwo+PiAr fQo+PiArCj4+ICtzdGF0aWMgaW50Cj4+ICtpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9idW1wX3Nl dCh2b2lkICpkYXRhLCB1NjQgdmFsKQo+PiArewo+PiArCXN0cnVjdCBkcm1fZGV2aWNlICAgICAg ICpkZXYgICAgICAgPSBkYXRhOwo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diAgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hl ZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwo+PiArCj4+ICsJc2NoZWR1bGVyLT5wcmlvcml0 eV9sZXZlbF9idW1wID0gKHUzMikgdmFsOwo+PiArCXJldHVybiAwOwo+PiArfQo+PiArCj4+ICtE RUZJTkVfU0lNUExFX0FUVFJJQlVURShpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9idW1wX2ZvcHMs Cj4+ICsJCQlpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9idW1wX2dldCwKPj4gKwkJCWk5MTVfc2No ZWR1bGVyX3ByaW9yaXR5X2J1bXBfc2V0LAo+PiArCQkJIiVsbGRcbiIpOwo+PiArCj4+ICtzdGF0 aWMgaW50Cj4+ICtpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9wcmVlbXB0X2dldCh2b2lkICpkYXRh LCB1NjQgKnZhbCkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAgICAgICAqZGV2ICAgICAg ID0gZGF0YTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgICAqc2NoZWR1bGVyID0gZGV2 X3ByaXYtPnNjaGVkdWxlcjsKPj4gKwo+PiArCSp2YWwgPSAodTY0KSBzY2hlZHVsZXItPnByaW9y aXR5X2xldmVsX3ByZWVtcHQ7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBp bnQKPj4gK2k5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X3ByZWVtcHRfc2V0KHZvaWQgKmRhdGEsIHU2 NCB2YWwpCj4+ICt7Cj4+ICsJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiAgICAgICA9IGRh dGE7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ICA9IGRldi0+ZGV2X3By aXZhdGU7Cj4+ICsJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9wcml2 LT5zY2hlZHVsZXI7Cj4+ICsKPj4gKwlzY2hlZHVsZXItPnByaW9yaXR5X2xldmVsX3ByZWVtcHQg PSAodTMyKSB2YWw7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK0RFRklORV9TSU1QTEVf QVRUUklCVVRFKGk5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X3ByZWVtcHRfZm9wcywKPj4gKwkJCWk5 MTVfc2NoZWR1bGVyX3ByaW9yaXR5X3ByZWVtcHRfZ2V0LAo+PiArCQkJaTkxNV9zY2hlZHVsZXJf cHJpb3JpdHlfcHJlZW1wdF9zZXQsCj4+ICsJCQkiJWxsZFxuIik7Cj4+ICsKPj4gK3N0YXRpYyBp bnQKPj4gK2k5MTVfc2NoZWR1bGVyX21pbl9mbHlpbmdfZ2V0KHZvaWQgKmRhdGEsIHU2NCAqdmFs KQo+PiArewo+PiArCXN0cnVjdCBkcm1fZGV2aWNlICAgICAgICpkZXYgICAgICAgPSBkYXRhOwo+ PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiAgPSBkZXYtPmRldl9wcml2YXRl Owo+PiArCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2No ZWR1bGVyOwo+PiArCj4+ICsJKnZhbCA9ICh1NjQpIHNjaGVkdWxlci0+bWluX2ZseWluZzsKPj4g KwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+PiArc3RhdGljIGludAo+PiAraTkxNV9zY2hlZHVsZXJf bWluX2ZseWluZ19zZXQodm9pZCAqZGF0YSwgdTY0IHZhbCkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJt X2RldmljZSAgICAgICAqZGV2ICAgICAgID0gZGF0YTsKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gKwlzdHJ1Y3QgaTkxNV9zY2hl ZHVsZXIgICAqc2NoZWR1bGVyID0gZGV2X3ByaXYtPnNjaGVkdWxlcjsKPj4gKwo+PiArCXNjaGVk dWxlci0+bWluX2ZseWluZyA9ICh1MzIpIHZhbDsKPj4gKwlyZXR1cm4gMDsKPj4gK30KPj4gKwo+ PiArREVGSU5FX1NJTVBMRV9BVFRSSUJVVEUoaTkxNV9zY2hlZHVsZXJfbWluX2ZseWluZ19mb3Bz LAo+PiArCQkJaTkxNV9zY2hlZHVsZXJfbWluX2ZseWluZ19nZXQsCj4+ICsJCQlpOTE1X3NjaGVk dWxlcl9taW5fZmx5aW5nX3NldCwKPj4gKwkJCSIlbGx1XG4iKTsKPj4gKwo+PiArc3RhdGljIGlu dAo+PiAraTkxNV9zY2hlZHVsZXJfZmlsZV9xdWV1ZV9tYXhfZ2V0KHZvaWQgKmRhdGEsIHU2NCAq dmFsKQo+PiArewo+PiArCXN0cnVjdCBkcm1fZGV2aWNlICAgICAgICpkZXYgICAgICAgPSBkYXRh Owo+PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiAgPSBkZXYtPmRldl9wcml2 YXRlOwo+PiArCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+ c2NoZWR1bGVyOwo+PiArCj4+ICsJKnZhbCA9ICh1NjQpIHNjaGVkdWxlci0+ZmlsZV9xdWV1ZV9t YXg7Cj4+ICsJcmV0dXJuIDA7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQKPj4gK2k5MTVfc2No ZWR1bGVyX2ZpbGVfcXVldWVfbWF4X3NldCh2b2lkICpkYXRhLCB1NjQgdmFsKQo+PiArewo+PiAr CXN0cnVjdCBkcm1fZGV2aWNlICAgICAgICpkZXYgICAgICAgPSBkYXRhOwo+PiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiAgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVj dCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBkZXZfcHJpdi0+c2NoZWR1bGVyOwo+PiAr Cj4+ICsJc2NoZWR1bGVyLT5maWxlX3F1ZXVlX21heCA9ICh1MzIpIHZhbDsKPj4gKwlyZXR1cm4g MDsKPj4gK30KPj4gKwo+PiArREVGSU5FX1NJTVBMRV9BVFRSSUJVVEUoaTkxNV9zY2hlZHVsZXJf ZmlsZV9xdWV1ZV9tYXhfZm9wcywKPj4gKwkJCWk5MTVfc2NoZWR1bGVyX2ZpbGVfcXVldWVfbWF4 X2dldCwKPj4gKwkJCWk5MTVfc2NoZWR1bGVyX2ZpbGVfcXVldWVfbWF4X3NldCwKPj4gKwkJCSIl bGx1XG4iKTsKPj4gKwo+PiAgIHN0YXRpYyBpbnQgaTkxNV9mcmVxdWVuY3lfaW5mbyhzdHJ1Y3Qg c2VxX2ZpbGUgKm0sIHZvaWQgKnVudXNlZCkKPj4gICB7Cj4+ICAgCXN0cnVjdCBkcm1faW5mb19u b2RlICpub2RlID0gbS0+cHJpdmF0ZTsKPj4gQEAgLTU0MjQsNiArNTU4NywxMiBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGk5MTVfZGVidWdmc19maWxlcyB7Cj4+ICAgCXsiaTkxNV9nZW1fZHJvcF9j YWNoZXMiLCAmaTkxNV9kcm9wX2NhY2hlc19mb3BzfSwKPj4gICAJeyJpOTE1X2Vycm9yX3N0YXRl IiwgJmk5MTVfZXJyb3Jfc3RhdGVfZm9wc30sCj4+ICAgCXsiaTkxNV9uZXh0X3NlcW5vIiwgJmk5 MTVfbmV4dF9zZXFub19mb3BzfSwKPj4gKwl7Imk5MTVfc2NoZWR1bGVyX3ByaW9yaXR5X21pbiIs ICZpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9taW5fZm9wc30sCj4+ICsJeyJpOTE1X3NjaGVkdWxl cl9wcmlvcml0eV9tYXgiLCAmaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfbWF4X2ZvcHN9LAo+PiAr CXsiaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcCIsICZpOTE1X3NjaGVkdWxlcl9wcmlvcml0 eV9idW1wX2ZvcHN9LAo+PiArCXsiaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfcHJlZW1wdCIsICZp OTE1X3NjaGVkdWxlcl9wcmlvcml0eV9wcmVlbXB0X2ZvcHN9LAo+PiArCXsiaTkxNV9zY2hlZHVs ZXJfbWluX2ZseWluZyIsICZpOTE1X3NjaGVkdWxlcl9taW5fZmx5aW5nX2ZvcHN9LAo+PiArCXsi aTkxNV9zY2hlZHVsZXJfZmlsZV9xdWV1ZV9tYXgiLCAmaTkxNV9zY2hlZHVsZXJfZmlsZV9xdWV1 ZV9tYXhfZm9wc30sCj4+ICAgCXsiaTkxNV9kaXNwbGF5X2NyY19jdGwiLCAmaTkxNV9kaXNwbGF5 X2NyY19jdGxfZm9wc30sCj4+ICAgCXsiaTkxNV9wcmlfd21fbGF0ZW5jeSIsICZpOTE1X3ByaV93 bV9sYXRlbmN5X2ZvcHN9LAo+PiAgIAl7Imk5MTVfc3ByX3dtX2xhdGVuY3kiLCAmaTkxNV9zcHJf d21fbGF0ZW5jeV9mb3BzfSwKPj4KPiBEbyB0aGVzZSBuZWVkIHRvIGJlIHNlcmlhbGl6ZWQgYXQg YWxsPyAgSSBndWVzcyBzb21lIHJhY2luZXNzIGRvZXNuJ3QgaHVydCB0b28gbXVjaCBmb3IgdGhl c2UgZ3V5cywgdW5sZXNzIHNvbWVob3cgYW4gaW5jb25zaXN0ZW50IHNldCBvZiB2YWx1ZXMgd291 bGQgY2F1c2UgYSBsaXZlbG9jayBpbiB0aGUgc2NoZWR1bGVyIG9yIHNvbWV0aGluZy4KU2VyaWFs aXNlZCB3aXRoIHdoYXQ/IEVhY2ggb3RoZXIgb3IgdGhlIHNjaGVkdWxlciBvcGVyYXRpb24/IE5l aXRoZXIgCnNob3VsZCBiZSBuZWNlc3NhcnkuIFRoZSBzY2hlZHVsZXIgd2lsbCByZWFkIHRoZSBj dXJyZW50IHZhbHVlcyB3aGVuZXZlciAKaXQgdGVzdHMgYWdhaW5zdCBvbmUgb2YgdGhlc2UgbGlt aXRzLiBJZiBtdWx0aXBsZSBhcmUgYmVpbmcgY2hhbmdlZCAKd2hpbGUgdGhlIHN5c3RlbSBpcyBi dXN5LCBpdCBkb2Vzbid0IHJlYWxseSBtYXR0ZXIuIFRoZXkgYXJlIGp1c3QgdHVuaW5nIAp2YWx1 ZXMgYW5kIGJlc3QgZ3Vlc3NlcyB0eXBlIG9mIG51bWJlcnMgbm90IGFycmF5IGluZGljZXMgb3Ig b3RoZXIgCnRoaW5ncyB0aGF0IHdvdWxkIGNhdXNlIGtlcm5lbCBwYW5pY3MgaWYgeW91IGdvdCB0 aGVtIHdyb25nLiBFLmcuIGlmIHlvdSAKc2V0IHRoZSBtYXggZmlsZSBxdWV1ZSBkZXB0aCB0byBz bWFsbGVyIHRoYW4gdGhlIGN1cnJlbnQgcXVldWUgY29udGVudHMgCnRoYXQganVzdCBtZWFucyB5 b3Ugd29uJ3QgYmUgYWJsZSB0byBzdWJtaXQgbW9yZSBzdHVmZiB1bnRpbCB0aGUgcXVldWUgCmhh cyBkcmFpbmVkIC0gd2hpY2ggaXMgcHJlc3VtYWJseSB0aGUgaW50ZW5kZWQgcmVzdWx0IG9mIGxv d2VyaW5nIHRoZSAKbWF4IHF1ZXVlIHZhbHVlIGFueXdheS4gVGhlIHF1ZXVlIHdvbid0IGxlYWsg dGhlIGV4dHJhIGVudHJpZXMgb3IgZ2V0IAppbnRvIGFuIGluY29uc2lzdGVudCBzdGF0ZS4KCgo+ Cj4gSWYgbm90LAo+IFJldmlld2VkLWJ5OiBKZXNzZSBCYXJuZXMgPGpiYXJuZXNAdmlydHVvdXNn ZWVrLm9yZz4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=