From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [Intel-gfx] [PATCH 23/24] drm: Create DEFINE_DRM_GEM_CMA_FOPS and roll it out to drivers Date: Mon, 13 Mar 2017 15:31:40 -0400 Message-ID: <20170313193140.GT20329@art_vandelay> References: <20170308141257.12119-1-daniel.vetter@ffwll.ch> <20170308141257.12119-24-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: <20170308141257.12119-24-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: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMDgsIDIwMTcgYXQgMDM6MTI6NTZQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBMZXNzIGNvZGUgZnR3Lgo+IAo+IFRoaXMgY29udmVydHMgYWxsIGRyaXZlcnMgZXhj ZXB0IHRoZSB0aW55ZHJtIGhlbHBlciBtb2R1bGUuIFRoYXQgb25lCj4gbmVlZHMgbW9yZSB3b3Jr LCBzaW5jZSBpdCBnZXRzIHRoZSBUSElTX01PRFVMRSByZWZlcmVuY2UgZnJvbQo+IHRpbnlkcm0u a28gaW5zdGVhZCBvZiB0aGUgYWN0dWFsIGRyaXZlciBtb2R1bGUgbGlrZSBpdCBzaG91bGQuCj4g UHJvYmFibHkgbmVlZHMgYSBzaW1pbGFyIHRyaWNrIGxpa2UgSSB1c2VkIGhlcmUgd2l0aCBnZW5l cmF0aW5nIHRoZQo+IGVudGlyZSBzdHJ1Y3Qgd2l0aCBhIG1hY3JvLgo+IAo+IENjOiBOb3JhbGYg VHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KPiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0 dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2Fy bS9oZGxjZF9kcnYuYyAgICAgICAgICAgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2FybS9tYWxpZHBfZHJ2LmMgICAgICAgICAgICAgICAgfCAxMiArLS0tLS0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2RjLmMgICAgfCAx MiArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMgICAgICAgICAgICAg ICAgICAgICAgfCAgMyArKysKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9nZW1fY21hX2hlbHBlci5j ICAgICAgICAgICAgfCAgMyArKysKPiAgZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fZHJ2LmMgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2hpc2ls aWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMgfCAxMiArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9n cHUvZHJtL2lteC9pbXgtZHJtLWNvcmUuYyAgICAgICAgICAgICAgfCAxMSArLS0tLS0tLS0tLQo+ ICBkcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgICAgICAgICAgICAgICB8IDE0ICst LS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL214c2ZiL214c2ZiX2Rydi5jICAgICAgICAg ICAgICAgfCAxNCArLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfZHJ2LmMgICAgICAgICAgIHwgMTIgKy0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9z aG1vYmlsZS9zaG1vYl9kcm1fZHJ2LmMgICAgICAgIHwgMTIgKy0tLS0tLS0tLS0tCj4gIGRyaXZl cnMvZ3B1L2RybS9zdGkvc3RpX2Rydi5jICAgICAgICAgICAgICAgICAgIHwgMTEgKy0tLS0tLS0t LS0KPiAgZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX2Rydi5jICAgICAgICAgICAgICAgfCAx MiArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMgICAg ICAgICAgICAgfCAxMiArLS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9kcm1f ZHJ2LmMgICAgICAgICAgICAgICAgfCAxNCArLS0tLS0tLS0tLS0tCj4gIGluY2x1ZGUvZHJtL2Ry bV9nZW1fY21hX2hlbHBlci5oICAgICAgICAgICAgICAgIHwgMjYgKysrKysrKysrKysrKysrKysr KysrKysrKwo+ICAxNyBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxNTggZGVsZXRp b25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMg Yi9kcml2ZXJzL2dwdS9kcm0vYXJtL2hkbGNkX2Rydi5jCj4gaW5kZXggNDg0MGRjMjc3MzM5Li4w ZTc0ODgwYjVlOTQgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9oZGxjZF9kcnYu Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vaGRsY2RfZHJ2LmMKPiBAQCAtMjM5LDE3ICsy MzksNyBAQCBzdGF0aWMgaW50IGhkbGNkX2RlYnVnZnNfaW5pdChzdHJ1Y3QgZHJtX21pbm9yICpt aW5vcikKPiAgfQo+ICAjZW5kaWYKPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVy YXRpb25zIGZvcHMgPSB7Cj4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gLQkub3BlbgkJPSBk cm1fb3BlbiwKPiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwJ PSBkcm1faW9jdGwsCj4gLQkuY29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiAtCS5w b2xsCQk9IGRybV9wb2xsLAo+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gLQkubGxzZWVrCQk9IG5v b3BfbGxzZWVrLAo+IC0JLm1tYXAJCT0gZHJtX2dlbV9jbWFfbW1hcCwKPiAtfTsKPiArREVGSU5F X0RSTV9HRU1fQ01BX0ZPUFMoZm9wcyk7Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIg aGRsY2RfZHJpdmVyID0gewo+ICAJLmRyaXZlcl9mZWF0dXJlcyA9IERSSVZFUl9IQVZFX0lSUSB8 IERSSVZFUl9HRU0gfAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vbWFsaWRwX2Rydi5jCj4gaW5kZXggYTk2MDhhMmU1 YTI5Li5lYTI1NDZmNzY2YzIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9tYWxp ZHBfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL21hbGlkcF9kcnYuYwo+IEBAIC0x NzgsMTcgKzE3OCw3IEBAIHN0YXRpYyB2b2lkIG1hbGlkcF9sYXN0Y2xvc2Uoc3RydWN0IGRybV9k ZXZpY2UgKmRybSkKPiAgCWRybV9mYmRldl9jbWFfcmVzdG9yZV9tb2RlKG1hbGlkcC0+ZmJkZXYp Owo+ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzID0g ewo+IC0JLm93bmVyID0gVEhJU19NT0RVTEUsCj4gLQkub3BlbiA9IGRybV9vcGVuLAo+IC0JLnJl bGVhc2UgPSBkcm1fcmVsZWFzZSwKPiAtCS51bmxvY2tlZF9pb2N0bCA9IGRybV9pb2N0bCwKPiAt CS5jb21wYXRfaW9jdGwgPSBkcm1fY29tcGF0X2lvY3RsLAo+IC0JLnBvbGwgPSBkcm1fcG9sbCwK PiAtCS5yZWFkID0gZHJtX3JlYWQsCj4gLQkubGxzZWVrID0gbm9vcF9sbHNlZWssCj4gLQkubW1h cCA9IGRybV9nZW1fY21hX21tYXAsCj4gLX07Cj4gK0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGZv cHMpOwo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIG1hbGlkcF9kcml2ZXIgPSB7Cj4g IAkuZHJpdmVyX2ZlYXR1cmVzID0gRFJJVkVSX0dFTSB8IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVS X0FUT01JQyB8Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hdG1lbC1obGNkYy9hdG1l bF9obGNkY19kYy5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX2Rj LmMKPiBpbmRleCA5NzBiZDg3ZDdjY2UuLjE3OGFjYmY1ZjZjNSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfZGMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9hdG1lbC1obGNkYy9hdG1lbF9obGNkY19kYy5jCj4gQEAgLTcyNCwxNyArNzI0LDcg QEAgc3RhdGljIHZvaWQgYXRtZWxfaGxjZGNfZGNfaXJxX3VuaW5zdGFsbChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAJcmVnbWFwX3JlYWQoZGMtPmhsY2RjLT5yZWdtYXAsIEFUTUVMX0hMQ0RD X0lTUiwgJmlzcik7Cj4gIH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRp b25zIGZvcHMgPSB7Cj4gLQkub3duZXIgICAgICAgICAgICAgID0gVEhJU19NT0RVTEUsCj4gLQku b3BlbiAgICAgICAgICAgICAgID0gZHJtX29wZW4sCj4gLQkucmVsZWFzZSAgICAgICAgICAgID0g ZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwgICAgID0gZHJtX2lvY3RsLAo+IC0JLmNv bXBhdF9pb2N0bCAgICAgICA9IGRybV9jb21wYXRfaW9jdGwsCj4gLQkucG9sbCAgICAgICAgICAg ICAgID0gZHJtX3BvbGwsCj4gLQkucmVhZCAgICAgICAgICAgICAgID0gZHJtX3JlYWQsCj4gLQku bGxzZWVrICAgICAgICAgICAgID0gbm9fbGxzZWVrLAo+IC0JLm1tYXAgICAgICAgICAgICAgICA9 IGRybV9nZW1fY21hX21tYXAsCj4gLX07Cj4gK0RFRklORV9EUk1fR0VNX0NNQV9GT1BTKGZvcHMp Owo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIGF0bWVsX2hsY2RjX2RjX2RyaXZlciA9 IHsKPiAgCS5kcml2ZXJfZmVhdHVyZXMgPSBEUklWRVJfSEFWRV9JUlEgfCBEUklWRVJfR0VNIHwK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9maWxlLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZpbGUuYwo+IGluZGV4IGY4NDgzZmM2ZDNkNy4uMjYwYTgzNTYzOTc2IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmlsZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9maWxlLmMKPiBAQCAtODksNiArODksOSBAQCBERUZJTkVfTVVURVgoZHJtX2dsb2JhbF9t dXRleCk7Cj4gICAqICAgICAgICAgICAgIC5tbWFwID0gZHJtX2dlbV9tbWFwLAo+ICAgKiAgICAg fTsKPiAgICoKPiArICogRm9yIENNQSBiYXNlZCBkcml2ZXJzIHRoZXJlIGlzIHRoZSBERUZJTkVf RFJNX0dFTV9DTUFfRk9QUygpIG1hY3JvIHRvIG1ha2UKPiArICogdGhpcyBzaW1wbGVyLgo+ICsg Kgo+ICAgKiBGSVhNRTogV2Ugc2hvdWxkIGhhdmUgYSBtYWNybyBmb3IgdGhpcyAoYW5kIHRoZSBD TUEgdmVyc2lvbikgc28gdGhhdCBkcml2ZXJzCgpzXyhhbmQgdGhlIENNQSB2ZXJzaW9uKV9fCgpS ZXZpZXdlZC1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Cgo+ICAgKiBkb24n dCBoYXZlIHRvIHJlcGVhdCBpdCBhbGwgdGhlIHRpbWUuCj4gICAqLwo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2dlbV9jbWFfaGVscGVyLmMKPiBpbmRleCBiYjk2OGU3Njc3OWIuLmJjMjhlNzU3NTI1NCAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmMKPiBAQCAtMzM4LDYgKzMzOCw5IEBA IHN0YXRpYyBpbnQgZHJtX2dlbV9jbWFfbW1hcF9vYmooc3RydWN0IGRybV9nZW1fY21hX29iamVj dCAqY21hX29iaiwKPiAgICogYXMgdGhlaXIgLT5tbWFwKCkgaGFuZGxlciBpbiB0aGUgRFJNIGRl dmljZSBmaWxlJ3MgZmlsZV9vcGVyYXRpb25zCj4gICAqIHN0cnVjdHVyZS4KPiAgICoKPiArICog SW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2luZyB0aGlzIGZ1bmN0aW9uLCBkcml2ZXJzIHNo b3VsZCB1c2UgdGhlCj4gKyAqIERFRklORV9EUk1fR0VNX0NNQV9GT1BTKCkubWFjcm8uCj4gKyAq Cj4gICAqIFJldHVybnM6Cj4gICAqIDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZlIGVycm9yIGNv ZGUgb24gZmFpbHVyZS4KPiAgICovCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9mc2wt ZGN1L2ZzbF9kY3VfZHJtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2ZzbC1kY3UvZnNsX2RjdV9k cm1fZHJ2LmMKPiBpbmRleCBiNTM5MWMxMjRjNjQuLjZlMDBmNGIyNjdmMSAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZnNsLWRjdS9mc2xfZGN1X2RybV9kcnYuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9mc2wtZGN1L2ZzbF9kY3VfZHJtX2Rydi5jCj4gQEAgLTE2MSwxNyArMTYxLDcg QEAgc3RhdGljIHZvaWQgZnNsX2RjdV9kcm1fbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAlkcm1fZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShmc2xfZGV2LT5mYmRldik7Cj4gIH0K PiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZzbF9kY3VfZHJtX2Zv cHMgPSB7Cj4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gLQkub3BlbgkJPSBkcm1fb3BlbiwK PiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1faW9j dGwsCj4gLQkuY29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiAtCS5wb2xsCQk9IGRy bV9wb2xsLAo+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gLQkubGxzZWVrCQk9IG5vX2xsc2VlaywK PiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4gLX07Cj4gK0RFRklORV9EUk1fR0VNX0NN QV9GT1BTKGZzbF9kY3VfZHJtX2ZvcHMpOwo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVy IGZzbF9kY3VfZHJtX2RyaXZlciA9IHsKPiAgCS5kcml2ZXJfZmVhdHVyZXMJPSBEUklWRVJfSEFW RV9JUlEgfCBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2hpc2lsaWNvbi9raXJpbi9raXJpbl9kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vaGlzaWxpY29uL2tpcmluL2tpcmluX2RybV9kcnYuYwo+IGluZGV4IDdlYzkzYWVjN2U4OC4u ZGY0ZjUwNzEzZTU0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9oaXNpbGljb24va2ly aW4va2lyaW5fZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2hpc2lsaWNvbi9raXJp bi9raXJpbl9kcm1fZHJ2LmMKPiBAQCAtMTQ2LDE3ICsxNDYsNyBAQCBzdGF0aWMgaW50IGtpcmlu X2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJcmV0dXJuIHJldDsKPiAg fQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMga2lyaW5fZHJtX2Zv cHMgPSB7Cj4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gLQkub3BlbgkJPSBkcm1fb3BlbiwK PiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1faW9j dGwsCj4gLQkuY29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiAtCS5wb2xsCQk9IGRy bV9wb2xsLAo+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gLQkubGxzZWVrCQk9IG5vX2xsc2VlaywK PiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4gLX07Cj4gK0RFRklORV9EUk1fR0VNX0NN QV9GT1BTKGtpcmluX2RybV9mb3BzKTsKPiAgCj4gIHN0YXRpYyBpbnQga2lyaW5fZ2VtX2NtYV9k dW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCj4gIAkJCQkgICAgIHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1j b3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaW14L2lteC1kcm0tY29yZS5jCj4gaW5kZXggNGI3Yjky YTdiY2Y3Li43MDczNjYxNTk4M2MgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2lteC9p bXgtZHJtLWNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaW14LWRybS1jb3JlLmMK PiBAQCAtNTcsMTYgKzU3LDcgQEAgc3RhdGljIHZvaWQgaW14X2RybV9kcml2ZXJfbGFzdGNsb3Nl KHN0cnVjdCBkcm1fZGV2aWNlICpkcm0pCj4gIAlkcm1fZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShp bXhkcm0tPmZiaGVscGVyKTsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29w ZXJhdGlvbnMgaW14X2RybV9kcml2ZXJfZm9wcyA9IHsKPiAtCS5vd25lciA9IFRISVNfTU9EVUxF LAo+IC0JLm9wZW4gPSBkcm1fb3BlbiwKPiAtCS5yZWxlYXNlID0gZHJtX3JlbGVhc2UsCj4gLQku dW5sb2NrZWRfaW9jdGwgPSBkcm1faW9jdGwsCj4gLQkubW1hcCA9IGRybV9nZW1fY21hX21tYXAs Cj4gLQkucG9sbCA9IGRybV9wb2xsLAo+IC0JLnJlYWQgPSBkcm1fcmVhZCwKPiAtCS5sbHNlZWsg PSBub29wX2xsc2VlaywKPiAtfTsKPiArREVGSU5FX0RSTV9HRU1fQ01BX0ZPUFMoaW14X2RybV9k cml2ZXJfZm9wcyk7Cj4gIAo+ICB2b2lkIGlteF9kcm1fY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiAgewo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbWVzb24vbWVzb25fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2 LmMKPiBpbmRleCA4ZDE3ZDBlNTljYmUuLmJjNTYyYTA3ODQ3YiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbWVzb24vbWVzb25fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVz b24vbWVzb25fZHJ2LmMKPiBAQCAtOTEsMTkgKzkxLDcgQEAgc3RhdGljIGlycXJldHVybl90IG1l c29uX2lycShpbnQgaXJxLCB2b2lkICphcmcpCj4gIAlyZXR1cm4gSVJRX0hBTkRMRUQ7Cj4gIH0K PiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGZvcHMgPSB7Cj4gLQku b3duZXIJCT0gVEhJU19NT0RVTEUsCj4gLQkub3BlbgkJPSBkcm1fb3BlbiwKPiAtCS5yZWxlYXNl CT0gZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwJPSBkcm1faW9jdGwsCj4gLSNpZmRl ZiBDT05GSUdfQ09NUEFUCj4gLQkuY29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiAt I2VuZGlmCj4gLQkucG9sbAkJPSBkcm1fcG9sbCwKPiAtCS5yZWFkCQk9IGRybV9yZWFkLAo+IC0J Lmxsc2VlawkJPSBub19sbHNlZWssCj4gLQkubW1hcAkJPSBkcm1fZ2VtX2NtYV9tbWFwLAo+IC19 Owo+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhmb3BzKTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3Qg ZHJtX2RyaXZlciBtZXNvbl9kcml2ZXIgPSB7Cj4gIAkuZHJpdmVyX2ZlYXR1cmVzCT0gRFJJVkVS X0hBVkVfSVJRIHwgRFJJVkVSX0dFTSB8Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t eHNmYi9teHNmYl9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNmYl9kcnYuYwo+IGlu ZGV4IGE0NjMzYWRhODQyOS4uNWFjNzEyMzI1Yzc1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9teHNmYi9teHNmYl9kcnYuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9teHNmYi9teHNm Yl9kcnYuYwo+IEBAIC0zMTksMTkgKzMxOSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBteHNmYl9p cnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpkYXRhKQo+ICAJcmV0dXJuIElSUV9IQU5ETEVEOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3BzID0gewo+ IC0JLm93bmVyCQk9IFRISVNfTU9EVUxFLAo+IC0JLm9wZW4JCT0gZHJtX29wZW4sCj4gLQkucmVs ZWFzZQk9IGRybV9yZWxlYXNlLAo+IC0JLnVubG9ja2VkX2lvY3RsCT0gZHJtX2lvY3RsLAo+IC0j aWZkZWYgQ09ORklHX0NPTVBBVAo+IC0JLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGws Cj4gLSNlbmRpZgo+IC0JLnBvbGwJCT0gZHJtX3BvbGwsCj4gLQkucmVhZAkJPSBkcm1fcmVhZCwK PiAtCS5sbHNlZWsJCT0gbm9vcF9sbHNlZWssCj4gLQkubW1hcAkJPSBkcm1fZ2VtX2NtYV9tbWFw LAo+IC19Owo+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhmb3BzKTsKPiAgCj4gIHN0YXRpYyBz dHJ1Y3QgZHJtX2RyaXZlciBteHNmYl9kcml2ZXIgPSB7Cj4gIAkuZHJpdmVyX2ZlYXR1cmVzCT0g RFJJVkVSX0dFTSB8IERSSVZFUl9NT0RFU0VUIHwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfZHJ2LmMKPiBpbmRleCAxOTIzNDZkNGZiMzQuLjYyYTNiM2UzMjE1MyAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2Rydi5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3JjYXItZHUvcmNhcl9kdV9kcnYuYwo+IEBAIC0yMjYsMTcgKzIyNiw3IEBAIHN0YXRp YyB2b2lkIHJjYXJfZHVfbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlkcm1f ZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShyY2R1LT5mYmRldik7Cj4gIH0KPiAgCj4gLXN0YXRpYyBj b25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHJjYXJfZHVfZm9wcyA9IHsKPiAtCS5vd25lcgkJ PSBUSElTX01PRFVMRSwKPiAtCS5vcGVuCQk9IGRybV9vcGVuLAo+IC0JLnJlbGVhc2UJPSBkcm1f cmVsZWFzZSwKPiAtCS51bmxvY2tlZF9pb2N0bAk9IGRybV9pb2N0bCwKPiAtCS5jb21wYXRfaW9j dGwJPSBkcm1fY29tcGF0X2lvY3RsLAo+IC0JLnBvbGwJCT0gZHJtX3BvbGwsCj4gLQkucmVhZAkJ PSBkcm1fcmVhZCwKPiAtCS5sbHNlZWsJCT0gbm9fbGxzZWVrLAo+IC0JLm1tYXAJCT0gZHJtX2dl bV9jbWFfbW1hcCwKPiAtfTsKPiArREVGSU5FX0RSTV9HRU1fQ01BX0ZPUFMocmNhcl9kdV9mb3Bz KTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciByY2FyX2R1X2RyaXZlciA9IHsKPiAg CS5kcml2ZXJfZmVhdHVyZXMJPSBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJf UFJJTUUKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1vYl9kcm1fZHJ2LmMKPiBpbmRleCAz NGZlZmEwYmEwZjAuLjc1ZjJlNWU2ZDdmYiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v c2htb2JpbGUvc2htb2JfZHJtX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxl L3NobW9iX2RybV9kcnYuYwo+IEBAIC0yMjEsMTcgKzIyMSw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBzaG1vYl9kcm1faXJxKGludCBpcnEsIHZvaWQgKmFyZykKPiAgCXJldHVybiBJUlFfSEFORExF RDsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgc2htb2Jf ZHJtX2ZvcHMgPSB7Cj4gLQkub3duZXIJCT0gVEhJU19NT0RVTEUsCj4gLQkub3BlbgkJPSBkcm1f b3BlbiwKPiAtCS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsCj4gLQkudW5sb2NrZWRfaW9jdGwJPSBk cm1faW9jdGwsCj4gLQkuY29tcGF0X2lvY3RsCT0gZHJtX2NvbXBhdF9pb2N0bCwKPiAtCS5wb2xs CQk9IGRybV9wb2xsLAo+IC0JLnJlYWQJCT0gZHJtX3JlYWQsCj4gLQkubGxzZWVrCQk9IG5vX2xs c2VlaywKPiAtCS5tbWFwCQk9IGRybV9nZW1fY21hX21tYXAsCj4gLX07Cj4gK0RFRklORV9EUk1f R0VNX0NNQV9GT1BTKHNobW9iX2RybV9mb3BzKTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2Ry aXZlciBzaG1vYl9kcm1fZHJpdmVyID0gewo+ICAJLmRyaXZlcl9mZWF0dXJlcwk9IERSSVZFUl9I QVZFX0lSUSB8IERSSVZFUl9HRU0gfCBEUklWRVJfTU9ERVNFVAo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Rydi5j Cj4gaW5kZXggM2IxNWMyY2IyMzA2Li4yM2RhOWJjNDY2NmEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3N0aS9zdGlfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9k cnYuYwo+IEBAIC0xNjcsMTYgKzE2Nyw3IEBAIHN0YXRpYyB2b2lkIHN0aV9tb2RlX2NvbmZpZ19p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlkZXYtPm1vZGVfY29uZmlnLmZ1bmNzID0g JnN0aV9tb2RlX2NvbmZpZ19mdW5jczsKPiAgfQo+ICAKPiAtc3RhdGljIGNvbnN0IHN0cnVjdCBm aWxlX29wZXJhdGlvbnMgc3RpX2RyaXZlcl9mb3BzID0gewo+IC0JLm93bmVyID0gVEhJU19NT0RV TEUsCj4gLQkub3BlbiA9IGRybV9vcGVuLAo+IC0JLm1tYXAgPSBkcm1fZ2VtX2NtYV9tbWFwLAo+ IC0JLnBvbGwgPSBkcm1fcG9sbCwKPiAtCS5yZWFkID0gZHJtX3JlYWQsCj4gLQkudW5sb2NrZWRf aW9jdGwgPSBkcm1faW9jdGwsCj4gLQkuY29tcGF0X2lvY3RsID0gZHJtX2NvbXBhdF9pb2N0bCwK PiAtCS5yZWxlYXNlID0gZHJtX3JlbGVhc2UsCj4gLX07Cj4gK0RFRklORV9EUk1fR0VNX0NNQV9G T1BTKHN0aV9kcml2ZXJfZm9wcyk7Cj4gIAo+ICBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgc3Rp X2RyaXZlciA9IHsKPiAgCS5kcml2ZXJfZmVhdHVyZXMgPSBEUklWRVJfTU9ERVNFVCB8Cj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9zdW40aS9zdW40aV9kcnYuYwo+IGluZGV4IDljY2Y3YzRkZWI2ZC4uMzI5ZWE1NjEwNmE1 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV9kcnYuYwo+IEBAIC0yNSwxNyArMjUsNyBAQAo+ ICAjaW5jbHVkZSAic3VuNGlfZnJhbWVidWZmZXIuaCIKPiAgI2luY2x1ZGUgInN1bjRpX2xheWVy LmgiCj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBzdW40aV9kcnZf Zm9wcyA9IHsKPiAtCS5vd25lcgkJPSBUSElTX01PRFVMRSwKPiAtCS5vcGVuCQk9IGRybV9vcGVu LAo+IC0JLnJlbGVhc2UJPSBkcm1fcmVsZWFzZSwKPiAtCS51bmxvY2tlZF9pb2N0bAk9IGRybV9p b2N0bCwKPiAtCS5jb21wYXRfaW9jdGwJPSBkcm1fY29tcGF0X2lvY3RsLAo+IC0JLnBvbGwJCT0g ZHJtX3BvbGwsCj4gLQkucmVhZAkJPSBkcm1fcmVhZCwKPiAtCS5sbHNlZWsJCT0gbm9fbGxzZWVr LAo+IC0JLm1tYXAJCT0gZHJtX2dlbV9jbWFfbW1hcCwKPiAtfTsKPiArREVGSU5FX0RSTV9HRU1f Q01BX0ZPUFMoc3VuNGlfZHJ2X2ZvcHMpOwo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVy IHN1bjRpX2Rydl9kcml2ZXIgPSB7Cj4gIAkuZHJpdmVyX2ZlYXR1cmVzCT0gRFJJVkVSX0dFTSB8 IERSSVZFUl9NT0RFU0VUIHwgRFJJVkVSX1BSSU1FIHwgRFJJVkVSX0FUT01JQywKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMgYi9kcml2ZXJzL2dwdS9k cm0vdGlsY2RjL3RpbGNkY19kcnYuYwo+IGluZGV4IDgxZDgwYTJmZmViMS4uNDgwNDExYzJlODAy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90aWxjZGMvdGlsY2RjX2Rydi5jCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL3RpbGNkYy90aWxjZGNfZHJ2LmMKPiBAQCAtNTMwLDE3ICs1MzAs NyBAQCBzdGF0aWMgaW50IHRpbGNkY19kZWJ1Z2ZzX2luaXQoc3RydWN0IGRybV9taW5vciAqbWlu b3IpCj4gIH0KPiAgI2VuZGlmCj4gIAo+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGZpbGVfb3BlcmF0 aW9ucyBmb3BzID0gewo+IC0JLm93bmVyICAgICAgICAgICAgICA9IFRISVNfTU9EVUxFLAo+IC0J Lm9wZW4gICAgICAgICAgICAgICA9IGRybV9vcGVuLAo+IC0JLnJlbGVhc2UgICAgICAgICAgICA9 IGRybV9yZWxlYXNlLAo+IC0JLnVubG9ja2VkX2lvY3RsICAgICA9IGRybV9pb2N0bCwKPiAtCS5j b21wYXRfaW9jdGwgICAgICAgPSBkcm1fY29tcGF0X2lvY3RsLAo+IC0JLnBvbGwgICAgICAgICAg ICAgICA9IGRybV9wb2xsLAo+IC0JLnJlYWQgICAgICAgICAgICAgICA9IGRybV9yZWFkLAo+IC0J Lmxsc2VlayAgICAgICAgICAgICA9IG5vX2xsc2VlaywKPiAtCS5tbWFwICAgICAgICAgICAgICAg PSBkcm1fZ2VtX2NtYV9tbWFwLAo+IC19Owo+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyhmb3Bz KTsKPiAgCj4gIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciB0aWxjZGNfZHJpdmVyID0gewo+ICAJ LmRyaXZlcl9mZWF0dXJlcyAgICA9IChEUklWRVJfSEFWRV9JUlEgfCBEUklWRVJfR0VNIHwgRFJJ VkVSX01PREVTRVQgfAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9k cnYuYyBiL2RyaXZlcnMvZ3B1L2RybS96dGUvenhfZHJtX2Rydi5jCj4gaW5kZXggYjI0YTcwYmE0 YjgzLi42MTRlODU0ZjZiZTUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3p0ZS96eF9k cm1fZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2RybV9kcnYuYwo+IEBAIC01 MywxOSArNTMsNyBAQCBzdGF0aWMgdm9pZCB6eF9kcm1fbGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2 aWNlICpkcm0pCj4gIAlkcm1fZmJkZXZfY21hX3Jlc3RvcmVfbW9kZShwcml2LT5mYmRldik7Cj4g IH0KPiAgCj4gLXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIHp4X2RybV9mb3Bz ID0gewo+IC0JLm93bmVyID0gVEhJU19NT0RVTEUsCj4gLQkub3BlbiA9IGRybV9vcGVuLAo+IC0J LnJlbGVhc2UgPSBkcm1fcmVsZWFzZSwKPiAtCS51bmxvY2tlZF9pb2N0bCA9IGRybV9pb2N0bCwK PiAtI2lmZGVmIENPTkZJR19DT01QQVQKPiAtCS5jb21wYXRfaW9jdGwgPSBkcm1fY29tcGF0X2lv Y3RsLAo+IC0jZW5kaWYKPiAtCS5wb2xsID0gZHJtX3BvbGwsCj4gLQkucmVhZCA9IGRybV9yZWFk LAo+IC0JLmxsc2VlayA9IG5vb3BfbGxzZWVrLAo+IC0JLm1tYXAgPSBkcm1fZ2VtX2NtYV9tbWFw LAo+IC19Owo+ICtERUZJTkVfRFJNX0dFTV9DTUFfRk9QUyh6eF9kcm1fZm9wcyk7Cj4gIAo+ICBz dGF0aWMgc3RydWN0IGRybV9kcml2ZXIgenhfZHJtX2RyaXZlciA9IHsKPiAgCS5kcml2ZXJfZmVh dHVyZXMgPSBEUklWRVJfR0VNIHwgRFJJVkVSX01PREVTRVQgfCBEUklWRVJfUFJJTUUgfAo+IGRp ZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaCBiL2luY2x1ZGUvZHJt L2RybV9nZW1fY21hX2hlbHBlci5oCj4gaW5kZXggMmFiY2Q1MTkwY2MxLi5mOTYyZDMzNjY3Y2Yg MTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2dlbV9jbWFfaGVscGVyLmgKPiArKysgYi9p bmNsdWRlL2RybS9kcm1fZ2VtX2NtYV9oZWxwZXIuaAo+IEBAIC0yNiw2ICsyNiwzMiBAQCB0b19k cm1fZ2VtX2NtYV9vYmooc3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW1fb2JqKQo+ICAJcmV0dXJu IGNvbnRhaW5lcl9vZihnZW1fb2JqLCBzdHJ1Y3QgZHJtX2dlbV9jbWFfb2JqZWN0LCBiYXNlKTsK PiAgfQo+ICAKPiArLyoqCj4gKyAqIERFRklORV9EUk1fR0VNX0NNQV9GT1BTKCkgLSBtYWNybyB0 byBnZW5lcmF0ZSBmaWxlIG9wZXJhdGlvbnMgZm9yIENNQSBkcml2ZXJzCj4gKyAqIEBuYW1lOiBu YW1lIGZvciB0aGUgZ2VuZXJhdGVkIHN0cnVjdHVyZQo+ICsgKgo+ICsgKiBUaGlzIG1hY3JvIGF1 dG9nZW5lcmF0ZXMgYSBzdWl0YWJsZSAmc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBmb3IgQ01BIGJh c2VkCj4gKyAqIGRyaXZlcnMsIHdoaWNoIGNhbiBiZSBhc3NpZ25lZCB0byAmZHJtX2RyaXZlci5m b3BzLiBOb3RlIHRoYXQgdGhpcyBzdHJ1Y3R1cmUKPiArICogY2Fubm90IGJlIHNoYXJlZCBiZXR3 ZWVuIGRyaXZlcnMsIGJlY2F1c2UgaXQgY29udGFpbnMgYSByZWZlcmVuY2UgdG8gdGhlCj4gKyAq IGN1cnJlbnQgbW9kdWxlIHVzaW5nIFRISVNfTU9EVUxFLgo+ICsgKgo+ICsgKiBOb3RlIHRoYXQg dGhlIGRlY2xhcmF0aW9uIGlzIGFscmVhZHkgbWFya2VkIGFzIHN0YXRpYyAtIGlmIHlvdSBuZWVk IGEKPiArICogbm9uLXN0YXRpYyB2ZXJzaW9uIG9mIHRoaXMgeW91J3JlIHByb2JhYmx5IGRvaW5n IGl0IHdyb25nIGFuZCB3aWxsIGJyZWFrIHRoZQo+ICsgKiBUSElTX01PRFVMRSByZWZlcmVuY2Ug YnkgYWNjaWRlbnQuCj4gKyAqLwo+ICsjZGVmaW5lIERFRklORV9EUk1fR0VNX0NNQV9GT1BTKG5h bWUpIFwKPiArCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIG5hbWUgPSB7XAo+ ICsJCS5vd25lcgkJPSBUSElTX01PRFVMRSxcCj4gKwkJLm9wZW4JCT0gZHJtX29wZW4sXAo+ICsJ CS5yZWxlYXNlCT0gZHJtX3JlbGVhc2UsXAo+ICsJCS51bmxvY2tlZF9pb2N0bAk9IGRybV9pb2N0 bCxcCj4gKwkJLmNvbXBhdF9pb2N0bAk9IGRybV9jb21wYXRfaW9jdGwsXAo+ICsJCS5wb2xsCQk9 IGRybV9wb2xsLFwKPiArCQkucmVhZAkJPSBkcm1fcmVhZCxcCj4gKwkJLmxsc2VlawkJPSBub29w X2xsc2VlayxcCj4gKwkJLm1tYXAJCT0gZHJtX2dlbV9jbWFfbW1hcCxcCj4gKwl9Cj4gKwo+ICAv KiBmcmVlIEdFTSBvYmplY3QgKi8KPiAgdm9pZCBkcm1fZ2VtX2NtYV9mcmVlX29iamVjdChzdHJ1 Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmopOwo+ICAKPiAtLSAKPiAyLjExLjAKPiAKPiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBt YWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==