From mboxrd@z Thu Jan 1 00:00:00 1970 From: "james qian wang (Arm Technology China)" Subject: [PATCH v2 3/9] drm/komeda: Build komeda to be a platform module Date: Wed, 19 Dec 2018 12:33:26 +0000 Message-ID: <20181219123147.16090-4-james.qian.wang@arm.com> References: <20181219123147.16090-1-james.qian.wang@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181219123147.16090-1-james.qian.wang@arm.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liviu Dudau Cc: Mark Rutland , "linux-doc@vger.kernel.org" , "maxime.ripard@bootlin.com" , "Jonathan Chai (Arm Technology China)" , Alexandru-Cosmin Gheorghe , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "yamada.masahiro@socionext.com" , "Yiqi Kang (Arm Technology China)" , "mchehab+samsung@kernel.org" , "Tiannan Zhu (Arm Technology China)" , "corbet@lwn.net" , "airlied@linux.ie" , "malidp@foss.arm.com" , "thomas Sun (Arm Technology China)" , Ayan Halder , devicetree List-Id: devicetree@vger.kernel.org SW1wbGVtZW50IGEgc2ltcGxlIHdyYXBwZXIgZm9yIHBsYXRmb3JtIG1vZHVsZSB0byBidWlsZCBr b21lZGEgdG8gbW9kdWxlLApBbHNvIGFkZCBhIHZlcnkgc2ltcGxlIEQ3MSBsYXllciBjb2RlIHRv IHNob3cgaG93IHRvIGRpc2NvdmVyIGEgcHJvZHVjdC4KS29tZWRhIGRyaXZlciBkaXJlY3QgYmlu ZCB0aGUgcHJvZHVjdCBFTlRSWSBmdW5jdGlvbiB4eHhfaWRlbnRpdHkgdG8gRFQKY29tcGF0aWJs ZSBuYW1lIGxpa2U6CgpkNzFfcHJvZHVjdCA9IHsKCS5wcm9kdWN0X2lkID0gTUFMSURQX0Q3MV9Q Uk9EVUNUX0lELAoJLmlkZW50aWZ5ID0gZDcxX2lkZW50aWZ5LAp9LAoKY29uc3Qgc3RydWN0IG9m X2RldmljZV9pZCBrb21lZGFfb2ZfbWF0Y2hbXSA9IHsKCXsgLmNvbXBhdGlibGUgPSAiYXJtLG1h bGktZDcxIiwgLmRhdGEgPSAmZDcxX3Byb2R1Y3QsIH0sCgl7fSwKfTsKClRoZW4gd2hlbiBsaW51 eCBmb3VuZCBhIG1hdGNoZWQgRFQgbm9kZSBhbmQgY2FsbCBkcml2ZXIgdG8gcHJvYmUsIHdlIGNh bgplYXNpbHkgZ2V0IHRoZSBvZiBkYXRhLCBhbmQgY2FsbCBpbnRvIHRoZSBwcm9kdWN0IHRvIGRv IHRoZSBpZGVudGlmeToKCmtvbWVkYV9iaW5kKCkKewogICAgLi4uCiAgICBwcm9kdWN0ID0gb2Zf ZGV2aWNlX2dldF9tYXRjaF9kYXRhKGRldik7CgogICAgcHJvZHVjdC0+aWRlbnRpZnkoKTsKICAg IC4uLgp9CgpTaWduZWQtb2ZmLWJ5OiBKYW1lcyAoUWlhbikgV2FuZyA8amFtZXMucWlhbi53YW5n QGFybS5jb20+Ci0tLQogLi4uL2dwdS9kcm0vYXJtL2Rpc3BsYXkvaW5jbHVkZS9tYWxpZHBfaW8u aCAgIHwgIDQyICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9NYWtl ZmlsZSAgIHwgICA2ICstCiAuLi4vZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9k ZXYuYyAgfCAgMzMgKysrKysKIC4uLi9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9rb21lZGFf ZGV2LmggICB8ICAgNCArLQogLi4uL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL2tvbWVkYV9k cnYuYyAgIHwgMTMyICsrKysrKysrKysrKysrKysrKwogNSBmaWxlcyBjaGFuZ2VkLCAyMTUgaW5z ZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dw dS9kcm0vYXJtL2Rpc3BsYXkvaW5jbHVkZS9tYWxpZHBfaW8uaAogY3JlYXRlIG1vZGUgMTAwNjQ0 IGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEvZDcxL2Q3MV9kZXYuYwogY3JlYXRl IG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Ry di5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2luY2x1ZGUvbWFs aWRwX2lvLmggYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkvaW5jbHVkZS9tYWxpZHBfaW8u aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjRmYjNjYWY4NjRjZQot LS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9pbmNsdWRlL21h bGlkcF9pby5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wICovCisvKgorICogKEMpIENPUFlSSUdIVCAyMDE4IEFSTSBMaW1pdGVkLiBBbGwgcmln aHRzIHJlc2VydmVkLgorICogQXV0aG9yOiBKYW1lcy5RaWFuLldhbmcgPGphbWVzLnFpYW4ud2Fu Z0Bhcm0uY29tPgorICoKKyAqLworI2lmbmRlZiBfTUFMSURQX0lPX0hfCisjZGVmaW5lIF9NQUxJ RFBfSU9fSF8KKworI2luY2x1ZGUgPGxpbnV4L2lvLmg+CisKK3N0YXRpYyBpbmxpbmUgdTMyCitt YWxpZHBfcmVhZDMyKHUzMiBfX2lvbWVtICpiYXNlLCB1MzIgb2Zmc2V0KQoreworCXJldHVybiBy ZWFkbCgoYmFzZSArIChvZmZzZXQgPj4gMikpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitt YWxpZHBfd3JpdGUzMih1MzIgX19pb21lbSAqYmFzZSwgdTMyIG9mZnNldCwgdTMyIHYpCit7CisJ d3JpdGVsKHYsIChiYXNlICsgKG9mZnNldCA+PiAyKSkpOworfQorCitzdGF0aWMgaW5saW5lIHZv aWQKK21hbGlkcF93cml0ZTMyX21hc2sodTMyIF9faW9tZW0gKmJhc2UsIHUzMiBvZmZzZXQsIHUz MiBtLCB1MzIgdikKK3sKKwl1MzIgdG1wID0gbWFsaWRwX3JlYWQzMihiYXNlLCBvZmZzZXQpOwor CisJdG1wICY9ICh+bSk7CisJbWFsaWRwX3dyaXRlMzIoYmFzZSwgb2Zmc2V0LCB2IHwgdG1wKTsK K30KKworc3RhdGljIGlubGluZSB2b2lkCittYWxpZHBfd3JpdGVfZ3JvdXAodTMyIF9faW9tZW0g KmJhc2UsIHUzMiBvZmZzZXQsIGludCBudW0sIGNvbnN0IHUzMiAqdmFsdWVzKQoreworCWludCBp OworCisJZm9yIChpID0gMDsgaSA8IG51bTsgaSsrKQorCQltYWxpZHBfd3JpdGUzMihiYXNlLCBv ZmZzZXQgKyBpICogNCwgdmFsdWVzW2ldKTsKK30KKworI2VuZGlmIC8qX01BTElEUF9JT19IXyov CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29tZWRhL01ha2VmaWxl IGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tvbWVkYS9NYWtlZmlsZQppbmRleCAwN2I1 OTY1ZjM4MDguLjRlZmNjZTBjZGNlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FybS9k aXNwbGF5L2tvbWVkYS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkv a29tZWRhL01ha2VmaWxlCkBAIC01LDcgKzUsMTEgQEAgY2NmbGFncy15IDo9IFwKIAktSSQoc3Jj KQogCiBrb21lZGEteSA6PSBcCisJa29tZWRhX2Rydi5vIFwKIAlrb21lZGFfZGV2Lm8gXAotCWtv bWVkYV9waXBlbGluZS5vIFwKKwlrb21lZGFfcGlwZWxpbmUubworCitrb21lZGEteSArPSBcCisJ ZDcxL2Q3MV9kZXYubwogCiBvYmotJChDT05GSUdfRFJNX0tPTUVEQSkgKz0ga29tZWRhLm8KXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXJt L2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3Bs YXkva29tZWRhL2Q3MS9kNzFfZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5hZjNkYWJiNDk5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0v YXJtL2Rpc3BsYXkva29tZWRhL2Q3MS9kNzFfZGV2LmMKQEAgLTAsMCArMSwzMyBAQAorLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisgKiAoQykgQ09QWVJJR0hUIDIwMTgg QVJNIExpbWl0ZWQuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBBdXRob3I6IEphbWVzLlFpYW4u V2FuZyA8amFtZXMucWlhbi53YW5nQGFybS5jb20+CisgKgorICovCisjaW5jbHVkZSAibWFsaWRw X2lvLmgiCisjaW5jbHVkZSAia29tZWRhX2Rldi5oIgorCitzdGF0aWMgaW50IGQ3MV9lbnVtX3Jl c291cmNlcyhzdHJ1Y3Qga29tZWRhX2RldiAqbWRldikKK3sKKwkvKiBUT0RPIGFkZCBlbnVtIHJl c291cmNlcyAqLworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCBrb21lZGFfZGV2X2Z1 bmNzIGQ3MV9jaGlwX2Z1bmNzID0geworCS5lbnVtX3Jlc291cmNlcwk9IGQ3MV9lbnVtX3Jlc291 cmNlcywKKwkuY2xlYW51cAk9IE5VTEwsCit9OworCisjZGVmaW5lIEdMQl9BUkNIX0lECQkweDAw MAorI2RlZmluZSBHTEJfQ09SRV9JRAkJMHgwMDQKKyNkZWZpbmUgR0xCX0NPUkVfSU5GTwkJMHgw MDgKKworc3RydWN0IGtvbWVkYV9kZXZfZnVuY3MgKgorZDcxX2lkZW50aWZ5KHUzMiBfX2lvbWVt ICpyZWdfYmFzZSwgc3RydWN0IGtvbWVkYV9jaGlwX2luZm8gKmNoaXApCit7CisJY2hpcC0+YXJj aF9pZAk9IG1hbGlkcF9yZWFkMzIocmVnX2Jhc2UsIEdMQl9BUkNIX0lEKTsKKwljaGlwLT5jb3Jl X2lkCT0gbWFsaWRwX3JlYWQzMihyZWdfYmFzZSwgR0xCX0NPUkVfSUQpOworCWNoaXAtPmNvcmVf aW5mbwk9IG1hbGlkcF9yZWFkMzIocmVnX2Jhc2UsIEdMQl9DT1JFX0lORk8pOworCisJcmV0dXJu ICZkNzFfY2hpcF9mdW5jczsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2Rldi5oIGIvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNwbGF5L2tv bWVkYS9rb21lZGFfZGV2LmgKaW5kZXggMjVjNzk1MjhkYWM0Li42ODBlM2UyY2YxMDAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlzcGxheS9rb21lZGEva29tZWRhX2Rldi5oCkBAIC0x Miw3ICsxMiw2IEBACiAjaW5jbHVkZSAia29tZWRhX3BpcGVsaW5lLmgiCiAjaW5jbHVkZSAibWFs aWRwX3Byb2R1Y3QuaCIKIAotCiAvKiBtYWxpZHAgZGV2aWNlIGlkICovCiBlbnVtIHsKIAlNQUxJ X0Q3MSA9IDAsCkBAIC05Myw2ICs5Miw5IEBAIGtvbWVkYV9wcm9kdWN0X21hdGNoKHN0cnVjdCBr b21lZGFfZGV2ICptZGV2LCB1MzIgdGFyZ2V0KQogCXJldHVybiBNQUxJRFBfQ09SRV9JRF9QUk9E VUNUX0lEKG1kZXYtPmNoaXAuY29yZV9pZCkgPT0gdGFyZ2V0OwogfQogCitzdHJ1Y3Qga29tZWRh X2Rldl9mdW5jcyAqCitkNzFfaWRlbnRpZnkodTMyIF9faW9tZW0gKnJlZywgc3RydWN0IGtvbWVk YV9jaGlwX2luZm8gKmNoaXApOworCiBzdHJ1Y3Qga29tZWRhX2RldiAqa29tZWRhX2Rldl9jcmVh dGUoc3RydWN0IGRldmljZSAqZGV2KTsKIHZvaWQga29tZWRhX2Rldl9kZXN0cm95KHN0cnVjdCBr b21lZGFfZGV2ICptZGV2KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FybS9kaXNw bGF5L2tvbWVkYS9rb21lZGFfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vYXJtL2Rpc3BsYXkva29t ZWRhL2tvbWVkYV9kcnYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu LmJmMzJkMzM0ZDIwZAotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hcm0vZGlz cGxheS9rb21lZGEva29tZWRhX2Rydi5jCkBAIC0wLDAgKzEsMTMyIEBACisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAqIChDKSBDT1BZUklHSFQgMjAxOCBBUk0gTGlt aXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIEF1dGhvcjogSmFtZXMuUWlhbi5XYW5nIDxq YW1lcy5xaWFuLndhbmdAYXJtLmNvbT4KKyAqCisgKi8KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUu aD4KKyNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9k ZXZpY2UuaD4KKyNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KKyNpbmNsdWRlIDxkcm0vZHJt X29mLmg+CisjaW5jbHVkZSAia29tZWRhX2Rldi5oIgorCitzdHJ1Y3Qga29tZWRhX2RydiB7CisJ c3RydWN0IGtvbWVkYV9kZXYgKm1kZXY7Cit9OworCitzdGF0aWMgdm9pZCBrb21lZGFfdW5iaW5k KHN0cnVjdCBkZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qga29tZWRhX2RydiAqbWRydiA9IGRldl9n ZXRfZHJ2ZGF0YShkZXYpOworCisJZGV2X3NldF9kcnZkYXRhKGRldiwgTlVMTCk7CisKKwlpZiAo bWRydiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlrb21lZGFfZGV2X2Rlc3Ryb3kobWRydi0+bWRl dik7CisJa2ZyZWUobWRydik7Cit9CisKK3N0YXRpYyBpbnQga29tZWRhX2JpbmQoc3RydWN0IGRl dmljZSAqZGV2KQoreworCXN0cnVjdCBrb21lZGFfZHJ2ICptZHJ2OworCWludCBlcnI7CisKKwlt ZHJ2ID0ga3phbGxvYyhzaXplb2YoKm1kcnYpLCBHRlBfS0VSTkVMKTsKKwlpZiAobWRydiA9PSBO VUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW1kcnYtPm1kZXYgPSBrb21lZGFfZGV2X2NyZWF0 ZShkZXYpOworCWlmIChJU19FUlIobWRydi0+bWRldikpIHsKKwkJZXJyID0gUFRSX0VSUihtZHJ2 LT5tZGV2KTsKKwkJZ290byBmcmVlX21kcnY7CisJfQorCisJZGV2X3NldF9kcnZkYXRhKGRldiwg bWRydik7CisKKwlyZXR1cm4gMDsKKworZnJlZV9tZHJ2OgorCWtmcmVlKG1kcnYpOworCXJldHVy biBlcnI7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X21hc3Rlcl9vcHMga29t ZWRhX21hc3Rlcl9vcHMgPSB7CisJLmJpbmQJPSBrb21lZGFfYmluZCwKKwkudW5iaW5kCT0ga29t ZWRhX3VuYmluZCwKK307CisKK3N0YXRpYyBpbnQgY29tcGFyZV9vZihzdHJ1Y3QgZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEpCit7CisJcmV0dXJuIGRldi0+b2Zfbm9kZSA9PSBkYXRhOworfQorCitz dGF0aWMgdm9pZCBrb21lZGFfYWRkX3NsYXZlKHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKKwkJCSAg ICAgc3RydWN0IGNvbXBvbmVudF9tYXRjaCAqKm1hdGNoLAorCQkJICAgICBzdHJ1Y3QgZGV2aWNl X25vZGUgKm5wLCBpbnQgcG9ydCkKK3sKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJlbW90ZTsKKwor CXJlbW90ZSA9IG9mX2dyYXBoX2dldF9yZW1vdGVfbm9kZShucCwgcG9ydCwgMCk7CisJaWYgKHJl bW90ZSAhPSBOVUxMKSB7CisJCWRybV9vZl9jb21wb25lbnRfbWF0Y2hfYWRkKG1hc3RlciwgbWF0 Y2gsIGNvbXBhcmVfb2YsIHJlbW90ZSk7CisJCW9mX25vZGVfcHV0KHJlbW90ZSk7CisJfQorfQor CitzdGF0aWMgaW50IGtvbWVkYV9wbGF0Zm9ybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNl ICpwZGV2KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5kZXY7CisJc3RydWN0IGNv bXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqY2hpbGQ7 CisKKwlpZiAoZGV2LT5vZl9ub2RlID09IE5VTEwpCisJCXJldHVybiAtRU5PREVWOworCisJZm9y X2VhY2hfYXZhaWxhYmxlX2NoaWxkX29mX25vZGUoZGV2LT5vZl9ub2RlLCBjaGlsZCkgeworCQlp ZiAob2Zfbm9kZV9jbXAoY2hpbGQtPm5hbWUsICJwaXBlbGluZSIpICE9IDApCisJCQljb250aW51 ZTsKKworCQkvKiBhZGQgY29ubmVjdG9yICovCisJCWtvbWVkYV9hZGRfc2xhdmUoZGV2LCAmbWF0 Y2gsIGNoaWxkLCBLT01FREFfT0ZfUE9SVF9PVVRQVVQpOworCX0KKworCXJldHVybiBjb21wb25l bnRfbWFzdGVyX2FkZF93aXRoX21hdGNoKGRldiwgJmtvbWVkYV9tYXN0ZXJfb3BzLCBtYXRjaCk7 Cit9CisKK3N0YXRpYyBpbnQga29tZWRhX3BsYXRmb3JtX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQoreworCWNvbXBvbmVudF9tYXN0ZXJfZGVsKCZwZGV2LT5kZXYsICZrb21l ZGFfbWFzdGVyX29wcyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qga29t ZWRhX3Byb2R1Y3RfZGF0YSBrb21lZGFfcHJvZHVjdHNbXSA9IHsKKwlbTUFMSV9ENzFdID0gewor CQkucHJvZHVjdF9pZCA9IE1BTElEUF9ENzFfUFJPRFVDVF9JRCwKKwkJLmlkZW50aWZ5ID0gZDcx X2lkZW50aWZ5LAorCX0sCit9OworCitjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNlX2lkIGtvbWVkYV9v Zl9tYXRjaFtdID0geworCXsgLmNvbXBhdGlibGUgPSAiYXJtLG1hbGktZDcxIiwgLmRhdGEgPSAm a29tZWRhX3Byb2R1Y3RzW01BTElfRDcxXSwgfSwKKwl7fSwKK307CisKK01PRFVMRV9ERVZJQ0Vf VEFCTEUob2YsIGtvbWVkYV9vZl9tYXRjaCk7CisKK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJp dmVyIGtvbWVkYV9wbGF0Zm9ybV9kcml2ZXIgPSB7CisJLnByb2JlCT0ga29tZWRhX3BsYXRmb3Jt X3Byb2JlLAorCS5yZW1vdmUJPSBrb21lZGFfcGxhdGZvcm1fcmVtb3ZlLAorCS5kcml2ZXIJPSB7 CisJCS5uYW1lID0gImtvbWVkYSIsCisJCS5vZl9tYXRjaF90YWJsZQk9IGtvbWVkYV9vZl9tYXRj aCwKKwkJLnBtID0gTlVMTCwKKwl9LAorfTsKKworbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihrb21l ZGFfcGxhdGZvcm1fZHJpdmVyKTsKKworTU9EVUxFX0FVVEhPUigiSmFtZXMuUWlhbi5XYW5nIDxq YW1lcy5xaWFuLndhbmdAYXJtLmNvbT4iKTsKK01PRFVMRV9ERVNDUklQVElPTigiS29tZWRhIEtN UyBkcml2ZXIiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKLS0gCjIuMTcuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxp bmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==