From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= Subject: [PATCH 2/2] pinctrl: bcm: add Northstar driver Date: Wed, 19 Sep 2018 23:02:19 +0200 Message-ID: <20180919210219.21921-2-zajec5@gmail.com> References: <20180919210219.21921-1-zajec5@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180919210219.21921-1-zajec5@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Linus Walleij , linux-gpio@vger.kernel.org, Rob Herring , devicetree@vger.kernel.org Cc: Mark Rutland , Scott Branden , Jon Mason , Ray Jui , bcm-kernel-feedback-list@broadcom.com, =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org RnJvbTogUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgoKVGhpcyBkcml2ZXIgcHJv dmlkZXMgc3VwcG9ydCBmb3IgTm9ydGhzdGFyIG11eCBjb250cm9sbGVyLiBJdCBkaWZmZXJzCmZy b20gTm9ydGhzdGFyIFBsdXMgb25lIHNvIGEgbmV3IGJpbmRpbmcgYW5kIGRyaXZlciB3ZXJlIG5l ZWRlZC4KClJpZ2h0IG5vdyBpdCBpbmNsdWRlcyBzdXBwb3J0IGZvciBTUEkgcGlucyBvbmx5IHdo aWNoIGlzIGNhdXNlZCBieSBhCmxhY2sgb2YgYWNjZXNzIHRvIEJyb2FkY29tJ3MgZGF0YXNoZWV0 LiBTUEkgcGlucyBpbmZvIHdhcyBleHRyYWN0ZWQgZnJvbQp0aGUgQnJvYWRjb20ncyBTREsuIE9u Y2UgbW9yZSBwaW5zIGFyZSBkaXNjb3ZlcmVkIHRoZXkgY2FuIGJlIGFkZGVkIHRvCnRoZSBkcml2 ZXIgd2l0aG91dCBicmVha2luZyBhbnkgZXhpc3Rpbmcgc2V0dXBzLgoKU2lnbmVkLW9mZi1ieTog UmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgotLS0KIGRyaXZlcnMvcGluY3RybC9i Y20vS2NvbmZpZyAgICAgIHwgIDEzICsrKwogZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmlsZSAg ICAgfCAgIDEgKwogZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLW5zLmMgfCAyNDYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI2MCBp bnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9waW5jdHJsL2JjbS9waW5j dHJsLW5zLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcgYi9kcml2 ZXJzL3BpbmN0cmwvYmNtL0tjb25maWcKaW5kZXggMGYzOGQ1MWY0N2M2Li5jODU3NTM5OWQ2Zjcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvcGluY3RybC9iY20vS2NvbmZpZworKysgYi9kcml2ZXJzL3Bp bmN0cmwvYmNtL0tjb25maWcKQEAgLTczLDYgKzczLDE5IEBAIGNvbmZpZyBQSU5DVFJMX0NZR05V U19NVVgKIAkgIGNvbmZpZ3VyYXRpb24sIHdpdGggdGhlIGV4Y2VwdGlvbiB0aGF0IGNlcnRhaW4g aW5kaXZpZHVhbCBwaW5zCiAJICBjYW4gYmUgb3ZlcnJpZGRlbiB0byBHUElPIGZ1bmN0aW9uCiAK K2NvbmZpZyBQSU5DVFJMX05TCisJYm9vbCAiQnJvYWRjb20gTm9ydGhzdGFyIHBpbnMgZHJpdmVy IgorCWRlcGVuZHMgb24gT0YgJiYgKEFSQ0hfQkNNXzUzMDFYIHx8IENPTVBJTEVfVEVTVCkKKwlz ZWxlY3QgUElOTVVYCisJc2VsZWN0IEdFTkVSSUNfUElOQ09ORgorCWRlZmF1bHQgQVJDSF9CQ01f NTMwMVgKKwloZWxwCisJICBTYXkgeWVzIGhlcmUgdG8gZW5hYmxlIHRoZSBCcm9hZGNvbSBOUyBT b0MgcGlucyBkcml2ZXIuCisKKwkgIFRoZSBCcm9hZGNvbSBOb3J0aHN0YXIgcGlucyBkcml2ZXIg c3VwcG9ydHMgbXV4aW5nIG11bHRpLXB1cnBvc2UgcGlucworCSAgdGhhdCBjYW4gYmUgdXNlZCBm b3IgdmFyaW91cyBmdW5jdGlvbnMgKGUuZy4gU1BJLCBJMkMsIFVBUlQpIGFzIHdlbGwKKwkgIGFz IEdQSU9zLgorCiBjb25maWcgUElOQ1RSTF9OU1BfR1BJTwogCWJvb2wgIkJyb2FkY29tIE5TUCBH UElPICh3aXRoIFBJTkNPTkYpIGRyaXZlciIKIAlkZXBlbmRzIG9uIE9GX0dQSU8gJiYgKEFSQ0hf QkNNX05TUCB8fCBDT01QSUxFX1RFU1QpCmRpZmYgLS1naXQgYS9kcml2ZXJzL3BpbmN0cmwvYmNt L01ha2VmaWxlIGIvZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmlsZQppbmRleCA4MGNlYjlkYWU5 NDQuLjc5ZDVlNDlmZGQ5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9waW5jdHJsL2JjbS9NYWtlZmls ZQorKysgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL01ha2VmaWxlCkBAIC01LDYgKzUsNyBAQCBvYmot JChDT05GSUdfUElOQ1RSTF9CQ00yODFYWCkJCSs9IHBpbmN0cmwtYmNtMjgxeHgubwogb2JqLSQo Q09ORklHX1BJTkNUUkxfQkNNMjgzNSkJCSs9IHBpbmN0cmwtYmNtMjgzNS5vCiBvYmotJChDT05G SUdfUElOQ1RSTF9JUFJPQ19HUElPKQkrPSBwaW5jdHJsLWlwcm9jLWdwaW8ubwogb2JqLSQoQ09O RklHX1BJTkNUUkxfQ1lHTlVTX01VWCkJKz0gcGluY3RybC1jeWdudXMtbXV4Lm8KK29iai0kKENP TkZJR19QSU5DVFJMX05TKQkJKz0gcGluY3RybC1ucy5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9O U1BfR1BJTykJCSs9IHBpbmN0cmwtbnNwLWdwaW8ubwogb2JqLSQoQ09ORklHX1BJTkNUUkxfTlMy X01VWCkJCSs9IHBpbmN0cmwtbnMyLW11eC5vCiBvYmotJChDT05GSUdfUElOQ1RSTF9OU1BfTVVY KQkJKz0gcGluY3RybC1uc3AtbXV4Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGluY3RybC9iY20v cGluY3RybC1ucy5jIGIvZHJpdmVycy9waW5jdHJsL2JjbS9waW5jdHJsLW5zLmMKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi5iZjc3MDNjNGEyZTMKLS0tIC9kZXYvbnVs bAorKysgYi9kcml2ZXJzL3BpbmN0cmwvYmNtL3BpbmN0cmwtbnMuYwpAQCAtMCwwICsxLDI0NiBA QAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisgKiBDb3B5cmlnaHQg KEMpIDIwMTggUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgorICovCisKKyNpbmNs dWRlIDxsaW51eC9lcnIuaD4KKyNpbmNsdWRlIDxsaW51eC9pby5oPgorI2luY2x1ZGUgPGxpbnV4 L21vZHVsZS5oPgorI2luY2x1ZGUgPGxpbnV4L29mLmg+CisjaW5jbHVkZSA8bGludXgvcGluY3Ry bC9waW5jb25mLWdlbmVyaWMuaD4KKyNpbmNsdWRlIDxsaW51eC9waW5jdHJsL3BpbmN0cmwuaD4K KyNpbmNsdWRlIDxsaW51eC9waW5jdHJsL3Bpbm11eC5oPgorI2luY2x1ZGUgPGxpbnV4L3BsYXRm b3JtX2RldmljZS5oPgorI2luY2x1ZGUgPGxpbnV4L3NsYWIuaD4KKworc3RydWN0IG5zX3BpbmN0 cmwgeworCXN0cnVjdCBwaW5jdHJsX2RldiAqcGN0bGRldjsKKwlzdHJ1Y3QgZGV2aWNlICpkZXY7 CisJdm9pZCBfX2lvbWVtICpiYXNlOworfTsKKworLyoKKyAqIFBpbnMKKyAqLworCitzdHJ1Y3Qg bnNfcGluX2RhdGEgeworCXVuc2lnbmVkIGludCByZWc7CisJdW5zaWduZWQgaW50IGJpdDsKK307 CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbnNfcGluX2RhdGEgbnNfcGluc19kYXRhW10gPSB7CisJ WzBdID0geyAwLCAwIH0sCisJWzFdID0geyAwLCAxIH0sCisJWzJdID0geyAwLCAyIH0sCisJWzNd ID0geyAwLCAzIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IHBpbmN0cmxfcGluX2Rlc2Mg bnNfcGluY3RybF9waW5zW10gPSB7CisJeyAwLCAic3BpX2NsayIgfSwKKwl7IDEsICJzcGlfc3Mi IH0sCisJeyAyLCAic3BpX21vc2kiIH0sCisJeyAzLCAic3BpX21pc28iIH0sCit9OworCisvKgor ICogR3JvdXBzCisgKi8KKworc3RydWN0IG5zX3BpbmN0cmxfZ3JvdXAgeworCWNvbnN0IGNoYXIg Km5hbWU7CisJY29uc3QgdW5zaWduZWQgaW50ICpwaW5zOworCWNvbnN0IHVuc2lnbmVkIGludCBu dW1fcGluczsKK307CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgc3BpX3BpbnNbXSA9IHsg MCwgMSwgMiwgMyB9OworCisjZGVmaW5lIE5TX0dST1VQKF9uYW1lLCBfcGlucykJCQlcCit7CQkJ CQkJXAorCS5uYW1lID0gX25hbWUsCQkJCVwKKwkucGlucyA9IF9waW5zLAkJCQlcCisJLm51bV9w aW5zID0gQVJSQVlfU0laRShfcGlucyksCQlcCit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbnNf cGluY3RybF9ncm91cCBuc19waW5jdHJsX2dyb3Vwc1tdID0geworCU5TX0dST1VQKCJzcGlfZ3Jw Iiwgc3BpX3BpbnMpLAorfTsKKworLyoKKyAqIEZ1bmN0aW9ucworICovCisKK3N0cnVjdCBuc19w aW5jdHJsX2Z1bmN0aW9uIHsKKwljb25zdCBjaGFyICpuYW1lOworCWNvbnN0IGNoYXIgKiBjb25z dCAqZ3JvdXBzOworCWNvbnN0IHVuc2lnbmVkIGludCBudW1fZ3JvdXBzOworfTsKKworc3RhdGlj IGNvbnN0IGNoYXIgKiBjb25zdCBzcGlfZ3JvdXBzW10gPSB7ICJzcGlfZ3JwIiB9OworCisjZGVm aW5lIE5TX0ZVTkNUSU9OKF9uYW1lLCBfZ3JvdXBzKQkJXAorewkJCQkJCVwKKwkubmFtZSA9IF9u YW1lLAkJCQlcCisJLmdyb3VwcyA9IF9ncm91cHMsCQkJXAorCS5udW1fZ3JvdXBzID0gQVJSQVlf U0laRShfZ3JvdXBzKSwJXAorfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IG5zX3BpbmN0cmxfZnVu Y3Rpb24gbnNfcGluY3RybF9mdW5jdGlvbnNbXSA9IHsKKwlOU19GVU5DVElPTigic3BpIiwgc3Bp X2dyb3VwcyksCit9OworCisvKgorICogR3JvdXBzIGNvZGUKKyAqLworCitzdGF0aWMgaW50IG5z X3BpbmN0cmxfZ2V0X2dyb3Vwc19jb3VudChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdHJsX2RldikK K3sKKwlyZXR1cm4gQVJSQVlfU0laRShuc19waW5jdHJsX2dyb3Vwcyk7Cit9CisKK3N0YXRpYyBj b25zdCBjaGFyICpuc19waW5jdHJsX2dldF9ncm91cF9uYW1lKHN0cnVjdCBwaW5jdHJsX2RldiAq cGN0cmxfZGV2LAorCQkJCQkgICAgIHVuc2lnbmVkIGludCBzZWxlY3RvcikKK3sKKwlyZXR1cm4g bnNfcGluY3RybF9ncm91cHNbc2VsZWN0b3JdLm5hbWU7Cit9CisKK3N0YXRpYyBpbnQgbnNfcGlu Y3RybF9nZXRfZ3JvdXBfcGlucyhzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdHJsX2RldiwKKwkJCQkg ICAgIHVuc2lnbmVkIGludCBzZWxlY3RvciwKKwkJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGludCAq KnBpbnMsCisJCQkJICAgICB1bnNpZ25lZCBpbnQgKm51bV9waW5zKQoreworCSpwaW5zID0gbnNf cGluY3RybF9ncm91cHNbc2VsZWN0b3JdLnBpbnM7CisJKm51bV9waW5zID0gbnNfcGluY3RybF9n cm91cHNbc2VsZWN0b3JdLm51bV9waW5zOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25z dCBzdHJ1Y3QgcGluY3RybF9vcHMgbnNfcGluY3RybF9vcHMgPSB7CisJLmdldF9ncm91cHNfY291 bnQgPSBuc19waW5jdHJsX2dldF9ncm91cHNfY291bnQsCisJLmdldF9ncm91cF9uYW1lID0gbnNf cGluY3RybF9nZXRfZ3JvdXBfbmFtZSwKKwkuZ2V0X2dyb3VwX3BpbnMgPSBuc19waW5jdHJsX2dl dF9ncm91cF9waW5zLAorCS5kdF9ub2RlX3RvX21hcCA9IHBpbmNvbmZfZ2VuZXJpY19kdF9ub2Rl X3RvX21hcF9ncm91cCwKKwkuZHRfZnJlZV9tYXAgPSBwaW5jb25mX2dlbmVyaWNfZHRfZnJlZV9t YXAsCit9OworCisvKgorICogRnVuY3Rpb25zIGNvZGUKKyAqLworCitzdGF0aWMgaW50IG5zX3Bp bmN0cmxfZ2V0X2Z1bmN0aW9uc19jb3VudChzdHJ1Y3QgcGluY3RybF9kZXYgKnBjdHJsX2RldikK K3sKKwlyZXR1cm4gQVJSQVlfU0laRShuc19waW5jdHJsX2Z1bmN0aW9ucyk7Cit9CisKK3N0YXRp YyBjb25zdCBjaGFyICpuc19waW5jdHJsX2dldF9mdW5jdGlvbl9uYW1lKHN0cnVjdCBwaW5jdHJs X2RldiAqcGN0cmxfZGV2LAorCQkJCQkJdW5zaWduZWQgaW50IHNlbGVjdG9yKQoreworCXJldHVy biBuc19waW5jdHJsX2Z1bmN0aW9uc1tzZWxlY3Rvcl0ubmFtZTsKK30KKworc3RhdGljIGludCBu c19waW5jdHJsX2dldF9mdW5jdGlvbl9ncm91cHMoc3RydWN0IHBpbmN0cmxfZGV2ICpwY3RybF9k ZXYsCisJCQkJCSAgdW5zaWduZWQgaW50IHNlbGVjdG9yLAorCQkJCQkgIGNvbnN0IGNoYXIgKiBj b25zdCAqKmdyb3VwcywKKwkJCQkJICB1bnNpZ25lZCAqIGNvbnN0IG51bV9ncm91cHMpCit7CisJ Kmdyb3VwcyA9IG5zX3BpbmN0cmxfZnVuY3Rpb25zW3NlbGVjdG9yXS5ncm91cHM7CisJKm51bV9n cm91cHMgPSBuc19waW5jdHJsX2Z1bmN0aW9uc1tzZWxlY3Rvcl0ubnVtX2dyb3VwczsKKworCXJl dHVybiAwOworfQorCitzdGF0aWMgaW50IG5zX3BpbmN0cmxfc2V0X211eChzdHJ1Y3QgcGluY3Ry bF9kZXYgKnBjdHJsX2RldiwKKwkJCSAgICAgIHVuc2lnbmVkIGludCBmdW5jX3NlbGVjdCwKKwkJ CSAgICAgIHVuc2lnbmVkIGludCBncnBfc2VsZWN0KQoreworCXN0cnVjdCBuc19waW5jdHJsICpu c19waW5jdHJsID0gcGluY3RybF9kZXZfZ2V0X2RydmRhdGEocGN0cmxfZGV2KTsKKwl1MzIgdW5z ZXRbOV0gPSB7IH07CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnNfcGluY3RybF9ncm91 cHNbZ3JwX3NlbGVjdF0ubnVtX3BpbnM7IGkrKykgeworCQlpbnQgcGluX251bWJlciA9IG5zX3Bp bmN0cmxfZ3JvdXBzW2dycF9zZWxlY3RdLnBpbnNbaV07CisJCWNvbnN0IHN0cnVjdCBuc19waW5f ZGF0YSAqZGF0YSA9ICZuc19waW5zX2RhdGFbcGluX251bWJlcl07CisKKwkJdW5zZXRbZGF0YS0+ cmVnXSB8PSBCSVQoZGF0YS0+Yml0KTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RSh1bnNldCk7IGkrKykgeworCQl1MzIgdG1wOworCisJCWlmICghdW5zZXRbaV0pCisJCQljb250 aW51ZTsKKworCQl0bXAgPSByZWFkbChuc19waW5jdHJsLT5iYXNlICsgaSk7CisJCXRtcCAmPSB+ dW5zZXRbaV07CisJCXdyaXRlbCh0bXAsIG5zX3BpbmN0cmwtPmJhc2UgKyBpKTsKKwl9CisKKwly ZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBwaW5tdXhfb3BzIG5zX3BpbmN0cmxf cG14b3BzID0geworCS5nZXRfZnVuY3Rpb25zX2NvdW50ID0gbnNfcGluY3RybF9nZXRfZnVuY3Rp b25zX2NvdW50LAorCS5nZXRfZnVuY3Rpb25fbmFtZSA9IG5zX3BpbmN0cmxfZ2V0X2Z1bmN0aW9u X25hbWUsCisJLmdldF9mdW5jdGlvbl9ncm91cHMgPSBuc19waW5jdHJsX2dldF9mdW5jdGlvbl9n cm91cHMsCisJLnNldF9tdXggPSBuc19waW5jdHJsX3NldF9tdXgsCit9OworCisvKgorICogQ29u dHJvbGxlciBjb2RlCisgKi8KKworc3RhdGljIHN0cnVjdCBwaW5jdHJsX2Rlc2MgbnNfcGluY3Ry bF9kZXNjID0geworCS5uYW1lID0gInBpbmN0cmwtbnMiLAorCS5waW5zID0gbnNfcGluY3RybF9w aW5zLAorCS5ucGlucyA9IEFSUkFZX1NJWkUobnNfcGluY3RybF9waW5zKSwKKwkucGN0bG9wcyA9 ICZuc19waW5jdHJsX29wcywKKwkucG14b3BzID0gJm5zX3BpbmN0cmxfcG14b3BzLAorfTsKKwor c3RhdGljIGludCBuc19waW5jdHJsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYp Cit7CisJc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKKwlzdHJ1Y3QgbnNfcGluY3Ry bCAqbnNfcGluY3RybDsKKwlzdHJ1Y3QgcmVzb3VyY2UgKnJlczsKKworCW5zX3BpbmN0cmwgPSBk ZXZtX2t6YWxsb2MoZGV2LCBzaXplb2YoKm5zX3BpbmN0cmwpLCBHRlBfS0VSTkVMKTsKKwlpZiAo IW5zX3BpbmN0cmwpCisJCXJldHVybiAtRU5PTUVNOworCW5zX3BpbmN0cmwtPmRldiA9IGRldjsK KworCXJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUocGRldiwgSU9SRVNPVVJDRV9N RU0sCisJCQkJCSAgICJjcnVfcGluc19jb250cm9sIik7CisJbnNfcGluY3RybC0+YmFzZSA9IGRl dm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIHJlcyk7CisJaWYgKElTX0VSUihuc19waW5jdHJsLT5i YXNlKSkgeworCQlkZXZfZXJyKGRldiwgIkZhaWxlZCB0byBtYXAgcGluY3RybCByZWdzXG4iKTsK KwkJcmV0dXJuIFBUUl9FUlIobnNfcGluY3RybC0+YmFzZSk7CisJfQorCisJcGxhdGZvcm1fc2V0 X2RydmRhdGEocGRldiwgbnNfcGluY3RybCk7CisKKwluc19waW5jdHJsLT5wY3RsZGV2ID0gZGV2 bV9waW5jdHJsX3JlZ2lzdGVyKGRldiwgJm5zX3BpbmN0cmxfZGVzYywKKwkJCQkJCSAgICBuc19w aW5jdHJsKTsKKwlpZiAoSVNfRVJSKG5zX3BpbmN0cmwtPnBjdGxkZXYpKSB7CisJCWRldl9lcnIo ZGV2LCAiRmFpbGVkIHRvIHJlZ2lzdGVyIHBpbmN0cmxcbiIpOworCQlyZXR1cm4gUFRSX0VSUihu c19waW5jdHJsLT5wY3RsZGV2KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0 IHN0cnVjdCBvZl9kZXZpY2VfaWQgbnNfcGluY3RybF9vZl9tYXRjaF90YWJsZVtdID0geworCXsg LmNvbXBhdGlibGUgPSAiYnJjbSxucy1waW5tdXgiIH0sCisJeyB9Cit9OworCitzdGF0aWMgc3Ry dWN0IHBsYXRmb3JtX2RyaXZlciBuc19waW5jdHJsX2RyaXZlciA9IHsKKwkucHJvYmUgPSBuc19w aW5jdHJsX3Byb2JlLAorCS5kcml2ZXIgPSB7CisJCS5uYW1lID0gIm5zLXBpbm11eCIsCisJCS5v Zl9tYXRjaF90YWJsZSA9IG5zX3BpbmN0cmxfb2ZfbWF0Y2hfdGFibGUsCisJfSwKK307CisKK21v ZHVsZV9wbGF0Zm9ybV9kcml2ZXIobnNfcGluY3RybF9kcml2ZXIpOworCitNT0RVTEVfQVVUSE9S KCJSYWZhxYIgTWnFgmVja2kiKTsKK01PRFVMRV9MSUNFTlNFKCJHUEwgdjIiKTsKLS0gCjIuMTMu NwoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4 LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFy bS1rZXJuZWwK