From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 65ABA9125 for ; Wed, 24 May 2017 21:29:14 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 May 2017 12:29:13 -0700 Message-Id: Date: 24 May 2017 12:29:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.38,387,1491289200"; d="scan'208";a="91380728" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 24 May 2017 12:29:11 -0700 Content-Type: multipart/alternative; boundary="===============6358989175019290337==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: gaetan.rivet@6wind.com Subject: [dpdk-test-report] |FAILURE| pw24496 [PATCH 8/9] eal: make virtual driver probe and remove take rte_vdev_device X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 May 2017 19:29:16 -0000 --===============6358989175019290337== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yNDQ5NgoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog R2FldGFuIFJpdmV0IDxnYWV0YW4ucml2ZXRANndpbmQuY29tPgpEYXRlOiBXZWQsIDI0IE1heSAy MDE3IDE3OjA1OjAwICswMjAwCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGssIEJyYW5jaDpt YXN0ZXIsIENvbW1pdElEOjMwNDdjODU3YTdlZGFlMmEyNjg1YzhjZDcyZjE1ZGVlOWQzYzJiMjIK ClBhdGNoMjQ0OTYtMjQ0OTYgLS0+IGNvbXBpbGUgZXJyb3IKQnVpbGQgU3VtbWFyeTogMjEgQnVp bGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwgMjEgRmFpbHVyZXMKClRlc3QgZW52aXJvbm1lbnQgYW5k IGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6Ck9TOiBSSEVMNy4yXzY0CiAgICBLZXJuZWwgVmVyc2lv bjozLjEwLjAtNTE0LjEwLjIuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihS KSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA0Ljgu NSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQuMgogICAg aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwog ICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCk9TOiBVQjE2MTBfNjQKICAgIEtl cm5lbCBWZXJzaW9uOjQuOC4wLTIyLWdlbmVyaWMKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKFVidW50dSA2 LjIuMC01dWJ1bnR1MTIpIDYuMi4wIDIwMTYxMDA1CiAgICBDbGFuZyBWZXJzaW9uOk5BCiAgICB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwpPUzogVUIxNjA0XzY0CiAgICBLZXJuZWwgVmVyc2lv bjo0LjQuMC02NC1nZW5lcmljCiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0y Njk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChVYnVudHUgNS40LjAtNnVidW50 dTF+MTYuMDQuNCkgNS40LjAgMjAxNjA2MDkKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1jbGFuZwpPUzogRkMyNV82NAogICAgS2VybmVsIFZlcnNpb246NC44LjYtMzAwLmZjMjUu eDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4y MEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDYuMy4xIDIwMTYxMjIxIChSZWQgSGF0IDYu My4xLTEpCiAgICBDbGFuZyBWZXJzaW9uOk5BCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWlj YwpPUzogRnJlZUJTRDEwLjNfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAg Q1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0 Ljk4LU1IeiBLOC1jbGFzcyBDUFUpCiAgICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMg Q29sbGVjdGlvbikgNC44LjUKICAgIENsYW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRp dmUtYnNkYXBwLWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IENlbnRPUzdf NjQKICAgIEtlcm5lbCBWZXJzaW9uOjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUg aW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZl cnNpb246Z2NjIChHQ0MpIDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFu ZyBWZXJzaW9uOjMuNC4yCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJl ZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBW ZXJzaW9uOjQuOS4xMy0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4y LjEgMjAxNjA5MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MtZGVidWcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IFJI RUw3LjNfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjMuMTAuMC01MTQuMTYuMS5lbDcueDg2XzY0CiAg ICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4yMEdIegogICAg R0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTExKQog ICAgQ2xhbmcgVmVyc2lvbjpOQQogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKCkZhaWxl ZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9hdHRhY2jigJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzo3MToyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g 4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9k ZXZfbmFtZSwgbmFtZSk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRl cm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0 ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBv aW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9i dXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg 4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRl Z2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2 aWNlKGRldik7CiAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMTogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAgIGlmICghYnVzLT5h dHRhY2gpIHsKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0cnVj dCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAgIHJldCA9IGJ1 cy0+YXR0YWNoKGRldik7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDi gJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2ln bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3Jd CiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwog ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRl ciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1c19m aW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRldGFjaOKAmQogIGlm ICghYnVzLT5kZXRhY2gpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGV0YWNo4oCZCiAg cmV0ID0gYnVzLT5kZXRhY2goZGV2KTsKICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJl aW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMyOgpPUzogUkhFTDcuMl82NApU YXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rp b24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IGlt cGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkg Wy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19m aW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjcxOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9i dXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0 IGEgY2FzdCBbLVdlcnJvcl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9k ZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9y OiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2 aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBy dGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2Xi gJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogYXNz aWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJv cl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5h bWVkIOKAmGF0dGFjaOKAmQogICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmGF0dGFjaOKAmQogICByZXQgPSBidXMtPmF0dGFjaChkZXYpOwogICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBp bnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZp Y2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6 IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yXQogIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5v IG1lbWJlciBuYW1lZCDigJhkZXRhY2jigJkKICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMg bm8gbWVtYmVyIG5hbWVkIOKAmGRldGFjaOKAmQogIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAg ICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZh aWxlZCBCdWlsZCAjMzoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy1zaGFyZWQKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZf YXR0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBj bXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdu bWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0K ICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwg bmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPWlt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2 aWNlKGRldik7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRl Y2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVk LWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2lu dGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICAgYnVzID0gcnRlX2J1 c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9y OiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQog ICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKA mQogICByZXQgPSBidXMtPmF0dGFjaChkZXYpOwogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzog SW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6 IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9u YW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50 IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGJ1 cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMz OjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhk ZXRhY2jigJkKICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzox Mzg6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKA mGRldGFjaOKAmQogIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAgICAgICAgXgpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjNDoKT1M6 IFVCMTYxMF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtaWNjCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yyg3MSk6IGVycm9yICMyNjY6IGZ1bmN0aW9uICJydGVfYnVzX2ZpbmRfZGV2aWNlIiBkZWNsYXJl ZCBpbXBsaWNpdGx5CiAgCWRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFj aGVkX2Rldl9uYW1lLCBuYW1lKTsKICAJICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoNzEpOiBlcnJvciAj NTU2OiBhIHZhbHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0 eSBvZiB0eXBlICJzdHJ1Y3QgcnRlX2RldmljZSAqIgogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYyg3NSk6IGVycm9yICMyNjY6IGZ1bmN0aW9uICJydGVfYnVzX2ZpbmRfYnlfZGV2aWNlIiBk ZWNsYXJlZCBpbXBsaWNpdGx5CiAgCQlidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7 CiAgCQkgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3NSk6IGVycm9yICM1NTY6IGEgdmFsdWUgb2YgdHlw ZSAiaW50IiBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW4gZW50aXR5IG9mIHR5cGUgInN0cnVjdCBy dGVfYnVzICoiCiAgCQlidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgCQkgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmMoODIpOiBlcnJvcjogc3RydWN0ICJydGVfYnVzIiBoYXMgbm8gZmllbGQg ImF0dGFjaCIKICAJCWlmICghYnVzLT5hdHRhY2gpIHsKICAJCSAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYyg4Nyk6IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAiYXR0YWNoIgog IAkJcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsKICAJCSAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMo MTIxKTogZXJyb3IgIzI2NjogZnVuY3Rpb24gInJ0ZV9idXNfZmluZF9kZXZpY2UiIGRlY2xhcmVk IGltcGxpY2l0bHkKICAJZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25h bWUsIG5hbWUpOwogIAkgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjEpOiBlcnJvciAjNTU2OiBhIHZh bHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBl ICJzdHJ1Y3QgcnRlX2RldmljZSAqIgogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEws IGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjcpOiBlcnJvciAj MjY2OiBmdW5jdGlvbiAicnRlX2J1c19maW5kX2J5X2RldmljZSIgZGVjbGFyZWQgaW1wbGljaXRs eQogIAlidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgCSAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jKDEyNyk6IGVycm9yICM1NTY6IGEgdmFsdWUgb2YgdHlwZSAiaW50IiBjYW5ub3QgYmUg YXNzaWduZWQgdG8gYW4gZW50aXR5IG9mIHR5cGUgInN0cnVjdCBydGVfYnVzICoiCiAgCWJ1cyA9 IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEzMyk6 IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAiZGV0YWNoIgogIAlpZiAoIWJ1 cy0+ZGV0YWNoKSB7CiAgCSAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMzgpOiBlcnJvcjogc3Ry dWN0ICJydGVfYnVzIiBoYXMgbm8gZmllbGQgImRldGFjaCIKICAJcmV0ID0gYnVzLT5kZXRhY2go ZGV2KTsKICAJICAgICAgICAgICBeCmNvbXBpbGF0aW9uIGFib3J0ZWQgZm9yIC9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu YyAoY29kZSAyKQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRl LmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8n IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MzogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGludXhhcHAn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAn bGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290 Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQg J3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZh aWxlZCBCdWlsZCAjNToKT1M6IFVCMTYwNF82NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBw LWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2F0dGFjaOKAmToK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjcxOjg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRl Y2xhcmF0aW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVk X2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21w X2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjog YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNt cF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlf ZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMg PSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1 OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9i eV9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIGJ1cyA9IHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UoZGV2KTsKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1l bnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50 LWNvbnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5v IG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkKICAgaWYgKCFidXMtPmF0dGFjaCkgewogICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkKICAgcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsK ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2Rl dGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2lu dGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0K ICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVy IGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBi dXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEz MzoxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY ZGV0YWNo4oCZCiAgaWYgKCFidXMtPmRldGFjaCkgewogICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJhkZXRhY2jigJkKICByZXQgPSBidXMtPmRldGFjaChkZXYpOwogICAgICAgICAgIF4KY2MxOiBh bGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVj aXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5t azo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwu bWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzY6Ck9TOiBVQjE2MDRfNjQKVGFy Z2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9u IOKAmHJ0ZV9lYWxfZGV2X2F0dGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjg6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFst V2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIGRldiA9IHJ0ZV9idXNfZmlu ZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhy dGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIGRldiA9IHJ0 ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20g aW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBy dGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1 bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7 CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xh cmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIg d2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9idXNf ZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog 4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkKICAg aWYgKCFidXMtPmF0dGFjaCkgewogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkK ICAgcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IElu IGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2RldGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBl cnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2Fz dCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5V TEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2OiBlcnJv cjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBb LVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRl dik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz 4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGV0YWNo4oCZCiAgaWYgKCFidXMtPmRldGFjaCkg ewogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9i dXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXRhY2jigJkKICByZXQgPSBidXMtPmRldGFj aChkZXYpOwogICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBl cnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox Mjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQg QnVpbGQgIzc6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1zaGFyZWQKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0 YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxM LCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjY6IGVy cm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0 IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVM TCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6 OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg IGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6NzU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1c19m aW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgYnVzID0gcnRlX2J1 c19maW5kX2J5X2RldmljZShkZXYpOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogYXNz aWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJv cj1pbnQtY29udmVyc2lvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwog ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBo YXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQogICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQogICByZXQgPSBidXMtPmF0dGFjaChk ZXYpOwogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9k ZXZfZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2Vz IHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJz aW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1l KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBv aW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9u XQogIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6MTMzOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJhkZXRhY2jigJkKICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzoxMzg6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5h bWVkIOKAmGRldGFjaOKAmQogIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAgICAgICAgXgpj YzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBl IGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYz OiByZWNpcGUgZm9yIHRhcmdldCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0 ZV9lYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1 aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQg J2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5z dGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZv ciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjODoKT1M6IFVCMTYwNF82 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjg6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2Rl dmljZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRh Y2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODog bm90ZTogZGlkIHlvdSBtZWFuICdydGVfcGNpX2FkZF9kZXZpY2UnPwovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9wcml2YXRlLmg6MTI0OjY6 IG5vdGU6ICdydGVfcGNpX2FkZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKdm9pZCBydGVfcGNpX2Fk ZF9kZXZpY2Uoc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KTsKICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzo3MTo2OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJz aW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9kZXZpY2UgKicgZnJvbSAnaW50JyBbLVdlcnJv ciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVM TCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAgXiB+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j Ojc1Ojk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19m aW5kX2J5X2RldmljZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KICAgICAgICAgICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9k ZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IG5v dGU6IGRpZCB5b3UgbWVhbiAncnRlX2J1c19maW5kX2RldmljZSc/Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4 OiBub3RlOiAncnRlX2J1c19maW5kX2RldmljZScgZGVjbGFyZWQgaGVyZQogICAgICAgIGRldiA9 IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsK ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogaW5jb21wYXRpYmxlIGlu dGVnZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9idXMg KicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgICAgICAgICAg YnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICAgICAgICAgICAgIF4g fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMzogZXJyb3I6IG5v IG1lbWJlciBuYW1lZCAnYXR0YWNoJyBpbiAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgICAgICAg ICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAgICAgICAgICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6ODc6MTQ6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ2F0dGFjaCcgaW4gJ3N0cnVjdCBy dGVfYnVzJwogICAgICAgICAgICAgICAgcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsKICAgICAgICAg ICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBpbmNvbXBhdGli bGUgaW50ZWdlciB0byBwb2ludGVyIGNvbnZlcnNpb24gYXNzaWduaW5nIHRvICdzdHJ1Y3QgcnRl X2RldmljZSAqJyBmcm9tICdpbnQnIFstV2Vycm9yLC1XaW50LWNvbnZlcnNpb25dCiAgICAgICAg ZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogICAg ICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBpbmNvbXBhdGlibGUgaW50ZWdlciB0byBwb2ludGVy IGNvbnZlcnNpb24gYXNzaWduaW5nIHRvICdzdHJ1Y3QgcnRlX2J1cyAqJyBmcm9tICdpbnQnIFst V2Vycm9yLC1XaW50LWNvbnZlcnNpb25dCiAgICAgICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2Rl dmljZShkZXYpOwogICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6MTMzOjEyOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdkZXRhY2gnIGluICdzdHJ1 Y3QgcnRlX2J1cycKICAgICAgICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICAgICB+fn4g IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjEzODoxMzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnZGV0YWNoJyBp biAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgcmV0ID0gYnVzLT5kZXRhY2goZGV2KTsKICAgICAg ICAgICAgICB+fn4gIF4KMTAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVj aXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5t azo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwu bWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFy Z2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzk6Ck9TOiBGQzI1XzY0ClRhcmdl dDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDcxKTogZXJyb3IgIzI2 NjogZnVuY3Rpb24gInJ0ZV9idXNfZmluZF9kZXZpY2UiIGRlY2xhcmVkIGltcGxpY2l0bHkKICAJ ZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5h bWUpOwogIAkgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3MSk6IGVycm9yICM1NTY6IGEgdmFsdWUgb2Yg dHlwZSAiaW50IiBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW4gZW50aXR5IG9mIHR5cGUgInN0cnVj dCBydGVfZGV2aWNlICoiCiAgCWRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rl dGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDc1KTogZXJyb3Ig IzI2NjogZnVuY3Rpb24gInJ0ZV9idXNfZmluZF9ieV9kZXZpY2UiIGRlY2xhcmVkIGltcGxpY2l0 bHkKICAJCWJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAJCSAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jKDc1KTogZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBi ZSBhc3NpZ25lZCB0byBhbiBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9idXMgKiIKICAJCWJ1 cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAJCSAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg4 Mik6IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAiYXR0YWNoIgogIAkJaWYg KCFidXMtPmF0dGFjaCkgewogIAkJICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDg3KTogZXJyb3I6 IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxkICJhdHRhY2giCiAgCQlyZXQgPSBidXMtPmF0 dGFjaChkZXYpOwogIAkJICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjEpOiBlcnJvciAjMjY2 OiBmdW5jdGlvbiAicnRlX2J1c19maW5kX2RldmljZSIgZGVjbGFyZWQgaW1wbGljaXRseQogIAlk ZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jKDEyMSk6IGVycm9yICM1NTY6IGEgdmFsdWUgb2YgdHlwZSAiaW50 IiBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW4gZW50aXR5IG9mIHR5cGUgInN0cnVjdCBydGVfZGV2 aWNlICoiCiAgCWRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBu YW1lKTsKICAJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEyNyk6IGVycm9yICMyNjY6IGZ1bmN0aW9uICJy dGVfYnVzX2ZpbmRfYnlfZGV2aWNlIiBkZWNsYXJlZCBpbXBsaWNpdGx5CiAgCWJ1cyA9IHJ0ZV9i dXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAJICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoMTI3KTogZXJy b3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBiZSBhc3NpZ25lZCB0byBhbiBl bnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9idXMgKiIKICAJYnVzID0gcnRlX2J1c19maW5kX2J5 X2RldmljZShkZXYpOwogIAkgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoMTMzKTogZXJyb3I6IHN0cnVjdCAi cnRlX2J1cyIgaGFzIG5vIGZpZWxkICJkZXRhY2giCiAgCWlmICghYnVzLT5kZXRhY2gpIHsKICAJ ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEzOCk6IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhh cyBubyBmaWVsZCAiZGV0YWNoIgogIAlyZXQgPSBidXMtPmRldGFjaChkZXYpOwogIAkgICAgICAg ICAgIF4KY29tcGlsYXRpb24gYWJvcnRlZCBmb3IgL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jIChjb2RlIDIpCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6 MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnZWFsX2NvbW1vbl9kZXYubycgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRh cmdldCAnZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z dWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaW51eGFwcCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRh cmdldCAnbGlicnRlX2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUg Zm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMDoK T1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjcxOjg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAn cnRlX2J1c19maW5kX2RldmljZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNl KE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzE6ODogbm90ZTogZGlkIHlvdSBtZWFuICdydGVfcGNpX2FkZF9kZXZpY2UnPwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9w cml2YXRlLmg6MTI0OjY6IG5vdGU6ICdydGVfcGNpX2FkZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUK dm9pZCBydGVfcGNpX2FkZF9kZXZpY2Uoc3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KTsK ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8g cG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9kZXZpY2UgKicgZnJv bSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgIGRldiA9IHJ0ZV9idXNf ZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAg ICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiAncnRlX2J1c19maW5kX2J5X2RldmljZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3Is LVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgICAgICAgICAgICAgIGJ1cyA9IHJ0 ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjc1Ojk6IG5vdGU6IGRpZCB5b3UgbWVhbiAncnRlX2J1c19maW5kX2RldmljZSc/Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzo3MTo4OiBub3RlOiAncnRlX2J1c19maW5kX2RldmljZScgZGVjbGFyZWQgaGVy ZQogICAgICAgIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rl dl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjog aW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAn c3RydWN0IHJ0ZV9idXMgKicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQog ICAgICAgICAgICAgICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAg ICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4 MjoxMzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnYXR0YWNoJyBpbiAnc3RydWN0IHJ0ZV9idXMn CiAgICAgICAgICAgICAgICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAgICAgICAgICAgICAgICAgICAg IH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTQ6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ2F0dGFj aCcgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgICAgICAgICAgcmV0ID0gYnVzLT5hdHRhY2go ZGV2KTsKICAgICAgICAgICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVy cm9yOiBpbmNvbXBhdGlibGUgaW50ZWdlciB0byBwb2ludGVyIGNvbnZlcnNpb24gYXNzaWduaW5n IHRvICdzdHJ1Y3QgcnRlX2RldmljZSAqJyBmcm9tICdpbnQnIFstV2Vycm9yLC1XaW50LWNvbnZl cnNpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25h bWUsIG5hbWUpOwogICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBpbmNvbXBhdGlibGUgaW50 ZWdlciB0byBwb2ludGVyIGNvbnZlcnNpb24gYXNzaWduaW5nIHRvICdzdHJ1Y3QgcnRlX2J1cyAq JyBmcm9tICdpbnQnIFstV2Vycm9yLC1XaW50LWNvbnZlcnNpb25dCiAgICAgICAgYnVzID0gcnRl X2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEyOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdk ZXRhY2gnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAg ICAgICAgICAgICB+fn4gIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMzogZXJyb3I6IG5vIG1lbWJlciBu YW1lZCAnZGV0YWNoJyBpbiAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgcmV0ID0gYnVzLT5kZXRh Y2goZGV2KTsKICAgICAgICAgICAgICB+fn4gIF4KMTAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazox Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFy Z2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1 YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2JzZGFwcCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbGlicnRlX2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMToKT1M6 IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzogSW4gZnVuY3Rpb24gJ3J0ZV9lYWxfZGV2X2F0dGFjaCc6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToy OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNfZmluZF9k ZXZpY2UnIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIGRldiA9IHJ0 ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiAn cnRlX2J1c19maW5kX2RldmljZScgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRo b3V0IGEgY2FzdCBbLVdlcnJvcl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNt cF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2J5X2Rl dmljZScgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGJ1cyA9IHJ0 ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ3J0ZV9idXNfZmluZF9ieV9kZXZpY2UnIFst V2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1l bnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAg IGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjgyOjExOiBlcnJvcjogJ3N0cnVjdCBydGVfYnVzJyBoYXMgbm8gbWVtYmVyIG5hbWVkICdhdHRh Y2gnCiAgIGlmICghYnVzLT5hdHRhY2gpIHsKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4Nzox MjogZXJyb3I6ICdzdHJ1Y3QgcnRlX2J1cycgaGFzIG5vIG1lbWJlciBuYW1lZCAnYXR0YWNoJwog ICByZXQgPSBidXMtPmF0dGFjaChkZXYpOwogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4g ZnVuY3Rpb24gJ3J0ZV9lYWxfZGV2X2RldGFjaCc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6 IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1X ZXJyb3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5h bWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMg cG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRl X2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVy cm9yOiAnc3RydWN0IHJ0ZV9idXMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2RldGFjaCcKICBpZiAo IWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiAn c3RydWN0IHJ0ZV9idXMnIGhhcyBubyBtZW1iZXIgbmFtZWQgJ2RldGFjaCcKICByZXQgPSBidXMt PmRldGFjaChkZXYpOwogICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRl ZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0 ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5v JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6 NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2JzZGFwcCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYz OiByZWNpcGUgZm9yIHRhcmdldCAnbGlicnRlX2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICds aWInIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAn cHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFp bGVkIEJ1aWxkICMxMjoKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9hdHRhY2jigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hl ZF9kZXZfbmFtZSwgbmFtZSk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBl eHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1u ZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2Vz IHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0 ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1 bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsK ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24g b2Yg4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBp bnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlf ZGV2aWNlKGRldik7CiAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMTogZXJyb3I6IOKAmHN0cnVj dCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAgIGlmICghYnVz LT5hdHRhY2gpIHsKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0 cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAgIHJldCA9 IGJ1cy0+YXR0YWNoKGRldik7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlv biDigJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFz c2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJy b3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUp OwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9p bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1 c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9y OiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRldGFjaOKAmQog IGlmICghYnVzLT5kZXRhY2gpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJy b3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYZGV0YWNo4oCZ CiAgcmV0ID0gYnVzLT5kZXRhY2goZGV2KTsKICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxMzoKT1M6IENlbnRPUzdf NjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4 OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNfZmluZF9k ZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGljaXQtZnVuY3Rpb24tZGVj bGFyYXRpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0 YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjg6 IG5vdGU6IGRpZCB5b3UgbWVhbiAncnRlX3BjaV9hZGRfZGV2aWNlJz8KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfcHJpdmF0ZS5oOjEyNDo2 OiBub3RlOiAncnRlX3BjaV9hZGRfZGV2aWNlJyBkZWNsYXJlZCBoZXJlCnZvaWQgcnRlX3BjaV9h ZGRfZGV2aWNlKHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7CiAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6NzE6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVy c2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcgWy1XZXJy b3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5V TEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNf ZmluZF9ieV9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgICAgICAgICBidXMgPSBydGVfYnVzX2ZpbmRfYnlf ZGV2aWNlKGRldik7CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo5OiBu b3RlOiBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9kZXZpY2UnPwovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6 ODogbm90ZTogJ3J0ZV9idXNfZmluZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKICAgICAgICBkZXYg PSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7 CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGluY29tcGF0aWJsZSBp bnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfYnVz IConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICAgICAgICAg IGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAgICAgICBe IH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTM6IGVycm9yOiBu byBtZW1iZXIgbmFtZWQgJ2F0dGFjaCcgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgICAgICAg ICAgaWYgKCFidXMtPmF0dGFjaCkgewogICAgICAgICAgICAgICAgICAgICB+fn4gIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjg3OjE0OiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdhdHRhY2gnIGluICdzdHJ1Y3Qg cnRlX2J1cycKICAgICAgICAgICAgICAgIHJldCA9IGJ1cy0+YXR0YWNoKGRldik7CiAgICAgICAg ICAgICAgICAgICAgICB+fn4gIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogaW5jb21wYXRp YmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0 ZV9kZXZpY2UgKicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAg IGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAg ICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRl ciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9idXMgKicgZnJvbSAnaW50JyBb LVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9k ZXZpY2UoZGV2KTsKICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjEzMzoxMjogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnZGV0YWNoJyBpbiAnc3Ry dWN0IHJ0ZV9idXMnCiAgICAgICAgaWYgKCFidXMtPmRldGFjaCkgewogICAgICAgICAgICAgfn5+ ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTM6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ2RldGFjaCcg aW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAg ICAgICAgICAgfn5+ICBeCjEwIGVycm9ycyBnZW5lcmF0ZWQuCgoKRmFpbGVkIEJ1aWxkICMxNDoK T1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQK Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo4oCZOgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzE6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKA mHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2 X25hbWUsIG5hbWUpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJu IGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVk LWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2lu dGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBkZXYgPSBydGVfYnVz X2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKA mHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo3NTo3OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdl ciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2Rldmlj ZShkZXYpOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQogICBpZiAoIWJ1cy0+YXR0 YWNoKSB7CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3Qg cnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQogICByZXQgPSBidXMt PmF0dGFjaChkZXYpOwogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCY cnRlX2VhbF9kZXZfZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25t ZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQog IGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGJ1cyA9IHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog4oCY c3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXRhY2jigJkKICBpZiAo IWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRldGFjaOKAmQogIHJl dCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWlu ZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMTU6Ck9TOiBDZW50T1M3XzY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlv biDigJhydGVfZWFsX2Rldl9hdHRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2Zp bmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1 c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcx OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQg YSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rl dGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6 IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZp Y2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGJ1cyA9IHJ0 ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBhc3Np Z25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9y XQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzo4MjoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFt ZWQg4oCYYXR0YWNo4oCZCiAgIGlmICghYnVzLT5hdHRhY2gpIHsKICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYYXR0YWNo4oCZCiAgIHJldCA9IGJ1cy0+YXR0YWNoKGRldik7CiAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGlu dGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2Rldmlj ZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6Njog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmGRldGFjaOKAmQogIGlmICghYnVzLT5kZXRhY2gpIHsKICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBu byBtZW1iZXIgbmFtZWQg4oCYZGV0YWNo4oCZCiAgcmV0ID0gYnVzLT5kZXRhY2goZGV2KTsKICAg ICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFp bGVkIEJ1aWxkICMxNjoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy1zaGFyZWQKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0 YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBf ZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjcxOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0 ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRl X2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9t IGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2ID0g cnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwog ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1m dW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYp OwogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJv cjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl 4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2 aWNlKGRldik7CiAgIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFr ZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZl cnNpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJl ciBuYW1lZCDigJhhdHRhY2jigJkKICAgaWYgKCFidXMtPmF0dGFjaCkgewogICAgICAgICAgIF5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBt ZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAgIHJldCA9IGJ1cy0+YXR0YWNoKGRldik7CiAgICAg ICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRl diA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJv bSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGJ1cyA9 IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEw OiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXRh Y2jigJkKICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4 OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhk ZXRhY2jigJkKICByZXQgPSBidXMtPmRldGFjaChkZXYpOwogICAgICAgICAgIF5+CmNjMTogYWxs IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRh cmdldCAnZWFsX2NvbW1vbl9kZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnZWFsJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdsaW51eGFwcCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGlicnRlX2VhbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6 NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1r Ojg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdl dCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxNzoKT1M6IEZDMjRfNjQKVGFyZ2V0 OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhy dGVfZWFsX2Rldl9hdHRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4OiBlcnJvcjogaW1wbGljaXQg ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFy YXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJu c10KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFt ZSwgbmFtZSk7CiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtl cyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVy c2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZf bmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9yOiBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRf YnlfZGV2aWNlKGRldik7CiAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rl di5jOjc1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNf ZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIGJ1cyA9IHJ0ZV9i dXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjog YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYp OwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGF0dGFjaOKAmQogICBpZiAoIWJ1cy0+YXR0YWNoKSB7 CiAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9i dXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkKICAgcmV0ID0gYnVzLT5hdHRh Y2goZGV2KTsKICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVf ZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2lnbm1lbnQg bWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNv bnZlcnNpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUs IG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFr ZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZl cnNpb25dCiAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzoxMzM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVy IG5hbWVkIOKAmGRldGFjaOKAmQogIGlmICghYnVzLT5kZXRhY2gpIHsKICAgICAgICAgIF5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVt YmVyIG5hbWVkIOKAmGRldGFjaOKAmQogIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAgICAg ICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRp ci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE4OgpPUzog RkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzog SW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODog ZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9k ZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0g cnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwog ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9yOiBuZXN0 ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJy b3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBf ZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6 IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1X ZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBj bXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo5OiBl cnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2J5 X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgYnVz ID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlv biBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5z XQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgIF5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0 aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCY c3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhhdHRhY2jigJkKICAgaWYg KCFidXMtPmF0dGFjaCkgewogICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYYXR0YWNo4oCZCiAg IHJldCA9IGJ1cy0+YXR0YWNoKGRldik7CiAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4g ZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVy cm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0 IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVM TCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9y OiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFst V2Vycm9yPWludC1jb252ZXJzaW9uXQogIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2 KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPi gJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXRhY2jigJkKICBpZiAoIWJ1cy0+ZGV0YWNoKSB7 CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9i dXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhkZXRhY2jigJkKICByZXQgPSBidXMtPmRldGFj aChkZXYpOwogICAgICAgICAgIF5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMg ZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29t cGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnZWFsX2NvbW1vbl9kZXYubycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaW51eGFwcCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnbGlicnRlX2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWIn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6 MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJl X2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVk IEJ1aWxkICMxOToKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1kZWJ1ZwoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9hdHRhY2ji gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzo3MTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24g4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRh Y2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1 c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBkZXYgPSBydGVfYnVz X2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgXn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50 ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVf YnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5j dGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBu ZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2Uo ZGV2KTsKICAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBw b2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lv bl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5h bWVkIOKAmGF0dGFjaOKAmQogICBpZiAoIWJ1cy0+YXR0YWNoKSB7CiAgICAgICAgICAgXn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJl ciBuYW1lZCDigJhhdHRhY2jigJkKICAgcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsKICAgICAgICAg ICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9kZXRhY2jigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9t IGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2ID0g cnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGlu dGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgYnVzID0gcnRl X2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVy cm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRldGFjaOKA mQogIGlmICghYnVzLT5kZXRhY2gpIHsKICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6 IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmGRldGFj aOKAmQogIHJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgICAgICAgICAgXn4KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZv ciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3Mzog cmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp bnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzIwOgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjg6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2RldmljZScgaXMgaW52 YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAg ICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFt ZSwgbmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogbm90ZTogZGlkIHlv dSBtZWFuICdydGVfcGNpX2FkZF9kZXZpY2UnPwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9wcml2YXRlLmg6MTI0OjY6IG5vdGU6ICdydGVf cGNpX2FkZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKdm9pZCBydGVfcGNpX2FkZF9kZXZpY2Uoc3Ry dWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBl cnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmlu ZyB0byAnc3RydWN0IHJ0ZV9kZXZpY2UgKicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252 ZXJzaW9uXQogICAgICAgIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFj aGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9y OiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2J5X2Rldmlj ZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJh dGlvbl0KICAgICAgICAgICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsK ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xp Yi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IG5vdGU6IGRpZCB5b3Ug bWVhbiAncnRlX2J1c19maW5kX2RldmljZSc/Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4OiBub3RlOiAncnRl X2J1c19maW5kX2RldmljZScgZGVjbGFyZWQgaGVyZQogICAgICAgIGRldiA9IHJ0ZV9idXNfZmlu ZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9p bnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9idXMgKicgZnJvbSAnaW50 JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgICAgICAgICAgYnVzID0gcnRlX2J1 c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMzogZXJyb3I6IG5vIG1lbWJlciBuYW1l ZCAnYXR0YWNoJyBpbiAnc3RydWN0IHJ0ZV9idXMnCiAgICAgICAgICAgICAgICBpZiAoIWJ1cy0+ YXR0YWNoKSB7CiAgICAgICAgICAgICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTQ6 IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ2F0dGFjaCcgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAg ICAgICAgICAgICAgcmV0ID0gYnVzLT5hdHRhY2goZGV2KTsKICAgICAgICAgICAgICAgICAgICAg IH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBpbmNvbXBhdGlibGUgaW50ZWdlciB0 byBwb2ludGVyIGNvbnZlcnNpb24gYXNzaWduaW5nIHRvICdzdHJ1Y3QgcnRlX2RldmljZSAqJyBm cm9tICdpbnQnIFstV2Vycm9yLC1XaW50LWNvbnZlcnNpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1 c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogICAgICAgICAgICBeIH5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 MTI3OjY6IGVycm9yOiBpbmNvbXBhdGlibGUgaW50ZWdlciB0byBwb2ludGVyIGNvbnZlcnNpb24g YXNzaWduaW5nIHRvICdzdHJ1Y3QgcnRlX2J1cyAqJyBmcm9tICdpbnQnIFstV2Vycm9yLC1XaW50 LWNvbnZlcnNpb25dCiAgICAgICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwog ICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMz OjEyOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICdkZXRhY2gnIGluICdzdHJ1Y3QgcnRlX2J1cycK ICAgICAgICBpZiAoIWJ1cy0+ZGV0YWNoKSB7CiAgICAgICAgICAgICB+fn4gIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rl di5jOjEzODoxMzogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAnZGV0YWNoJyBpbiAnc3RydWN0IHJ0 ZV9idXMnCiAgICAgICAgcmV0ID0gYnVzLT5kZXRhY2goZGV2KTsKICAgICAgICAgICAgICB+fn4g IF4KMTAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxf Y29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJn ZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBl IGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxs JyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzIxOgpPUzogUkhFTDcuM182NApUYXJnZXQ6IHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtaWNjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3MSk6IGVycm9yICM1NTY6IGEgdmFs dWUgb2YgdHlwZSAiaW50IiBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW4gZW50aXR5IG9mIHR5cGUg InN0cnVjdCBydGVfZGV2aWNlICoiCiAgCWRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwg Y21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDc1KTog ZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBiZSBhc3NpZ25lZCB0byBh biBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9idXMgKiIKICAJCWJ1cyA9IHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UoZGV2KTsKICAJCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg4Mik6IGVycm9yOiBzdHJ1 Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAiYXR0YWNoIgogIAkJaWYgKCFidXMtPmF0dGFjaCkg ewogIAkJICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDg3KTogZXJyb3I6IHN0cnVjdCAicnRlX2J1 cyIgaGFzIG5vIGZpZWxkICJhdHRhY2giCiAgCQlyZXQgPSBidXMtPmF0dGFjaChkZXYpOwogIAkJ ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjEpOiBlcnJvciAjNTU2OiBhIHZhbHVlIG9mIHR5 cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBlICJzdHJ1Y3Qg cnRlX2RldmljZSAqIgogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZf bmFtZSwgbmFtZSk7CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjcpOiBlcnJvciAjNTU2OiBhIHZh bHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBl ICJzdHJ1Y3QgcnRlX2J1cyAqIgogIAlidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7 CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYygxMzMpOiBlcnJvcjogc3RydWN0ICJydGVfYnVzIiBoYXMg bm8gZmllbGQgImRldGFjaCIKICAJaWYgKCFidXMtPmRldGFjaCkgewogIAkgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmMoMTM4KTogZXJyb3I6IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxkICJk ZXRhY2giCiAgCXJldCA9IGJ1cy0+ZGV0YWNoKGRldik7CiAgCSAgICAgICAgICAgXgpjb21waWxh dGlvbiBhYm9ydGVkIGZvciAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMgKGNvZGUgMikKCgpEUERLIFNUViB0ZWFtCg== --===============6358989175019290337==--