From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gustavo Padovan Subject: Re: [Intel-gfx] [PATCH 01/15] drm/kms-helpers: Use recommened kerneldoc for struct member refs Date: Wed, 25 Jan 2017 10:48:53 -0200 Message-ID: <20170125124853.GA2586@joana> References: <20170125062657.19270-1-daniel.vetter@ffwll.ch> <20170125062657.19270-2-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20170125062657.19270-2-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: Daniel Vetter , Intel Graphics Development , DRI Development List-Id: dri-devel@lists.freedesktop.org SGkgRGFuaWVsLAoKMjAxNy0wMS0yNSBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xs LmNoPjoKCj4gSSBqdXN0IGxlYXJuZWQgdGhhdCAmc3RydWN0X25hbWUubWVtYmVyX25hbWUgd29y a3MgYW5kIGxvb2tzIHByZXR0eQo+IGV2ZW4uIEl0IGRvZXNuJ3QgKHlldCkgbGluayB0byB0aGUg bWVtYmVyIGRpcmVjdGx5IHRob3VnaCwgd2hpY2ggd291bGQKPiBiZSByZWFsbHkgZ29vZCBmb3Ig YmlnIHN0cnVjdHVyZXMgb3IgdmZ1bmMgdGFibGVzICh3aGVyZSB0aGUKPiBwZXItbWVtYmVyIGtl cm5lbGRvYyB0ZW5kcyB0byBiZSBsb25nKS4KPiAKPiBBbHNvIHNvbWUgbWlub3IgZHJpdmUtYnkg cG9saXNoIHdoZXJlIGl0IG1ha2VzIHNlbnNlLCBJIHJlYWQgYSBsb3QKPiBvZiBkb2NzIC4uLgo+ IAo+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwuY29tPgo+IENjOiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiBTaWduZWQtb2ZmLWJ5OiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMgICAgICB8ICA5NyArKysrKysrKysrLS0tLS0tLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMgICAgICAgIHwgIDI4ICsrKy0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5jICAgICAgICAgIHwgICAyICstCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMgICAgICAgICAgfCAgNDggKysrKystLS0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX3BsYW5lX2hlbHBlci5jICAgICAgIHwgICA5ICstCj4g IGRyaXZlcnMvZ3B1L2RybS9kcm1fcHJvYmVfaGVscGVyLmMgICAgICAgfCAgMTQgKy0tCj4gIGlu Y2x1ZGUvZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAgICAgICAgfCAgMTMgKy0tCj4gIGluY2x1 ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmggICAgICAgICAgfCAgIDcgKy0KPiAgaW5jbHVkZS9k cm0vZHJtX2ZsaXBfd29yay5oICAgICAgICAgICAgICB8ICAgMiArLQo+ICBpbmNsdWRlL2RybS9k cm1fbW9kZXNldF9oZWxwZXJfdnRhYmxlcy5oIHwgMTQ2ICsrKysrKysrKysrKysrKystLS0tLS0t LS0tLS0tLS0KPiAgaW5jbHVkZS9kcm0vZHJtX3NpbXBsZV9rbXNfaGVscGVyLmggICAgICB8ICAx MiArLS0KPiAgMTEgZmlsZXMgY2hhbmdlZCwgMTk3IGluc2VydGlvbnMoKyksIDE4MSBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVy LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+IGluZGV4IDFmMGNkN2U3 MTVjOS4uNWU1MTJkZDNhMmM0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX2hlbHBlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfaGVscGVyLmMK PiBAQCAtNDU4LDIyICs0NTgsMjUgQEAgbW9kZV9maXh1cChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCj4gICAqIENoZWNrIHRoZSBzdGF0ZSBvYmplY3QgdG8gc2VlIGlmIHRoZSByZXF1 ZXN0ZWQgc3RhdGUgaXMgcGh5c2ljYWxseSBwb3NzaWJsZS4KPiAgICogVGhpcyBkb2VzIGFsbCB0 aGUgY3J0YyBhbmQgY29ubmVjdG9yIHJlbGF0ZWQgY29tcHV0YXRpb25zIGZvciBhbiBhdG9taWMK PiAgICogdXBkYXRlIGFuZCBhZGRzIGFueSBhZGRpdGlvbmFsIGNvbm5lY3RvcnMgbmVlZGVkIGZv ciBmdWxsIG1vZGVzZXRzIGFuZCBjYWxscwo+IC0gKiBkb3duIGludG8gLT5tb2RlX2ZpeHVwIGZ1 bmN0aW9ucyBvZiB0aGUgZHJpdmVyIGJhY2tlbmQuCj4gLSAqCj4gLSAqIGNydGNfc3RhdGUtPm1v ZGVfY2hhbmdlZCBpcyBzZXQgd2hlbiB0aGUgaW5wdXQgbW9kZSBpcyBjaGFuZ2VkLgo+IC0gKiBj cnRjX3N0YXRlLT5jb25uZWN0b3JzX2NoYW5nZWQgaXMgc2V0IHdoZW4gYSBjb25uZWN0b3IgaXMg YWRkZWQgb3IKPiAtICogcmVtb3ZlZCBmcm9tIHRoZSBjcnRjLgo+IC0gKiBjcnRjX3N0YXRlLT5h Y3RpdmVfY2hhbmdlZCBpcyBzZXQgd2hlbiBjcnRjX3N0YXRlLT5hY3RpdmUgY2hhbmdlcywKPiAt ICogd2hpY2ggaXMgdXNlZCBmb3IgZHBtcy4KPiArICogZG93biBpbnRvICZkcm1fY3J0Y19oZWxw ZXJfZnVuY3MubW9kZV9maXh1cCBhbmQKPiArICogJmRybV9lbmNvZGVyX2hlbHBlcl9mdW5jcy5t b2RlX2ZpeHVwIG9yCj4gKyAqICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuYXRvbWljX2NoZWNr IGZ1bmN0aW9ucyBvZiB0aGUgZHJpdmVyIGJhY2tlbmQuCj4gKyAqCj4gKyAqICZkcm1fY3J0Y19z dGF0ZS5tb2RlX2NoYW5nZWQgaXMgc2V0IHdoZW4gdGhlIGlucHV0IG1vZGUgaXMgY2hhbmdlZC4K PiArICogJmRybV9jcnRjX3N0YXRlLmNvbm5lY3RvcnNfY2hhbmdlZCBpcyBzZXQgd2hlbiBhIGNv bm5lY3RvciBpcyBhZGRlZCBvcgo+ICsgKiByZW1vdmVkIGZyb20gdGhlIGNydGMuICAmZHJtX2Ny dGNfc3RhdGUuYWN0aXZlX2NoYW5nZWQgaXMgc2V0IHdoZW4KPiArICogJmRybV9jcnRjX3N0YXRl LmFjdGl2ZSBjaGFuZ2VzLCB3aGljaCBpcyB1c2VkIGZvciBEUE1TLgo+ICAgKiBTZWUgYWxzbzog ZHJtX2F0b21pY19jcnRjX25lZWRzX21vZGVzZXQoKQo+ICAgKgo+ICAgKiBJTVBPUlRBTlQ6Cj4g ICAqCj4gLSAqIERyaXZlcnMgd2hpY2ggc2V0IC0+bW9kZV9jaGFuZ2VkIChlLmcuIGluIHRoZWly IC0+YXRvbWljX2NoZWNrIGhvb2tzIGlmIGEKPiAtICogcGxhbmUgdXBkYXRlIGNhbid0IGJlIGRv bmUgd2l0aG91dCBhIGZ1bGwgbW9kZXNldCkgX211c3RfIGNhbGwgdGhpcyBmdW5jdGlvbgo+IC0g KiBhZnRlcndhcmRzIGFmdGVyIHRoYXQgY2hhbmdlLiBJdCBpcyBwZXJtaXR0ZWQgdG8gY2FsbCB0 aGlzIGZ1bmN0aW9uIG11bHRpcGxlCj4gLSAqIHRpbWVzIGZvciB0aGUgc2FtZSB1cGRhdGUsIGUu Zy4gd2hlbiB0aGUgLT5hdG9taWNfY2hlY2sgZnVuY3Rpb25zIGRlcGVuZCB1cG9uCj4gLSAqIHRo ZSBhZGp1c3RlZCBkb3RjbG9jayBmb3IgZmlmbyBzcGFjZSBhbGxvY2F0aW9uIGFuZCB3YXRlcm1h cmsgY29tcHV0YXRpb24uCj4gKyAqIERyaXZlcnMgd2hpY2ggc2V0ICZkcm1fY3J0Y19zdGF0ZS5t b2RlX2NoYW5nZWQgKGUuZy4gaW4gdGhlaXIKPiArICogJmRybV9wbGFuZV9oZWxwZXJfZnVuY3Mu YXRvbWljX2NoZWNrIGhvb2tzIGlmIGEgcGxhbmUgdXBkYXRlIGNhbid0IGJlIGRvbmUKPiArICog d2l0aG91dCBhIGZ1bGwgbW9kZXNldCkgX211c3RfIGNhbGwgdGhpcyBmdW5jdGlvbiBhZnRlcndh cmRzIGFmdGVyIHRoYXQKPiArICogY2hhbmdlLiBJdCBpcyBwZXJtaXR0ZWQgdG8gY2FsbCB0aGlz IGZ1bmN0aW9uIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZQo+ICsgKiB1cGRhdGUsIGUuZy4g d2hlbiB0aGUgJmRybV9jcnRjX2hlbHBlcl9mdW5jcy5hdG9taWNfY2hlY2sgZnVuY3Rpb25zIGRl cGVuZAo+ICsgKiB1cG9uIHRoZSBhZGp1c3RlZCBkb3RjbG9jayBmb3IgZmlmbyBzcGFjZSBhbGxv Y2F0aW9uIGFuZCB3YXRlcm1hcmsKPiArICogY29tcHV0YXRpb24uCj4gICAqCj4gICAqIFJFVFVS TlM6Cj4gICAqIFplcm8gZm9yIHN1Y2Nlc3Mgb3IgLWVycm5vCj4gQEAgLTU4NCw5ICs1ODcsMTAg QEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jaGVja19tb2Rlc2V0KTsKPiAgICoK PiAgICogQ2hlY2sgdGhlIHN0YXRlIG9iamVjdCB0byBzZWUgaWYgdGhlIHJlcXVlc3RlZCBzdGF0 ZSBpcyBwaHlzaWNhbGx5IHBvc3NpYmxlLgo+ICAgKiBUaGlzIGRvZXMgYWxsIHRoZSBwbGFuZSB1 cGRhdGUgcmVsYXRlZCBjaGVja3MgdXNpbmcgYnkgY2FsbGluZyBpbnRvIHRoZQo+IC0gKiAtPmF0 b21pY19jaGVjayBob29rcyBwcm92aWRlZCBieSB0aGUgZHJpdmVyLgo+ICsgKiAmZHJtX2NydGNf aGVscGVyX2Z1bmNzLmF0b21pY19jaGVjayBhbmQgJmRybV9wbGFuZV9oZWxwZXJfZnVuY3MuYXRv bWljX2NoZWNrCj4gKyAqIGhvb2tzIHByb3ZpZGVkIGJ5IHRoZSBkcml2ZXIuCj4gICAqCj4gLSAq IEl0IGFsc28gc2V0cyBjcnRjX3N0YXRlLT5wbGFuZXNfY2hhbmdlZCB0byBpbmRpY2F0ZSB0aGF0 IGEgY3J0YyBoYXMKPiArICogSXQgYWxzbyBzZXRzICZkcm1fY3J0Y19zdGF0ZS5wbGFuZXNfY2hh bmdlZCB0byBpbmRpY2F0ZSB0aGF0IGEgY3J0YyBoYXMKPiAgICogdXBkYXRlZCBwbGFuZXMuCj4g ICAqCj4gICAqIFJFVFVSTlM6Cj4gQEAgLTY0OCwxNCArNjUyLDE1IEBAIEVYUE9SVF9TWU1CT0wo ZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfcGxhbmVzKTsKPiAgICogQ2hlY2sgdGhlIHN0YXRlIG9i amVjdCB0byBzZWUgaWYgdGhlIHJlcXVlc3RlZCBzdGF0ZSBpcyBwaHlzaWNhbGx5IHBvc3NpYmxl Lgo+ICAgKiBPbmx5IGNydGNzIGFuZCBwbGFuZXMgaGF2ZSBjaGVjayBjYWxsYmFja3MsIHNvIGZv ciBhbnkgYWRkaXRpb25hbCAoZ2xvYmFsKQo+ICAgKiBjaGVja2luZyB0aGF0IGEgZHJpdmVyIG5l ZWRzIGl0IGNhbiBzaW1wbHkgd3JhcCB0aGF0IGFyb3VuZCB0aGlzIGZ1bmN0aW9uLgo+IC0gKiBE cml2ZXJzIHdpdGhvdXQgc3VjaCBuZWVkcyBjYW4gZGlyZWN0bHkgdXNlIHRoaXMgYXMgdGhlaXIg LT5hdG9taWNfY2hlY2soKQo+IC0gKiBjYWxsYmFjay4KPiArICogRHJpdmVycyB3aXRob3V0IHN1 Y2ggbmVlZHMgY2FuIGRpcmVjdGx5IHVzZSB0aGlzIGFzIHRoZWlyCj4gKyAqICZkcm1fbW9kZV9j b25maWdfZnVuY3MuYXRvbWljX2NoZWNrIGNhbGxiYWNrLgo+ICAgKgo+ICAgKiBUaGlzIGp1c3Qg d3JhcHMgdGhlIHR3byBwYXJ0cyBvZiB0aGUgc3RhdGUgY2hlY2tpbmcgZm9yIHBsYW5lcyBhbmQg bW9kZXNldAo+ICAgKiBzdGF0ZSBpbiB0aGUgZGVmYXVsdCBvcmRlcjogRmlyc3QgaXQgY2FsbHMg ZHJtX2F0b21pY19oZWxwZXJfY2hlY2tfbW9kZXNldCgpCj4gICAqIGFuZCB0aGVuIGRybV9hdG9t aWNfaGVscGVyX2NoZWNrX3BsYW5lcygpLiBUaGUgYXNzdW1wdGlvbiBpcyB0aGF0IHRoZQo+IC0g KiAtPmF0b21pY19jaGVjayBmdW5jdGlvbnMgZGVwZW5kIHVwb24gYW4gdXBkYXRlZCBhZGp1c3Rl ZF9tb2RlLmNsb2NrIHRvCj4gLSAqIGUuZy4gcHJvcGVybHkgY29tcHV0ZSB3YXRlcm1hcmtzLgo+ ICsgKiBAZHJtX3BsYW5lX2hlbHBlcl9mdW5jcy5hdG9taWNfY2hlY2sgYW5kIEBkcm1fY3J0Y19o ZWxwZXJfZnVuY3MuYXRvbWljX2NoZWNrCj4gKyAqIGZ1bmN0aW9ucyBkZXBlbmQgdXBvbiBhbiB1 cGRhdGVkIGFkanVzdGVkX21vZGUuY2xvY2sgdG8gZS5nLiBwcm9wZXJseSBjb21wdXRlCj4gKyAq IHdhdGVybWFya3MuCj4gICAqCj4gICAqIFJFVFVSTlM6Cj4gICAqIFplcm8gZm9yIHN1Y2Nlc3Mg b3IgLWVycm5vCj4gQEAgLTExMjUsOCArMTEzMCw4IEBAIEVYUE9SVF9TWU1CT0woZHJtX2F0b21p Y19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyk7Cj4gICAqIGRybV9hdG9taWNfaGVscGVyX2NvbW1p dF90YWlsIC0gY29tbWl0IGF0b21pYyB1cGRhdGUgdG8gaGFyZHdhcmUKPiAgICogQG9sZF9zdGF0 ZTogYXRvbWljIHN0YXRlIG9iamVjdCB3aXRoIG9sZCBzdGF0ZSBzdHJ1Y3R1cmVzCj4gICAqCj4g LSAqIFRoaXMgaXMgdGhlIGRlZmF1bHQgaW1wbGVtZW5hdGlvbiBmb3IgdGhlIC0+YXRvbWljX2Nv bW1pdF90YWlsKCkgaG9vayBvZiB0aGUKPiAtICogJmRybV9tb2RlX2NvbmZpZ19oZWxwZXJfZnVu Y3MgdnRhYmxlLgo+ICsgKiBUaGlzIGlzIHRoZSBkZWZhdWx0IGltcGxlbWVuYXRpb24gZm9yIHRo ZQo+ICsgKiAmZHJtX21vZGVfY29uZmlnX2hlbHBlcl9mdW5jcy5hdG9taWNfY29tbWl0X3RhaWwg aG9vay4KCmltcGxlbWVudGF0aW9uCgo+ICAgKgo+ICAgKiBOb3RlIHRoYXQgdGhlIGRlZmF1bHQg b3JkZXJpbmcgb2YgaG93IHRoZSB2YXJpb3VzIHN0YWdlcyBhcmUgY2FsbGVkIGlzIHRvCj4gICAq IG1hdGNoIHRoZSBsZWdhY3kgbW9kZXNldCBoZWxwZXIgbGlicmFyeSBjbG9zZXN0LiBPbmUgcGVj dWxpYXJpdHkgb2YgdGhhdCBpcwo+IEBAIC0xMjAzLDggKzEyMDgsOCBAQCBzdGF0aWMgdm9pZCBj b21taXRfd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4gICAqIGRybV9hdG9taWNfaGVs cGVyX3NldHVwX2NvbW1pdCgpIGFuZCByZWxhdGVkIGZ1bmN0aW9ucy4KPiAgICoKPiAgICogQ29t bWl0dGluZyB0aGUgYWN0dWFsIGhhcmR3YXJlIHN0YXRlIGlzIGRvbmUgdGhyb3VnaCB0aGUKPiAt ICogLT5hdG9taWNfY29tbWl0X3RhaWwoKSBjYWxsYmFjayBvZiB0aGUgJmRybV9tb2RlX2NvbmZp Z19oZWxwZXJfZnVuY3MgdnRhYmxlLAo+IC0gKiBvciBpdCdzIGRlZmF1bHQgaW1wbGVtZW50YXRp b24gZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3RhaWwoKS4KPiArICogJmRybV9tb2RlX2NvbmZp Z19oZWxwZXJfZnVuY3MuYXRvbWljX2NvbW1pdF90YWlsIGNhbGxiYWNrLCBvciBpdCdzIGRlZmF1 bHQKPiArICogaW1wbGVtZW50YXRpb24gZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3RhaWwoKS4K PiAgICoKPiAgICogUkVUVVJOUzoKPiAgICogWmVybyBmb3Igc3VjY2VzcyBvciAtZXJybm8uCj4g QEAgLTEzNzMsMTQgKzEzNzgsMTUgQEAgc3RhdGljIHZvaWQgcmVsZWFzZV9jcnRjX2NvbW1pdChz dHJ1Y3QgY29tcGxldGlvbiAqY29tcGxldGlvbikKPiAgICoKPiAgICogVGhpcyBmdW5jdGlvbiBw cmVwYXJlcyBAc3RhdGUgdG8gYmUgdXNlZCBieSB0aGUgYXRvbWljIGhlbHBlcidzIHN1cHBvcnQg Zm9yCj4gICAqIG5vbmJsb2NraW5nIGNvbW1pdHMuIERyaXZlcnMgdXNpbmcgdGhlIG5vbmJsb2Nr aW5nIGNvbW1pdCBpbmZyYXN0cnVjdHVyZQo+IC0gKiBzaG91bGQgYWx3YXlzIGNhbGwgdGhpcyBm dW5jdGlvbiBmcm9tIHRoZWlyIC0+YXRvbWljX2NvbW1pdCBob29rLgo+ICsgKiBzaG91bGQgYWx3 YXlzIGNhbGwgdGhpcyBmdW5jdGlvbiBmcm9tIHRoZWlyCj4gKyAqICZkcm1fbW9kZV9jb25maWdf ZnVuY3MuYXRvbWljX2NvbW1pdCBob29rLgo+ICAgKgo+ICAgKiBUbyBiZSBhYmxlIHRvIHVzZSB0 aGlzIHN1cHBvcnQgZHJpdmVycyBuZWVkIHRvIHVzZSBhIGZldyBtb3JlIGhlbHBlcgo+ICAgKiBm dW5jdGlvbnMuIGRybV9hdG9taWNfaGVscGVyX3dhaXRfZm9yX2RlcGVuZGVuY2llcygpIG11c3Qg YmUgY2FsbGVkIGJlZm9yZQo+ICAgKiBhY3R1YWxseSBjb21taXR0aW5nIHRoZSBoYXJkd2FyZSBz dGF0ZSwgYW5kIGZvciBub25ibG9ja2luZyBjb21taXRzIHRoaXMgY2FsbAo+ICAgKiBtdXN0IGJl IHBsYWNlZCBpbiB0aGUgYXN5bmMgd29ya2VyLiBTZWUgYWxzbyBkcm1fYXRvbWljX2hlbHBlcl9z d2FwX3N0YXRlKCkKPiAgICogYW5kIGl0J3Mgc3RhbGwgcGFyYW1ldGVyLCBmb3Igd2hlbiBhIGRy aXZlcidzIGNvbW1pdCBob29rcyBsb29rIGF0IHRoZQo+IC0gKiAtPnN0YXRlIHBvaW50ZXJzIG9m ICZzdHJ1Y3QgZHJtX2NydGMsICZkcm1fcGxhbmUgb3IgJmRybV9jb25uZWN0b3IgZGlyZWN0bHku Cj4gKyAqICZkcm1fY3J0Yy5zdGF0ZSwgJmRybV9wbGFuZS5zdGF0ZSBvciAmZHJtX2Nvbm5lY3Rv ci5zdGF0ZSBwb2ludGVyIGRpcmVjdGx5Lgo+ICAgKgo+ICAgKiBDb21wbGV0aW9uIG9mIHRoZSBo YXJkd2FyZSBjb21taXQgc3RlcCBtdXN0IGJlIHNpZ25hbGxlZCB1c2luZwo+ICAgKiBkcm1fYXRv bWljX2hlbHBlcl9jb21taXRfaHdfZG9uZSgpLiBBZnRlciB0aGlzIHN0ZXAgdGhlIGRyaXZlciBp cyBub3QgYWxsb3dlZAo+IEBAIC0xNDg5LDggKzE0OTUsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9j cnRjX2NvbW1pdCAqcHJlY2VlZGluZ19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAg KiBUaGlzIGZ1bmN0aW9uIHdhaXRzIGZvciBhbGwgcHJlY2VlZGluZyBjb21taXRzIHRoYXQgdG91 Y2ggdGhlIHNhbWUgQ1JUQyBhcwo+ICAgKiBAb2xkX3N0YXRlIHRvIGJvdGggYmUgY29tbWl0dGVk IHRvIHRoZSBoYXJkd2FyZSAoYXMgc2lnbmFsbGVkIGJ5Cj4gICAqIGRybV9hdG9taWNfaGVscGVy X2NvbW1pdF9od19kb25lKSBhbmQgZXhlY3V0ZWQgYnkgdGhlIGhhcmR3YXJlIChhcyBzaWduYWxs ZWQKPiAtICogYnkgY2FsbGluZyBkcm1fY3J0Y192Ymxhbmtfc2VuZF9ldmVudCBvbiB0aGUgZXZl bnQgbWVtYmVyIG9mCj4gLSAqICZkcm1fY3J0Y19zdGF0ZSkuCj4gKyAqIGJ5IGNhbGxpbmcgZHJt X2NydGNfdmJsYW5rX3NlbmRfZXZlbnQgb24gdGhlICZkcm1fY3J0Y19zdGF0ZS5ldmVudCkuCgpk cm1fY3J0Y192Ymxhbmtfc2VuZF9ldmVudCgpCgo+ICAgKgo+ICAgKiBUaGlzIGlzIHBhcnQgb2Yg dGhlIGF0b21pYyBoZWxwZXIgc3VwcG9ydCBmb3Igbm9uYmxvY2tpbmcgY29tbWl0cywgc2VlCj4g ICAqIGRybV9hdG9taWNfaGVscGVyX3NldHVwX2NvbW1pdCgpIGZvciBhbiBvdmVydmlldy4KPiBA QCAtMTYyNyw4ICsxNjMyLDkgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jb21t aXRfY2xlYW51cF9kb25lKTsKPiAgICogQHN0YXRlOiBhdG9taWMgc3RhdGUgb2JqZWN0IHdpdGgg bmV3IHN0YXRlIHN0cnVjdHVyZXMKPiAgICoKPiAgICogVGhpcyBmdW5jdGlvbiBwcmVwYXJlcyBw bGFuZSBzdGF0ZSwgc3BlY2lmaWNhbGx5IGZyYW1lYnVmZmVycywgZm9yIHRoZSBuZXcKPiAtICog Y29uZmlndXJhdGlvbi4gSWYgYW55IGZhaWx1cmUgaXMgZW5jb3VudGVyZWQgdGhpcyBmdW5jdGlv biB3aWxsIGNhbGwKPiAtICogLT5jbGVhbnVwX2ZiIG9uIGFueSBhbHJlYWR5IHN1Y2Nlc3NmdWxs eSBwcmVwYXJlZCBmcmFtZWJ1ZmZlci4KPiArICogY29uZmlndXJhdGlvbiwgYnkgY2FsbGluZyAm ZHJtX3BsYW5lX2hlbHBlcl9mdW5jcy5wcmVwYXJlX2ZiLiBJZiBhbnkgZmFpbHVyZQo+ICsgKiBp cyBlbmNvdW50ZXJlZCB0aGlzIGZ1bmN0aW9uIHdpbGwgY2FsbCAmZHJtX3BsYW5lX2hlbHBlcl9m dW5jcy5jbGVhbnVwX2ZiIG9uCj4gKyAqIGFueSBhbHJlYWR5IHN1Y2Nlc3NmdWxseSBwcmVwYXJl ZCBmcmFtZWJ1ZmZlci4KPiAgICoKPiAgICogUmV0dXJuczoKPiAgICogMCBvbiBzdWNjZXNzLCBu ZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gQEAgLTE3MDgsMTAgKzE3MTQsMTAgQEAg c3RhdGljIGJvb2wgcGxhbmVfY3J0Y19hY3RpdmUoY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0 ZSAqc3RhdGUpCj4gICAqCj4gICAqIERyaXZlcnMgbWF5IHNldCB0aGUgTk9fRElTQUJMRV9BRlRF Ul9NT0RFU0VUIGZsYWcgaW4gQGZsYWdzIGlmIHRoZSByZWxldmFudAo+ICAgKiBkaXNwbGF5IGNv bnRyb2xsZXJzIHJlcXVpcmUgdG8gZGlzYWJsZSBhIENSVEMncyBwbGFuZXMgd2hlbiB0aGUgQ1JU QyBpcwo+IC0gKiBkaXNhYmxlZC4gVGhpcyBmdW5jdGlvbiB3b3VsZCBza2lwIHRoZSAtPmF0b21p Y19kaXNhYmxlIGNhbGwgZm9yIGEgcGxhbmUgaWYKPiAtICogdGhlIENSVEMgb2YgdGhlIG9sZCBw bGFuZSBzdGF0ZSBuZWVkcyBhIG1vZGVzZXR0aW5nIG9wZXJhdGlvbi4gT2YgY291cnNlLAo+IC0g KiB0aGUgZHJpdmVycyBuZWVkIHRvIGRpc2FibGUgdGhlIHBsYW5lcyBpbiB0aGVpciBDUlRDIGRp c2FibGUgY2FsbGJhY2tzCj4gLSAqIHNpbmNlIG5vIG9uZSBlbHNlIHdvdWxkIGRvIHRoYXQuCj4g KyAqIGRpc2FibGVkLiBUaGlzIGZ1bmN0aW9uIHdvdWxkIHNraXAgdGhlICZkcm1fcGxhbmVfaGVs cGVyX2Z1bmNzLmF0b21pY19kaXNhYmxlCj4gKyAqIGNhbGwgZm9yIGEgcGxhbmUgaWYgdGhlIENS VEMgb2YgdGhlIG9sZCBwbGFuZSBzdGF0ZSBuZWVkcyBhIG1vZGVzZXR0aW5nCj4gKyAqIG9wZXJh dGlvbi4gT2YgY291cnNlLCB0aGUgZHJpdmVycyBuZWVkIHRvIGRpc2FibGUgdGhlIHBsYW5lcyBp biB0aGVpciBDUlRDCj4gKyAqIGRpc2FibGUgY2FsbGJhY2tzIHNpbmNlIG5vIG9uZSBlbHNlIHdv dWxkIGRvIHRoYXQuCj4gICAqCj4gICAqIFRoZSBkcm1fYXRvbWljX2hlbHBlcl9jb21taXQoKSBk ZWZhdWx0IGltcGxlbWVudGF0aW9uIGRvZXNuJ3Qgc2V0IHRoZQo+ICAgKiBBQ1RJVkVfT05MWSBm bGFnIHRvIG1vc3QgY2xvc2VseSBtYXRjaCB0aGUgYmVoYXZpb3VyIG9mIHRoZSBsZWdhY3kgaGVs cGVycy4KPiBAQCAtMTg3NCw3ICsxODgwLDcgQEAgRVhQT1JUX1NZTUJPTChkcm1fYXRvbWljX2hl bHBlcl9jb21taXRfcGxhbmVzX29uX2NydGMpOwo+ICAgKiBwbGFuZXMuCj4gICAqCj4gICAqIEl0 IGlzIGEgYnVnIHRvIGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRob3V0IGhhdmluZyBpbXBsZW1lbnRl ZCB0aGUKPiAtICogLT5hdG9taWNfZGlzYWJsZSgpIHBsYW5lIGhvb2suCj4gKyAqICZkcm1fcGxh bmVfaGVscGVyX2Z1bmNzLmF0b21pY19kaXNhYmxlIHBsYW5lIGhvb2suCj4gICAqLwo+ICB2b2lk Cj4gIGRybV9hdG9taWNfaGVscGVyX2Rpc2FibGVfcGxhbmVzX29uX2NydGMoc3RydWN0IGRybV9j cnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiBAQCAtMTk2MSw4ICsxOTY3LDggQEAgRVhQT1JU X1NZTUJPTChkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyk7Cj4gICAqIGNvbnRhaW5z IHRoZSBvbGQgc3RhdGUuIEFsc28gZG8gYW55IG90aGVyIGNsZWFudXAgcmVxdWlyZWQgd2l0aCB0 aGF0IHN0YXRlLgo+ICAgKgo+ICAgKiBAc3RhbGwgbXVzdCBiZSBzZXQgd2hlbiBub25ibG9ja2lu ZyBjb21taXRzIGZvciB0aGlzIGRyaXZlciBkaXJlY3RseSBhY2Nlc3MKPiAtICogdGhlIC0+c3Rh dGUgcG9pbnRlciBvZiAmZHJtX3BsYW5lLCAmZHJtX2NydGMgb3IgJmRybV9jb25uZWN0b3IuIFdp dGggdGhlCj4gLSAqIGN1cnJlbnQgYXRvbWljIGhlbHBlcnMgdGhpcyBpcyBhbG1vc3QgYWx3YXlz IHRoZSBjYXNlLCBzaW5jZSB0aGUgaGVscGVycwo+ICsgKiB0aGUgJmRybV9wbGFuZS5zdGF0ZSwg JmRybV9jcnRjLnN0YXRlIG9yICZkcm1fY29ubmVjdG9yLnN0YXRlIHBvaW50ZXIuIFdpdGgKPiAr ICogdGhlIGN1cnJlbnQgYXRvbWljIGhlbHBlcnMgdGhpcyBpcyBhbG1vc3QgYWx3YXlzIHRoZSBj YXNlLCBzaW5jZSB0aGUgaGVscGVycwo+ICAgKiBkb24ndCBwYXNzIHRoZSByaWdodCBzdGF0ZSBz dHJ1Y3R1cmVzIHRvIHRoZSBjYWxsYmFja3MuCj4gICAqLwo+ICB2b2lkIGRybV9hdG9taWNfaGVs cGVyX3N3YXBfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAo+IEBAIC0yODky LDggKzI4OTgsOCBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX3BhZ2VfZmxpcF90 YXJnZXQpOwo+ICAgKgo+ICAgKiBUaGlzIGlzIHRoZSBtYWluIGhlbHBlciBmdW5jdGlvbiBwcm92 aWRlZCBieSB0aGUgYXRvbWljIGhlbHBlciBmcmFtZXdvcmsgZm9yCj4gICAqIGltcGxlbWVudGlu ZyB0aGUgbGVnYWN5IERQTVMgY29ubmVjdG9yIGludGVyZmFjZS4gSXQgY29tcHV0ZXMgdGhlIG5l dyBkZXNpcmVkCj4gLSAqIC0+YWN0aXZlIHN0YXRlIGZvciB0aGUgY29ycmVzcG9uZGluZyBDUlRD IChpZiB0aGUgY29ubmVjdG9yIGlzIGVuYWJsZWQpIGFuZAo+IC0gKiB1cGRhdGVzIGl0Lgo+ICsg KiAmZHJtX2NydGNfc3RhdGUuYWN0aXZlIHN0YXRlIGZvciB0aGUgY29ycmVzcG9uZGluZyBDUlRD IChpZiB0aGUgY29ubmVjdG9yIGlzCj4gKyAqIGVuYWJsZWQpIGFuZCB1cGRhdGVzIGl0Lgo+ICAg Kgo+ICAgKiBSZXR1cm5zOgo+ICAgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgbmVnYXRpdmUgZXJy bm8gbnVtYmVycyBvbiBmYWlsdXJlLgo+IEBAIC0yOTY1LDExICsyOTcxLDExIEBAIGludCBkcm1f YXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAo+ICBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zKTsK PiAgCj4gIC8qKgo+IC0gKiBkcm1fYXRvbWljX2hlbHBlcl9iZXN0X2VuY29kZXIgLSBIZWxwZXIg Zm9yICZkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcwo+IC0gKiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAtPmJlc3RfZW5jb2RlciBjYWxsYmFjawo+ICsgKiBkcm1fYXRvbWljX2hl bHBlcl9iZXN0X2VuY29kZXIgLSBIZWxwZXIgZm9yCj4gKyAqIAkmZHJtX2Nvbm5lY3Rvcl9oZWxw ZXJfZnVuY3MuYmVzdF9lbmNvZGVyIGNhbGxiYWNrCj4gICAqIEBjb25uZWN0b3I6IENvbm5lY3Rv ciBjb250cm9sIHN0cnVjdHVyZQo+ICAgKgo+IC0gKiBUaGlzIGlzIGEgJmRybV9jb25uZWN0b3Jf aGVscGVyX2Z1bmNzIC0+YmVzdF9lbmNvZGVyIGNhbGxiYWNrIGhlbHBlciBmb3IKPiArICogVGhp cyBpcyBhICZkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcy5iZXN0X2VuY29kZXIgY2FsbGJhY2sg aGVscGVyIGZvcgo+ICAgKiBjb25uZWN0b3JzIHRoYXQgc3VwcG9ydCBleGFjdGx5IDEgZW5jb2Rl ciwgc3RhdGljYWxseSBkZXRlcm1pbmVkIGF0IGRyaXZlcgo+ICAgKiBpbml0IHRpbWUuCj4gICAq Lwo+IEBAIC0zMDAzLDcgKzMwMDksNyBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNfaGVscGVy X2Jlc3RfZW5jb2Rlcik7Cj4gICAqLwo+ICAKPiAgLyoqCj4gLSAqIGRybV9hdG9taWNfaGVscGVy X2NydGNfcmVzZXQgLSBkZWZhdWx0IC0+cmVzZXQgaG9vayBmb3IgQ1JUQ3MKPiArICogZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldCAtIGRlZmF1bHQgJmRybV9jcnRjX2Z1bmNzLnJlc2V0IGhv b2sgZm9yIENSVENzCj4gICAqIEBjcnRjOiBkcm0gQ1JUQwo+ICAgKgo+ICAgKiBSZXNldHMgdGhl IGF0b21pYyBzdGF0ZSBmb3IgQGNydGMgYnkgZnJlZWluZyB0aGUgc3RhdGUgcG9pbnRlciAod2hp Y2ggbWlnaHQKPiBAQCAtMzExMCw3ICszMTE2LDcgQEAgdm9pZCBkcm1fYXRvbWljX2hlbHBlcl9j cnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICBFWFBPUlRfU1lNQk9M KGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSk7Cj4gIAo+ICAvKioKPiAtICog ZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfcmVzZXQgLSBkZWZhdWx0IC0+cmVzZXQgaG9vayBmb3Ig cGxhbmVzCj4gKyAqIGRybV9hdG9taWNfaGVscGVyX3BsYW5lX3Jlc2V0IC0gZGVmYXVsdCAmZHJt X3BsYW5lX2Z1bmNzLnJlc2V0IGhvb2sgZm9yIHBsYW5lcwo+ICAgKiBAcGxhbmU6IGRybSBwbGFu ZQo+ICAgKgo+ICAgKiBSZXNldHMgdGhlIGF0b21pYyBzdGF0ZSBmb3IgQHBsYW5lIGJ5IGZyZWVp bmcgdGhlIHN0YXRlIHBvaW50ZXIgKHdoaWNoIG1pZ2h0Cj4gQEAgLTMyMTQsOCArMzIyMCw5IEBA IEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxwZXJfcGxhbmVfZGVzdHJveV9zdGF0ZSk7Cj4g ICAqIEBjb25uX3N0YXRlOiBjb25uZWN0b3Igc3RhdGUgdG8gYXNzaWduCj4gICAqCj4gICAqIElu aXRpYWxpemVzIHRoZSBuZXdseSBhbGxvY2F0ZWQgQGNvbm5fc3RhdGUgYW5kIGFzc2lnbnMgaXQg dG8KPiAtICogI2Nvbm5lY3RvciAtPnN0YXRlLCB1c3VhbGx5IHJlcXVpcmVkIHdoZW4gaW5pdGlh bGl6aW5nIHRoZSBkcml2ZXJzCj4gLSAqIG9yIHdoZW4gY2FsbGVkIGZyb20gdGhlIC0+cmVzZXQg aG9vay4KPiArICogdGhlICZkcm1fY29uZWN0b3ItPnN0YXRlIHBvaW50ZXIgb2YgQGNvbm5lY3Rv ciwgdXN1YWxseSByZXF1aXJlZCB3aGVuCj4gKyAqIGluaXRpYWxpemluZyB0aGUgZHJpdmVycyBv ciB3aGVuIGNhbGxlZCBmcm9tIHRoZSAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5yZXNldAo+ICsgKiBo b29rLgo+ICAgKgo+ICAgKiBUaGlzIGlzIHVzZWZ1bCBmb3IgZHJpdmVycyB0aGF0IHN1YmNsYXNz IHRoZSBjb25uZWN0b3Igc3RhdGUuCj4gICAqLwo+IEBAIC0zMjMxLDcgKzMyMzgsNyBAQCBfX2Ry bV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9yZXNldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+ICBFWFBPUlRfU1lNQk9MKF9fZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX3Jl c2V0KTsKPiAgCj4gIC8qKgo+IC0gKiBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfcmVzZXQg LSBkZWZhdWx0IC0+cmVzZXQgaG9vayBmb3IgY29ubmVjdG9ycwo+ICsgKiBkcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfcmVzZXQgLSBkZWZhdWx0ICZkcm1fY29ubmVjdG9yX2Z1bmNzLnJlc2V0 IGhvb2sgZm9yIGNvbm5lY3RvcnMKPiAgICogQGNvbm5lY3RvcjogZHJtIGNvbm5lY3Rvcgo+ICAg Kgo+ICAgKiBSZXNldHMgdGhlIGF0b21pYyBzdGF0ZSBmb3IgQGNvbm5lY3RvciBieSBmcmVlaW5n IHRoZSBzdGF0ZSBwb2ludGVyICh3aGljaAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2NydGNfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiBp bmRleCAxZTI4MWRkNDJlNGIuLjhjMWU0ZDkzYTRmNCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vZHJtX2NydGNfaGVscGVyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2NydGNf aGVscGVyLmMKPiBAQCAtNTMsOSArNTMsOSBAQAo+ICAgKiBjb25maWd1cmF0aW9uIG9uIHJlc3Vt ZSB3aXRoIGRybV9oZWxwZXJfcmVzdW1lX2ZvcmNlX21vZGUoKS4KPiAgICoKPiAgICogTm90ZSB0 aGF0IHRoaXMgaGVscGVyIGxpYnJhcnkgZG9lc24ndCB0cmFjayB0aGUgY3VycmVudCBwb3dlciBz dGF0ZSBvZiBDUlRDcwo+IC0gKiBhbmQgZW5jb2RlcnMuIEl0IGNhbiBjYWxsIGNhbGxiYWNrcyBs aWtlIC0+ZHBtcygpIGV2ZW4gdGhvdWdoIHRoZSBoYXJkd2FyZSBpcwo+IC0gKiBhbHJlYWR5IGlu IHRoZSBkZXNpcmVkIHN0YXRlLiBUaGlzIGRlZmljaWVuY3kgaGFzIGJlZW4gZml4ZWQgaW4gdGhl IGF0b21pYwo+IC0gKiBoZWxwZXJzLgo+ICsgKiBhbmQgZW5jb2RlcnMuIEl0IGNhbiBjYWxsIGNh bGxiYWNrcyBsaWtlICZkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MuZHBtcyBldmVuCj4gKyAqIHRo b3VnaCB0aGUgaGFyZHdhcmUgaXMgYWxyZWFkeSBpbiB0aGUgZGVzaXJlZCBzdGF0ZS4gVGhpcyBk ZWZpY2llbmN5IGhhcyBiZWVuCj4gKyAqIGZpeGVkIGluIHRoZSBhdG9taWMgaGVscGVycy4KPiAg ICoKPiAgICogVGhlIGRyaXZlciBjYWxsYmFja3MgYXJlIG1vc3RseSBjb21wYXRpYmxlIHdpdGgg dGhlIGF0b21pYyBtb2Rlc2V0IGhlbHBlcnMsCj4gICAqIGV4Y2VwdCBmb3IgdGhlIGhhbmRsaW5n IG9mIHRoZSBwcmltYXJ5IHBsYW5lOiBBdG9taWMgaGVscGVycyByZXF1aXJlIHRoYXQgdGhlCj4g QEAgLTQ3NywxMiArNDc3LDEyIEBAIGRybV9jcnRjX2hlbHBlcl9kaXNhYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKPiAgICogZHJtX2NydGNfaGVscGVyX3NldF9jb25maWcgLSBzZXQgYSBuZXcg Y29uZmlnIGZyb20gdXNlcnNwYWNlCj4gICAqIEBzZXQ6IG1vZGUgc2V0IGNvbmZpZ3VyYXRpb24K PiAgICoKPiAtICogVGhlIGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnKCkgaGVscGVyIGZ1bmN0 aW9uIGltcGxlbWVudHMgdGhlIHNldF9jb25maWcKPiAtICogY2FsbGJhY2sgb2YgJnN0cnVjdCBk cm1fY3J0Y19mdW5jcyBmb3IgZHJpdmVycyB1c2luZyB0aGUgbGVnYWN5IENSVEMgaGVscGVycy4K PiArICogVGhlIGRybV9jcnRjX2hlbHBlcl9zZXRfY29uZmlnKCkgaGVscGVyIGZ1bmN0aW9uIGlt cGxlbWVudHMgdGhlIG9mCj4gKyAqICZkcm1fY3J0Y19mdW5jcy5zZXRfY29uZmlnIGNhbGxiYWNr IGZvciBkcml2ZXJzIHVzaW5nIHRoZSBsZWdhY3kgQ1JUQwo+ICsgKiBoZWxwZXJzLgo+ICAgKgo+ ICAgKiBJdCBmaXJzdCB0cmllcyB0byBsb2NhdGUgdGhlIGJlc3QgZW5jb2RlciBmb3IgZWFjaCBj b25uZWN0b3IgYnkgY2FsbGluZyB0aGUKPiAtICogY29ubmVjdG9yIC0+YmVzdF9lbmNvZGVyKCkg KCZzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpIGhlbHBlcgo+IC0gKiBvcGVyYXRp b24uCj4gKyAqIGNvbm5lY3RvciBAZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MuYmVzdF9lbmNv ZGVyIGhlbHBlciBvcGVyYXRpb24uCj4gICAqCj4gICAqIEFmdGVyIGxvY2F0aW5nIHRoZSBhcHBy b3ByaWF0ZSBlbmNvZGVycywgdGhlIGhlbHBlciBmdW5jdGlvbiB3aWxsIGNhbGwgdGhlCj4gICAq IG1vZGVfZml4dXAgZW5jb2RlciBhbmQgQ1JUQyBoZWxwZXIgb3BlcmF0aW9ucyB0byBhZGp1c3Qg dGhlIHJlcXVlc3RlZCBtb2RlLAo+IEBAIC00OTMsOCArNDkzLDcgQEAgZHJtX2NydGNfaGVscGVy X2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgKgo+ICAgKiBJZiB0aGUgYWRqdXN0 ZWQgbW9kZSBpcyBpZGVudGljYWwgdG8gdGhlIGN1cnJlbnQgbW9kZSBidXQgY2hhbmdlcyB0byB0 aGUKPiAgICogZnJhbWUgYnVmZmVyIG5lZWQgdG8gYmUgYXBwbGllZCwgdGhlIGRybV9jcnRjX2hl bHBlcl9zZXRfY29uZmlnKCkgZnVuY3Rpb24KPiAtICogd2lsbCBjYWxsIHRoZSBDUlRDIC0+bW9k ZV9zZXRfYmFzZSgpICgmc3RydWN0IGRybV9jcnRjX2hlbHBlcl9mdW5jcykgaGVscGVyCj4gLSAq IG9wZXJhdGlvbi4KPiArICogd2lsbCBjYWxsIHRoZSBDUlRDICZkcm1fY3J0Y19oZWxwZXJfZnVu Y3MubW9kZV9zZXRfYmFzZSBoZWxwZXIgb3BlcmF0aW9uLgo+ICAgKgo+ICAgKiBJZiB0aGUgYWRq dXN0ZWQgbW9kZSBkaWZmZXJzIGZyb20gdGhlIGN1cnJlbnQgbW9kZSwgb3IgaWYgdGhlCj4gICAq IC0+bW9kZV9zZXRfYmFzZSgpIGhlbHBlciBvcGVyYXRpb24gaXMgbm90IHByb3ZpZGVkLCB0aGUg aGVscGVyIGZ1bmN0aW9uCj4gQEAgLTg1MSwxNCArODUwLDE1IEBAIHN0YXRpYyBpbnQgZHJtX2hl bHBlcl9jaG9vc2VfY3J0Y19kcG1zKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgICogQGNvbm5l Y3RvcjogYWZmZWN0ZWQgY29ubmVjdG9yCj4gICAqIEBtb2RlOiBEUE1TIG1vZGUKPiAgICoKPiAt ICogVGhlIGRybV9oZWxwZXJfY29ubmVjdG9yX2RwbXMoKSBoZWxwZXIgZnVuY3Rpb24gaW1wbGVt ZW50cyB0aGUgLT5kcG1zKCkKPiAtICogY2FsbGJhY2sgb2YgJnN0cnVjdCBkcm1fY29ubmVjdG9y X2Z1bmNzIGZvciBkcml2ZXJzIHVzaW5nIHRoZSBsZWdhY3kgQ1JUQyBoZWxwZXJzLgo+ICsgKiBU aGUgZHJtX2hlbHBlcl9jb25uZWN0b3JfZHBtcygpIGhlbHBlciBmdW5jdGlvbiBpbXBsZW1lbnRz IHRoZQo+ICsgKiAmZHJtX2Nvbm5lY3Rvcl9mdW5jcy5kcG1zKCkgY2FsbGJhY2sgZm9yIGRyaXZl cnMgdXNpbmcgdGhlIGxlZ2FjeSBDUlRDCj4gKyAqIGhlbHBlcnMuCgpZb3UgZGlkbid0IHVzZSAo KSBpbiBhbnkgb2YgdGhlIG90aGVycy4KCk90aGVyd2lzZSBsb29rcyBnb29kIHRvIG1lOgoKUmV3 aWV3ZWQtYnk6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jb20+ CgpHdXN0YXZvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=