From mboxrd@z Thu Jan 1 00:00:00 1970 From: Julien Grall Subject: Re: [RFC 03/11] acpi: arm: Code to generate Hardware Domains IORT Date: Thu, 18 Jan 2018 18:32:05 +0000 Message-ID: <664c745c-3856-67a5-cf26-34f8bdf678d7@linaro.org> References: <20180102092809.1841-1-manish.jaggi@linaro.org> <20180102092809.1841-4-manish.jaggi@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ecEyx-0007c2-4O for xen-devel@lists.xenproject.org; Thu, 18 Jan 2018 18:32:11 +0000 Received: by mail-wr0-x241.google.com with SMTP id f11so13112081wre.4 for ; Thu, 18 Jan 2018 10:32:08 -0800 (PST) In-Reply-To: <20180102092809.1841-4-manish.jaggi@linaro.org> Content-Language: en-US List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: manish.jaggi@linaro.org, xen-devel@lists.xenproject.org, sameer.goel@linaro.org, andre.przywara@linaro.org Cc: manish.jaggi@cavium.com List-Id: xen-devel@lists.xenproject.org SGksCgpPbiAwMi8wMS8xOCAwOToyOCwgbWFuaXNoLmphZ2dpQGxpbmFyby5vcmcgd3JvdGU6Cj4g RnJvbTogTWFuaXNoIEphZ2dpIDxtYW5pc2guamFnZ2lAbGluYXJvLm9yZz4KPiAKCkZpcnN0IG9m IGFsbCwgSSB3b3VsZCBleHBlY3QgYSBjb21taXQgbWVzc2FnZSBleHBsYWluaW5nIHJvdWdobHkg dGhlIApsb2dpYy4gSSBhbSBvbmx5IGdvaW5nIHRvIHNraW0gdGhyb3VnaCB0aGlzIHBhdGNoIGFu ZCB3aWxsIHdhaXQgYSBwcm9wZXIgCmRlc2NyaXB0aW9uIHRvIGZ1bGx5IHJlYWQgaXQuCgpBIGdl bmVyYWwgY29tbWVudCwgcGxlYXNlIHJlc3BlY3QgdGhlIGNvZGluZyBzdHlsZS4gTW9zdCBvZiBl cnJvciBjYW4gYmUgCmF2b2lkZWQgYnkgdXNpbmcgdGhlIGNvZGluZyBzdHlsZSBmcm9tIHRoZSBm aXJzdCBsaW5lIHlvdSB3cml0ZS4gQW5kIHlvdSAKYXJlIGFsc28gc2F2aW5nIGJhbmR3aWR0aCBy ZXZpZXcuCgo+IFNpbmdlZC1vZmYtYnk6IE1hbmlzaCBKYWdnaSA8bWFuaXNoLmphZ2dpQGxpbmFy by5vcmc+Cj4gLS0tCj4gICB4ZW4vYXJjaC9hcm0vZG9tYWluX2J1aWxkLmMgICAgIHwgIDI4ICsr KysrCj4gICB4ZW4vZHJpdmVycy9hY3BpL2FybS9nZW4taW9ydC5jIHwgMjUzICsrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAgIHhlbi9pbmNsdWRlL2FjcGkvZ2VuLWlv cnQuaCAgICAgfCAgIDEgKwo+ICAgeGVuL2luY2x1ZGUvYXNtLWFybS9hY3BpLmggICAgICB8ICAg MSArCj4gICA0IGZpbGVzIGNoYW5nZWQsIDI4MiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Cj4gCj4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNo L2FybS9kb21haW5fYnVpbGQuYwo+IGluZGV4IGY1ZDVlM2QyNzEuLjk4MzE5NDMxNDcgMTAwNjQ0 Cj4gLS0tIGEveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4gKysrIGIveGVuL2FyY2gvYXJt L2RvbWFpbl9idWlsZC5jCj4gQEAgLTE2NTQsNiArMTY1NCw4IEBAIHN0YXRpYyBpbnQgYWNwaV9j cmVhdGVfeHNkdChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgbWVtYmFuayB0YmxfYWRkW10pCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX1NJR19GQURULCB0YmxfYWRkW1RCTF9G QURUXS5zdGFydCk7Cj4gICAgICAgYWNwaV94c2R0X21vZGlmeV9lbnRyeSh4c2R0LT50YWJsZV9v ZmZzZXRfZW50cnksIGVudHJ5X2NvdW50LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg QUNQSV9TSUdfTUFEVCwgdGJsX2FkZFtUQkxfTUFEVF0uc3RhcnQpOwo+ICsgICAgYWNwaV94c2R0 X21vZGlmeV9lbnRyeSh4c2R0LT50YWJsZV9vZmZzZXRfZW50cnksIGVudHJ5X2NvdW50LAo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJX1NJR19JT1JULCB0YmxfYWRkW1RCTF9JT1JU XS5zdGFydCk7Cj4gICAgICAgeHNkdC0+dGFibGVfb2Zmc2V0X2VudHJ5W2VudHJ5X2NvdW50XSA9 IHRibF9hZGRbVEJMX1NUQU9dLnN0YXJ0Owo+ICAgCj4gICAgICAgeHNkdC0+aGVhZGVyLmxlbmd0 aCA9IHRhYmxlX3NpemU7Cj4gQEAgLTE3MDQsNiArMTcwNiwyOCBAQCBzdGF0aWMgaW50IGFjcGlf Y3JlYXRlX3N0YW8oc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IG1lbWJhbmsgdGJsX2FkZFtdKQo+ ICAgICAgIHJldHVybiAwOwo+ICAgfQo+ICAgCj4gK3N0YXRpYyBpbnQgYWNwaV9jcmVhdGVfaW9y dChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgbWVtYmFuayB0YmxfYWRkW10pCj4gK3sKPiArICAg IHN0cnVjdCBhY3BpX3RhYmxlX2lvcnQgKmh3ZG9tX3RhYmxlOwo+ICsgICAgdW5zaWduZWQgaW50 IHNpemUgPSAwOwo+ICsKPiArICAgIHRibF9hZGRbVEJMX0lPUlRdLnN0YXJ0ID0gZC0+YXJjaC5l ZmlfYWNwaV9ncGEKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBhY3BpX2dldF90 YWJsZV9vZmZzZXQodGJsX2FkZCwgVEJMX0lPUlQpOwo+ICsgICAgaHdkb21fdGFibGUgPSBkLT5h cmNoLmVmaV9hY3BpX3RhYmxlCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgYWNw aV9nZXRfdGFibGVfb2Zmc2V0KHRibF9hZGQsIFRCTF9JT1JUKTsKClRoaXMgY29kZSAoYW5kIHBy b2JhYmx5IG90aGVyIGJpdHMgb2YgdGhpcyBzZXJpZXMpIHNlZW1zIHRvIGFzc3VtZSB0aGF0IApJ T1JUIGlzIGFsd2F5cyBwcmVzZW50LiBUaGlzIG1heSBub3QgYmUgdHJ1ZSwgdGhpbmsgb2YgYSBw bGF0Zm9ybSB3aXRoIApubyBNU0kgY29udHJvbGxlciBvciBYZW4gYnVpbHQgd2l0aCBubyBJVFMg c3VwcG9ydC4KClNvIHlvdSBoYXZlIHRvIGZpZ3VyZSBvdXQgd2hldGhlciB5b3UgbmVlZCB0byBn ZW5lcmF0ZSB0aGUgSU9SVCB0YWJsZSAKZm9yIHRoZSBoYXJkd2FyZSBkb21haW4uCgo+ICsKPiAr ICAgIGlmICggcHJlcGFyZV9pb3J0KGh3ZG9tX3RhYmxlLCAmc2l6ZSkgKQo+ICsgICAgewo+ICsg ICAgICAgIHByaW50aygiRmFpbGVkIHRvIHdyaXRlIElPUlQgdGFibGVcbiIpOwo+ICsgICAgICAg IHJldHVybiAtRUlOVkFMOwo+ICsgICAgfQo+ICsgICAgcHJpbnRrKCIlcyAlZCAlZCBcclxuIiwg X19mdW5jX18sIF9fTElORV9fLCBzaXplKTsKClRoaXMgc291bmRzIGxpa2UgYSBkZWJ1ZyBtZXNz YWdlLgoKPiArCj4gKyAgICB0YmxfYWRkW1RCTF9JT1JUXS5zaXplID0gc2l6ZTsKPiArICAgIHBy aW50aygiJXMgJWQgJWQgXHJcbiIsIF9fZnVuY19fLCBfX0xJTkVfXywgc2l6ZSk7CgpEaXR0by4K Ck5ld2xpbmUgaGVyZS4KCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsKPiAgIHN0YXRpYyBpbnQg YWNwaV9jcmVhdGVfbWFkdChzdHJ1Y3QgZG9tYWluICpkLCBzdHJ1Y3QgbWVtYmFuayB0YmxfYWRk W10pCj4gICB7Cj4gICAgICAgc3RydWN0IGFjcGlfdGFibGVfaGVhZGVyICp0YWJsZSA9IE5VTEw7 Cj4gQEAgLTE4OTksNiArMTkyMywxMCBAQCBzdGF0aWMgaW50IHByZXBhcmVfYWNwaShzdHJ1Y3Qg ZG9tYWluICpkLCBzdHJ1Y3Qga2VybmVsX2luZm8gKmtpbmZvKQo+ICAgICAgIGlmICggcmMgIT0g MCApCj4gICAgICAgICAgIHJldHVybiByYzsKPiAgIAo+ICsgICAgcmMgPSBhY3BpX2NyZWF0ZV9p b3J0KGQsIHRibF9hZGQpOwo+ICsgICAgaWYgKCByYyAhPSAwICkKPiArICAgICAgICByZXR1cm4g cmM7Cj4gKwo+ICAgICAgIHJjID0gYWNwaV9jcmVhdGVfeHNkdChkLCB0YmxfYWRkKTsKPiAgICAg ICBpZiAoIHJjICE9IDAgKQo+ICAgICAgICAgICByZXR1cm4gcmM7Cj4gZGlmZiAtLWdpdCBhL3hl bi9kcml2ZXJzL2FjcGkvYXJtL2dlbi1pb3J0LmMgYi94ZW4vZHJpdmVycy9hY3BpL2FybS9nZW4t aW9ydC5jCj4gaW5kZXggM2ZjMzI5NTljNi4uZjM2ODAwMDc1MyAxMDA2NDQKPiAtLS0gYS94ZW4v ZHJpdmVycy9hY3BpL2FybS9nZW4taW9ydC5jCj4gKysrIGIveGVuL2RyaXZlcnMvYWNwaS9hcm0v Z2VuLWlvcnQuYwo+IEBAIC0yMSw2ICsyMSwyNTcgQEAKPiAgICNpbmNsdWRlIDxhY3BpL3JpZG1h cC5oPgo+ICAgI2luY2x1ZGUgPHhlbi9hY3BpLmg+Cj4gICAKPiArLyoKPiArICogU3RydWN0dXJl IG9mIEhhcmR3YXJlIGRvbWFpbidzIElPUlQKPiArICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KPiArICoKPiArICogQmVsb3cgaXMgdGhlIHN0cnVjdHVyZSBvZiB0aGUgSU9S VCB3aGljaCB0aGlzIGNvZGUgZ2VuZXJhdGVzLgo+ICsgKgo+ICsgKiBbSU9SVCBIZWFkZXJdCj4g KyAqIFtJVFMgR3JvdXAgMSBdCj4gKyAqIFtJVFMgR3JvdXAgTiBdCj4gKyAqIFtQQ0lSQyBOb2Rl IDFdCj4gKyAqIFtQQ0lSQyBJRE1BUCBlbnRyeSAxXQo+ICsgKiBbUENJUkMgSURNQVAgZW50cnkg Tl0KPiArICogW1BDSVJDIE5vZGUgTl0KPiArICoKPiArICogcmVxdWVzdGVySWQtIGRldmljZUlk IG1hcHBpbmcgbGlzdCBwb3BsYXRlZCBieSBwYXJzaW5nIElPUlQgaXMgdXNlZAoKcy9kLS9kIC0v CnMvcG9wbGF0ZWQvcG9wdWxhdGVkLwoKPiArICogdG8gY3JlYXRlIG5vZGVzIGFuZCBpZG1hcHMu Cj4gKyAqIFdlIGhhdmUgb25lIHNtYWxsIHByb2JsZW0sIGhvdyB0byByZXNvbHZlIHRoZSBpdHMg Z3Jvb3VwIG5vZGUgb2Zmc2V0IGZyb20KCnMvZ3Jvb3VwL2dyb3VwLwoKPiArICogdGhlIGZpcm13 YXJlIGlvcnQgdG8gdGhlIG9uZXMgaW4gaGFyZHdhcmUgZG9tYWlucyBJT1JULgoKcy9pb3J0L0lP UlQvCgo+ICsgKgo+ICsgKiBTaW5jZSB0aGUgSVRTIGdyb3VwIG5vZGUgcG9pbnRlciBzdG9yZWQg d2l0aCB0aGUgcmlkLWRldmlkIG1hcCBpcyB1c2VkCj4gKyAqIHRvIHBvcHVsYXRlIHRoZSBJVFMg R3JvdXAgbm9kZXMgaW4gdGhlIGhhcmR3YXJlIGRvbWFpbnMnIElPUlQuCj4gKyAqIFdlIGNyZWF0 ZSBhbm90aGVyIG1hcCB0byBzYXZlIHRoZSBvZmZzZXQgb2YgdGhlIElUUyBncm91cCBub2RlIHdy aXR0ZW4KPiArICogaW4gdGhlIGhhcmR3YXJlIGRvbWFpbiBJT1JUIHdpdGggdGhlIElUUyBub2Rl IHBvaW50ZXIgaW4gdGhlIGZpcm13YXJlIElPUlQuCj4gKyAqCj4gKyAqIFRoaXMgb2Zmc2V0IGlz IGxhdGVyIHVzZWQgd2hlbiB3cml0aW5nIHBjaXJjIGlkbWFwcyBvdXRwdXRfcmVmZXJlbmNlLgo+ ICsgKi8KPiArc3RydWN0IGl0c19ub2RlX29mZnNldF9tYXAKPiArewo+ICsgICAgc3RydWN0IGFj cGlfaW9ydF9ub2RlICppdHNfbm9kZTsKPiArICAgIHVuc2lnbmVkIGludCBvZmZzZXQ7Cj4gKyAg ICBzdHJ1Y3QgbGlzdF9oZWFkIGVudHJ5Owo+ICt9OwoKbmV3bGluZS4KCj4gK3N0cnVjdCBsaXN0 X2hlYWQgaXRzX21hcF9saXN0OwpJZiB5b3UgdXNlIExJU1RfSEVBRChpdHNfbWFwX2xpc3QpIHlv dSBkb24ndCBuZWVkIHRvIGRvIApMSVNUX0hFQURfSU5JVCguLi4pIGJlbG93LgoKQWxzbywgc3Rh dGljIGluIGZyb250LiBVbmxlc3MgdGhpcyBzaG91bGQgYmUgZXhwb3J0ZWQgYW5kIHRoZXJlZm9y ZSBoYXZlIAphIGNvcnJlc3BvbmRpbmcgbGluZSBpbiB0aGUgaGVhZGVyLgoKPiArCj4gK2ludCBz ZXRfaXRzX25vZGVfb2Zmc2V0KHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqaXRzX25vZGUsIHVuc2ln bmVkIGludCBvZmZzZXQpCgpEaXR0by4gSSBhbSBub3QgZ29pbmcgdG8gcG9pbnQgYWxsIG9mIHRo ZW0uIFNvIEkgZXhwZWN0IHlvdSB0byBmaXggdGhlbSAKYnkgbmV4dCB2ZXJzaW9uLgoKPiArewo+ ICsgICAgc3RydWN0IGl0c19ub2RlX29mZnNldF9tYXAgKml0c19tYXA7CgpOZXdsaW5lLgoKPiAr ICAgIGxpc3RfZm9yX2VhY2hfZW50cnkoaXRzX21hcCwgJml0c19tYXBfbGlzdCwgZW50cnkpCj4g KyAgICB7Cj4gKyAgICAgICAgaWYgKCBpdHNfbWFwLT5pdHNfbm9kZSA9PSBpdHNfbm9kZSApCj4g KyAgICAgICAgICAgIHJldHVybiAwOwo+ICsgICAgfQoKSWYgSSBnZXQgaXQgY29ycmVjdGx5LCB0 aGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGEgbmV3IElUUyBub2RlIGlmIHRoZXJlIAphcmUgbm90 IGFscmVhZHkgYW4gSVRTIG5vZGUgd2l0aCBhIGdpdmVuIG9mZnNldC4gUmlnaHQ/IEFueWhvdywg cGxlYXNlIApkb2N1bWVudCB0aGUgZnVuY3Rpb24uCgo+ICsKPiArICAgIGl0c19tYXAgPSB4emFs bG9jKHN0cnVjdCBpdHNfbm9kZV9vZmZzZXRfbWFwKTsKPiArICAgIGlmICggIWl0c19tYXAgKQo+ ICsgICAgICAgIHJldHVybiAtRU5PTUVNOwo+ICsKPiArICAgIGl0c19tYXAtPml0c19ub2RlID0g aXRzX25vZGU7Cj4gKyAgICBpdHNfbWFwLT5vZmZzZXQgPSBvZmZzZXQ7Cj4gKyAgICBsaXN0X2Fk ZF90YWlsKCZpdHNfbWFwLT5lbnRyeSwgJml0c19tYXBfbGlzdCk7Cj4gKwo+ICsgICAgcmV0dXJu IDA7Cj4gK30KCm5ld2xpbmUuCgo+ICsvKgo+ICsgKiBUaGlzIG1ldGhvZCB3b3VsZCBiZSB1c2Vk IGluIHdyaXRlX3BjaXJjX25vZGVzIHdoZW4gd3JpdGluZyBpZG1hcHMKCkl0IGlzIG5vdCByZWFs bHkgaW50ZXJlc3RpbmcgdG8ga25vdyB3aG8gdXNlIGl0LiBJdCBpcyBtb3JlIGludGVyZXN0aW5n IAp0byBrbm93IHdoYXQgdGhpcyBmdW5jdGlvbiBkb2VzLgoKPiArICovCj4gK3Vuc2lnbmVkIGlu dCBnZXRfaXRzX25vZGVfb2Zmc2V0KHN0cnVjdCBhY3BpX2lvcnRfbm9kZSAqaXRzX25vZGUpCj4g K3sKPiArICAgIHN0cnVjdCBpdHNfbm9kZV9vZmZzZXRfbWFwICppdHNfbWFwOwoKbmV3bGluZS4K Cj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0c19tYXAsICZpdHNfbWFwX2xpc3QsIGVudHJ5 KQo+ICsgICAgewo+ICsgICAgICAgIGlmICggaXRzX21hcC0+aXRzX25vZGUgPT0gaXRzX25vZGUg KQo+ICsgICAgICAgICAgICByZXR1cm4gaXRzX21hcC0+b2Zmc2V0Owo+ICsgICAgfQo+ICsKPiAr ICAgIHJldHVybiAwOwo+ICt9Cj4gKwo+ICt2b2lkIGZyZWVfaXRzX25vZGVfb2Zmc2V0X2xpc3Qo dm9pZCkKPiArewo+ICsKPiArICAgIHN0cnVjdCBpdHNfbm9kZV9vZmZzZXRfbWFwICppdHNfbWFw OwoKTmV3bGluZSBoZXJlIHBsZWFzZS4KCj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KGl0c19t YXAsICZpdHNfbWFwX2xpc3QsIGVudHJ5KQo+ICsgICAgICAgIHhmcmVlKGl0c19tYXApOwoKVGhh dCBkb2VzIG5vdCBzb3VuZCByZWFsbHkgc2FmZS4gbGlzdF9mb3JfZWFjaF9lbnRyeSB3aWxsIHJl dXNlIHRoZSAKY3VycmVudCBlbnRyeSB0byBmaW5kIHRoZSBuZXh0LiBCdXQgeW91IGZyZWVkIGl0 LiBTbyBJIHRoaW5rIHlvdSBuZWVkIHRvIAp1c2UgbGlzdF9mb3JfZWFjaF9zYWZlIGhlcmUuCgo+ ICsKPiArICAgIGxpc3RfZGVsKCZpdHNfbWFwX2xpc3QpOwoKU2hvdWxkbid0IHlvdSByZW1vdmUg ZW50cnkgb25lIGJ5IG9uZT8KCj4gK30KPiArCj4gK3ZvaWQgd3JpdGVfaXRzX2dyb3VwKHU4ICpp b3J0LCB1bnNpZ25lZCBpbnQgKm9mZnNldCwgdW5zaWduZWQgaW50ICpudW1fbm9kZXMpCgpQbGVh c2UgdXNlIHVpbnQ4X3QuIEJ1dCBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIGNoYXIgaGVyZS4KCj4g K3sKPiArICAgIHN0cnVjdCByaWRfZGV2aWNlaWRfbWFwICpybWFwOwo+ICsgICAgdW5zaWduZWQg aW50IG9mID0gKm9mZnNldDsKCkxvb2tpbmcgYXQgdGhlIGNvZGUsIEkgZG9uJ3QgdGhpbmsgb2Yg aXMgdXNlZnVsLiBZb3UgY2FuIGp1c3QgaW5jcmVtZW50IAoqb2Zmc2V0IGRpcmVjdGx5LgoKPiAr ICAgIGludCBuPTA7Cgp1bnNpZ25lZCBpbnQgbiA9IDA7CgpBbHNvLCBuZXdsaW5lIGhlcmUgcGxl YXNlLgoKPiArICAgIElOSVRfTElTVF9IRUFEKCZpdHNfbWFwX2xpc3QpOwoKTm8gbmVlZCBmb3Ig dGhpcyBpZiB5b3UgdXNlIExJU1RfSEVBRCguLi4pIGZvciBkZWNsYXJpbmcgdGhlIHZhcmlhYmxl IGFzIApzdWdnZXN0ZWQgYWJvdmUuCgo+ICsgICAgLyoKPiArICAgICAqIHJpZF9kZXZpY2VpZF9t YXBfbGlzdCBpcyBpdGVyYXRlZCB0byBnZXQgdW5pcXVlIGl0cyBncm91cCBub2Rlcwo+ICsgICAg ICogRWFjaCB1bmlxdWUgSVRTIGdyb3VwIG5vZGUgaXMgd3JpdHRlbiBpbiBoYXJkd2FyZSBkb21h aW5zIElPUlQKPiArICAgICAqIGJ5IHVzaW5nIHNvbWUgdmFsdWVzIGZyb20gdGhlIGZpcm13YXJl IElUUyBncm91cCBub2RlLgo+ICsgICAgICovCj4gKyAgICBsaXN0X2Zvcl9lYWNoX2VudHJ5KHJt YXAsICZyaWRfZGV2aWNlaWRfbWFwX2xpc3QsIGVudHJ5KQo+ICsgICAgewo+ICsgICAgICAgIHN0 cnVjdCBhY3BpX2lvcnRfbm9kZSAqbm9kZTsKPiArICAgICAgICBzdHJ1Y3QgYWNwaV9pb3J0X2l0 c19ncm91cCAqZ3JwOwo+ICsgICAgICAgIHN0cnVjdCBhY3BpX2lvcnRfaXRzX2dyb3VwICpmd19n cnA7Cj4gKwo+ICsgICAgICAgIC8qIHNhdmUgaXRzX25vZGVfb2Zmc2V0X21hcCBpbiBhIGxpc3Qg dW5pcXVlbHkgKi8KPiArICAgICAgICBpZiAoICFzZXRfaXRzX25vZGVfb2Zmc2V0KHJtYXAtPml0 c19ub2RlLCBvZikgKQoKSSBhbSBhIGJpdCBjb25mdXNlZCBoZXJlLiBTaG91bGRuJ3QgeW91IHJl dHVybiBhbiBlcnJvciBpZiB5b3UgYXJlIAp1bmFibGUgdG8gc2F2ZSB0aGUgSVRTIG5vZGUgb2Zm c2V0PwoKPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIG5vZGUgPSAoc3RydWN0IGFjcGlfaW9y dF9ub2RlICopICZpb3J0W29mXTsKPiArICAgICAgICAgICAgZ3JwID0gKHN0cnVjdCBhY3BpX2lv cnRfaXRzX2dyb3VwICopKCZub2RlLT5ub2RlX2RhdGEpOwo+ICsKPiArICAgICAgICAgICAgbm9k ZS0+dHlwZSA9IEFDUElfSU9SVF9OT0RFX0lUU19HUk9VUDsKPiArICAgICAgICAgICAgbm9kZS0+ bGVuZ3RoID0gc2l6ZW9mKHN0cnVjdCBhY3BpX2lvcnRfbm9kZSkgKwo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfaW9ydF9pdHNfZ3JvdXApIC0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKG5vZGUtPm5vZGVfZGF0YSk7Cj4gKwo+ICsg ICAgICAgICAgICBub2RlLT5yZXZpc2lvbiA9IHJtYXAtPml0c19ub2RlLT5yZXZpc2lvbjsKCkkg YW0gbm90IHN1cmUgdGhpcyBpcyBjb3JyZWN0LiBZb3UgY29weSB0aGUgcmV2aXNpb24gZnJvbSB0 aGUgSU9SVCBidXQgCmdlbmVyYXRlIGl0IGZyb20gc2NyYXRjaC4gV2hhdCBpZiB0aGUgaG9zdCBJ T1JUIGhhcyBiZWVuIHVwZ3JhZGUgdG8gYSAKbmV3ZXIgcmV2aXNpb24/IEJ1dCBoZXJlIHlvdSBz dGlsbCBnZW5lcmF0ZSByZXYgMSAoSSB0aGluaykuIFNvIHlvdSB3aWxsIApjb25mdXNlIHRoZSBo YXJkd2FyZSBkb21haW4ga2VybmVsLgoKPiArICAgICAgICAgICAgbm9kZS0+cmVzZXJ2ZWQgPSAw Owo+ICsgICAgICAgICAgICBub2RlLT5tYXBwaW5nX2NvdW50ID0gMDsKPiArICAgICAgICAgICAg bm9kZS0+bWFwcGluZ19vZmZzZXQ9IDA7CgpJIHNpbmdsZSBsaW5lIGNvbW1lbnQgd291bGQgYmUg bmljZSBoZXJlIHRvIGV4cGxhaW4gd2h5IG1hcHBpbmdfY291bnQgaXMgMC4KCj4gKwo+ICsgICAg ICAgICAgICBmd19ncnAgPSAoc3RydWN0IGFjcGlfaW9ydF9pdHNfZ3JvdXAgKikoJnJtYXAtPml0 c19ub2RlLT5ub2RlX2RhdGEpOwo+ICsKPiArICAgICAgICAgICAgZ3JwLT5pdHNfY291bnQgPSBm d19ncnAtPml0c19jb3VudDsKPiArICAgICAgICAgICAgZ3JwLT5pZGVudGlmaWVyc1swXSA9IGZ3 X2dycC0+aWRlbnRpZmllcnNbMF07Cj4gKwo+ICsgICAgICAgICAgICBvZiArPSBub2RlLT5sZW5n dGg7Cj4gKyAgICAgICAgICAgIG4rKzsKPiArICAgICAgICB9Cj4gKyAgICB9Cj4gKyAgICAqb2Zm c2V0ID0gb2Y7Cj4gKyAgICAqbnVtX25vZGVzID0gbjsKPiArfQo+ICsKPiArLyogSXQgaXMgYXNz dW1lZCB0aGF0IHJpZF9tYXBfZGV2aWQgaXMgc29ydGVkIGJ5IHBjaXJjX25vZGVzICovCj4gK3Zv aWQgd3JpdGVfcGNpcmNfbm9kZXModTggKmlvcnQsIHVuc2lnbmVkIGludCAqcG9zLCB1bnNpZ25l ZCBpbnQgKm51bV9ub2RlcykKPiArewo+ICsgICAgc3RydWN0IGFjcGlfaW9ydF9ub2RlICpvcGNp cmNfbm9kZSwgKnBjaXJjX25vZGU7Cj4gKyAgICBzdHJ1Y3QgYWNwaV9pb3J0X25vZGUgKmh3ZG9t X3BjaXJjX25vZGUgPSBOVUxMOwo+ICsgICAgc3RydWN0IHJpZF9kZXZpY2VpZF9tYXAgKnJtYXA7 Cj4gKyAgICBzdHJ1Y3QgYWNwaV9pb3J0X2lkX21hcHBpbmcgKmlkbWFwOwo+ICsgICAgaW50IG51 bV9pZG1hcCA9IDAsIG4gPSAwOwoKQW55IGludGVnZXIgc2hvdWxkIGJlIHVuc2lnbmVkIGlmIHlv dSBkb24ndCBwbGFuIHRvIHVzZSBzaWduZWQgdmFsdWUuCgo+ICsgICAgdW5zaWduZWQgaW50IG9s ZF9wb3MgPSAqcG9zOwoKU2FtZSByZW1hcmsgYXMgJ29mJyBhYm92ZS4KCj4gKwo+ICsgICAgb3Bj aXJjX25vZGUgPSBOVUxMOwo+ICsgICAgLyogSXRlcmF0ZSByaWRfbWFwX2RldmlkIGxpc3QgKi8K PiArICAgIGxpc3RfZm9yX2VhY2hfZW50cnkocm1hcCwgJnJpZF9kZXZpY2VpZF9tYXBfbGlzdCwg ZW50cnkpCj4gKyAgICB7Cj4gKyAgICAgICAgc3RydWN0IGFjcGlfaW9ydF9yb290X2NvbXBsZXgg KnJjOwo+ICsgICAgICAgIHN0cnVjdCBhY3BpX2lvcnRfcm9vdF9jb21wbGV4ICpyY19mdzsKPiAr ICAgICAgICBpbnQgYWRkX25vZGUgPSAwOwoKYm9vbAoKPiArICAgICAgICBwY2lyY19ub2RlID0g cm1hcC0+cGNpcmNfbm9kZTsKPiArCj4gKyAgICAgICAgaWYgKCBvcGNpcmNfbm9kZSA9PSBOVUxM ICkgLyogRmlyc3QgZW50cnkgKi8KPiArICAgICAgICB7Cj4gKyAgICAgICAgICAgIGFkZF9ub2Rl ID0gMTsKPiArICAgICAgICB9Cj4gKyAgICAgICAgZWxzZSBpZiAoIG9wY2lyY19ub2RlICE9IHBj aXJjX25vZGUgKSAvKiBhbm90aGVyIHBjaV9yY19ub2RlIGZvdW5kKi8KPiArICAgICAgICB7Cj4g KyAgICAgICAgICAgIC8qIEFsbCB0aGUgaWRtYXBzIG9mIGEgcGNpcmMgYXJlIHdyaXR0ZW4sIG5v dyB1cGRhdGUgbm9kZSBpbmZvKi8KPiArICAgICAgICAgICAgaHdkb21fcGNpcmNfbm9kZS0+bGVu Z3RoID0gbnVtX2lkbWFwICoKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKHN0cnVjdCBhY3BpX2lvcnRfaWRfbWFwcGluZykgKwo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IGFjcGlfaW9ydF9ub2RlKSAr Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3Qg YWNwaV9pb3J0X3Jvb3RfY29tcGxleCkgLQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YocGNpcmNfbm9kZS0+bm9kZV9kYXRhKTsKCkNhbiB5b3UgYWJzdHJh Y3QgdGhlIHNpemVvZiguLi4pICsgLi4uIHRoZXJlIGFyZSB2ZXJ5IHNpbWlsYXIgaW4gdGhpcyAK ZnVuY3Rpb24gYW5kIG1ha2UgcXVpdGUgZGlmZmljdWx0IHRvIHJlYWQgdGhlIGNvZGUuCgo+ICsK PiArICAgICAgICAgICAgaHdkb21fcGNpcmNfbm9kZS0+bWFwcGluZ19jb3VudCA9IG51bV9pZG1h cDsKPiArICAgICAgICAgICAgaHdkb21fcGNpcmNfbm9kZS0+bWFwcGluZ19vZmZzZXQgPSBzaXpl b2Yoc3RydWN0IGFjcGlfaW9ydF9ub2RlKSArCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX2lvcnRfcm9vdF9jb21wbGV4 KSAtCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6 ZW9mKHBjaXJjX25vZGUtPm5vZGVfZGF0YSk7Cj4gKyAgICAgICAgICAgIG9sZF9wb3MgKz0gaHdk b21fcGNpcmNfbm9kZS0+bGVuZ3RoOwo+ICsgICAgICAgICAgICBhZGRfbm9kZSA9IDE7Cj4gKyAg ICAgICAgfQo+ICsKPiArICAgICAgICBpZiAoIGFkZF9ub2RlICkgLyogY3JlYXRlIHRoZSBwY2ly YyBub2RlICovCj4gKyAgICAgICAgewo+ICsgICAgICAgICAgICBvcGNpcmNfbm9kZSA9IHBjaXJj X25vZGU7Cj4gKyAgICAgICAgICAgIGh3ZG9tX3BjaXJjX25vZGUgPSAoc3RydWN0IGFjcGlfaW9y dF9ub2RlICopJmlvcnRbb2xkX3Bvc107Cj4gKyAgICAgICAgICAgIGh3ZG9tX3BjaXJjX25vZGUt PnR5cGUgPSBBQ1BJX0lPUlRfTk9ERV9QQ0lfUk9PVF9DT01QTEVYOwo+ICsgICAgICAgICAgICBo d2RvbV9wY2lyY19ub2RlLT5tYXBwaW5nX29mZnNldCA9IHNpemVvZihzdHJ1Y3QgYWNwaV9pb3J0 X25vZGUpICsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2Yoc3RydWN0IGFjcGlfaW9ydF9yb290X2NvbXBsZXgpIC0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoaHdkb21fcGNpcmNfbm9k ZS0+bm9kZV9kYXRhKTsKPiArCj4gKyAgICAgICAgICAgIHJjID0gKHN0cnVjdCBhY3BpX2lvcnRf cm9vdF9jb21wbGV4ICopCj4gKyAgICAgICAgICAgICAgICAgICZod2RvbV9wY2lyY19ub2RlLT5u b2RlX2RhdGE7CgpUaGlzIGlzIHF1aXRlIGRpZmZpY3VsdCB0byByZWFkLiBJcyB0aGVyZSBhbnkg cG9zc2liaWxpdHkgdG8gaW50cm9kdWNlIGEgCm1hY3JvIG9yIGp1c3QgYnJlYWsgZG93biBmdW5j dGlvbj8KCj4gKwo+ICsgICAgICAgICAgICByY19mdyA9IChzdHJ1Y3QgYWNwaV9pb3J0X3Jvb3Rf Y29tcGxleCAqKQo+ICsgICAgICAgICAgICAgICAgICAgICAmcGNpcmNfbm9kZS0+bm9kZV9kYXRh Owo+ICsKPiArICAgICAgICAgICAgcmMtPnBjaV9zZWdtZW50X251bWJlciA9IHJjX2Z3LT5wY2lf c2VnbWVudF9udW1iZXI7Cj4gKyAgICAgICAgICAgIHJjLT5hdHNfYXR0cmlidXRlID0gcmNfZnct PmF0c19hdHRyaWJ1dGU7Cj4gKyAgICAgICAgICAgIHJjLT5tZW1vcnlfcHJvcGVydGllcyA9IHJj X2Z3LT5tZW1vcnlfcHJvcGVydGllczsKPiArCj4gKyAgICAgICAgICAgIGlkbWFwID0gQUNQSV9B RERfUFRSKHN0cnVjdCBhY3BpX2lvcnRfaWRfbWFwcGluZywKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaHdkb21fcGNpcmNfbm9kZSwKPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaHdkb21fcGNpcmNfbm9kZS0+bWFwcGluZ19vZmZzZXQpOwo+ICsgICAgICAg ICAgICBuKys7Cj4gKyAgICAgICAgICAgIG51bV9pZG1hcCA9IDA7Cj4gKyAgICAgICAgfQo+ICsK PiArICAgICAgICBpZG1hcC0+aW5wdXRfYmFzZSA9IHJtYXAtPmlkbWFwLmlucHV0X2Jhc2U7Cj4g KyAgICAgICAgaWRtYXAtPmlkX2NvdW50ID0gcm1hcC0+aWRtYXAuaWRfY291bnQ7Cj4gKyAgICAg ICAgaWRtYXAtPm91dHB1dF9iYXNlID0gcm1hcC0+aWRtYXAub3V0cHV0X2Jhc2U7Cj4gKyAgICAg ICAgaWRtYXAtPm91dHB1dF9yZWZlcmVuY2UgPSBnZXRfaXRzX25vZGVfb2Zmc2V0KHJtYXAtPml0 c19ub2RlKTsKPiArICAgICAgICBpZG1hcC0+ZmxhZ3MgPSAwOwo+ICsKPiArICAgICAgICBpZG1h cCsrOwo+ICsgICAgICAgIG51bV9pZG1hcCsrOwo+ICsgICAgfQo+ICsKPiArICAgIGlmICggaHdk b21fcGNpcmNfbm9kZSApIC8qIGlmIG5vIGZ1cnRoZXIgUENJUkMgbm9kZXMgZm91bmQgKi8KPiAr ICAgIHsKPiArICAgICAgICAvKiBBbGwgdGhlIGlkbWFwcyBvZiBhIHBjaXJjIGFyZSB3cml0dGVu LCBub3cgdXBkYXRlIG5vZGUgaW5mbyovCj4gKyAgICAgICAgaHdkb21fcGNpcmNfbm9kZS0+bGVu Z3RoID0gbnVtX2lkbWFwICoKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplb2Yoc3RydWN0IGFjcGlfaW9ydF9pZF9tYXBwaW5nKSArCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBhY3BpX2lvcnRfbm9kZSkgKwo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZihzdHJ1Y3QgYWNwaV9pb3J0X3Jv b3RfY29tcGxleCkgLTE7Cj4gKwo+ICsgICAgICAgIGh3ZG9tX3BjaXJjX25vZGUtPm1hcHBpbmdf Y291bnQgPSBudW1faWRtYXA7Cj4gKyAgICAgICAgb2xkX3BvcyArPSBod2RvbV9wY2lyY19ub2Rl LT5sZW5ndGg7Cj4gKyAgICB9Cj4gKwo+ICsgICAgKnBvcyA9IG9sZF9wb3M7Cj4gKyAgICAqbnVt X25vZGVzID0gbjsKPiArfQo+ICsKPiAraW50IHByZXBhcmVfaW9ydChzdHJ1Y3QgYWNwaV90YWJs ZV9pb3J0ICpod2RvbV9pb3J0LCB1bnNpZ25lZCBpbnQgKmlvcnRfc2l6ZSkKPiArewo+ICsgICAg c3RydWN0IGFjcGlfdGFibGVfaW9ydCAqZndfaW9ydDsKPiArICAgIHVuc2lnbmVkIGludCBudW1f bm9kZXMgPSAwOwo+ICsgICAgdW5zaWduZWQgaW50IHBvczsKPiArCj4gKyAgICBwb3MgPSBzaXpl b2Yoc3RydWN0IGFjcGlfdGFibGVfaW9ydCk7Cj4gKwo+ICsgICAgaWYgKCBhY3BpX2dldF90YWJs ZShBQ1BJX1NJR19JT1JULCAwLAo+ICsgICAgICAgICAoc3RydWN0IGFjcGlfdGFibGVfaGVhZGVy ICoqKSZmd19pb3J0KSApCj4gKyAgICB7Cj4gKyAgICAgICAgcHJpbnRrKCJGYWlsZWQgdG8gZ2V0 IElPUlQgdGFibGVcbiIpOwo+ICsgICAgICAgIHJldHVybiAtRU5PREVWOwo+ICsgICAgfQo+ICsK PiArICAgIC8qIFdyaXRlIElPUlQgaGVhZGVyICovCj4gKyAgICBBQ1BJX01FTUNQWShod2RvbV9p b3J0LCBmd19pb3J0LCBzaXplb2Yoc3RydWN0IGFjcGlfdGFibGVfaW9ydCkpOwoKUGxlYXNlIHVz ZSBtZW1jcHkuIEJ1dCBpcyBpdCB2YWxpZCB0byBjb3B5IHRoZSBoZWFkZXIgZnJvbSB0aGUgaG9z dCBvbmU/CgoKPiArICAgIGh3ZG9tX2lvcnQtPm5vZGVfb2Zmc2V0ID0gcG9zOwo+ICsgICAgaHdk b21faW9ydC0+bm9kZV9jb3VudCA9IDA7Cj4gKwo+ICsgICAgLyogV3JpdGUgaXRzIGdyb3VwIG5v ZGVzICovCj4gKyAgICB3cml0ZV9pdHNfZ3JvdXAoKHU4Kilod2RvbV9pb3J0LCAmcG9zLCAmbnVt X25vZGVzKTsKPiArICAgIGh3ZG9tX2lvcnQtPm5vZGVfY291bnQgPSBudW1fbm9kZXM7Cj4gKyAg ICAvKiBXcml0ZSBwY2lyY19ub2RlcyovCj4gKyAgICB3cml0ZV9wY2lyY19ub2RlcygodTgqKWh3 ZG9tX2lvcnQsICZwb3MsICZudW1fbm9kZXMpOwoKSSBhbSBwcmV0dHkgc3VyZSB3ZSBzcG9rZSBh Ym91dCBpdCBiZWZvcmUuIFlvdSBkb24ndCBoYW5kbGUgbmFtZWQgCmNvbXBvbmVudHMuIFdoYXQg aXMgdGhlIHBsYW4gZm9yIHRoYXQ/CgoKPiArICAgIC8qIFVwZGF0ZSBJT1JUIFNpemUgaW4gSU9S VCBoZWFkZXIgKi8KPiArICAgIGh3ZG9tX2lvcnQtPm5vZGVfY291bnQgKz0gbnVtX25vZGVzOwo+ ICsgICAgaHdkb21faW9ydC0+aGVhZGVyLmxlbmd0aCA9IHBvczsKPiArICAgIGh3ZG9tX2lvcnQt PmhlYWRlci5jaGVja3N1bSA9IDA7IC8qIFRPRE8gKi8KPiArCj4gKyAgICAqaW9ydF9zaXplID0g aHdkb21faW9ydC0+aGVhZGVyLmxlbmd0aDsKPiArCj4gKyAgICByZXR1cm4gMDsKPiArfQo+ICsK PiAgIC8qCj4gICAgKiBTaXplIG9mIGhhcmR3YXJlIGRvbWFpbnMgaW9ydCBpcyBjYWx1bGNhdGVk IGJhc2VkIG9uIHRoZSBudW1iZXIgb2YKPiAgICAqIG1hcHBpbmdzIGluIHRoZSByZXF1ZXN0ZXJJ ZCAtIGRldmljZUlkIG1hcHBpbmcgbGlzdC4KPiBAQCAtNDksNyArMzAwLDcgQEAgaW50IGVzdGlt YXRlX2lvcnRfc2l6ZShzaXplX3QgKmlvcnRfc2l6ZSkKPiAgICAgICB7Cj4gICAgICAgICAgIGlu dCBpID0gMDsKPiAgIAo+IC0gICAgICAgIGZvciAoaT0wOyBpIDw9IHBjaXJjX2NvdW50OyBpKysp Cj4gKyAgICAgICAgZm9yICggaT0wOyBpIDw9IHBjaXJjX2NvdW50OyBpKysgKQoKVGhpcyBiZWxv bmcgdG8gdGhlIHBhdGNoIHdoZXJlIHlvdSBhZGQgdGhpcyBsaW5lLgoKPiAgICAgICAgICAgewo+ ICAgICAgICAgICAgICAgaWYgKCBwY2lyY19hcnJheVtpXSA9PSAodWludDY0X3Qpcm1hcC0+cGNp cmNfbm9kZSApCj4gICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL3hlbi9p bmNsdWRlL2FjcGkvZ2VuLWlvcnQuaCBiL3hlbi9pbmNsdWRlL2FjcGkvZ2VuLWlvcnQuaAo+IGlu ZGV4IDY4ZTY2NmZkY2UuLjRkZTMxYjdiOWYgMTAwNjQ0Cj4gLS0tIGEveGVuL2luY2x1ZGUvYWNw aS9nZW4taW9ydC5oCj4gKysrIGIveGVuL2luY2x1ZGUvYWNwaS9nZW4taW9ydC5oCj4gQEAgLTIs NSArMiw2IEBACj4gICAjZGVmaW5lIF9HRU5fSU9SVF9ICj4gICAKPiAgIGludCBlc3RpbWF0ZV9p b3J0X3NpemUoc2l6ZV90ICppb3J0X3NpemUpOwo+ICtpbnQgcHJlcGFyZV9pb3J0KHN0cnVjdCBh Y3BpX3RhYmxlX2lvcnQgKmh3ZG9tX2lvcnQsIHVuc2lnbmVkIGludCAqaW9ydF9zaXplKTsKPiAg IAo+ICAgI2VuZGlmCj4gZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWNwaS5oIGIv eGVuL2luY2x1ZGUvYXNtLWFybS9hY3BpLmgKPiBpbmRleCBjMTgzYjZiYjZlLi5mOGI1MjU0NjIx IDEwMDY0NAo+IC0tLSBhL3hlbi9pbmNsdWRlL2FzbS1hcm0vYWNwaS5oCj4gKysrIGIveGVuL2lu Y2x1ZGUvYXNtLWFybS9hY3BpLmgKPiBAQCAtMzYsNiArMzYsNyBAQCB0eXBlZGVmIGVudW0gewo+ ICAgICAgIFRCTF9GQURULAo+ICAgICAgIFRCTF9NQURULAo+ICAgICAgIFRCTF9TVEFPLAo+ICsg ICAgVEJMX0lPUlQsCj4gICAgICAgVEJMX1hTRFQsCj4gICAgICAgVEJMX1JTRFAsCj4gICAgICAg VEJMX0VGSVQsCj4gCgpDaGVlcnMsCgotLSAKSnVsaWVuIEdyYWxsCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhl bi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3Jn L21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs