From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 02/15] drm: Centralize format information Date: Thu, 9 Jun 2016 10:52:23 +0200 Message-ID: <20160609085223.GM3363@phenom.ffwll.local> References: <1465428739-26529-1-git-send-email-laurent.pinchart@ideasonboard.com> <1465428739-26529-3-git-send-email-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id B1D2A6EB05 for ; Thu, 9 Jun 2016 08:52:28 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id r5so8852612wmr.0 for ; Thu, 09 Jun 2016 01:52:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1465428739-26529-3-git-send-email-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart Cc: Daniel Vetter , Tomi Valkeinen , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdW4gMDksIDIwMTYgYXQgMDI6MzI6MDZBTSArMDMwMCwgTGF1cmVudCBQaW5jaGFy dCB3cm90ZToKPiBWYXJpb3VzIHBpZWNlcyBvZiBpbmZvcm1hdGlvbiBhYm91dCBEUk0gZm9ybWF0 cyAobnVtYmVyIG9mIHBsYW5lcywgY29sb3IKPiBkZXB0aCwgY2hyb21hIHN1YnNhbXBsaW5nLCAu Li4pIGFyZSBzY2F0dGVyZWQgYWNyb3NzIGRpZmZlcmVudCBoZWxwZXIKPiBmdW5jdGlvbnMgaW4g dGhlIERSTSBjb3JlLiBDYWxsZXJzIG9mIHRob3NlIGZ1bmN0aW9ucyBvZnRlbiBuZWVkIHRvCj4g YWNjZXNzIG1vcmUgdGhhbiBhIHNpbmdsZSBwYXJhbWV0ZXIgb2YgdGhlIGZvcm1hdCwgbGVhZGlu ZyB0bwo+IGluZWZmaWNpZW5jaWVzIGR1ZSB0byBtdWx0aXBsZSBsb29rdXBzLgo+IAo+IENlbnRy YWxpemUgYWxsIGZvcm1hdCBpbmZvcm1hdGlvbiBpbiBhIGRhdGEgc3RydWN0dXJlIGFuZCBjcmVh dGUgYQo+IGZ1bmN0aW9uIHRvIGxvb2sgdXAgaW5mb3JtYXRpb24gYmFzZWQgb24gdGhlIGZvcm1h dCA0Q0MuCj4gCj4gU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5j aGFydEBpZGVhc29uYm9hcmQuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJj Yy5jIHwgODQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAg aW5jbHVkZS9kcm0vZHJtX2ZvdXJjYy5oICAgICB8IDE5ICsrKysrKysrKysKPiAgMiBmaWxlcyBj aGFuZ2VkLCAxMDMgaW5zZXJ0aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2ZvdXJjYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9mb3VyY2MuYwo+IGluZGV4IDA2 NDVjODVkNWY5NS4uNDdiOWFiZDc0M2JlIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9k cm1fZm91cmNjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJjYy5jCj4gQEAgLTYy LDYgKzYyLDkwIEBAIGNvbnN0IGNoYXIgKmRybV9nZXRfZm9ybWF0X25hbWUodWludDMyX3QgZm9y bWF0KQo+ICBFWFBPUlRfU1lNQk9MKGRybV9nZXRfZm9ybWF0X25hbWUpOwo+ICAKPiAgLyoqCj4g KyAqIGRybV9mb3JtYXRfaW5mbyAtIHF1ZXJ5IGluZm9ybWF0aW9uIGZvciBhIGdpdmVuIGZvcm1h dAo+ICsgKiBAZm9ybWF0OiBwaXhlbCBmb3JtYXQgKERSTV9GT1JNQVRfKikKPiArICoKPiArICog UmV0dXJuczoKPiArICogVGhlIGluc3RhbmNlIG9mIHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gdGhh dCBkZXNjcmliZXMgdGhlIHBpeGVsIGZvcm1hdCwgb3IKPiArICogTlVMTCBpZiB0aGUgZm9ybWF0 IGlzIHVuc3VwcG9ydGVkLgo+ICsgKi8KPiArY29uc3Qgc3RydWN0IGRybV9mb3JtYXRfaW5mbyAq ZHJtX2Zvcm1hdF9pbmZvKHUzMiBmb3JtYXQpCgpCaWtlc2hlZCBvbiB5b3VyIHBpeGVsIGZvcm1h dCBkZXNjcmlwdGlvbiB0YWJsZS4gSSB0aGluayB0aGUgYXBwcm9hY2ggSSd2ZQpzZWVuIGluIGdh bGxpdW0vbWVzYSB0byBkZXNjcmliZSBwaXhlbCBmb3JtYXRzIGlzIGEgbG90IG1vcmUgZ2VuZXJp YywgYW5kCndlIG1pZ2h0IGFzIHdlbGwgYWRvcHQgaXQgd2hlbiB3ZSBjaGFuZ2UuIElkZWEgaXMg dG8gaGF2ZSBhIGJsb2NrIHNpemUKbWVhc3VyZSBpbiBwaXhlbHMgKGJvdGggaCBhbmQgdiksIGFu ZCB0aGVuIGNwcCBpcyBieXRlc19wZXJfYmxvY2suIFRoaXMgaXMKZXNzZW50aWFsbHkgd2hhdCB5 b3UgaGF2ZSB3aXRoIGhzdWIgYW5kIHZzdWIgYWxyZWFkeSwgZXhjZXB0IGNvbmZ1c2luZwpuYW1l cywgbW9yZSBpbGwtZGVmaW5lZCAoc2luY2UgaXQgb25seSBtYWtlcyBzZW5zZSBmb3IgeXV2KSBh bmQgbGVzcwpnZW5lcmljLiBBIGZldyBleGFtcGxlczoKCWhfYmxvY2tzaXplCXZfYmxvY2tzaXpl CWJ5dGVzX3Blcl9ibG9jayAocGVyLXBsYW5lKQpZVVY0MTAJNAkJNAkJezQsIDEsIDF9CllVVjQx MQk0CQkxCQl7NCwgMSwgMX0KCmhzdWIgPSBoX2Jsb2Nrc2l6ZSAvIGJ5dGVzX3Blcl9ibG9ja1tV L1YgcGxhbmVdCnZzdWIgPSB2X2Jsb2Nrc2l6ZSAvIGJ5dGVzX3Blcl9ibG9ja1tVL1YgcGxhbmVd CgoqX2Jsb2Nrc2l6ZSBpcyBpbiBwaXhlbHMKCltub3QgZW50aXJlbHkgc3VyZSBvbiB0aGUgcHJl Y2lzZSBkYXRhLCBidXQgdGhhdCdzIGtpbmRhIHRoZSBwb2ludC5dCgpPZmMgc2hvdWxkIG1heWJl IGNoZWNrIHRoYXQgdGhvc2UgaGVscGVycyBhcmUgb25seSBjYWxsZWQgb24geXV2IHBsYW5hcgpm b3JtYXRzLCB0b28uIFRoaXMgd2F5IHdlIGNvdWxkIGFsc28gcmVtb3ZlIHNvbWUgb2YgdGhlIGNv bW1lbnRzIGluCmRybV9mb3VyY2MuaCwgb3IgYXQgbGVhc3QgbWFrZSB0aGUgbW9yZSBjbGVhci4g QW5vdGhlciBiZW5lZml0IGlzIHRoYXQKd2l0aCB0aGlzIGl0J3MgcG9zc2libGUgdG8gd3JpdGUg ZW50aXJlbHkgZ2VuZXJpYyBzaXplL3N0cmlkZSBjaGVja2luZwpmdW5jdGlvbnMKCk9oIGFuZCBp ZiB3ZSBnbyB3aXRoIHRoaXMsIHNvbWUgYXNjaWlhcnQgZm9yIHdoYXQncyBtZWFudCAoaW4gc3Bo aW54L3JzdCwKdGhhdCB3aWxsIGhhcHBlbiBpbiA0LjgpIHdvdWxkIGJlIGF3ZXNvbWUuCi1EYW5p ZWwKCj4gK3sKPiArCXN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIGZvcm1hdHNb XSA9IHsgCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9DOCwJCS5kZXB0aCA9IDgsICAubnVt X3BsYW5lcyA9IDEsIC5jcHAgPSB7IDEsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwK PiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQjMzMiwJCS5kZXB0aCA9IDgsICAubnVtX3Bs YW5lcyA9IDEsIC5jcHAgPSB7IDEsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiAr CQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUjIzMywJCS5kZXB0aCA9IDgsICAubnVtX3BsYW5l cyA9IDEsIC5jcHAgPSB7IDEsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7 IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hSR0I0NDQ0LAkuZGVwdGggPSAxMiwgLm51bV9wbGFuZXMg PSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAu Zm9ybWF0ID0gRFJNX0ZPUk1BVF9YQkdSNDQ0NCwJLmRlcHRoID0gMTIsIC5udW1fcGxhbmVzID0g MSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZv cm1hdCA9IERSTV9GT1JNQVRfUkdCWDQ0NDQsCS5kZXB0aCA9IDEyLCAubnVtX3BsYW5lcyA9IDEs IC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3Jt YXQgPSBEUk1fRk9STUFUX0JHUlg0NDQ0LAkuZGVwdGggPSAxMiwgLm51bV9wbGFuZXMgPSAxLCAu Y3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9BUkdCNDQ0NCwJLmRlcHRoID0gMTIsIC5udW1fcGxhbmVzID0gMSwgLmNw cCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9 IERSTV9GT1JNQVRfQUJHUjQ0NDQsCS5kZXB0aCA9IDEyLCAubnVtX3BsYW5lcyA9IDEsIC5jcHAg PSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBE Uk1fRk9STUFUX1JHQkE0NDQ0LAkuZGVwdGggPSAxMiwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0g eyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJN X0ZPUk1BVF9CR1JBNDQ0NCwJLmRlcHRoID0gMTIsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsg MiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9G T1JNQVRfWFJHQjE1NTUsCS5kZXB0aCA9IDE1LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIs IDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9S TUFUX1hCR1IxNTU1LAkuZGVwdGggPSAxNSwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAw LCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1B VF9SR0JYNTU1MSwJLmRlcHRoID0gMTUsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwg MCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf QkdSWDU1NTEsCS5kZXB0aCA9IDE1LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAg fSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FS R0IxNTU1LAkuZGVwdGggPSAxNSwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0s IC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BQkdS MTU1NSwJLmRlcHRoID0gMTUsIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAu aHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCQTU1 NTEsCS5kZXB0aCA9IDE1LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhz dWIgPSAxLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUkE1NTUx LAkuZGVwdGggPSAxNSwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3Vi ID0gMSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0I1NjUsCQku ZGVwdGggPSAxNiwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0g MSwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1I1NjUsCQkuZGVw dGggPSAxNiwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwg LnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0I4ODgsCQkuZGVwdGgg PSAyNCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAzLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZz dWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1I4ODgsCQkuZGVwdGggPSAy NCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAzLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIg PSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9YUkdCODg4OCwJLmRlcHRoID0gMjQs IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0g MSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWEJHUjg4ODgsCS5kZXB0aCA9IDI0LCAu bnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEg fSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQlg4ODg4LAkuZGVwdGggPSAyNCwgLm51 bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0s Cj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JYODg4OCwJLmRlcHRoID0gMjQsIC5udW1f cGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWFJHQjIxMDEwMTAsCS5kZXB0aCA9IDMwLCAubnVt X3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwK PiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hCR1IyMTAxMDEwLAkuZGVwdGggPSAzMCwgLm51 bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0s Cj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JYMTAxMDEwMiwJLmRlcHRoID0gMzAsIC5u dW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9 LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQkdSWDEwMTAxMDIsCS5kZXB0aCA9IDMwLCAu bnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEg fSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FSR0IyMTAxMDEwLAkuZGVwdGggPSAzMCwg Lm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAx IH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BQkdSMjEwMTAxMCwJLmRlcHRoID0gMzAs IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0g MSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCQTEwMTAxMDIsCS5kZXB0aCA9IDMw LCAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9 IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUkExMDEwMTAyLAkuZGVwdGggPSAz MCwgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIg PSAxIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BUkdCODg4OCwJLmRlcHRoID0gMzIs IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0g MSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQUJHUjg4ODgsCS5kZXB0aCA9IDMyLCAu bnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEg fSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQkE4ODg4LAkuZGVwdGggPSAzMiwgLm51 bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0s Cj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JBODg4OCwJLmRlcHRoID0gMzIsIC5udW1f cGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDEwLAkJLmRlcHRoID0gMCwgIC5udW1fcGxh bmVzID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gNCB9LAo+ICsJ CXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVZVNDEwLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVz ID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gNCB9LAo+ICsJCXsg LmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDExLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0g MywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZv cm1hdCA9IERSTV9GT1JNQVRfWVZVNDExLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywg LmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDQsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1h dCA9IERSTV9GT1JNQVRfWVVWNDIwLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNw cCA9IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDIsIC52c3ViID0gMiB9LAo+ICsJCXsgLmZvcm1hdCA9 IERSTV9GT1JNQVRfWVZVNDIwLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9 IHsgMSwgMSwgMSB9LCAuaHN1YiA9IDIsIC52c3ViID0gMiB9LAo+ICsJCXsgLmZvcm1hdCA9IERS TV9GT1JNQVRfWVVWNDIyLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsg MSwgMSwgMSB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9G T1JNQVRfWVZVNDIyLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwg MSwgMSB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JN QVRfWVVWNDQ0LAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwgMSwg MSB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf WVZVNDQ0LAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9 LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfTlYx MiwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDIsIC5jcHAgPSB7IDEsIDIsIDAgfSwgLmhz dWIgPSAyLCAudnN1YiA9IDIgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX05WMjEsCQku ZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAyLCAuY3BwID0geyAxLCAyLCAwIH0sIC5oc3ViID0g MiwgLnZzdWIgPSAyIH0sCj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9OVjE2LAkJLmRlcHRo ID0gMCwgIC5udW1fcGxhbmVzID0gMiwgLmNwcCA9IHsgMSwgMiwgMCB9LCAuaHN1YiA9IDIsIC52 c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfTlY2MSwJCS5kZXB0aCA9IDAs ICAubnVtX3BsYW5lcyA9IDIsIC5jcHAgPSB7IDEsIDIsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9 IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX05WMjQsCQkuZGVwdGggPSAwLCAgLm51 bV9wbGFuZXMgPSAyLCAuY3BwID0geyAxLCAyLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0s Cj4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9OVjQyLAkJLmRlcHRoID0gMCwgIC5udW1fcGxh bmVzID0gMiwgLmNwcCA9IHsgMSwgMiwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ICsJ CXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVVZViwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9 IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiArCQl7IC5m b3JtYXQgPSBEUk1fRk9STUFUX1lWWVUsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAxLCAu Y3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMiwgLnZzdWIgPSAxIH0sCj4gKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9VWVZZLAkJLmRlcHRoID0gMCwgIC5udW1fcGxhbmVzID0gMSwgLmNwcCA9 IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ICsJCXsgLmZvcm1hdCA9IERS TV9GT1JNQVRfVllVWSwJCS5kZXB0aCA9IDAsICAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIs IDAsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9S TUFUX0FZVVYsCQkuZGVwdGggPSAwLCAgLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAw IH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gKwl9Owo+ICsKPiArCXVuc2lnbmVkIGludCBp Owo+ICsKPiArCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGZvcm1hdHMpOyArK2kpIHsKPiAr CQlpZiAoZm9ybWF0c1tpXS5mb3JtYXQgPT0gZm9ybWF0KQo+ICsJCQlyZXR1cm4gJmZvcm1hdHNb aV07Cj4gKwl9Cj4gKwo+ICsJcmV0dXJuIE5VTEw7Cj4gK30KPiArRVhQT1JUX1NZTUJPTChkcm1f Zm9ybWF0X2luZm8pOwo+ICsKPiArLyoqCj4gICAqIGRybV9mYl9nZXRfYnBwX2RlcHRoIC0gZ2V0 IHRoZSBicHAvZGVwdGggdmFsdWVzIGZvciBmb3JtYXQKPiAgICogQGZvcm1hdDogcGl4ZWwgZm9y bWF0IChEUk1fRk9STUFUXyopCj4gICAqIEBkZXB0aDogc3RvcmFnZSBmb3IgdGhlIGRlcHRoIHZh bHVlCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvZHJt L2RybV9mb3VyY2MuaAo+IGluZGV4IDdmOTBhMzk2Y2YyYi4uYjA3N2RmNTA3YjUxIDEwMDY0NAo+ IC0tLSBhL2luY2x1ZGUvZHJtL2RybV9mb3VyY2MuaAo+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9m b3VyY2MuaAo+IEBAIC0yNSw2ICsyNSwyNSBAQAo+ICAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4K PiAgI2luY2x1ZGUgPHVhcGkvZHJtL2RybV9mb3VyY2MuaD4KPiAgCj4gKy8qKgo+ICsgKiBzdHJ1 Y3QgZHJtX2Zvcm1hdF9pbmZvIC0gaW5mb3JtYXRpb24gYWJvdXQgYSBEUk0gZm9ybWF0Cj4gKyAq IEBmb3JtYXQ6IDRDQyBmb3JtYXQgaWRlbnRpZmllciAoRFJNX0ZPUk1BVF8qKQo+ICsgKiBAZGVw dGg6IGNvbG9yIGRlcHRoIChudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwgZXhjbHVkaW5nIHBhZGRp bmcgYml0cykKPiArICogQG51bV9wbGFuZXM6IG51bWJlciBvZiBjb2xvciBwbGFuZXMgKDEgdG8g MykKPiArICogQGNwcDogbnVtYmVyIG9mIGJ5dGVzIHBlciBwaXhlbCAocGVyIHBsYW5lKQo+ICsg KiBAaHN1YjogaG9yaXpvbnRhbCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yCj4gKyAqIEB2c3Vi OiB2ZXJ0aWNhbCBjaHJvbWEgc3Vic2FtcGxpbmcgZmFjdG9yCj4gKyAqLwo+ICtzdHJ1Y3QgZHJt X2Zvcm1hdF9pbmZvIHsKPiArCXUzMiBmb3JtYXQ7Cj4gKwl1OCBkZXB0aDsKPiArCXU4IG51bV9w bGFuZXM7Cj4gKwl1OCBjcHBbM107Cj4gKwl1OCBoc3ViOwo+ICsJdTggdnN1YjsKPiArfTsKPiAr Cj4gK2NvbnN0IHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gKmRybV9mb3JtYXRfaW5mbyh1MzIgZm9y bWF0KTsKPiAgdm9pZCBkcm1fZmJfZ2V0X2JwcF9kZXB0aCh1aW50MzJfdCBmb3JtYXQsIHVuc2ln bmVkIGludCAqZGVwdGgsIGludCAqYnBwKTsKPiAgaW50IGRybV9mb3JtYXRfbnVtX3BsYW5lcyh1 aW50MzJfdCBmb3JtYXQpOwo+ICBpbnQgZHJtX2Zvcm1hdF9wbGFuZV9jcHAodWludDMyX3QgZm9y bWF0LCBpbnQgcGxhbmUpOwo+IC0tIAo+IFJlZ2FyZHMsCj4gCj4gTGF1cmVudCBQaW5jaGFydAo+ IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJp LWRldmVsIG1haWxpbmcgbGlzdAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=