From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 887D869D4 for ; Thu, 23 Mar 2017 17:51:26 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490287886; x=1521823886; h=message-id:date:mime-version:subject:from:to:cc; bh=/o2ikEzOpR3s77mZ39kTgnsMCJ16l1xEC6M+mWRAhw8=; b=nyudoWBo74jqASxGtW+3gMhaixci629v/b/VYpoM+H1B/YlFP5NQApUa CFyWS3ng9VL/1g/XF/yq/9MlA24Vrw==; Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Mar 2017 09:51:25 -0700 Message-Id: Date: 23 Mar 2017 09:51:22 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,210,1486454400"; d="scan'208";a="64182957" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by orsmga002.jf.intel.com with ESMTP; 23 Mar 2017 09:51:22 -0700 Content-Type: multipart/alternative; boundary="===============7717194609398313261==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw22148 [PATCH v3 1/5] net/i40e: add pipeline personalization profile processing 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, 23 Mar 2017 16:51:30 -0000 --===============7717194609398313261== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yMjE0OAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogVGh1LCAyMyBNYXIgMjAx NyAxODowMjoyOCArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBCcmFuY2g6bWFz dGVyLCBDb21taXRJRDo4NGFhYzk3YjQ5OTk0YmU2YjQ2MWI0NmJlMTYwYjQ3OTM4ZTY5N2IzCgpQ YXRjaDIyMTQ4LTIyMTQ4IC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6IDE4IEJ1aWxk cyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25tZW50IGFuZCBj b25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVsIFZlcnNpb246 My4xMC4wLTUxNC4xMC4yLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikg Q1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNC44LjUg MjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNCkKICAgIENsYW5nIFZlcnNpb246My40LjIKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZApPUzogRnJlZUJTRDEwLjNfNjQKICAg IEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAgQ1BVIGluZm86IEludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk3LU1IeiBLOC1jbGFzcyBDUFUpCiAg ICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMgQ29sbGVjdGlvbikgNC44LjUKICAgIENs YW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCiAgICB4ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOS4x My0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5MTYg KFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1z aGFyZWQKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IFVCMTYwNF82NAogICAg S2VybmVsIFZlcnNpb246NC40LjAtNjQtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVv bihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1 IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9u OjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJzaW9u OjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIp IENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAgICBp Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK ICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKCkZhaWxlZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAwOjIxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNp b24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDA6MzQ6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVt Y21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDE6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNp b27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMDI6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjozMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAm cC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzo4OiBl cnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzM3OjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYg KHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg 4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9z ZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwog ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1MToxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIpIHsK ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NzoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6 NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Mzo2MzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgoc3Ry dWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzY2OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5k ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0g aTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NDoxODog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAg c2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzc1OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhz aXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzODQ6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NTo1NzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6Mzog ZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVfcHJv ZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3RhdHVz ID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MzogZXJyb3I6IG5lc3Rl ZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9y PW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDAyOjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdt ZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDM6NTc6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6 IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDA6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwMDozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lv biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQw ZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjoyMTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAo JnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAy OjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzAzOjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzM4OjE0OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2df aGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjI6IGVy cm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog IG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRf VFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVj bGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1u ZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRB REFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0 YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVU QURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzYzOjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0 YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NDk6IGVycm9yOiDi gJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNF R01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc0OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzU6MTg6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzg1OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog ICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkcikt PnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM5NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBl X3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDI6NTY6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAg KChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTQwMzo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3Nl Z19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCgoKRmFpbGVkIEJ1aWxkICMzOgpPUzogUkhFTDcuMl82NApUYXJnZXQ6IHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAwOjIxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZl cnNpb24sICZwLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDA6MzQ6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAh bWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDE6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3Zl cnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDI6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjozMTogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1l LCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzo4 OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6IEluIGZ1bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZ OgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzM3OjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAg aWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0 YV9zZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkg KwogICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1MToxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIp IHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NzoyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRp b24gb2YgZnVuY3Rpb24g4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJv cj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz NTc6NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVUQURBVEHigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Mzo2MzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0cmFja19pZCA9ICgo c3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19p ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzY2OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRy ID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NDox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAg ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzc1OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDi gJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m b+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzODQ6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQg Kilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NTo1NzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6 MzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfd3JpdGVf cHJvZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgc3Rh dHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MzogZXJyb3I6IG5l c3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vy cm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDAyOjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDM6NTc6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgJigoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+dmVyc2lvbiwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjNDoK T1M6IEZyZWVCU0QxMC4zXzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKSW4g ZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFz IGluY29tcGxldGUgZWxlbWVudCB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjE3OjUxOiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0 MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyNjo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRh X2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAg ICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI2 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2Vj LT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjI3OjM6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29t cGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6 ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9y OiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZP OwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIyODoyMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05f VFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIn CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MjE6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy ICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6NTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjMwOjIyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9m JyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAg ICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf cHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07 CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5p dGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0 KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjc6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM0OjE0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUs IG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjcz NDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM1OjE1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5 cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkoJnBpbmZvLT52ZXJz aW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAg ICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv IHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3Ojg6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg ICAgICAgICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAg ICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2lu Zm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoxNTogZXJyb3I6IHVzZSBvZiB1bmRl Y2xhcmVkIGlkZW50aWZpZXIgJ0k0MEVfUFBQX0FERF9UUkFDS0lEJwogICAgICAgICAgICAgICAg cGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMzk6ODogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgICAgICBwaW5mby0+b3AgPSBJ NDBFX1BQUF9SRU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8n CiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAg ICAgXgpmYXRhbCBlcnJvcjogdG9vIG1hbnkgZXJyb3JzIGVtaXR0ZWQsIHN0b3BwaW5nIG5vdyBb LWZlcnJvci1saW1pdD1dCjIwIGVycm9ycyBnZW5lcmF0ZWQuCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9y IHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNp cGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiBy ZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3Rh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxk ICM1OgpPUzogRnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MK XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzAwOjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPnZlcnNpb24sICZwLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDA6MzQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwg JnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDE6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxl dGUgdHlwZSAnc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24nCiAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3BwcF92ZXJzaW9uKSkgJiYKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAyOjIxOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNt cCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDI6MzE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAgICAhbWVtY21wKCZwaW5mby0+bmFtZSwgJnAtPm5hbWUsCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6ODogZXJyb3I6ICdJNDBFX1BQUF9OQU1FX1NJWkUnIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05B TUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdydGVfcG1kX2k0MGVfcHJv Y2Vzc19wcHBfcGFja2FnZSc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0 aW9uIG9mICdzaXplb2YnIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcGFja2FnZV9o ZWFkZXInCiAgaWYgKHNpemUgPCAoc2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9tZXRh ZGF0YV9zZWdtZW50JwogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQp ICsKICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTE6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRfY291bnQgPCAy KSB7CiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0 aW9uIG9mIGZ1bmN0aW9uICdpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1p bXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX2ZpbmRfc2Vn bWVudF9pbl9wYWNrYWdlJyBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDog ZXJyb3I6ICdTRUdNRU5UX1RZUEVfTUVUQURBVEEnIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0 aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjM6NjM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnQgKiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM2Njo0OTogZXJyb3I6ICdTRUdNRU5UX1RZUEVfSTQwRScgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NDoxODogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NTox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzg1OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hk ciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ2k0MGVfd3JpdGVfcHJvZmlsZScgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rp b24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzk1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mICdpNDBlX3dy aXRlX3Byb2ZpbGUnIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDAyOjU2OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICgoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDM6NTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgJigoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRy KS0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0 YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFy Z2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZv ciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZh aWxlZAoKCkZhaWxlZCBCdWlsZCAjNjoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1kZWJ1ZwoKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6MDoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu aDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1lbnQgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8g cF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIxNzo1 MTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZIGRlY2xhcmVkIGluc2lkZSBw YXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2VjKGNoYXIgKm5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uICp2ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIyNTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50 Ymxfc2l6ZSA9IDE7CiAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjoyNTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyNzoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkK ICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIyODoyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZp cnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9U WVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjI4OjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmllciBpcyByZXBvcnRlZCBvbmx5 IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjMxOiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPnNlY3Rpb24u b2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6Mjk6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yo c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzMzo3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBwaW5mby0+dHJhY2tf aWQgPSB0cmFja19pZDsKICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzQ6Mjg6IGVycm9yOiDigJhJNDBFX1BQ UF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAg bWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzU6NDI6IGVycm9y OiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2 ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6MTU6IGVycm9yOiDi gJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzk6MTU6IGVycm9yOiDigJhJNDBFX1BQ UF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfYWRkX3Jt X3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1MjoxMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50cmFja19pZDsKICAgICAgICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyNTQ6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNl Yy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NDoyOiBl cnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX3dyaXRlX3BwcOKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcCho dywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg2Ojg6IGVycm9yOiBpbXBs aWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBb LVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dl dF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyODY6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgcmV0ID0gaTQw ZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBefn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI5NjoxNjog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSk7CiAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKA mQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzAzOjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBf TkFNRV9TSVpFKSkgewogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlv biDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMzNzoyMTog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVv ZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBefn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChw a2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzoy MTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9z ZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VH TUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRp b24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2Fn ZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjUw OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVu dF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM2Mzo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRyYWNrX2lkID0gKChzdHJ1Y3Qg aTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzY2OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNzQ6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKA mQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSAr CiAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc1OjE4OiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pLAogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MTI6IGVycm9yOiBpbXBsaWNpdCBk ZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9 aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJv ZmlsZShodywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MzogZXJy b3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZ IFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExNDAyOjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAg ICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5h bWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp NDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUgZm9yIHRhcmdldCAnZHJp dmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9v dC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpG YWlsZWQgQnVpbGQgIzc6Ck9TOiBGQzI0XzY0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAt Z2NjCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjog YXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMTc6NTE6IGVycm9yOiDigJhzdHJ1 Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2ls bCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biBbLVdlcnJvcl0KIGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhpNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAg IF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMjY6MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjc6 MTA6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6MjI6IGVycm9y OiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAg ICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODoyMjogbm90ZTogZWFj aCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1 bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOTozMTogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mb+KAmQogIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6 NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM0OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFt ZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM1OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Bw cF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0 cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RS QUNLSUTigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZv LT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM5OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyNTI6MTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNl Yy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU0OjEx OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0 ZV9wcHDigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVz ID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAg ICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTQ6MjogZXJyb3I6IG5lc3RlZCBleHRl cm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVk LWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBz ZWMtPmRhdGFfZW5kLAogIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3By b2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4Njo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24g4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2 b2lkICopYnVmZiwKICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg2OjI6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN0 4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0 KGh3LCAodm9pZCAqKWJ1ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyOTY6MTY6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz MDE6MTU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTMwMzo4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBl X3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFj a2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzg6MTQ6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM1MToxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9j b3VudCA8IDIpIHsKICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjE6IGVycm9yOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3Nl Z19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFU QSwKICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmlu ZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRh dGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01F VEFEQVRBLAogIF5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDogZXJyb3I6IOKAmFNFR01F TlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlv bikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdN RU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjM6NjM6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21l dGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2Vn bWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo0 OTogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBp biB0aGlzIGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2lu X3BhY2thZ2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0OjE4OiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXpl b2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAg ICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM3NToxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCY c2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/i gJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAg ICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzODQ6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQog ICAgICAgICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+ bmFtZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzk1OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVu Y3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJu IGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQt ZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTQwMjo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQw ZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdh cm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdl dCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9y IHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUg Zm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM4OgpP UzogRkMyNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjI3OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMg aW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAg c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMTc6NTE6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbuKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3Qgd2lsbCBub3QgYmUgdmlzaWJs ZSBvdXRzaWRlIG9mIHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiBbLVdlcnJvcl0KIGk0 MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2dl bmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAgIF5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjY6 MjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+ ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwog ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjc6MTA6IGVycm9yOiBpbnZh bGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8pOwogICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6MjI6IGVycm9yOiDigJhTRUNUSU9OX1RZ UEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBzZWMt PnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgICAgICAgICAgICAgICAg Xn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODoyMjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlk ZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBvbmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVh cnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyOTozMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjMwOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHNl Yy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6NzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjM0OjI4OiBlcnJvcjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0 IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9Q UFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM1OjQyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAg bWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92 ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjM3OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RSQUNLSUTigJkgdW5kZWNs YXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQ X0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MjM5OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTigJkgdW5kZWNsYXJlZCAo Zmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX1JFTU9W RV9UUkFDS0lEOwogICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJ biBmdW5jdGlvbiDigJhpNDBlX2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTI6MTA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+c2VjdGlvbi5vZmZz ZXQpKS0+dHJhY2tfaWQ7CiAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU0OjExOiBlcnJvcjogaW1wbGlj aXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJy b3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVzID0gaTQwZV9hcV93cml0 ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAgICAgICAgIF5+fn5+fn5+ fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNTQ6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24g b2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgc3Rh dHVzID0gaTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAog IF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3Byb2ZpbGVfaW5mb+KAmToK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTI4Njo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCY aTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFy YXRpb25dCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg2OjI6IGVycm9yOiBuZXN0ZWQgZXh0 ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vycm9yPW5l c3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAodm9pZCAqKWJ1 ZmYsCiAgXn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyOTY6MTY6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0 aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9u X2hlYWRlcikpOwogICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDE6MTU6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBw X3ZlcnNpb24pKSAmJgogICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzo4OiBlcnJvcjog 4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1 bmN0aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3Bh Y2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFk ZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsK ICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzg6MTQ6IGVycm9yOiBpbnZhbGlk IGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1MToxMzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hkci0+c2VnbWVudF9jb3VudCA8IDIpIHsKICAg ICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBv ZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWlt cGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjI6IGVycm9y OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3Bh Y2thZ2XigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0 MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogIF5+fn5+ fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFU QeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9z ZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURB VEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjM6NjM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTi gJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCAqKW1ldGFkYXRh X3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo0OTogZXJyb3I6IOKAmFNF R01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9u KQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVO VF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0OjE4OiBlcnJvcjogaW52YWxpZCBhcHBs aWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM3NToxODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgICAgICAgICBz aXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAgICAgICAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzODQ6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzk1OjEyOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93 cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQog ICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAgIF5+fn5+fn5+fn5+ fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMzk1OjM6IGVycm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9m IOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgc3Rh dHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwMjo1NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21l bnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5h bC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYu bycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo4 MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI5OiByZWNpcGUgZm9yIHRhcmdldCAnYWxs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxs Lm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTA0OiByZWNpcGUgZm9yIHRh cmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM5OgpPUzogRkMyNF82NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjI6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBs ZXRlIGVsZW1lbnQgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBe fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIxNzo1MTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogaTQwZV9nZW5l cmF0ZV9wcm9maWxlX2luZm9fc2VjKGNoYXIgKm5hbWUsIHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u ICp2ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBefn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVf cHJvZmlsZV9pbmZvX3NlY+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6ZSA9IDE7CiAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjoyNTogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5kYXRhX2Vu ZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNzoxMDogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9wcm9maWxlX2luZm/igJkKICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAg ICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODoyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP 4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlv bi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+ fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI4OjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRlbnRpZmll ciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFycyBpbgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjI5OjMxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLi gJkKICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMzA6Mjk6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBp bmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc2VjLT5zZWN0 aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMzo3OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/i gJkKICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsKICAgICAgIF5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzQ6Mjg6 IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQUF9OQU1F X1NJWkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEyMzU6NDI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkKICBtZW1jcHko JnBpbmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24p KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMzc6MTU6IGVycm9yOiDigJhJNDBFX1BQUF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RS QUNLSUQ7CiAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzk6MTU6 IGVycm9yOiDigJhJNDBFX1BQUF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1 c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNL SUQ7CiAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfYWRkX3JtX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1MjoxMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50 cmFja19pZDsKICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTQ6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNs YXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBs aWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcCho dywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+ fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTI1NDoyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhp NDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMgPSBp NDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tfcHJvZmlsZV9pbmZv4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mjg2Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2Fx X2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZmLAogICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyODY6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVj bGFyYXRpb24gb2Yg4oCYaTQwZV9hcV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4 dGVybnNdCiAgcmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBe fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTI5NjoxNjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVy4oCZCiAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy KSk7CiAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lv bikpICYmCiAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjg6IGVycm9yOiDigJhJNDBF X1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24p CiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhydGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTMzNzoyMTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQog IGlmIChzaXplIDwgKHNpemVvZihzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICAgICBefn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9t ZXRhZGF0YV9zZWdtZW504oCZCiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2Vn bWVudCkgKwogICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdl X2hlYWRlcuKAmQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAg ICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM1NzoyMTogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQt ZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6IG5lc3Rl ZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXn5+fn5+fn5+fn5+ fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMzU3OjUwOiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVu ZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIg PSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM2Mzo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRy YWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hk ciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzY2OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9U WVBFX0k0MEXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJv ZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVf STQwRSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzQ6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc1OjE4 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNpemVvZihz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAgICAgICAgICBefn5+fn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM4NDo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+Ci9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MTI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3By b2ZpbGXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzOTU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMgPSBp NDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExNDAyOjU2OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9m aWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXBy b2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXn4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBh cyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5j b21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNp cGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdp bnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEwOgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2Lmg6NzM0OjMzOiBlcnJvcjogYXJyYXkgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv IHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5o OjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjE3OjUxOiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3BwcF92ZXJzaW9uJyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5j dGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCmk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3Nl YyhjaGFyICpuYW1lLCBzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjo1OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVM TDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI2OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgIF4g ICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0g TlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI3OjM6IGVycm9yOiBpbnZhbGlkIGFwcGxp Y2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byk7CiAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5o OjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI4OjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNl Y3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5 OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNl YyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODoyMjogZXJyb3I6IHVzZSBvZiB1 bmRlY2xhcmVkIGlkZW50aWZpZXIgJ1NFQ1RJT05fVFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2Vj dGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMjk6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5v ZmZzZXQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAg ICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5 OjI0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2Vj LT5zZWN0aW9uLm9mZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjE6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEyMzA6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5z aXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hl YWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjIyOiBlcnJvcjog aW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVv ZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg XiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIz MjoxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAg c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjMzOjc6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlw ZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRy YWNrX2lkOwogICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM0OjE0OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m bycKICAgICAgICBtZW1jcHkocGluZm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7 CiAgICAgICAgICAgICAgIH5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJv ZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM0OjI4OiBlcnJv cjogdXNlIG9mIHVuZGVjbGFyZWQgaWRlbnRpZmllciAnSTQwRV9QUFBfTkFNRV9TSVpFJwogICAg ICAgIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNToxNTogZXJyb3I6IGluY29t cGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAg ICAgbWVtY3B5KCZwaW5mby0+dmVyc2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3Bw cF92ZXJzaW9uKSk7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9y d2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIzNTozNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5j b21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbicKICAgICAgICBtZW1jcHkoJnBp bmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMTc6NTE6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJwppNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19z ZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24gKnZlcnNpb24sCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3Ojg6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7 CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBt YW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJv cnMgZ2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwv cnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8n IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2 MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5t azo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJn ZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTE6Ck9TOiBVQjE2MDRfNjQKVGFy Z2V0OiBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjI6MDoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuaDo3MzQ6Mjc6IGVycm9yOiBhcnJheSB0eXBlIGhhcyBpbmNvbXBsZXRlIGVsZW1l bnQgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBzdHJ1Y3QgaTQwZV9wcm9m aWxlX2luZm8gcF9pbmZvWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MTk6MTE6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmSBkZWNsYXJlZCBpbnNp ZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgICAgICAgICAgYm9vbCBhZGQpCiAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjE5OjExOiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0 aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBb LVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9nZW5lcmF0ZV9wcm9maWxlX2luZm9f c2Vj4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjI1OjU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICBz ZWMtPnRibF9zaXplID0gMTsKICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjY6MjU6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+ZGF0YV9lbmQgPSBzaXplb2Yoc3Ry dWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjI3OjEwOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQog ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIy ODoyMjogZXJyb3I6IOKAmFNFQ1RJT05fVFlQRV9JTkZP4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVz ZSBpbiB0aGlzIGZ1bmN0aW9uKQogIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9UWVBFX0lO Rk87CiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6MjI6IG5vdGU6IGVhY2ggdW5k ZWNsYXJlZCBpZGVudGlmaWVyIGlzIHJlcG9ydGVkIG9ubHkgb25jZSBmb3IgZWFjaCBmdW5jdGlv biBpdCBhcHBlYXJzIGluCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6MzE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMzA6Mjk6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNp emVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZ CiAgc2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzM6NzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZv4oCZCiAgcGluZm8tPnRyYWNrX2lkID0gdHJhY2tfaWQ7CiAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEy MzQ6Mjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWVtY3B5KHBpbmZvLT5uYW1lLCBuYW1lLCBJNDBFX1BQ UF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM1OjQy OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzoxNTogZXJyb3I6 IOKAmEk0MEVfUFBQX0FERF9UUkFDS0lE4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9BRERfVFJBQ0tJRDsKICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjExMjM5OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUTi gJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9 IEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lEOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfYWRkX3JtX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1MjoxMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCkpLT50 cmFja19pZDsKICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI1NDoxMTogZXJyb3I6IGltcGxpY2l0IGRlY2xh cmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3 LCAodm9pZCAqKXNlYywgc2VjLT5kYXRhX2VuZCwKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTQ6Mjog ZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9hcV93cml0ZV9wcHDi gJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgc3RhdHVzID0gaTQwZV9hcV93cml0ZV9wcHAo aHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCY aTQwZV9jaGVja19wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyODY6ODogZXJyb3I6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIHJldCA9IGk0MGVfYXFfZ2V0X3Bw cF9saXN0KGh3LCAodm9pZCAqKWJ1ZmYsCiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg2OjI6IGVycm9yOiBu ZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfZ2V0X3BwcF9saXN04oCZIFst V2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIHJldCA9IGk0MGVfYXFfZ2V0X3BwcF9saXN0KGh3LCAo dm9pZCAqKWJ1ZmYsCiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjk2OjE2OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIpKTsKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9w cHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMzo4OiBlcnJvcjog4oCY STQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0 aW9uKQogICAgICAgIEk0MEVfUFBQX05BTUVfU0laRSkpIHsKICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmHJ0ZV9wbWRfaTQwZV9wcm9jZXNzX3BwcF9wYWNrYWdl4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzM3 OjIxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHNpemUgPCAo c2l6ZW9mKHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTMzODoxNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW504oCZ CiAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudCkgKwogICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM1MToxMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAocGtnX2hk ci0+c2VnbWVudF9jb3VudCA8IDIpIHsKICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1NzoyMTogZXJy b3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGk0MGVfZmluZF9zZWdtZW50 X2luX3BhY2thZ2XigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg bWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9U WVBFX01FVEFEQVRBLAogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6 IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFj a2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQw ZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzU3OjUwOiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX01FVEFEQVRB4oCZIHVuZGVjbGFyZWQg KGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjM6NjM6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBp NDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICB0cmFja19pZCA9ICgoc3RydWN0IGk0MGVfbWV0YWRh dGFfc2VnbWVudCAqKW1ldGFkYXRhX3NlZ19oZHIpLT50cmFja19pZDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzY2OjQ5OiBlcnJvcjog4oCYU0VHTUVOVF9UWVBFX0k0MEXigJkgdW5kZWNsYXJlZCAoZmlyc3Qg dXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgcHJvZmlsZV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21l bnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfSTQwRSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NDoxODogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx Mzc1OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogICAgICAgICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pLAogICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzODQ6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAgICgoc3RydWN0IGk0MGVf cHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzOTU6MTI6 IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX3dyaXRlX3By b2ZpbGXigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIHN0YXR1 cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk1OjM6IGVy cm9yOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKA mSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxl KGh3LAogICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTE0MDI6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudOKAmQogICAgICAg ICgoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW50ICopcHJvZmlsZV9zZWdfaGRyKS0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNp cGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYxOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYx OiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo4MTogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6 MTI5OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJl X2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTA0OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVk IEJ1aWxkICMxMjoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjI6Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6NzM0OjMzOiBlcnJvcjog YXJyYXkgaGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2lu Zm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjE3 OjUxOiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92ZXJzaW9uJyB3aWxs IG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2li aWxpdHldCmk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlYyhjaGFyICpuYW1lLCBzdHJ1Y3Qg aTQwZV9wcHBfdmVyc2lvbiAqdmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTogZXJyb3I6IGluY29tcGxldGUgZGVm aW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAg ICAgIHNlYy0+dGJsX3NpemUgPSAxOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBm b3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7 CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjo1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAg c2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy KSArCiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0 MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjI2OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBh biBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAg ICAgICAgc2VjLT5kYXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVyKSArCiAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRp b24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMjI3OjM6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRv IGFuIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAg ICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAgICAgICBe ICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4 OjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05f VFlQRV9JTkZPOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xh cmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0 cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyODoyMjogZXJyb3I6IHVzZSBvZiB1bmRlY2xhcmVkIGlkZW50aWZpZXIg J1NFQ1RJT05fVFlQRV9JTkZPJwogICAgICAgIHNlYy0+c2VjdGlvbi50eXBlID0gU0VDVElPTl9U WVBFX0lORk87CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjk6NTogZXJy b3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Y3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2Vj ID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjI0OiBlcnJvcjogaW52YWxpZCBh cHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBl X3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCA9IHNp emVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEyMjE6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf cHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rp b25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzA6NTogZXJy b3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Y3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgfn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndh cmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAg ICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjIyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m bycKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBw X2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMjoxNDogZXJyb3I6IGluY29tcGxl dGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy JwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWMtPnNlY3Rp b24ub2Zmc2V0KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjIxOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlciAqc2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjc6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmls ZV9pbmZvJwogICAgICAgIHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgIH5+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM0OjE0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBtZW1jcHkocGlu Zm8tPm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgIH5+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5oOjczNDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9w cm9maWxlX2luZm8nCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBfaW5mb1sxXTsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM0OjI4OiBlcnJvcjogdXNlIG9mIHVuZGVjbGFyZWQg aWRlbnRpZmllciAnSTQwRV9QUFBfTkFNRV9TSVpFJwogICAgICAgIG1lbWNweShwaW5mby0+bmFt ZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpFKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIzNToxNTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0 eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVy c2lvbiwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAg ICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5m byBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNTozNTogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3Qg aTQwZV9wcHBfdmVyc2lvbicKICAgICAgICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2ZXJzaW9u LCBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24pKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMTc6NTE6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3BwcF92 ZXJzaW9uJwppNDBlX2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0 IGk0MGVfcHBwX3ZlcnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM3Ojg6IGVycm9yOiBpbmNvbXBsZXRlIGRl ZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAg ICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICB+fn5+ fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf cHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07 CiAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBz dG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEz ODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQg J2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRp ci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdk cml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGty b290Lm1rOjEyOTogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJn ZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21r L3J0ZS5zZGtyb290Lm1rOjEwNDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoK CkZhaWxlZCBCdWlsZCAjMTM6Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQKCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOjA6Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2Lmg6 NzM0OjI3OiBlcnJvcjogYXJyYXkgdHlwZSBoYXMgaW5jb21wbGV0ZSBlbGVtZW50IHR5cGUg4oCY c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvIHBf aW5mb1sxXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjE5OjExOiBlcnJv cjog4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IFstV2Vycm9yXQogICAgICAgICAgIGJvb2wgYWRkKQogICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIxOToxMTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNs YXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZ2VuZXJhdGVfcHJvZmlsZV9pbmZvX3NlY+KAmToKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIyNTo1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT50Ymxfc2l6 ZSA9IDE7CiAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMjI2OjI1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXLigJkKICBzZWMtPmRhdGFfZW5kID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VjdGlvbl9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIyNzoxMDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjg6MjI6IGVycm9y OiDigJhTRUNUSU9OX1RZUEVfSU5GT+KAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBm dW5jdGlvbikKICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwogICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI4OjIyOiBub3RlOiBlYWNoIHVuZGVjbGFyZWQgaWRl bnRpZmllciBpcyByZXBvcnRlZCBvbmx5IG9uY2UgZm9yIGVhY2ggZnVuY3Rpb24gaXQgYXBwZWFy cyBpbgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjI5OjMxOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXpl b2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9o ZWFkZXLigJkKICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMjMwOjI5OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8g aW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQogIHNlYy0+c2Vj dGlvbi5zaXplID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyk7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMzOjc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KAmQog IHBpbmZvLT50cmFja19pZCA9IHRyYWNrX2lkOwogICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjM0OjI4OiBlcnJv cjog4oCYSTQwRV9QUFBfTkFNRV9TSVpF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIG1lbWNweShwaW5mby0+bmFtZSwgbmFtZSwgSTQwRV9QUFBfTkFNRV9TSVpF KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNTo0MjogZXJyb3I6IGlu dmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogIG1lbWNweSgmcGluZm8tPnZlcnNpb24sIHZlcnNp b24sIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6MTU6IGVycm9yOiDigJhJNDBFX1BQ UF9BRERfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICAgcGluZm8tPm9wID0gSTQwRV9QUFBfQUREX1RSQUNLSUQ7CiAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMTIzOToxNTogZXJyb3I6IOKAmEk0MEVfUFBQX1JFTU9WRV9UUkFDS0lE4oCZIHVuZGVjbGFy ZWQgKGZpcnN0IHVzZSBpbiB0aGlzIGZ1bmN0aW9uKQogICBwaW5mby0+b3AgPSBJNDBFX1BQUF9S RU1PVkVfVFJBQ0tJRDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBl X2FkZF9ybV9wcm9maWxlX2luZm/igJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyNTI6MTA6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXLigJkKICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQpKS0+dHJhY2tfaWQ7CiAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEyNTQ6MTE6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBm dW5jdGlvbiDigJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICBzdGF0dXMgPSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilz ZWMsIHNlYy0+ZGF0YV9lbmQsCiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU0OjI6IGVycm9yOiBuZXN0 ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfYXFfd3JpdGVfcHBw4oCZIFstV2Vycm9y PW5lc3RlZC1leHRlcm5zXQogIHN0YXR1cyA9IGk0MGVfYXFfd3JpdGVfcHBwKGh3LCAodm9pZCAq KXNlYywgc2VjLT5kYXRhX2VuZCwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfY2hlY2tf cHJvZmlsZV9pbmZv4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjg2Ojg6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1pbXBsaWNp dC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywg KHZvaWQgKilidWZmLAogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4NjoyOiBlcnJvcjogbmVzdGVkIGV4dGVy biBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX2FxX2dldF9wcHBfbGlzdOKAmSBbLVdlcnJvcj1uZXN0 ZWQtZXh0ZXJuc10KICByZXQgPSBpNDBlX2FxX2dldF9wcHBfbGlzdChodywgKHZvaWQgKilidWZm LAogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTI5NjoxNjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6 ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25f aGVhZGVy4oCZCiAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVh ZGVyKSk7CiAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDE6MTU6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHBwX3ZlcnNpb27igJkKICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHBwX3ZlcnNpb24p KSAmJgogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDM6ODogZXJyb3I6IOKAmEk0MEVfUFBQX05B TUVfU0laReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICAgICAg ICBJNDBFX1BQUF9OQU1FX1NJWkUpKSB7CiAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhy dGVfcG1kX2k0MGVfcHJvY2Vzc19wcHBfcGFja2FnZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMzNzoyMTogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcuKAmQogIGlmIChzaXplIDwgKHNpemVvZihzdHJ1 Y3QgaTQwZV9wYWNrYWdlX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEz Mzg6MTQ6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogICAgICAgc2l6 ZW9mKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQpICsKICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNTE6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX3BhY2thZ2VfaGVhZGVy4oCZCiAgaWYgKHBrZ19oZHItPnNlZ21lbnRf Y291bnQgPCAyKSB7CiAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjE6IGVycm9yOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl 4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3Nl Z19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFU QSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjI6IGVycm9yOiBuZXN0ZWQgZXh0 ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2XigJkgWy1X ZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgbWV0YWRhdGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdt ZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01FVEFEQVRBLAogIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDog ZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2Ug aW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRf aW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYzOjYzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9tZXRhZGF0 YV9zZWdtZW504oCZCiAgdHJhY2tfaWQgPSAoKHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnQg KiltZXRhZGF0YV9zZWdfaGRyKS0+dHJhY2tfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM2Njo0OTogZXJy b3I6IOKAmFNFR01FTlRfVFlQRV9JNDBF4oCZIHVuZGVjbGFyZWQgKGZpcnN0IHVzZSBpbiB0aGlz IGZ1bmN0aW9uKQogIHByb2ZpbGVfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2th Z2UoU0VHTUVOVF9UWVBFX0k0MEUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzQ6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9u IG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyKSArCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM3NToxODogZXJy b3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9pbmZvKSwKICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg0OjU2OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vn bWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzk1OjEyOiBlcnJvcjogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFst V2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dy aXRlX3Byb2ZpbGUoaHcsCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogbmVzdGVk IGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9 bmVzdGVkLWV4dGVybnNdCiAgIHN0YXR1cyA9IGk0MGVfd3JpdGVfcHJvZmlsZShodywKICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExNDAyOjU2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnTigJkKICAgICAgICAoKHN0cnVjdCBp NDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpjYzE6IGFsbCB3 YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJn ZXQgJ2k0MGVfZXRoZGV2Lm8nIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v bWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2MTogcmVjaXBlIGZv ciB0YXJnZXQgJ25ldCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc2RrYnVpbGQubWs6ODE6IHJlY2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyOTogcmVjaXBl IGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2RraW5zdGFsbC5tazo4NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEw NDogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjMTQ6 Ck9TOiBVQjE2MDRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpJbiBmaWxl IGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2MjowOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDoyNzogZXJyb3I6IGFycmF5IHR5cGUg aGFzIGluY29tcGxldGUgZWxlbWVudCB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mb+KA mQogIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTIxOToxMTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJz aW9u4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICAgICAgICAg ICBib29sIGFkZCkKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMTk6MTE6IGVycm9yOiBpdHMgc2NvcGUg aXMgb25seSB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5 IG5vdCB3aGF0IHlvdSB3YW50IFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2dl bmVyYXRlX3Byb2ZpbGVfaW5mb19zZWPigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjU6NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9z ZWN0aW9uX2hlYWRlcuKAmQogIHNlYy0+dGJsX3NpemUgPSAxOwogICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjoy NTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5k YXRhX2VuZCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKSArCiAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjc6MTA6IGVycm9yOiBpbnZhbGlkIGFw cGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0 MGVfcHJvZmlsZV9pbmZv4oCZCiAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwog ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI4OjIyOiBlcnJvcjog4oCYU0VDVElPTl9UWVBFX0lORk/igJkg dW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgc2VjLT5zZWN0aW9uLnR5 cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIy ODoyMjogbm90ZTogZWFjaCB1bmRlY2xhcmVkIGlkZW50aWZpZXIgaXMgcmVwb3J0ZWQgb25seSBv bmNlIGZvciBlYWNoIGZ1bmN0aW9uIGl0IGFwcGVhcnMgaW4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOTozMTogZXJyb3I6 IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgc2VjLT5zZWN0aW9uLm9m ZnNldCA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMDoyOTogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm/igJkKICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3Qg aTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIzMzo3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDi gJhzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm/igJkKICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19p ZDsKICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTIzNDoyODogZXJyb3I6IOKAmEk0MEVfUFBQX05BTUVfU0laReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZW1jcHkocGluZm8t Pm5hbWUsIG5hbWUsIEk0MEVfUFBQX05BTUVfU0laRSk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMzU6NDI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNp emVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHBwX3ZlcnNpb27igJkK ICBtZW1jcHkoJnBpbmZvLT52ZXJzaW9uLCB2ZXJzaW9uLCBzaXplb2Yoc3RydWN0IGk0MGVfcHBw X3ZlcnNpb24pKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjM3OjE1OiBlcnJvcjog4oCYSTQwRV9QUFBfQUREX1RSQUNLSUTigJkgdW5kZWNsYXJl ZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FE RF9UUkFDS0lEOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzk6MTU6IGVycm9yOiDigJhJNDBF X1BQUF9SRU1PVkVfVFJBQ0tJROKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5j dGlvbikKICAgcGluZm8tPm9wID0gSTQwRV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9hZGRfcm1fcHJvZmlsZV9pbmZv4oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMjUyOjEwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVy4oCZCiAgICAgICBzZWMt PnNlY3Rpb24ub2Zmc2V0KSktPnRyYWNrX2lkOwogICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjU0OjExOiBl cnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV93cml0ZV9w cHDigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgc3RhdHVzID0g aTQwZV9hcV93cml0ZV9wcHAoaHcsICh2b2lkICopc2VjLCBzZWMtPmRhdGFfZW5kLAogICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTI1NDoyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDi gJhpNDBlX2FxX3dyaXRlX3BwcOKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KICBzdGF0dXMg PSBpNDBlX2FxX3dyaXRlX3BwcChodywgKHZvaWQgKilzZWMsIHNlYy0+ZGF0YV9lbmQsCiAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2NoZWNrX3Byb2ZpbGVfaW5mb+KAmToKL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTI4 Njo4OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV9hcV9n ZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9aW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAg cmV0ID0gaTQwZV9hcV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEyODY6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9h cV9nZXRfcHBwX2xpc3TigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCiAgcmV0ID0gaTQwZV9h cV9nZXRfcHBwX2xpc3QoaHcsICh2b2lkICopYnVmZiwKICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyOTY6MTY6IGVycm9y OiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcuKAmQogICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikpOwogICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzAxOjE1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9u4oCZCiAgICAgICAg c2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSkgJiYKICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjExMzAzOjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmly c3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewog ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3Bh Y2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFk ZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsK ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzM4OjE0OiBlcnJvcjogaW52YWxpZCBhcHBs aWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9z ZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wYWNrYWdlX2hl YWRlcuKAmQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzU3OjIxOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g 4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRf aW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzoxMTM1NzoyOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogIG1l dGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQ RV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6NTA6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfTUVU QURBVEHigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgbWV0YWRh dGFfc2VnX2hkciA9IGk0MGVfZmluZF9zZWdtZW50X2luX3BhY2thZ2UoU0VHTUVOVF9UWVBFX01F VEFEQVRBLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTM2Mzo2MzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfbWV0YWRhdGFfc2VnbWVudOKAmQogIHRyYWNrX2lkID0g KChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNr X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19o ZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAg ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNzU6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9zZWdtZW504oCZCiAg ICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5u YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTM5NToxMjogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uIOKAmGk0MGVfd3JpdGVfcHJvZmlsZeKAmSBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1k ZWNsYXJhdGlvbl0KICAgc3RhdHVzID0gaTQwZV93cml0ZV9wcm9maWxlKGh3LAogICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEzOTU6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCY aTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPW5lc3RlZC1leHRlcm5zXQogICBzdGF0dXMg PSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwMjo1NjogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmls ZV9zZWdtZW504oCZCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9m aWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBl cnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21w aWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L21rL3J0ZS5zdWJkaXIubWs6NjE6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjgxOiByZWNpcGUg Zm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9ydGUuc2Rrcm9vdC5tazoxMjk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0 YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDA6MjE6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVy c2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMDozNDog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFt ZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVy c2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwK ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAyOjMxOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUs ICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjg6 IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGlu IHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6 Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKA mSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBp ZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjExMzM4OjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRh X3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSAr CiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikg ewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlv biBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9y PWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBl X2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEzNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1 Nzo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJz dCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3Nl Z21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYzOjYzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChz dHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lk OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNjY6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1 bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIg PSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0OjE4 OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0 ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAg ICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6MTEzNzU6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKA mHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv 4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAq KXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg1OjU3OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NToz OiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9w cm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0 dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJy b3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDI6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Z21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwMzo1NzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTog YWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxNjoK T1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjYyOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5oOjczNDozMzogZXJyb3I6IGFycmF5IGhhcyBp bmNvbXBsZXRlIGVsZW1lbnQgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAg IHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIxNzo1MTogZXJyb3I6 IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbicgd2lsbCBub3QgYmUgdmlz aWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQppNDBl X2dlbmVyYXRlX3Byb2ZpbGVfaW5mb19zZWMoY2hhciAqbmFtZSwgc3RydWN0IGk0MGVfcHBwX3Zl cnNpb24gKnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMjI1OjU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2Yg dHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzZWMtPnRi bF9zaXplID0gMTsKICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMjE6OTogbm90ZTogZm9yd2FyZCBkZWNs YXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBz dHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTEyMjY6NTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ZGF0YV9l bmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg IH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVf c2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyNjox ODogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0 ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+ ZGF0YV9lbmQgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwog ICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIy NzozOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBs ZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAgICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8pOwogICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2Zp bGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyODo1OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlv bl9oZWFkZXInCiAgICAgICAgc2VjLT5zZWN0aW9uLnR5cGUgPSBTRUNUSU9OX1RZUEVfSU5GTzsK ICAgICAgICB+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEyMjE6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICBzdHJ1Y3QgaTQwZV9w cm9maWxlX3NlY3Rpb25faGVhZGVyICpzZWMgPSBOVUxMOwogICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTEyMjg6MjI6IGVycm9yOiB1c2Ugb2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICdTRUNUSU9OX1RZ UEVfSU5GTycKICAgICAgICBzZWMtPnNlY3Rpb24udHlwZSA9IFNFQ1RJT05fVFlQRV9JTkZPOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjI5OjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24ub2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2Zp bGVfc2VjdGlvbl9oZWFkZXIpOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyOToyNDogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24g b2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3Nl Y3Rpb25faGVhZGVyJwogICAgICAgIHNlYy0+c2VjdGlvbi5vZmZzZXQgPSBzaXplb2Yoc3RydWN0 IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjIx Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfc2Vj dGlvbl9oZWFkZXInCiAgICAgICAgc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlciAq c2VjID0gTlVMTDsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMjMwOjU6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRl cicKICAgICAgICBzZWMtPnNlY3Rpb24uc2l6ZSA9IHNpemVvZihzdHJ1Y3QgaTQwZV9wcm9maWxl X2luZm8pOwogICAgICAgIH5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVj dCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzoxMTIzMDoyMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2YgJ3NpemVvZicg dG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAg c2VjLT5zZWN0aW9uLnNpemUgPSBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX3By b2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZvWzFdOwog ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzI6MTQ6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRp b24gb2YgdHlwZSAnc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcicKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VjLT5zZWN0aW9uLm9mZnNldCk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fl4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTIyMTo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlY3Rpb25faGVhZGVyJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFk ZXIgKnNlYyA9IE5VTEw7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzMzo3OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAg ICAgICBwaW5mby0+dHJhY2tfaWQgPSB0cmFja19pZDsKICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNDoxNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KHBpbmZvLT5uYW1lLCBu YW1lLCBJNDBFX1BQUF9OQU1FX1NJWkUpOwogICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv JwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzoxMTIzNToxNTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8nCiAgICAgICAgbWVtY3B5KCZwaW5mby0+dmVyc2lv biwgdmVyc2lvbiwgc2l6ZW9mKHN0cnVjdCBpNDBlX3BwcF92ZXJzaW9uKSk7CiAgICAgICAgICAg ICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3Ry dWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBw X2luZm9bMV07CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTIzNzo4OiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICAg ICAgICAgIHBpbmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAg fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2Lmg6NzM0Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX3Byb2ZpbGVfaW5mbycKICAgICAgICBzdHJ1Y3QgaTQwZV9wcm9maWxlX2luZm8gcF9pbmZv WzFdOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEyMzc6MTU6IGVycm9yOiB1c2Ugb2YgdW5kZWNs YXJlZCBpZGVudGlmaWVyICdJNDBFX1BQUF9BRERfVFJBQ0tJRCcKICAgICAgICAgICAgICAgIHBp bmZvLT5vcCA9IEk0MEVfUFBQX0FERF9UUkFDS0lEOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjExMjM5Ojg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAn c3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwogICAgICAgICAgICAgICAgcGluZm8tPm9wID0gSTQw RV9QUFBfUkVNT1ZFX1RSQUNLSUQ7CiAgICAgICAgICAgICAgICB+fn5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuaDo3MzQ6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZvJwog ICAgICAgIHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyBwX2luZm9bMV07CiAgICAgICAgICAgICAg IF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1m ZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMgZ2VuZXJhdGVkLgoKCkZhaWxlZCBCdWlsZCAjMTc6Ck9T OiBDZW50T1M3XzY0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTEzMDA6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMDozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAm cC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMw MToxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbuKAmQogICAgICAgIHNpemVvZihz dHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjoy MTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFtZSwKICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjExMzAyOjMxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5hbWUsICZwLT5uYW1lLAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAzOjg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1F X1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAg STQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRl X3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2XigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBp bnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCY c3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkKICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0 IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzM4 OjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFkYXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVv ZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50KSArCiAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzUxOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwgMikgewogICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEx MzU3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2Zp bmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xh cmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl KFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNTc6MjogZXJyb3I6IG5lc3RlZCBl eHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBb LVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM1Nzo1MDogZXJyb3I6IOKAmFNFR01FTlRf VFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikK ICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5kX3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5U X1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjExMzYzOjYzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0gKChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdt ZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNrX2lkOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NDk6 IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKAmSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4g dGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19oZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9w YWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNh dGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3By b2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAgICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJv ZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzNzU6MTg6 IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9pbmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0 cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1 NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjExMzg1OjU3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVf c2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBzdGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUo aHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1XZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTE0MDI6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIp LT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMTQwMzo1NzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilw cm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0 ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxODoKT1M6IENlbnRPUzdfNjQKVGFyZ2V0OiB4 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwpeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTEzMDA6MjE6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAhbWVtY21wKCZwaW5mby0+ dmVyc2lvbiwgJnAtPnZlcnNpb24sCiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMDoz NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg ICFtZW1jbXAoJnBpbmZvLT52ZXJzaW9uLCAmcC0+dmVyc2lvbiwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMToxNTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9wcHBf dmVyc2lvbuKAmQogICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9wcHBfdmVyc2lvbikpICYmCiAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTMwMjoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICFtZW1jbXAoJnBpbmZvLT5uYW1lLCAmcC0+bmFt ZSwKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAyOjMxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIW1lbWNtcCgmcGluZm8tPm5h bWUsICZwLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzAz Ojg6IGVycm9yOiDigJhJNDBFX1BQUF9OQU1FX1NJWkXigJkgdW5kZWNsYXJlZCAoZmlyc3QgdXNl IGluIHRoaXMgZnVuY3Rpb24pCiAgICAgICAgSTQwRV9QUFBfTkFNRV9TSVpFKSkgewogICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3BtZF9pNDBlX3Byb2Nlc3NfcHBwX3BhY2thZ2Xi gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6MTEzMzc6MjE6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXLigJkK ICBpZiAoc2l6ZSA8IChzaXplb2Yoc3RydWN0IGk0MGVfcGFja2FnZV9oZWFkZXIpICsKICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzM4OjE0OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlv biBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX21ldGFk YXRhX3NlZ21lbnTigJkKICAgICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50 KSArCiAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzUxOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGlmIChwa2dfaGRyLT5zZWdtZW50X2NvdW50IDwg MikgewogICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzU3OjI6IGVycm9yOiBpbXBsaWNpdCBkZWNsYXJh dGlvbiBvZiBmdW5jdGlvbiDigJhpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdl4oCZIFstV2Vy cm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogIG1ldGFkYXRhX3NlZ19oZHIgPSBp NDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9NRVRBREFUQSwKICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6MTEzNTc6MjogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV9m aW5kX3NlZ21lbnRfaW5fcGFja2FnZeKAmSBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzox MTM1Nzo1MDogZXJyb3I6IOKAmFNFR01FTlRfVFlQRV9NRVRBREFUQeKAmSB1bmRlY2xhcmVkIChm aXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBtZXRhZGF0YV9zZWdfaGRyID0gaTQwZV9maW5k X3NlZ21lbnRfaW5fcGFja2FnZShTRUdNRU5UX1RZUEVfTUVUQURBVEEsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzYzOjYzOiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHRyYWNrX2lkID0g KChzdHJ1Y3QgaTQwZV9tZXRhZGF0YV9zZWdtZW50ICopbWV0YWRhdGFfc2VnX2hkciktPnRyYWNr X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNjY6NDk6IGVycm9yOiDigJhTRUdNRU5UX1RZUEVfSTQwReKA mSB1bmRlY2xhcmVkIChmaXJzdCB1c2UgaW4gdGhpcyBmdW5jdGlvbikKICBwcm9maWxlX3NlZ19o ZHIgPSBpNDBlX2ZpbmRfc2VnbWVudF9pbl9wYWNrYWdlKFNFR01FTlRfVFlQRV9JNDBFLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzc0 OjE4OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VjdGlvbl9oZWFkZXLigJkKICAgICAg ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfcHJvZmlsZV9zZWN0aW9uX2hlYWRlcikgKwogICAgICAg ICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6MTEzNzU6MTg6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfcHJvZmlsZV9p bmZv4oCZCiAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX3Byb2ZpbGVfaW5mbyksCiAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM4NDo1NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAoKHN0cnVjdCBpNDBlX3Byb2ZpbGVfc2VnbWVu dCAqKXByb2ZpbGVfc2VnX2hkciktPm5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjExMzg1OjU3OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICYoKHN0cnVjdCBpNDBl X3Byb2ZpbGVfc2VnbWVudCAqKXByb2ZpbGVfc2VnX2hkciktPnZlcnNpb24sCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5 NTozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYaTQwZV93cml0 ZV9wcm9maWxl4oCZIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBz dGF0dXMgPSBpNDBlX3dyaXRlX3Byb2ZpbGUoaHcsCiAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTM5NTozOiBlcnJvcjog bmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhpNDBlX3dyaXRlX3Byb2ZpbGXigJkgWy1X ZXJyb3I9bmVzdGVkLWV4dGVybnNdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTE0MDI6NTY6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgKChzdHJ1Y3QgaTQwZV9wcm9maWxl X3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT5uYW1lLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMTQwMzo1NzogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmKChzdHJ1 Y3QgaTQwZV9wcm9maWxlX3NlZ21lbnQgKilwcm9maWxlX3NlZ19oZHIpLT52ZXJzaW9uLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCmNj MTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRFBESyBTVFYgdGVhbQo= --===============7717194609398313261==--