From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 1/3] drm/i915/trace: Describe engines as class:instance pairs Date: Tue, 5 Jun 2018 14:43:36 +0100 Message-ID: <9e251874-b83d-5a74-f80d-1774bc90cdce@linux.intel.com> References: <20180525082642.18246-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 745296EDB7 for ; Tue, 5 Jun 2018 13:43:40 +0000 (UTC) In-Reply-To: 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 , Tvrtko Ursulin , Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDA1LzA2LzIwMTggMTA6NDEsIExpb25lbCBMYW5kd2VybGluIHdyb3RlOgo+IEFueSB1cGRh dGUgb24gdGhpcyBzZXJpZXM/Cj4gCj4gKG15IGNvbW1lbnRzIHdlcmUgYSBiaXQgZnV6enksIGJ1 dCBJIGdhdmUgUmIgb24gcGF0Y2ggMSAmIDIpLgoKRm9yZ290IGFib3V0IGl0IGZvciBhIGJpdC4g SnVzdCBzZW50IHVwZGF0ZWQgMy8zLgoKV2FzIHlvdSByLWIgZm9yIDIvMyBmb3IgdjEgb3IgdjIg YXQgdGhlIGVuZD8KClJlZ2FyZHMsCgpUdnJ0a28KCj4gCj4gQ2hlZXJzLAo+IAo+IC0KPiBMaW9u ZWwKPiAKPiBPbiAyNS8wNS8xOCAwOToyNiwgVHZydGtvIFVyc3VsaW4gd3JvdGU6Cj4+IEZyb206 IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Cj4+Cj4+IEluc3RlYWQg b2YgdXNpbmcgdGhlIGVuZ2luZS0+aWQsIHVzZSB1YWJpX2NsYXNzOmluc3RhbmNlIHBhaXJzIGlu IHRyYWNlLQo+PiBwb2ludHMgaW5jbHVkaW5nIGVuZ2luZSBpbmZvLgo+Pgo+PiBUaGlzIHdpbGwg YmUgbW9yZSByZWFkYWJsZSwgbW9yZSBmdXR1cmUgcHJvb2YgYW5kIG1vcmUgc3RhYmxlIGZvcgo+ PiB1c2Vyc3BhY2UgY29uc3VtcHRpb24uCj4+Cj4+IHYyOgo+PiDCoCAqIFVzZSB1MTYgZm9yIGNs YXNzIGFuZCBpbnN0YW5jZS4gKENocmlzIFdpbHNvbikKPj4KPj4gU2lnbmVkLW9mZi1ieTogVHZy dGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KPj4gQ2M6IENocmlzIFdpbHNv biA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+PiBDYzogc3ZldGxhbmEua3VrYW5vdmFAaW50 ZWwuY29tCj4+IFJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KPj4gLS0tCj4+IMKgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCB8IDEw NyArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPj4gwqAgMSBmaWxlIGNoYW5nZWQsIDY1 IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oIAo+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdHJhY2UuaAo+PiBpbmRleCA1ZDRmNzg3NjUwODMuLjdhY2VhNDA1Mjc5OCAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oCj4+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAo+PiBAQCAtNTkxLDIxICs1OTEsMjYgQEAgVFJBQ0Vf RVZFTlQoaTkxNV9nZW1fcmluZ19zeW5jX3RvLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfU1RS VUNUX19lbnRyeSgKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmll bGQodTMyLCBkZXYpCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxk KHUzMiwgc3luY19mcm9tKQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19m aWVsZCh1MzIsIHN5bmNfdG8pCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2ZpZWxkKHUzMiwgZnJvbV9jbGFzcykKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIF9fZmllbGQodTMyLCBmcm9tX2luc3RhbmNlKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHRvX2NsYXNzKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHRvX2luc3RhbmNlKQo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHNlcW5vKQo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX2Zh c3RfYXNzaWduKAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5k ZXYgPSBmcm9tLT5pOTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPnN5bmNfZnJvbSA9IGZyb20tPmVuZ2luZS0+aWQ7Cj4+IC3C oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnN5bmNfdG8gPSB0by0+ZW5naW5l LT5pZDsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZnJvbV9jbGFz cyA9IGZyb20tPmVuZ2luZS0+dWFiaV9jbGFzczsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgX19lbnRyeS0+ZnJvbV9pbnN0YW5jZSA9IGZyb20tPmVuZ2luZS0+aW5zdGFuY2U7Cj4+ ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnRvX2NsYXNzID0gdG8tPmVu Z2luZS0+dWFiaV9jbGFzczsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+dG9faW5zdGFuY2UgPSB0by0+ZW5naW5lLT5pbnN0YW5jZTsKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8gPSBmcm9tLT5nbG9iYWxfc2Vxbm87Cj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICksCj4+IC3CoMKgwqDCoMKgwqDCoCBU UF9wcmludGsoImRldj0ldSwgc3luYy1mcm9tPSV1LCBzeW5jLXRvPSV1LCBzZXFubz0ldSIsCj4+ ICvCoMKgwqDCoMKgwqDCoCBUUF9wcmludGsoImRldj0ldSwgc3luYy1mcm9tPSV1OiV1LCBzeW5j LXRvPSV1OiV1LCBzZXFubz0ldSIsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2VudHJ5LT5kZXYsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zeW5j X2Zyb20sIF9fZW50cnktPnN5bmNfdG8sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2VudHJ5LT5mcm9tX2NsYXNzLCBfX2VudHJ5LT5mcm9tX2luc3RhbmNlLAo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+dG9fY2xhc3MsIF9fZW50cnktPnRvX2luc3RhbmNl LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8pCj4+IMKg ICk7Cj4+IEBAIC02MTYsNyArNjIxLDggQEAgVFJBQ0VfRVZFTlQoaTkxNV9yZXF1ZXN0X3F1ZXVl LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfU1RSVUNUX19lbnRyeSgKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBkZXYpCj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgaHdfaWQpCj4+IC3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgcmluZykKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBjbGFzcykKPj4gK8KgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBpbnN0YW5jZSkKPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBjdHgpCj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgc2Vxbm8pCj4+IMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgZmxhZ3MpCj4+ IEBAIC02MjUsMTUgKzYzMSwxNyBAQCBUUkFDRV9FVkVOVChpOTE1X3JlcXVlc3RfcXVldWUsCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9mYXN0X2Fzc2lnbigKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+ZGV2ID0gcnEtPmk5MTUtPmRybS5wcmltYXJ5LT5pbmRl eDsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aHdfaWQgPSBy cS0+Z2VtX2NvbnRleHQtPmh3X2lkOwo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBf X2VudHJ5LT5yaW5nID0gcnEtPmVuZ2luZS0+aWQ7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZW50cnktPmNsYXNzID0gcnEtPmVuZ2luZS0+dWFiaV9jbGFzczsKPj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aW5zdGFuY2UgPSBycS0+ZW5naW5lLT5p bnN0YW5jZTsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Y3R4 ID0gcnEtPmZlbmNlLmNvbnRleHQ7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPnNlcW5vID0gcnEtPmZlbmNlLnNlcW5vOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5mbGFncyA9IGZsYWdzOwo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCApLAo+PiAtwqDCoMKgwqDCoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUs IGh3X2lkPSV1LCByaW5nPSV1LCBjdHg9JXUsIHNlcW5vPSV1LCAKPj4gZmxhZ3M9MHgleCIsCj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmh3X2lk LCBfX2VudHJ5LT5yaW5nLCBfX2VudHJ5LT5jdHgsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBfX2VudHJ5LT5zZXFubywgX19lbnRyeS0+ZmxhZ3MpCj4+ICvCoMKgwqDCoMKgwqDCoCBU UF9wcmludGsoImRldj0ldSwgaHdfaWQ9JXUsIGVuZ2luZT0ldToldSwgY3R4PSV1LCBzZXFubz0l dSwgCj4+IGZsYWdzPTB4JXgiLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+ZGV2LCBfX2VudHJ5LT5od19pZCwgX19lbnRyeS0+Y2xhc3MsCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5pbnN0YW5jZSwgX19lbnRyeS0+Y3R4LCBfX2VudHJ5LT5z ZXFubywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmZsYWdzKQo+PiDC oCApOwo+PiDCoCBERUNMQVJFX0VWRU5UX0NMQVNTKGk5MTVfcmVxdWVzdCwKPj4gQEAgLTY0Myw3 ICs2NTEsOCBAQCBERUNMQVJFX0VWRU5UX0NMQVNTKGk5MTVfcmVxdWVzdCwKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIFRQX1NUUlVDVF9fZW50cnkoCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgZGV2KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGh3X2lkKQo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHJpbmcpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgY2xhc3MpCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgaW5zdGFuY2UpCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUzMiwgY3R4KQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHNlcW5vKQo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGdsb2JhbCkKPj4gQEAgLTY1MiwxNSAr NjYxLDE3IEBAIERFQ0xBUkVfRVZFTlRfQ0xBU1MoaTkxNV9yZXF1ZXN0LAo+PiDCoMKgwqDCoMKg wqDCoMKgwqAgVFBfZmFzdF9hc3NpZ24oCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIF9fZW50cnktPmRldiA9IHJxLT5pOTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmh3X2lkID0gcnEtPmdlbV9jb250 ZXh0LT5od19pZDsKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cmlu ZyA9IHJxLT5lbmdpbmUtPmlkOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Vu dHJ5LT5jbGFzcyA9IHJxLT5lbmdpbmUtPnVhYmlfY2xhc3M7Cj4+ICvCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlID0gcnEtPmVuZ2luZS0+aW5zdGFuY2U7Cj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmN0eCA9IHJxLT5mZW5j ZS5jb250ZXh0Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5z ZXFubyA9IHJxLT5mZW5jZS5zZXFubzsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgX19lbnRyeS0+Z2xvYmFsID0gcnEtPmdsb2JhbF9zZXFubzsKPj4gwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgKSwKPj4gLcKgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1 LCBod19pZD0ldSwgcmluZz0ldSwgY3R4PSV1LCBzZXFubz0ldSwgCj4+IGdsb2JhbD0ldSIsCj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPmh3X2lk LCBfX2VudHJ5LT5yaW5nLCBfX2VudHJ5LT5jdHgsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBfX2VudHJ5LT5zZXFubywgX19lbnRyeS0+Z2xvYmFsKQo+PiArwqDCoMKgwqDCoMKgwqAg VFBfcHJpbnRrKCJkZXY9JXUsIGh3X2lkPSV1LCBlbmdpbmU9JXU6JXUsIGN0eD0ldSwgc2Vxbm89 JXUsIAo+PiBnbG9iYWw9JXUiLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+ZGV2LCBfX2VudHJ5LT5od19pZCwgX19lbnRyeS0+Y2xhc3MsCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5pbnN0YW5jZSwgX19lbnRyeS0+Y3R4LCBfX2VudHJ5LT5z ZXFubywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmdsb2JhbCkKPj4g wqAgKTsKPj4gwqAgREVGSU5FX0VWRU5UKGk5MTVfcmVxdWVzdCwgaTkxNV9yZXF1ZXN0X2FkZCwK Pj4gQEAgLTY4Niw3ICs2OTcsOCBAQCBUUkFDRV9FVkVOVChpOTE1X3JlcXVlc3RfaW4sCj4+IMKg wqDCoMKgwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2VudHJ5KAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikKPj4gwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBod19pZCkKPj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCByaW5nKQo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNsYXNzKQo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGluc3RhbmNlKQo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGN0eCkKPj4gwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBzZXFubykKPj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBnbG9iYWxfc2Vxbm8pCj4+ IEBAIC02OTcsNyArNzA5LDggQEAgVFJBQ0VfRVZFTlQoaTkxNV9yZXF1ZXN0X2luLAo+PiDCoMKg wqDCoMKgwqDCoMKgwqAgVFBfZmFzdF9hc3NpZ24oCj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF9fZW50cnktPmRldiA9IHJxLT5pOTE1LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmh3X2lkID0gcnEtPmdl bV9jb250ZXh0LT5od19pZDsKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRy eS0+cmluZyA9IHJxLT5lbmdpbmUtPmlkOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBfX2VudHJ5LT5jbGFzcyA9IHJxLT5lbmdpbmUtPnVhYmlfY2xhc3M7Cj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlID0gcnEtPmVuZ2luZS0+aW5zdGFu Y2U7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmN0eCA9IHJx LT5mZW5jZS5jb250ZXh0Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Vu dHJ5LT5zZXFubyA9IHJxLT5mZW5jZS5zZXFubzsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgX19lbnRyeS0+Z2xvYmFsX3NlcW5vID0gcnEtPmdsb2JhbF9zZXFubzsKPj4gQEAg LTcwNSwxMCArNzE4LDEwIEBAIFRSQUNFX0VWRU5UKGk5MTVfcmVxdWVzdF9pbiwKPj4gwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cG9ydCA9IHBvcnQ7Cj4+IMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICksCj4+IC3CoMKgwqDCoMKgwqDCoCBUUF9wcmlu dGsoImRldj0ldSwgaHdfaWQ9JXUsIHJpbmc9JXUsIGN0eD0ldSwgc2Vxbm89JXUsIAo+PiBwcmlv PSV1LCBnbG9iYWw9JXUsIHBvcnQ9JXUiLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg X19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5od19pZCwgX19lbnRyeS0+cmluZywgX19lbnRyeS0+Y3R4 LAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8sIF9fZW50cnkt PnByaW8sIF9fZW50cnktPmdsb2JhbF9zZXFubywKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIF9fZW50cnktPnBvcnQpCj4+ICvCoMKgwqDCoMKgwqDCoCBUUF9wcmludGsoImRldj0ldSwg aHdfaWQ9JXUsIGVuZ2luZT0ldToldSwgY3R4PSV1LCBzZXFubz0ldSwgCj4+IHByaW89JXUsIGds b2JhbD0ldSwgcG9ydD0ldSIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5 LT5kZXYsIF9fZW50cnktPmh3X2lkLCBfX2VudHJ5LT5jbGFzcywKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgsIF9fZW50cnktPnNl cW5vLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cHJpbywgX19lbnRy eS0+Z2xvYmFsX3NlcW5vLCBfX2VudHJ5LT5wb3J0KQo+PiDCoCApOwo+PiDCoCBUUkFDRV9FVkVO VChpOTE1X3JlcXVlc3Rfb3V0LAo+PiBAQCAtNzE4LDcgKzczMSw4IEBAIFRSQUNFX0VWRU5UKGk5 MTVfcmVxdWVzdF9vdXQsCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2VudHJ5KAo+ PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikK Pj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBod19p ZCkKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCByaW5n KQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNsYXNz KQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGluc3Rh bmNlKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIs IGN0eCkKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMy LCBzZXFubykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQo dTMyLCBnbG9iYWxfc2Vxbm8pCj4+IEBAIC03MjgsMTYgKzc0MiwxNyBAQCBUUkFDRV9FVkVOVChp OTE1X3JlcXVlc3Rfb3V0LAo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgVFBfZmFzdF9hc3NpZ24oCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiA9IHJxLT5pOTE1 LT5kcm0ucHJpbWFyeS0+aW5kZXg7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPmh3X2lkID0gcnEtPmdlbV9jb250ZXh0LT5od19pZDsKPj4gLcKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cmluZyA9IHJxLT5lbmdpbmUtPmlkOwo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5jbGFzcyA9IHJxLT5lbmdpbmUtPnVh YmlfY2xhc3M7Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3Rh bmNlID0gcnEtPmVuZ2luZS0+aW5zdGFuY2U7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZW50cnktPmN0eCA9IHJxLT5mZW5jZS5jb250ZXh0Owo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5zZXFubyA9IHJxLT5mZW5jZS5zZXFubzsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Z2xvYmFsX3NlcW5vID0g cnEtPmdsb2JhbF9zZXFubzsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19l bnRyeS0+Y29tcGxldGVkID0gaTkxNV9yZXF1ZXN0X2NvbXBsZXRlZChycSk7Cj4+IMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICksCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRQ X3ByaW50aygiZGV2PSV1LCBod19pZD0ldSwgcmluZz0ldSwgY3R4PSV1LCBzZXFubz0ldSwgCj4+ IGdsb2JhbD0ldSwgY29tcGxldGVkPz0ldSIsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIF9fZW50cnktPmRldiwgX19lbnRyeS0+aHdfaWQsIF9fZW50cnktPnJpbmcsCj4+ IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmN0eCwgX19lbnRy eS0+c2Vxbm8sCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1LCBo d19pZD0ldSwgZW5naW5lPSV1OiV1LCBjdHg9JXUsIAo+PiBzZXFubz0ldSwgZ2xvYmFsPSV1LCBj b21wbGV0ZWQ/PSV1IiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19l bnRyeS0+ZGV2LCBfX2VudHJ5LT5od19pZCwgX19lbnRyeS0+Y2xhc3MsCj4+ICvCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgs IF9fZW50cnktPnNlcW5vLAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBfX2VudHJ5LT5nbG9iYWxfc2Vxbm8sIF9fZW50cnktPmNvbXBsZXRlZCkKPj4gwqAgKTsKPj4g QEAgLTc3MSwyMSArNzg2LDIzIEBAIFRSQUNFX0VWRU5UKGludGVsX2VuZ2luZV9ub3RpZnksCj4+ IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2VudHJ5KAo+PiDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikKPj4gLcKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCByaW5nKQo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNsYXNzKQo+PiArwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGluc3RhbmNlKQo+PiDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIHNlcW5vKQo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZChib29sLCB3YWl0ZXJzKQo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKSwKPj4gwqDCoMKgwqDCoMKgwqDCoMKg IFRQX2Zhc3RfYXNzaWduKAo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Vu dHJ5LT5kZXYgPSBlbmdpbmUtPmk5MTUtPmRybS5wcmltYXJ5LT5pbmRleDsKPj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+cmluZyA9IGVuZ2luZS0+aWQ7Cj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmNsYXNzID0gZW5naW5lLT51YWJpX2Ns YXNzOwo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5pbnN0YW5jZSA9 IGVuZ2luZS0+aW5zdGFuY2U7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9f ZW50cnktPnNlcW5vID0gaW50ZWxfZW5naW5lX2dldF9zZXFubyhlbmdpbmUpOwo+PiDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT53YWl0ZXJzID0gd2FpdGVyczsKPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKSwKPj4gLcKgwqDCoMKgwqDCoMKgIFRQ X3ByaW50aygiZGV2PSV1LCByaW5nPSV1LCBzZXFubz0ldSwgd2FpdGVycz0ldSIsCj4+IC3CoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnktPnJpbmcsIF9fZW50 cnktPnNlcW5vLAo+PiAtwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+d2FpdGVy cykKPj4gK8KgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1LCBlbmdpbmU9JXU6JXUsIHNl cW5vPSV1LCB3YWl0ZXJzPSV1IiwKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50 cnktPmRldiwgX19lbnRyeS0+Y2xhc3MsIF9fZW50cnktPmluc3RhbmNlLAo+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8sIF9fZW50cnktPndhaXRlcnMpCj4+IMKg ICk7Cj4+IMKgIERFRklORV9FVkVOVChpOTE1X3JlcXVlc3QsIGk5MTVfcmVxdWVzdF9yZXRpcmUs Cj4+IEBAIC04MDAsNyArODE3LDggQEAgVFJBQ0VfRVZFTlQoaTkxNV9yZXF1ZXN0X3dhaXRfYmVn aW4sCj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBUUF9TVFJVQ1RfX2VudHJ5KAo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGRldikKPj4gwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBod19pZCkKPj4gLcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCByaW5nKQo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGNsYXNzKQo+PiArwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MTYsIGluc3RhbmNlKQo+PiDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZCh1MzIsIGN0eCkKPj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBzZXFubykKPj4g wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTMyLCBnbG9iYWwp Cj4+IEBAIC04MTYsMTcgKzgzNCwxOSBAQCBUUkFDRV9FVkVOVChpOTE1X3JlcXVlc3Rfd2FpdF9i ZWdpbiwKPj4gwqDCoMKgwqDCoMKgwqDCoMKgIFRQX2Zhc3RfYXNzaWduKAo+PiDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYgPSBycS0+aTkxNS0+ZHJtLnByaW1h cnktPmluZGV4Owo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5o d19pZCA9IHJxLT5nZW1fY29udGV4dC0+aHdfaWQ7Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIF9fZW50cnktPnJpbmcgPSBycS0+ZW5naW5lLT5pZDsKPj4gK8KgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Y2xhc3MgPSBycS0+ZW5naW5lLT51YWJpX2NsYXNzOwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5pbnN0YW5jZSA9IHJxLT5l bmdpbmUtPmluc3RhbmNlOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2Vu dHJ5LT5jdHggPSBycS0+ZmVuY2UuY29udGV4dDsKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgX19lbnRyeS0+c2Vxbm8gPSBycS0+ZmVuY2Uuc2Vxbm87Cj4+IMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmdsb2JhbCA9IHJxLT5nbG9iYWxfc2Vxbm87 Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmZsYWdzID0gZmxh Z3M7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICksCj4+IC3CoMKgwqDCoMKg wqDCoCBUUF9wcmludGsoImRldj0ldSwgaHdfaWQ9JXUsIHJpbmc9JXUsIGN0eD0ldSwgc2Vxbm89 JXUsIAo+PiBnbG9iYWw9JXUsIGJsb2NraW5nPSV1LCBmbGFncz0weCV4IiwKPj4gLcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPmRldiwgX19lbnRyeS0+aHdfaWQsIF9fZW50cnkt PnJpbmcsIF9fZW50cnktPmN0eCwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50 cnktPnNlcW5vLCBfX2VudHJ5LT5nbG9iYWwsCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCAhIShfX2VudHJ5LT5mbGFncyAmIEk5MTVfV0FJVF9MT0NLRUQpLCBfX2VudHJ5LT5mbGFncykK Pj4gK8KgwqDCoMKgwqDCoMKgIFRQX3ByaW50aygiZGV2PSV1LCBod19pZD0ldSwgZW5naW5lPSV1 OiV1LCBjdHg9JXUsIHNlcW5vPSV1LCAKPj4gZ2xvYmFsPSV1LCBibG9ja2luZz0ldSwgZmxhZ3M9 MHgleCIsCj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50 cnktPmh3X2lkLCBfX2VudHJ5LT5jbGFzcywKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPmluc3RhbmNlLCBfX2VudHJ5LT5jdHgsIF9fZW50cnktPnNlcW5vLAo+PiArwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+Z2xvYmFsLCAhIShfX2VudHJ5LT5mbGFn cyAmIEk5MTVfV0FJVF9MT0NLRUQpLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19l bnRyeS0+ZmxhZ3MpCj4+IMKgICk7Cj4+IMKgIERFRklORV9FVkVOVChpOTE1X3JlcXVlc3QsIGk5 MTVfcmVxdWVzdF93YWl0X2VuZCwKPj4gQEAgLTk2NiwyMSArOTg2LDI0IEBAIFRSQUNFX0VWRU5U KHN3aXRjaF9tbSwKPj4gwqDCoMKgwqDCoCBUUF9BUkdTKGVuZ2luZSwgdG8pLAo+PiDCoMKgwqDC oMKgIFRQX1NUUlVDVF9fZW50cnkoCj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQo dTMyLCByaW5nKQo+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxkKHUxNiwgY2xhc3Mp Cj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZmllbGQodTE2LCBpbnN0YW5jZSkKPj4gwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZChzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq LCB0bykKPj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19maWVsZChzdHJ1Y3QgaTkxNV9h ZGRyZXNzX3NwYWNlICosIHZtKQo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2ZpZWxk KHUzMiwgZGV2KQo+PiDCoMKgwqDCoMKgICksCj4+IMKgwqDCoMKgwqAgVFBfZmFzdF9hc3NpZ24o Cj4+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnJpbmcgPSBlbmdpbmUtPmlkOwo+ PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5jbGFzcyA9IGVuZ2luZS0+dWFiaV9j bGFzczsKPj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgX19lbnRyeS0+aW5zdGFuY2UgPSBlbmdp bmUtPmluc3RhbmNlOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT50byA9 IHRvOwo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT52bSA9IHRvLT5wcGd0 dD8gJnRvLT5wcGd0dC0+YmFzZSA6IE5VTEw7Cj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg IF9fZW50cnktPmRldiA9IGVuZ2luZS0+aTkxNS0+ZHJtLnByaW1hcnktPmluZGV4Owo+PiDCoMKg wqDCoMKgICksCj4+IC3CoMKgwqAgVFBfcHJpbnRrKCJkZXY9JXUsIHJpbmc9JXUsIGN0eD0lcCwg Y3R4X3ZtPSVwIiwKPj4gLcKgwqDCoMKgwqDCoMKgwqDCoCBfX2VudHJ5LT5kZXYsIF9fZW50cnkt PnJpbmcsIF9fZW50cnktPnRvLCBfX2VudHJ5LT52bSkKPj4gK8KgwqDCoCBUUF9wcmludGsoImRl dj0ldSwgZW5naW5lPSV1OiV1LCBjdHg9JXAsIGN0eF92bT0lcCIsCj4+ICvCoMKgwqDCoMKgwqDC oMKgwqAgX19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5jbGFzcywgX19lbnRyeS0+aW5zdGFuY2UsIF9f ZW50cnktPnRvLAo+PiArwqDCoMKgwqDCoMKgwqDCoMKgIF9fZW50cnktPnZtKQo+PiDCoCApOwo+ PiDCoCAjZW5kaWYgLyogX0k5MTVfVFJBQ0VfSF8gKi8KPiAKPiAKPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QK PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==