From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id AF5545905 for ; Thu, 1 Jun 2017 10:27:18 +0200 (CEST) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga105.fm.intel.com with ESMTP; 01 Jun 2017 01:27:17 -0700 Message-Id: Date: 01 Jun 2017 01:27:15 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.39,278,1493708400"; d="scan'208";a="94263698" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 01 Jun 2017 01:27:15 -0700 Content-Type: multipart/alternative; boundary="===============0583792776216666958==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: gaetan.rivet@6wind.com Subject: [dpdk-test-report] |FAILURE| pw24902 [PATCH v2 09/11] 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: Thu, 01 Jun 2017 08:27:20 -0000 --===============0583792776216666958== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yNDkwMgoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog R2FldGFuIFJpdmV0IDxnYWV0YW4ucml2ZXRANndpbmQuY29tPgpEYXRlOiBXZWQsIDMxIE1heSAy MDE3IDE1OjE3OjU0ICswMjAwCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGssIEJyYW5jaDpt YXN0ZXIsIENvbW1pdElEOjMwNDdjODU3YTdlZGFlMmEyNjg1YzhjZDcyZjE1ZGVlOWQzYzJiMjIK ClBhdGNoMjQ5MDItMjQ5MDIgLS0+IGNvbXBpbGUgZXJyb3IKQnVpbGQgU3VtbWFyeTogMjEgQnVp bGRzIERvbmUsIDAgU3VjY2Vzc2Z1bCwgMjEgRmFpbHVyZXMKClRlc3QgZW52aXJvbm1lbnQgYW5k IGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6Ck9TOiBSSEVMNy4yXzY0CiAgICBLZXJuZWwgVmVyc2lv bjozLjEwLjAtNTE0LjEwLjIuZWw3Lng4Nl82NAogICAgQ1BVIGluZm86SW50ZWwoUikgWGVvbihS KSBDUFUgRTUtMjY5OSB2NCBAIDIuMjBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoR0NDKSA0Ljgu NSAyMDE1MDYyMyAoUmVkIEhhdCA0LjguNS00KQogICAgQ2xhbmcgVmVyc2lvbjozLjQuMgogICAg aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwog ICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCk9TOiBVQjE2MTBfNjQKICAgIEtl cm5lbCBWZXJzaW9uOjQuOC4wLTIyLWdlbmVyaWMKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKFVidW50dSA2 LjIuMC01dWJ1bnR1MTIpIDYuMi4wIDIwMTYxMDA1CiAgICBDbGFuZyBWZXJzaW9uOk5BCiAgICB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwpPUzogVUIxNjA0XzY0CiAgICBLZXJuZWwgVmVyc2lv bjo0LjQuMC03OC1nZW5lcmljCiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0y Njk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChVYnVudHUgNS40LjAtNnVidW50 dTF+MTYuMDQuNCkgNS40LjAgMjAxNjA2MDkKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1jbGFuZwpPUzogRkMyNV82NAogICAgS2VybmVsIFZlcnNpb246NC44LjYtMzAwLmZjMjUu eDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHY0IEAgMi4y MEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDYuMy4xIDIwMTYxMjIxIChSZWQgSGF0IDYu My4xLTEpCiAgICBDbGFuZyBWZXJzaW9uOk5BCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWlj YwpPUzogRnJlZUJTRDEwLjNfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAg Q1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0 Ljk4LU1IeiBLOC1jbGFzcyBDUFUpCiAgICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMg Q29sbGVjdGlvbikgNC44LjUKICAgIENsYW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRp dmUtYnNkYXBwLWNsYW5nCiAgICB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IENlbnRPUzdf NjQKICAgIEtlcm5lbCBWZXJzaW9uOjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUg aW5mbzpJbnRlbChSKSBYZW9uKFIpIENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZl cnNpb246Z2NjIChHQ0MpIDQuOC41IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFu ZyBWZXJzaW9uOjMuNC4yCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJl ZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBW ZXJzaW9uOjQuOS4xMy0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4y LjEgMjAxNjA5MTYgKFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1ZwogICAgeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IFJI 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 dGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcGx1Z+KAmQogICBpZiAoIWJ1cy0+cGx1 ZykgewogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIHJldCA9IGJ1cy0+cGx1 ZyhkZXYtPmRldmFyZ3MpOwogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g 4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3Np Z25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9y XQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50 ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGJ1cyA9IHJ0ZV9idXNf ZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog 4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh1bnBsdWfigJkKICBp ZiAoIWJ1cy0+dW5wbHVnKSB7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9y OiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQog IHJldCA9IGJ1cy0+dW5wbHVnKGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgXgpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6IFJI RUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2F0dGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRf ZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIGRldiA9 IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsK ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVn ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShO VUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19m aW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRf YnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6Nzog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3JdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9l YWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5v IG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgcmV0ID0gYnVzLT5wbHVnKGRldi0+ZGV2YXJncyk7 CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9k ZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9p bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1 c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIg d2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShk ZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1 c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQogIGlmICghYnVzLT51bnBsdWcp IHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVf YnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgcmV0ID0gYnVzLT51bnBs dWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMzOgpPUzogUkhFTDcuMl82NApUYXJnZXQ6 IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5j dGlvbiDigJhydGVfZWFsX2Rldl9hdHRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjog aW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2RldmljZeKA mSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVz X2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRl X2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjcxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhv dXQgYSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21w X2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJy b3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9ieV9k ZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGJ1cyA9 IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJy b3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2J5X2Rldmlj ZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBh c3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vy cm9yXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo4MjoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYcGx1Z+KAmQogICBpZiAoIWJ1cy0+cGx1ZykgewogICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBu YW1lZCDigJhwbHVn4oCZCiAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJv bSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogIGRldiA9IHJ0ZV9idXNfZmluZF9k ZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTI3 OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQg YSBjYXN0IFstV2Vycm9yXQogIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFz IG5vIG1lbWJlciBuYW1lZCDigJh1bnBsdWfigJkKICBpZiAoIWJ1cy0+dW5wbHVnKSB7CiAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBo YXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQogIHJldCA9IGJ1cy0+dW5wbHVnKGRldi0+ ZGV2YXJncyk7CiAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjNDoKT1M6IFVCMTYxMF82NApUYXJnZXQ6IHg4Nl82NC1u YXRpdmUtbGludXhhcHAtaWNjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3MSk6IGVycm9yICMyNjY6IGZ1bmN0aW9u ICJydGVfYnVzX2ZpbmRfZGV2aWNlIiBkZWNsYXJlZCBpbXBsaWNpdGx5CiAgCWRldiA9IHJ0ZV9i dXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAJICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmMoNzEpOiBlcnJvciAjNTU2OiBhIHZhbHVlIG9mIHR5cGUgImludCIg Y2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBlICJzdHJ1Y3QgcnRlX2Rldmlj ZSAqIgogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZf bmFtZSwgbmFtZSk7CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3NSk6IGVycm9yICMyNjY6IGZ1bmN0 aW9uICJydGVfYnVzX2ZpbmRfYnlfZGV2aWNlIiBkZWNsYXJlZCBpbXBsaWNpdGx5CiAgCQlidXMg PSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgCQkgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg3 NSk6IGVycm9yICM1NTY6IGEgdmFsdWUgb2YgdHlwZSAiaW50IiBjYW5ub3QgYmUgYXNzaWduZWQg dG8gYW4gZW50aXR5IG9mIHR5cGUgInN0cnVjdCBydGVfYnVzICoiCiAgCQlidXMgPSBydGVfYnVz X2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgCQkgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoODIpOiBlcnJvcjog c3RydWN0ICJydGVfYnVzIiBoYXMgbm8gZmllbGQgInBsdWciCiAgCQlpZiAoIWJ1cy0+cGx1Zykg ewogIAkJICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDg3KTogZXJyb3I6IHN0cnVjdCAicnRlX2J1 cyIgaGFzIG5vIGZpZWxkICJwbHVnIgogIAkJcmV0ID0gYnVzLT5wbHVnKGRldi0+ZGV2YXJncyk7 CiAgCQkgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEyMSk6IGVycm9yICMyNjY6IGZ1bmN0aW9u ICJydGVfYnVzX2ZpbmRfZGV2aWNlIiBkZWNsYXJlZCBpbXBsaWNpdGx5CiAgCWRldiA9IHJ0ZV9i dXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAJICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmMoMTIxKTogZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBi ZSBhc3NpZ25lZCB0byBhbiBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9kZXZpY2UgKiIKICAJ ZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwogIAkg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmMoMTI3KTogZXJyb3IgIzI2NjogZnVuY3Rpb24gInJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UiIGRlY2xhcmVkIGltcGxpY2l0bHkKICAJYnVzID0gcnRlX2J1c19maW5kX2J5 X2RldmljZShkZXYpOwogIAkgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMjcpOiBlcnJvciAjNTU2OiBh IHZhbHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0 eXBlICJzdHJ1Y3QgcnRlX2J1cyAqIgogIAlidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRl dik7CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMzMpOiBlcnJvcjogc3RydWN0ICJydGVfYnVzIiBo YXMgbm8gZmllbGQgInVucGx1ZyIKICAJaWYgKCFidXMtPnVucGx1ZykgewogIAkgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmMoMTM4KTogZXJyb3I6IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxk ICJ1bnBsdWciCiAgCXJldCA9IGJ1cy0+dW5wbHVnKGRldi0+ZGV2YXJncyk7CiAgCSAgICAgICAg ICAgXgpjb21waWxhdGlvbiBhYm9ydGVkIGZvciAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMgKGNvZGUgMikKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazox Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFy Z2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1 YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFy Z2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lwZSBm b3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv cnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDc6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzU6Ck9T OiBVQjE2MDRfNjQKVGFyZ2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9hdHRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4 OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5k X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYg PSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7 CiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFy YXRpb24gb2Yg4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJu c10KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFt ZSwgbmFtZSk7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMg cG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNp b25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25h bWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5 X2RldmljZShkZXYpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVk IGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7 CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogICBi dXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4 MjoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY cGx1Z+KAmQogICBpZiAoIWJ1cy0+cGx1ZykgewogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3 OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhw bHVn4oCZCiAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2Nv bW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfZGV0YWNo4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2Vy IHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRldiA9IHJ0ZV9idXNf ZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdp dGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGJ1cyA9IHJ0ZV9idXNfZmlu ZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTMzOjEwOiBlcnJvcjog4oCY c3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJh1bnBsdWfigJkKICBpZiAo IWJ1cy0+dW5wbHVnKSB7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzg6MTE6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQogIHJl dCA9IGJ1cy0+dW5wbHVnKGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJu aW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQg J2VhbF9jb21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9y IHRhcmdldCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiBy ZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTog cmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2lu c3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNjoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRl X2VhbF9kZXZfYXR0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogZXJyb3I6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2Rldmlj ZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rl di5jOjcxOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNf ZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19m aW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjcxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2Vy IHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRldiA9IHJ0ZV9idXNf ZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmM6NzU6OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9u IOKAmHJ0ZV9idXNfZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24t ZGVjbGFyYXRpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24g b2Yg4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10K ICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTo3OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0 IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5 X2RldmljZShkZXYpOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1 Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgaWYgKCFidXMt PnBsdWcpIHsKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0cnVj dCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcGx1Z+KAmQogICByZXQgPSBidXMt PnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmHJ0ZV9lYWxfZGV2X2RldGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjog YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNt cF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogYXNz aWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJv cj1pbnQtY29udmVyc2lvbl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjEzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhh cyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgaWYgKCFidXMtPnVucGx1ZykgewogICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkg aGFzIG5vIG1lbWJlciBuYW1lZCDigJh1bnBsdWfigJkKICByZXQgPSBidXMtPnVucGx1ZyhkZXYt PmRldmFyZ3MpOwogICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5j b21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xp YicgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5t azoxMjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2Rrcm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWls ZWQgQnVpbGQgIzc6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy1zaGFyZWQKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0 YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9m IGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBf ZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2Xi gJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShO VUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjY6 IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2Uo TlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 NzU6OTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNf ZmluZF9ieV9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25d CiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25f ZGV2LmM6NzU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYcnRlX2J1 c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgYnVzID0gcnRl X2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjog YXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdl cnJvcj1pbnQtY29udmVyc2lvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYp OwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KA mSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgaWYgKCFidXMtPnBsdWcpIHsKICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZ IGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYcGx1Z+KAmQogICByZXQgPSBidXMtPnBsdWcoZGV2LT5k ZXZhcmdzKTsKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9l YWxfZGV2X2RldGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogYXNzaWdubWVudCBt YWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29u dmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwg bmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtl cyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVy c2lvbl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjEzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIg bmFtZWQg4oCYdW5wbHVn4oCZCiAgaWYgKCFidXMtPnVucGx1ZykgewogICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJl ciBuYW1lZCDigJh1bnBsdWfigJkKICByZXQgPSBidXMtPnVucGx1ZyhkZXYtPmRldmFyZ3MpOwog ICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5t azoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdlYWxfY29tbW9uX2Rldi5vJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdlYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpbnV4YXBwJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjg6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox MDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzg6 Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo3MTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0 ZV9idXNfZmluZF9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShO VUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jOjcxOjg6IG5vdGU6IGRpZCB5b3UgbWVhbiAncnRlX3BjaV9hZGRfZGV2aWNlJz8KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfcHJp dmF0ZS5oOjEyNDo2OiBub3RlOiAncnRlX3BjaV9hZGRfZGV2aWNlJyBkZWNsYXJlZCBoZXJlCnZv aWQgcnRlX3BjaV9hZGRfZGV2aWNlKHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7CiAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBv aW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfZGV2aWNlIConIGZyb20g J2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2Zp bmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAg IF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24gJ3J0ZV9idXNfZmluZF9ieV9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1X aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgICAgICAgICBidXMgPSBydGVf YnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzo3NTo5OiBub3RlOiBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9kZXZpY2UnPwovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzE6ODogbm90ZTogJ3J0ZV9idXNfZmluZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUK ICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZf bmFtZSwgbmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGlu Y29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0 cnVjdCBydGVfYnVzIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAg ICAgICAgICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAg ICAgICAgICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6 MTM6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAg ICAgICAgICAgICAgIGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgICAgICAgICAgIH5+fiAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6ODc6MTQ6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdz dHJ1Y3QgcnRlX2J1cycKICAgICAgICAgICAgICAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFy Z3MpOwogICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJy b3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcg dG8gJ3N0cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVy c2lvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFt ZSwgbmFtZSk7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRl Z2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfYnVzICon IGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBidXMgPSBydGVf YnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTI6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3Vu cGx1ZycgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIGlmICghYnVzLT51bnBsdWcpIHsKICAg ICAgICAgICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjEzOiBlcnJvcjogbm8gbWVtYmVyIG5h bWVkICd1bnBsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICByZXQgPSBidXMtPnVucGx1 ZyhkZXYtPmRldmFyZ3MpOwogICAgICAgICAgICAgIH5+fiAgXgoxMCBlcnJvcnMgZ2VuZXJhdGVk LgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUt cHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8nIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBl IGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGludXhhcHAnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBl IGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODog cmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0 YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290 Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWls ZCAjOToKT1M6IEZDMjVfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWljYwovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmMoNzEpOiBlcnJvciAjMjY2OiBmdW5jdGlvbiAicnRlX2J1c19maW5kX2RldmljZSIg ZGVjbGFyZWQgaW1wbGljaXRseQogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNt cF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDcxKTog ZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBiZSBhc3NpZ25lZCB0byBh biBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9kZXZpY2UgKiIKICAJZGV2ID0gcnRlX2J1c19m aW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIAkgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmMoNzUpOiBlcnJvciAjMjY2OiBmdW5jdGlvbiAicnRlX2J1c19maW5kX2J5X2Rl dmljZSIgZGVjbGFyZWQgaW1wbGljaXRseQogIAkJYnVzID0gcnRlX2J1c19maW5kX2J5X2Rldmlj ZShkZXYpOwogIAkJICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoNzUpOiBlcnJvciAjNTU2OiBhIHZhbHVl IG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBlICJz dHJ1Y3QgcnRlX2J1cyAqIgogIAkJYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwog IAkJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9lYWxfY29tbW9uX2Rldi5jKDgyKTogZXJyb3I6IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5v IGZpZWxkICJwbHVnIgogIAkJaWYgKCFidXMtPnBsdWcpIHsKICAJCSAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYyg4Nyk6IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAicGx1ZyIK ICAJCXJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogIAkJICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYygxMjEpOiBlcnJvciAjMjY2OiBmdW5jdGlvbiAicnRlX2J1c19maW5kX2RldmljZSIg ZGVjbGFyZWQgaW1wbGljaXRseQogIAlkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNt cF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEyMSk6IGVycm9yICM1 NTY6IGEgdmFsdWUgb2YgdHlwZSAiaW50IiBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW4gZW50aXR5 IG9mIHR5cGUgInN0cnVjdCBydGVfZGV2aWNlICoiCiAgCWRldiA9IHJ0ZV9idXNfZmluZF9kZXZp Y2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAJICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEyNyk6 IGVycm9yICMyNjY6IGZ1bmN0aW9uICJydGVfYnVzX2ZpbmRfYnlfZGV2aWNlIiBkZWNsYXJlZCBp bXBsaWNpdGx5CiAgCWJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAJICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmMoMTI3KTogZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNh bm5vdCBiZSBhc3NpZ25lZCB0byBhbiBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9idXMgKiIK ICAJYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogIAkgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmMoMTMzKTogZXJyb3I6IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxkICJ1bnBsdWciCiAg CWlmICghYnVzLT51bnBsdWcpIHsKICAJICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jKDEzOCk6IGVy cm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAidW5wbHVnIgogIAlyZXQgPSBidXMt PnVucGx1ZyhkZXYtPmRldmFyZ3MpOwogIAkgICAgICAgICAgIF4KY29tcGlsYXRpb24gYWJvcnRl ZCBmb3IgL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jIChjb2RlIDIpCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAn ZWFsX2NvbW1vbl9kZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnZWFsJyBmYWlsZWQKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdsaW51eGFwcCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGlicnRlX2VhbCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiBy ZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiByZWNpcGUgZm9yIHRhcmdldCAnaW5z dGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMDoKT1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdl dDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjg6IGVycm9yOiBp bXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2RldmljZScgaXMg aW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZf bmFtZSwgbmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogbm90ZTogZGlk IHlvdSBtZWFuICdydGVfcGNpX2FkZF9kZXZpY2UnPwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9wcml2YXRlLmg6MTI0OjY6IG5vdGU6ICdy dGVfcGNpX2FkZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKdm9pZCBydGVfcGNpX2FkZF9kZXZpY2Uo c3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2KTsKICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2 OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2ln bmluZyB0byAnc3RydWN0IHJ0ZV9kZXZpY2UgKicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1j b252ZXJzaW9uXQogICAgICAgIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rl dGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAncnRlX2J1c19maW5kX2J5X2Rl dmljZScgaXMgaW52YWxpZCBpbiBDOTkgWy1XZXJyb3IsLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICAgICAgICAgICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2 KTsKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IG5vdGU6IGRpZCB5 b3UgbWVhbiAncnRlX2J1c19maW5kX2RldmljZSc/Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4OiBub3RlOiAn cnRlX2J1c19maW5kX2RldmljZScgZGVjbGFyZWQgaGVyZQogICAgICAgIGRldiA9IHJ0ZV9idXNf ZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8g cG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9idXMgKicgZnJvbSAn aW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgICAgICAgICAgYnVzID0gcnRl X2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICAgICAgICAgICAgIF4gfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMzogZXJyb3I6IG5vIG1lbWJlciBu YW1lZCAncGx1ZycgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgICAgICAgICAgaWYgKCFidXMt PnBsdWcpIHsKICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxNDog ZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAncGx1ZycgaW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAg ICAgICAgICAgcmV0ID0gYnVzLT5wbHVnKGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgICAgICAg ICAgICB+fn4gIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVn ZXIgdG8gcG9pbnRlciBjb252ZXJzaW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9kZXZpY2Ug KicgZnJvbSAnaW50JyBbLVdlcnJvciwtV2ludC1jb252ZXJzaW9uXQogICAgICAgIGRldiA9IHJ0 ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsKICAgICAgICAgICAg XiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rl di5jOjEyNzo2OiBlcnJvcjogaW5jb21wYXRpYmxlIGludGVnZXIgdG8gcG9pbnRlciBjb252ZXJz aW9uIGFzc2lnbmluZyB0byAnc3RydWN0IHJ0ZV9idXMgKicgZnJvbSAnaW50JyBbLVdlcnJvciwt V2ludC1jb252ZXJzaW9uXQogICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2 KTsKICAgICAgICAgICAgXiB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjEzMzoxMjogZXJyb3I6IG5vIG1lbWJlciBuYW1lZCAndW5wbHVnJyBpbiAnc3RydWN0IHJ0ZV9i dXMnCiAgICAgICAgaWYgKCFidXMtPnVucGx1ZykgewogICAgICAgICAgICAgfn5+ICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzoxMzg6MTM6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3VucGx1ZycgaW4gJ3N0cnVj dCBydGVfYnVzJwogICAgICAgIHJldCA9IGJ1cy0+dW5wbHVnKGRldi0+ZGV2YXJncyk7CiAgICAg ICAgICAgICAgfn5+ICBeCjEwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9y IHRhcmdldCAnZWFsX2NvbW1vbl9kZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnZWFsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdic2RhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1r OjczOiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5t azo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJn ZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTE6Ck9TOiBGcmVlQlNEMTAuM182 NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0 aW9uICdydGVfZWFsX2Rldl9hdHRhY2gnOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IGltcGxp Y2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdydGVfYnVzX2ZpbmRfZGV2aWNlJyBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ3J0ZV9idXNfZmluZF9k ZXZpY2UnIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6 IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1X ZXJyb3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2 X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogaW1wbGljaXQg ZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNfZmluZF9ieV9kZXZpY2UnIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlf ZGV2aWNlKGRldik7CiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJu IGRlY2xhcmF0aW9uIG9mICdydGVfYnVzX2ZpbmRfYnlfZGV2aWNlJyBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojc6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50 ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yXQogICBidXMgPSBydGVfYnVz X2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4MjoxMTogZXJyb3I6 ICdzdHJ1Y3QgcnRlX2J1cycgaGFzIG5vIG1lbWJlciBuYW1lZCAncGx1ZycKICAgaWYgKCFidXMt PnBsdWcpIHsKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo4NzoxMjogZXJyb3I6ICdzdHJ1Y3Qg cnRlX2J1cycgaGFzIG5vIG1lbWJlciBuYW1lZCAncGx1ZycKICAgcmV0ID0gYnVzLT5wbHVnKGRl di0+ZGV2YXJncyk7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiAncnRl X2VhbF9kZXZfZGV0YWNoJzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogYXNzaWdubWVudCBt YWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBkZXYg PSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20g aW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlf ZGV2aWNlKGRldik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzMzoxMDogZXJyb3I6ICdzdHJ1Y3Qg cnRlX2J1cycgaGFzIG5vIG1lbWJlciBuYW1lZCAndW5wbHVnJwogIGlmICghYnVzLT51bnBsdWcp IHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVf ZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6ICdzdHJ1Y3QgcnRlX2J1 cycgaGFzIG5vIG1lbWJlciBuYW1lZCAndW5wbHVnJwogIHJldCA9IGJ1cy0+dW5wbHVnKGRldi0+ ZGV2YXJncyk7CiAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNv bXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8nIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2Mzog cmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnYnNkYXBwJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazox Mjg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMDc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQg QnVpbGQgIzEyOgpPUzogQ2VudE9TN182NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdj YwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2F0dGFjaOKAmToKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjcxOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rl dl9uYW1lLCBuYW1lKTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVzdGVkIGV4dGVy biBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9p bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1 c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDi gJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVn ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZp Y2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIGlmICghYnVzLT5wbHVn KSB7CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgcmV0ID0gYnVzLT5wbHVn KGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDi gJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2ln bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3Jd CiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwog ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRl ciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1c19m aW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQogIGlm ICghYnVzLT51bnBsdWcpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAg cmV0ID0gYnVzLT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICBeCmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxMzoKT1M6IENl bnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yzo3MTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNf ZmluZF9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBj bXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjcxOjg6IG5vdGU6IGRpZCB5b3UgbWVhbiAncnRlX3BjaV9hZGRfZGV2aWNlJz8KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfcHJpdmF0ZS5o OjEyNDo2OiBub3RlOiAncnRlX3BjaV9hZGRfZGV2aWNlJyBkZWNsYXJlZCBoZXJlCnZvaWQgcnRl X3BjaV9hZGRfZGV2aWNlKHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7CiAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIg Y29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcg Wy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAgIF4gfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0 ZV9idXNfZmluZF9ieV9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGlj aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgICAgICAgICBidXMgPSBydGVfYnVzX2Zp bmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTo5OiBub3RlOiBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9kZXZpY2UnPwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6NzE6ODogbm90ZTogJ3J0ZV9idXNfZmluZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKICAgICAg ICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwg bmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGluY29tcGF0 aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBy dGVfYnVzIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICAg ICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAg ICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTM6IGVy cm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICAg ICAgICAgIGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgICAgICAgICAgIH5+fiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6ODc6MTQ6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdzdHJ1Y3Qg cnRlX2J1cycKICAgICAgICAgICAgICAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwog ICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGlu Y29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0 cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0K ICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFt ZSk7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRv IHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfYnVzIConIGZyb20g J2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBidXMgPSBydGVfYnVzX2Zp bmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTI6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3VucGx1Zycg aW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIGlmICghYnVzLT51bnBsdWcpIHsKICAgICAgICAg ICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjEzOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd1 bnBsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICByZXQgPSBidXMtPnVucGx1ZyhkZXYt PmRldmFyZ3MpOwogICAgICAgICAgICAgIH5+fiAgXgoxMCBlcnJvcnMgZ2VuZXJhdGVkLgoKCkZh aWxlZCBCdWlsZCAjMTQ6Ck9TOiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2 X2F0dGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwg Y21wX2RldGFjaGVkX2Rldl9uYW1lLCBuYW1lKTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJv cjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2ln bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3Jd CiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUs IG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2Rl dmljZShkZXYpOwogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBk ZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9p bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgIGJ1cyA9IHJ0ZV9i dXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAg IGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9y OiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAg cmV0ID0gYnVzLT5wbHVnKGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6 NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBh IGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2 X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1l bnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAg YnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzox MzM6MTA6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKA mHVucGx1Z+KAmQogIGlmICghYnVzLT51bnBsdWcpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjEzODoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdW5wbHVn4oCZCiAgcmV0ID0gYnVzLT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAg ICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1 aWxkICMxNToKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2F0dGFjaOKAmToKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29t bW9uX2Rldi5jOjcxOjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDi gJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2RldGFjaGVkX2Rl dl9uYW1lLCBuYW1lKTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGli cnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MToyOiBlcnJvcjogbmVzdGVkIGV4dGVy biBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3Rl ZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9p bnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgZGV2ID0gcnRlX2J1 c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFs X2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDi gJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVn ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZp Y2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0 ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIGlmICghYnVzLT5wbHVn KSB7CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0 ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRl X2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgcmV0ID0gYnVzLT5wbHVn KGRldi0+ZGV2YXJncyk7CiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDi gJhydGVfZWFsX2Rldl9kZXRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9s aWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGFzc2ln bm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3Jd CiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV2X25hbWUsIG5hbWUpOwog ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRl ciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3JdCiAgYnVzID0gcnRlX2J1c19m aW5kX2J5X2RldmljZShkZXYpOwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTA6IGVycm9yOiDi gJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8gbWVtYmVyIG5hbWVkIOKAmHVucGx1Z+KAmQogIGlm ICghYnVzLT51bnBsdWcpIHsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6 IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAg cmV0ID0gYnVzLT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICBeCmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxNjoKT1M6IEZD MjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo4oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNf ZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg ZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5h bWUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxM LCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6Njog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShO VUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19m aW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1l eHRlcm5zXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgIF5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVn ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9i dXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAg IGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAg IHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogICAgICAgICAgICBefgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2RldGFjaOKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEy MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0 IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2 OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEg Y2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2 aWNlKGRldik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgaWYgKCFidXMtPnVu cGx1ZykgewogICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6IOKAmHN0cnVj dCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgcmV0ID0gYnVz LT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICBefgpjYzE6IGFsbCB3YXJuaW5ncyBi ZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv aW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9j b21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUg Zm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBl IGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwn IGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTc6Ck9TOiBGQzI0XzY0ClRhcmdldDogaTY4Ni1uYXRp dmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZf YXR0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBj bXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjcxOjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKA mHJ0ZV9idXNfZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0g cnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwog IF5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9u L2VhbF9jb21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBm cm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2 ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUp OwogICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9j b21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShk ZXYpOwogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBl cnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2 aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlf ZGV2aWNlKGRldik7CiAgIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xp YnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQg bWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNv bnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjgyOjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1l bWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgXn4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jOjg3OjEyOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1l bWJlciBuYW1lZCDigJhwbHVn4oCZCiAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwog ICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9l YWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2Rl dGFjaOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2Nv bW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyMTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2lu dGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0K ICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1v bi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVy IGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBi dXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEz MzoxMDogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCY dW5wbHVn4oCZCiAgaWYgKCFidXMtPnVucGx1ZykgewogICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjEzODoxMTogZXJyb3I6IOKAmHN0cnVjdCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg 4oCYdW5wbHVn4oCZCiAgcmV0ID0gYnVzLT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAg ICBefgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODog cmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQg J2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGly Lm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQg J2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0 YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVj aXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTg6Ck9TOiBG QzI0XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcKCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9k ZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZfYXR0YWNo4oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 NzE6ODogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHJ0ZV9idXNf ZmluZF9kZXZpY2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg ZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5h bWUpOwogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjcxOjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9kZXZpY2XigJkg Wy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxM LCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogIF5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzE6Njog ZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0aG91dCBhIGNh c3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShO VUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19m aW5kX2J5X2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPW5lc3RlZC1l eHRlcm5zXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgIF5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6NzU6NzogZXJyb3I6IGFzc2lnbm1lbnQgbWFrZXMgcG9pbnRlciBmcm9tIGludGVn ZXIgd2l0aG91dCBhIGNhc3QgWy1XZXJyb3I9aW50LWNvbnZlcnNpb25dCiAgIGJ1cyA9IHJ0ZV9i dXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjgyOjExOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAg IGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjg3OjEyOiBlcnJv cjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDigJhwbHVn4oCZCiAg IHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogICAgICAgICAgICBefgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9lYWxfZGV2X2RldGFjaOKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEy MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0 IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEyNzo2 OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEg Y2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2 aWNlKGRldik7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzMzoxMDogZXJyb3I6IOKAmHN0cnVjdCBy dGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgaWYgKCFidXMtPnVu cGx1ZykgewogICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9s aWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjEzODoxMTogZXJyb3I6IOKAmHN0cnVj dCBydGVfYnVz4oCZIGhhcyBubyBtZW1iZXIgbmFtZWQg4oCYdW5wbHVn4oCZCiAgcmV0ID0gYnVz LT51bnBsdWcoZGV2LT5kZXZhcmdzKTsKICAgICAgICAgICBefgpjYzE6IGFsbCB3YXJuaW5ncyBi ZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsv aW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9j b21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUg Zm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBl IGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwn IGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTk6Ck9TOiBGQzI0XzY0ClRhcmdldDogeDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJy dGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfZWFsX2Rl dl9hdHRhY2jigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2Vh bC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3MTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1pbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEws IGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6NzE6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg 4oCYcnRlX2J1c19maW5kX2RldmljZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBkZXYg PSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7 CiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzo3MTo2OiBlcnJvcjogYXNzaWdubWVudCBtYWtlcyBwb2ludGVy IGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICBk ZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFt ZSk7CiAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFs L2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1Ojk6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhydGVfYnVzX2ZpbmRfYnlfZGV2aWNl4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBidXMgPSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNl KGRldik7CiAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5jOjc1OjM6 IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmHJ0ZV9idXNfZmluZF9ieV9k ZXZpY2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9i eV9kZXZpY2UoZGV2KTsKICAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIv bGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3NTo3OiBlcnJvcjogYXNzaWdubWVu dCBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQt Y29udmVyc2lvbl0KICAgYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6ODI6MTE6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgaWYgKCFidXMtPnBsdWcpIHsKICAgICAgICAgICBe fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2Vh bF9jb21tb25fZGV2LmM6ODc6MTI6IGVycm9yOiDigJhzdHJ1Y3QgcnRlX2J1c+KAmSBoYXMgbm8g bWVtYmVyIG5hbWVkIOKAmHBsdWfigJkKICAgcmV0ID0gYnVzLT5wbHVnKGRldi0+ZGV2YXJncyk7 CiAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRl X2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX2VhbF9kZXZf ZGV0YWNo4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTIxOjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBv aW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9u XQogIGRldiA9IHJ0ZV9idXNfZmluZF9kZXZpY2UoTlVMTCwgY21wX2Rldl9uYW1lLCBuYW1lKTsK ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29t bW9uL2VhbF9jb21tb25fZGV2LmM6MTI3OjY6IGVycm9yOiBhc3NpZ25tZW50IG1ha2VzIHBvaW50 ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQog IGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6 MTMzOjEwOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1lZCDi gJh1bnBsdWfigJkKICBpZiAoIWJ1cy0+dW5wbHVnKSB7CiAgICAgICAgICBefgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6MTM4OjExOiBlcnJvcjog4oCYc3RydWN0IHJ0ZV9idXPigJkgaGFzIG5vIG1lbWJlciBuYW1l ZCDigJh1bnBsdWfigJkKICByZXQgPSBidXMtPnVucGx1ZyhkZXYtPmRldmFyZ3MpOwogICAgICAg ICAgIF5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4 OiByZWNpcGUgZm9yIHRhcmdldCAnZWFsX2NvbW1vbl9kZXYubycgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnZWFsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJk aXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaW51eGFwcCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdl dCAnbGlicnRlX2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RrYnVpbGQubWs6NzM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI4OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA3OiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMyMDoKT1M6 IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYu Yzo3MTo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0ZV9idXNf ZmluZF9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgICAgICAgZGV2ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBj bXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUpOwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9uX2Rldi5j OjcxOjg6IG5vdGU6IGRpZCB5b3UgbWVhbiAncnRlX3BjaV9hZGRfZGV2aWNlJz8KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfcHJpdmF0ZS5o OjEyNDo2OiBub3RlOiAncnRlX3BjaV9hZGRfZGV2aWNlJyBkZWNsYXJlZCBoZXJlCnZvaWQgcnRl X3BjaV9hZGRfZGV2aWNlKHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7CiAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmM6NzE6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIg Y29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcg Wy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2 aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwgbmFtZSk7CiAgICAgICAgICAgIF4gfn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYzo3NTo5OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ3J0 ZV9idXNfZmluZF9ieV9kZXZpY2UnIGlzIGludmFsaWQgaW4gQzk5IFstV2Vycm9yLC1XaW1wbGlj aXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgICAgICAgICBidXMgPSBydGVfYnVzX2Zp bmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzo3 NTo5OiBub3RlOiBkaWQgeW91IG1lYW4gJ3J0ZV9idXNfZmluZF9kZXZpY2UnPwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2 LmM6NzE6ODogbm90ZTogJ3J0ZV9idXNfZmluZF9kZXZpY2UnIGRlY2xhcmVkIGhlcmUKICAgICAg ICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXRhY2hlZF9kZXZfbmFtZSwg bmFtZSk7CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGli L2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6NzU6NzogZXJyb3I6IGluY29tcGF0 aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBy dGVfYnVzIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICAg ICAgICAgIGJ1cyA9IHJ0ZV9idXNfZmluZF9ieV9kZXZpY2UoZGV2KTsKICAgICAgICAgICAgICAg ICAgICBeIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmM6ODI6MTM6IGVy cm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICAg ICAgICAgIGlmICghYnVzLT5wbHVnKSB7CiAgICAgICAgICAgICAgICAgICAgIH5+fiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21t b25fZGV2LmM6ODc6MTQ6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3BsdWcnIGluICdzdHJ1Y3Qg cnRlX2J1cycKICAgICAgICAgICAgICAgIHJldCA9IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwog ICAgICAgICAgICAgICAgICAgICAgfn5+ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYzoxMjE6NjogZXJyb3I6IGlu Y29tcGF0aWJsZSBpbnRlZ2VyIHRvIHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0 cnVjdCBydGVfZGV2aWNlIConIGZyb20gJ2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0K ICAgICAgICBkZXYgPSBydGVfYnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFt ZSk7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21t b24vZWFsX2NvbW1vbl9kZXYuYzoxMjc6NjogZXJyb3I6IGluY29tcGF0aWJsZSBpbnRlZ2VyIHRv IHBvaW50ZXIgY29udmVyc2lvbiBhc3NpZ25pbmcgdG8gJ3N0cnVjdCBydGVfYnVzIConIGZyb20g J2ludCcgWy1XZXJyb3IsLVdpbnQtY29udmVyc2lvbl0KICAgICAgICBidXMgPSBydGVfYnVzX2Zp bmRfYnlfZGV2aWNlKGRldik7CiAgICAgICAgICAgIF4gfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24v ZWFsX2NvbW1vbl9kZXYuYzoxMzM6MTI6IGVycm9yOiBubyBtZW1iZXIgbmFtZWQgJ3VucGx1Zycg aW4gJ3N0cnVjdCBydGVfYnVzJwogICAgICAgIGlmICghYnVzLT51bnBsdWcpIHsKICAgICAgICAg ICAgIH5+fiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmM6MTM4OjEzOiBlcnJvcjogbm8gbWVtYmVyIG5hbWVkICd1 bnBsdWcnIGluICdzdHJ1Y3QgcnRlX2J1cycKICAgICAgICByZXQgPSBidXMtPnVucGx1ZyhkZXYt PmRldmFyZ3MpOwogICAgICAgICAgICAgIH5+fiAgXgoxMCBlcnJvcnMgZ2VuZXJhdGVkLgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1r OjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2VhbF9jb21tb25fZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0 YXJnZXQgJ2VhbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUu c3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbGludXhhcHAnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0 YXJnZXQgJ2xpYnJ0ZV9lYWwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAnbGliJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyODogcmVjaXBl IGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEw NzogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMjE6 Ck9TOiBSSEVMNy4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1pY2MKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxfY29tbW9u X2Rldi5jKDcxKTogZXJyb3IgIzU1NjogYSB2YWx1ZSBvZiB0eXBlICJpbnQiIGNhbm5vdCBiZSBh c3NpZ25lZCB0byBhbiBlbnRpdHkgb2YgdHlwZSAic3RydWN0IHJ0ZV9kZXZpY2UgKiIKICAJZGV2 ID0gcnRlX2J1c19maW5kX2RldmljZShOVUxMLCBjbXBfZGV0YWNoZWRfZGV2X25hbWUsIG5hbWUp OwogIAkgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwv Y29tbW9uL2VhbF9jb21tb25fZGV2LmMoNzUpOiBlcnJvciAjNTU2OiBhIHZhbHVlIG9mIHR5cGUg ImludCIgY2Fubm90IGJlIGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBlICJzdHJ1Y3QgcnRl X2J1cyAqIgogIAkJYnVzID0gcnRlX2J1c19maW5kX2J5X2RldmljZShkZXYpOwogIAkJICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2xpYi9saWJydGVfZWFsL2NvbW1vbi9lYWxf Y29tbW9uX2Rldi5jKDgyKTogZXJyb3I6IHN0cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxkICJw bHVnIgogIAkJaWYgKCFidXMtPnBsdWcpIHsKICAJCSAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYyg4 Nyk6IGVycm9yOiBzdHJ1Y3QgInJ0ZV9idXMiIGhhcyBubyBmaWVsZCAicGx1ZyIKICAJCXJldCA9 IGJ1cy0+cGx1ZyhkZXYtPmRldmFyZ3MpOwogIAkJICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygx MjEpOiBlcnJvciAjNTU2OiBhIHZhbHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJlIGFzc2lnbmVk IHRvIGFuIGVudGl0eSBvZiB0eXBlICJzdHJ1Y3QgcnRlX2RldmljZSAqIgogIAlkZXYgPSBydGVf YnVzX2ZpbmRfZGV2aWNlKE5VTEwsIGNtcF9kZXZfbmFtZSwgbmFtZSk7CiAgCSAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1v bl9kZXYuYygxMjcpOiBlcnJvciAjNTU2OiBhIHZhbHVlIG9mIHR5cGUgImludCIgY2Fubm90IGJl IGFzc2lnbmVkIHRvIGFuIGVudGl0eSBvZiB0eXBlICJzdHJ1Y3QgcnRlX2J1cyAqIgogIAlidXMg PSBydGVfYnVzX2ZpbmRfYnlfZGV2aWNlKGRldik7CiAgCSAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9saWIvbGlicnRlX2VhbC9jb21tb24vZWFsX2NvbW1vbl9kZXYuYygxMzMp OiBlcnJvcjogc3RydWN0ICJydGVfYnVzIiBoYXMgbm8gZmllbGQgInVucGx1ZyIKICAJaWYgKCFi dXMtPnVucGx1ZykgewogIAkgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9jb21tb25fZGV2LmMoMTM4KTogZXJyb3I6IHN0 cnVjdCAicnRlX2J1cyIgaGFzIG5vIGZpZWxkICJ1bnBsdWciCiAgCXJldCA9IGJ1cy0+dW5wbHVn KGRldi0+ZGV2YXJncyk7CiAgCSAgICAgICAgICAgXgpjb21waWxhdGlvbiBhYm9ydGVkIGZvciAv aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbGliL2xpYnJ0ZV9lYWwvY29tbW9uL2VhbF9j b21tb25fZGV2LmMgKGNvZGUgMikKCgpEUERLIFNUViB0ZWFtCg== --===============0583792776216666958==--