From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id A74DE1396 for ; Wed, 29 Mar 2017 05:44:26 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=intel.com; i=@intel.com; q=dns/txt; s=intel; t=1490759066; x=1522295066; h=message-id:date:mime-version:subject:from:to:cc; bh=/+YtryazaY1PWEanRDKj2JMGhYe0gC1wfmHPBu9emok=; b=NgXgj02Nmofi5y0rcmQJp7Jcg//PKeAK3FU7i5Yrpb+fz3PItqiIrpUg rwEQ0djqCs/WKIf9lWU7Sxxr8484qA==; Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 28 Mar 2017 20:44:24 -0700 Message-Id: Date: 28 Mar 2017 20:44:21 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.36,239,1486454400"; d="scan'208";a="1128330457" Received: from unknown (HELO localhost.localdomain) ([10.240.176.250]) by fmsmga001.fm.intel.com with ESMTP; 28 Mar 2017 20:44:21 -0700 Content-Type: multipart/alternative; boundary="===============2277019091019146024==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org CC: beilei.xing@intel.com Subject: [dpdk-test-report] |FAILURE| pw22578 [PATCH v4 4/4] net/i40e: refine consistent tunnel filter X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Mar 2017 03:44:31 -0000 --===============2277019091019146024== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKCmh0dHA6 Ly9kcGRrLm9yZy9wYXRjaC8yMjU3OAoKX0NvbXBpbGF0aW9uIGlzc3Vlc18KClN1Ym1pdHRlcjog QmVpbGVpIFhpbmcgPGJlaWxlaS54aW5nQGludGVsLmNvbT4KRGF0ZTogVHVlLCAyOCBNYXIgMjAx NyAxNzoyODo0MSArMDgwMApEUERLIGdpdCBiYXNlbGluZTogUmVwbzpkcGRrLCBCcmFuY2g6bWFz dGVyLCBDb21taXRJRDpiODgxNjFiZTQyMjc1MGZjYTBlNjZjNzYzODVkM2QwMDkxMmJhOGZiCgpQ YXRjaDIyNTc1LTIyNTc4IC0tPiBjb21waWxlIGVycm9yCkJ1aWxkIFN1bW1hcnk6IDE4IEJ1aWxk cyBEb25lLCAwIFN1Y2Nlc3NmdWwsIDE4IEZhaWx1cmVzCgpUZXN0IGVudmlyb25tZW50IGFuZCBj b25maWd1cmF0aW9uIGFzIGJlbG93OgpPUzogUkhFTDcuMl82NAogICAgS2VybmVsIFZlcnNpb246 My4xMC4wLTUxNC4xMC4yLmVsNy54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikg Q1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNC44LjUg MjAxNTA2MjMgKFJlZCBIYXQgNC44LjUtNCkKICAgIENsYW5nIFZlcnNpb246My40LjIKICAgIGk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICAg IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZApPUzogRnJlZUJTRDEwLjNfNjQKICAg IEtlcm5lbCBWZXJzaW9uOjEwLjMtUkVMRUFTRQogICAgQ1BVIGluZm86IEludGVsKFIpIFhlb24o UikgQ1BVIEU1LTI2OTkgdjQgQCAyLjIwR0h6ICgyMTk0Ljk3LU1IeiBLOC1jbGFzcyBDUFUpCiAg ICBHQ0MgVmVyc2lvbjpnY2MgKEZyZWVCU0QgUG9ydHMgQ29sbGVjdGlvbikgNC44LjUKICAgIENs YW5nIFZlcnNpb246My40LjEKICAgIHg4Nl82NC1uYXRpdmUtYnNkYXBwLWNsYW5nCiAgICB4ODZf NjQtbmF0aXZlLWJzZGFwcC1nY2MKT1M6IEZDMjRfNjQKICAgIEtlcm5lbCBWZXJzaW9uOjQuOS4x My0xMDAuZmMyNC54ODZfNjQKICAgIENQVSBpbmZvOkludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2 OTkgdjMgQCAyLjMwR0h6CiAgICBHQ0MgVmVyc2lvbjpnY2MgKEdDQykgNi4yLjEgMjAxNjA5MTYg KFJlZCBIYXQgNi4yLjEtMikKICAgIENsYW5nIFZlcnNpb246My44LjAKICAgIHg4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLWRlYnVnCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKT1M6IFVCMTYwNF82NAogICAg S2VybmVsIFZlcnNpb246NC40LjAtNjQtZ2VuZXJpYwogICAgQ1BVIGluZm86SW50ZWwoUikgWGVv bihSKSBDUFUgRTUtMjY5OSB2MyBAIDIuMzBHSHoKICAgIEdDQyBWZXJzaW9uOmdjYyAoVWJ1bnR1 IDUuNC4wLTZ1YnVudHUxfjE2LjA0LjQpIDUuNC4wIDIwMTYwNjA5CiAgICBDbGFuZyBWZXJzaW9u OjMuOC4wCiAgICBpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjCiAgICB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICAgIHg4Nl82 NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKT1M6IENlbnRPUzdfNjQKICAgIEtlcm5lbCBWZXJzaW9u OjMuMTAuMC01MTQuMTAuMi5lbDcueDg2XzY0CiAgICBDUFUgaW5mbzpJbnRlbChSKSBYZW9uKFIp IENQVSBFNS0yNjk5IHYzIEAgMi4zMEdIegogICAgR0NDIFZlcnNpb246Z2NjIChHQ0MpIDQuOC41 IDIwMTUwNjIzIChSZWQgSGF0IDQuOC41LTQpCiAgICBDbGFuZyBWZXJzaW9uOjMuNC4yCiAgICBp Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MKICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcK ICAgIHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAogICAgeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MKCkZhaWxlZCBCdWlsZCAjMToKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiBpNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVy IGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVsX2ZpbHRl cik7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMg ZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91 IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMTo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2Fk ZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlz dCBbLVdlcnJvcl0KICBzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKQog ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NjY5OToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGk0 MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgK IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo0MTI6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfdHVu bmVsX2ZpbHRlcl9jb252ZXJ04oCZIHdhcyBoZXJlCiBzdGF0aWMgaW50IGk0MGVfdHVubmVsX2Zp bHRlcl9jb252ZXJ0KAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVu bmVsX2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRo ZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwNTo1MDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBldGhlcl9hZGRyX2Nv cHkoKHN0cnVjdCBldGhlcl9hZGRyICopJmNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2 NzA3OjQ2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IHR1bm5lbF9maWx0ZXItPmlucHV0LmlubmVyX3ZsYW4gPSBjbGRfZmlsdGVyLT5lbGVtZW50Lmlu bmVyX3ZsYW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2V0aGVyLmg6NTM6MCwKICAgICAgICAg ICAgICAgICBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6NDU6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwODozNDogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAoKHJ0ZV9sZV90b19jcHVfMTYoY2xkX2Zp bHRlci0+ZWxlbWVudC5mbGFncykgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEwOTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBt YWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZCiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkg KHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE0OjQxOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0ZXIt PmlucHV0LmZsYWdzID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFnczsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNTo0NTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1dC50 ZW5hbnRfaWQgPSBjbGRfZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZDsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTY6MzU6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+cXVl dWUgPSBjbGRfZmlsdGVyLT5lbGVtZW50LnF1ZXVlX251bWJlcjsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxODoxNjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMs CiAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxOToyMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgc2l6ZW9mKGNsZF9maWx0ZXItPmdlbmVyYWxf ZmllbGRzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhp NDBlX2Rldl90dW5uZWxfZmlsdGVyX3NldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODA1OjEyOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogICAgIHNpemVvZihzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQpLAogICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE3OjMzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhl cl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTk6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjgyNDoyMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0 YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODI2OjE5OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgIHNpemVvZihwZmlsdGVyLT5lbGVt ZW50LmlwYWRkci52NC5kYXRhKSk7CiAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgzMzoyMjog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21l bWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSwKICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2ODM1OjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogICAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEp KTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NTc6MjA6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAgICZwZmlsdGVyLT5lbGVt ZW50LmZsYWdzKTsKICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2Mzo5OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQu ZmxhZ3MgfD0gcnRlX2NwdV90b19sZV8xNigKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NjY6OTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVt ZW50LnRlbmFudF9pZCA9IHJ0ZV9jcHVfdG9fbGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lk KTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY4Njc6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LnF1ZXVlX251bWJlciA9CiAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2ODcyOjI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90 dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2Vycm9yXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19m aWx0ZXIpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODg2OjI4OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICB2c2ktPnNlaWQsICZjbGRfZmls dGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODk2 OjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgICAgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2X2NvbnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTi gJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjkyOToxMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2Zp bHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5Mzk6MzM6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIg KikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6Njk0MTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50 LmlubmVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQz Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZp bHRlci0+ZWxlbWVudC5pbm5lcl92bGFuID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NDg6MjI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHko JnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6Njk1MDoxOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSkpOwogICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NTg6MjI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBh ZGRyLnY2LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk2MDoyMTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgIHNpemVvZihw ZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5kYXRhKSk7CiAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2OTgyOjIwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgICAgICAmcGZpbHRlci0+ZWxlbWVudC5mbGFncyk7CiAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjY5ODg6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmZsYWdzIHw9IHJ0ZV9jcHVfdG9fbGVfMTYo CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2OTkxOjk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQgPSBydGVfY3B1X3Rv X2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFudF9pZCk7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTkyOjk6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRl ci0+ZWxlbWVudC5xdWV1ZV9udW1iZXIgPQogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NzAwODoyOiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIGZy b20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICBpNDBlX3R1bm5lbF9maWx0 ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsKICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBu b3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NzAyMjoyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICAgdnNpLT5zZWlkLCAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NzAzMjoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAgICZjbGRfZmlsdGVyLT5lbGVtZW50 LCAxKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX3R1 bm5lbF9maWx0ZXJfcmVzdG9yZeKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMDQxMTo0NTogZXJyb3I6IHN0b3JhZ2Ugc2l6 ZSBvZiDigJhjbGRfZmlsdGVy4oCZIGlzbuKAmXQga25vd24KICBzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogdW51c2VkIHZh cmlhYmxlIOKAmGNsZF9maWx0ZXLigJkgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQpjYzE6IGFs bCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMjoKT1M6 IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxNDo5 OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZ IGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICBzdHJ1Y3QgaTQwZV90 dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxNDo5OiBlcnJv cjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGlj aCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAxOjk6IGVy cm9yOiDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX3R1bm5l bF9maWx0ZXIgKnR1bm5lbF9maWx0ZXIpCiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IGVycm9yOiBj b25mbGljdGluZyB0eXBlcyBmb3Ig4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkKIGk0 MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxMjoxMjogbm90ZTogcHJldmlvdXMg ZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgd2FzIGhlcmUK IHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzogSW4gZnVuY3Rpb24g4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJk6Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njcw Mzo1MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBl dGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBldGhlcl9hZGRyICopJmNsZF9maWx0ZXItPmVsZW1lbnQu b3V0ZXJfbWFjLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2NzA1OjUwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIGV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2Zp bHRlci0+ZWxlbWVudC5pbm5lcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDc6NDY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+aW5wdXQuaW5uZXJfdmxh biA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbjsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9ldGhlci5oOjUzOjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQ1OgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3 MDg6MzQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg aWYgKChydGVfbGVfdG9fY3B1XzE2KGNsZF9maWx0ZXItPmVsZW1lbnQuZmxhZ3MpICYKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2J5dGVvcmRlci5oOjEw OTozMDogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJhydGVfbGVfdG9fY3B1XzE24oCZ CiAjZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2NzE0OjQxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0ZXItPmlucHV0LmZsYWdzID0gY2xkX2ZpbHRlci0+ ZWxlbWVudC5mbGFnczsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcxNTo0NTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1dC50ZW5hbnRfaWQgPSBjbGRfZmlsdGVyLT5lbGVt ZW50LnRlbmFudF9pZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MTY6MzU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+cXVldWUgPSBjbGRfZmlsdGVyLT5lbGVtZW50LnF1 ZXVlX251bWJlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njcx ODoxNjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAg ICAgY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMsCiAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njcx OToyMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAg ICAgc2l6ZW9mKGNsZF9maWx0ZXItPmdlbmVyYWxfZmllbGRzKSk7CiAgICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2Rldl90dW5uZWxfZmlsdGVyX3NldOKA mToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2ODA1OjEyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dOKAmQogICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2Zp bHRfZWxlbV9leHQpLAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAq KSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2ODE3OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQu aW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTk6 OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmls dGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgyNDoyMjogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgm cGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2ODI2OjE5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgIHNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhKSk7CiAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgzMzoyMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFk ZHIudjYuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODM1OjIxOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgc2l6ZW9mKHBm aWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEpKTsKICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY4NTc6MjA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlCiAgICAgICAgICAgICZwZmlsdGVyLT5lbGVtZW50LmZsYWdzKTsKICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njg2Mzo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MgfD0gcnRlX2NwdV90b19sZV8xNigK ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjY4NjY6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZCA9IHJ0ZV9jcHVfdG9f bGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lkKTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4Njc6OTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVy LT5lbGVtZW50LnF1ZXVlX251bWJlciA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODcyOjI6IGVycm9yOiBw YXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGk0MGVfdHVubmVsX2ZpbHRl cl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5v dGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1f Y2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2ODg2OjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICB2c2ktPnNlaWQsICZjbGRfZmlsdGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODk2OjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICAgJmNsZF9maWx0ZXItPmVsZW1lbnQs IDEpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2 X2NvbnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkyOToxMjogZXJyb3I6IGlu dmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yo c3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY5Mzk6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9t YWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk0MTozMzogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3Qg ZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50LmlubmVyX21hYyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQzOjk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5pbm5lcl92bGFuID0K ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjY5NDg6MjI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0 LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk1MDoxOTogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICBzaXplb2YocGZpbHRlci0+ ZWxlbWVudC5pcGFkZHIudjQuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NTg6 MjI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0 ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEsCiAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6Njk2MDoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgIHNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5k YXRhKSk7CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTgyOjIwOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICAgICAmcGZpbHRlci0+ ZWxlbWVudC5mbGFncyk7CiAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5ODg6OTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVt ZW50LmZsYWdzIHw9IHJ0ZV9jcHVfdG9fbGVfMTYoCiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTkxOjk6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ ZWxlbWVudC50ZW5hbnRfaWQgPSBydGVfY3B1X3RvX2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFu dF9pZCk7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTkyOjk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXIgPQog ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NzAwODoyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGk0 MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlw ZSBbLVdlcnJvcl0KICBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hl Y2tfZmlsdGVyKTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmQog aTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NzAyMjoyODogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgdnNpLT5zZWlkLCAmY2xk X2ZpbHRlci0+ZWxlbWVudCwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NzAzMjoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUK ICAgICAgICAgICZjbGRfZmlsdGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfcmVzdG9yZeKAmToKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu YzoxMDQxMTo0NTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiDigJhjbGRfZmlsdGVy4oCZIGlzbuKA mXQga25vd24KICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgY2xk X2ZpbHRlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjEwNDExOjQ1OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlIOKAmGNsZF9maWx0ZXLigJkgWy1X ZXJyb3I9dW51c2VkLXZhcmlhYmxlXQpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFz IGVycm9ycwoKCkZhaWxlZCBCdWlsZCAjMzoKT1M6IFJIRUw3LjJfNjQKVGFyZ2V0OiB4ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDE0Ojk6IGVycm9yOiDigJhzdHJ1Y3Qg aTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKnR1bm5l bF9maWx0ZXIpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDE0Ojk6IGVycm9yOiBpdHMgc2NvcGUgaXMgb25s eSB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24sIHdoaWNoIGlzIHByb2JhYmx5IG5vdCB3 aGF0IHlvdSB3YW50IFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDE6OTogZXJyb3I6IOKAmHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1l dGVyIGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVsX2Zp bHRlcikKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2Nv bnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NDEyOjEyOiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiDigJhp NDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSB3YXMgaGVyZQogc3RhdGljIGludCBpNDBlX3R1 bm5lbF9maWx0ZXJfY29udmVydCgKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhp NDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAzOjUwOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGV0aGVyX2FkZHJfY29weSgoc3Ry dWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDU6NTA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgZXRoZXJf YWRkcl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50LmlubmVy X21hYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcwNzo0NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1dC5pbm5lcl92bGFuID0gY2xkX2ZpbHRlci0+ZWxl bWVudC5pbm5lcl92bGFuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2V0aGVyLmg6NTM6MCwK ICAgICAgICAgICAgICAgICBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDU6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwODozNDogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAoKHJ0ZV9sZV90b19jcHVf MTYoY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFncykgJgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTA5OjMwOiBub3RlOiBpbiBkZWZp bml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUgcnRlX2xlX3Rv X2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTQ6 NDE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVu bmVsX2ZpbHRlci0+aW5wdXQuZmxhZ3MgPSBjbGRfZmlsdGVyLT5lbGVtZW50LmZsYWdzOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE1OjQ1OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0 ZXItPmlucHV0LnRlbmFudF9pZCA9IGNsZF9maWx0ZXItPmVsZW1lbnQudGVuYW50X2lkOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNjozNTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxf ZmlsdGVyLT5xdWV1ZSA9IGNsZF9maWx0ZXItPmVsZW1lbnQucXVldWVfbnVtYmVyOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE4OjE2OiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICBjbGRfZmlsdGVyLT5nZW5l cmFsX2ZpZWxkcywKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE5OjIzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICBzaXplb2YoY2xkX2ZpbHRl ci0+Z2VuZXJhbF9maWVsZHMpKTsKICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGk0MGVfZGV2X3R1bm5lbF9maWx0ZXJfc2V04oCZOgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MDU6MTI6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAg c2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2ODE1OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQu b3V0ZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTc6 MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAo c3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5pbm5lcl9tYWMpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxOTo5OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQuaW5uZXJf dmxhbiA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODI0OjIyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50Lmlw YWRkci52NC5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MjY6MTk6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgc2l6ZW9mKHBm aWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEpKTsKICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2ODMzOjIyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5kYXRhLAogICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFk ZHIudjYuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg1NzoyMDogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAgICAgJnBm aWx0ZXItPmVsZW1lbnQuZmxhZ3MpOwogICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODYzOjk6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRl ci0+ZWxlbWVudC5mbGFncyB8PSBydGVfY3B1X3RvX2xlXzE2KAogICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2 Njo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBm aWx0ZXItPmVsZW1lbnQudGVuYW50X2lkID0gcnRlX2NwdV90b19sZV8zMih0dW5uZWxfZmlsdGVy LT50ZW5hbnRfaWQpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2Nzo5OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQucXVldWVfbnVt YmVyID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NzI6MjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBv ZiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2lu dGVyIHR5cGUgWy1XZXJyb3JdCiAgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoY2xkX2ZpbHRl ciwgJmNoZWNrX2ZpbHRlcik7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogbm90ZTogZXhwZWN0ZWQg4oCYc3Ry dWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICrigJkgYnV0IGFyZ3VtZW50 IGlzIG9mIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 ICrigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4ODY6Mjg6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgIHZzaS0+c2Vp ZCwgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY4OTY6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgICAgICAgICAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7CiAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9kZXZfY29uc2lzdGVudF90dW5uZWxf ZmlsdGVyX3NldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTI5OjEyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQpLAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkzOTozMzogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3Qg ZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQxOjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0 ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY5NDM6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk0 ODoyMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAg cnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSwKICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2OTUwOjE5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgIHNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5k YXRhKSk7CiAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk1ODoyMjogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ ZWxlbWVudC5pcGFkZHIudjYuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTYw OjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEpKTsKICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjY5ODI6MjA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAgICZwZmlsdGVyLT5lbGVtZW50LmZsYWdzKTsKICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk4ODo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MgfD0gcnRlX2Nw dV90b19sZV8xNigKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5OTE6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZCA9 IHJ0ZV9jcHVfdG9fbGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lkKTsKICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY5OTI6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICBwZmlsdGVyLT5lbGVtZW50LnF1ZXVlX251bWJlciA9CiAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDA4 OjI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2Nv bnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGk0MGVf dHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJf Y29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo3MDIyOjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgICB2c2ktPnNlaWQsICZjbGRfZmlsdGVyLT5lbGVtZW50LCAx KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDMyOjIxOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICAgJmNsZF9maWx0 ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjog c3RvcmFnZSBzaXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBp NDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1 aWxkICM0OgpPUzogRnJlZUJTRDEwLjNfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWJzZGFwcC1j bGFuZwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjQxMzo5OiBlcnJvcjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9m IHRoaXMgZnVuY3Rpb24gWy1XZXJyb3IsLVd2aXNpYmlsaXR5XQogICAgICAgIHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MDA6OTogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNf YWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBv ZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICAgICAgICBzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2Njk5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2k0MGVfdHVu bmVsX2ZpbHRlcl9jb252ZXJ0JwppNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQx MjoxMjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gaXMgaGVyZQpzdGF0aWMgaW50IGk0MGVf dHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAzOjUwOiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBldGhlcl9h ZGRyICopJmNsZF9maWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA1OjUwOiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBldGhlcl9h ZGRyICopJmNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA3OjQ2OiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICB0dW5uZWxfZmlsdGVyLT5pbnB1dC5pbm5lcl92bGFu ID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5pbm5lcl92bGFuOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2Fy ZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq Y2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDg6MzQ6IGVycm9yOiBpbmNvbXBs ZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh0JwogICAgICAgIGlmICgocnRlX2xlX3RvX2NwdV8xNihjbGRfZmlsdGVyLT5lbGVt ZW50LmZsYWdzKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5eCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1jbGFuZy9p bmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDk6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J3J0ZV9sZV90b19jcHVfMTYnCiNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBub3RlOiBmb3J3YXJkIGRlY2xh cmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAg ICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmls dGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNDo0MTogZXJyb3I6IGluY29tcGxldGUgZGVm aW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQnCiAgICAgICAgdHVubmVsX2ZpbHRlci0+aW5wdXQuZmxhZ3MgPSBjbGRfZmlsdGVyLT5lbGVt ZW50LmZsYWdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNf YWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2NzE1OjQ1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICB0dW5uZWxfZmls dGVyLT5pbnB1dC50ZW5hbnRfaWQgPSBjbGRfZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZDsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3 MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9y bV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTY6 MzU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHR1bm5lbF9maWx0ZXItPnF1ZXVl ID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXI7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRl ciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTg6MTY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmlu aXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 JwogICAgICAgICAgICAgICAgICAgY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMsCiAgICAgICAg ICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRl ciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MDU6NTogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2YgJ3NpemVvZicgdG8gYW4gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo c3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAg ICAgICAgICAgICAgIF4gICAgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg aTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgICAgICAg ICAgICAgICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21h Yyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY3OTg6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY4MTc6MzM6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAg ICAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5pbm5lcl9tYWMpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2Nzk4Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2 ODE5Ojk6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHBmaWx0ZXItPmVsZW1lbnQu aW5uZXJfdmxhbiA9CiAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNs ZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODI0OjIyOiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCcKICAgICAgICAgICAgICAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBh ZGRyLnY0LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3 OTg6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9y bV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzM6 MjI6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgcnRlX21lbWNweSgm cGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6Njg1NzoyMDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0 eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZwZmlsdGVyLT5lbGVtZW50LmZsYWdzKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5 ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2Mzo5 OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBwZmlsdGVyLT5lbGVtZW50LmZsYWdz IHw9IHJ0ZV9jcHVfdG9fbGVfMTYoCiAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQgKmNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KZmF0YWwgZXJyb3I6IHRvbyBtYW55 IGVycm9ycyBlbWl0dGVkLCBzdG9wcGluZyBub3cgWy1mZXJyb3ItbGltaXQ9XQoyMCBlcnJvcnMg Z2VuZXJhdGVkLgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvaW50ZXJuYWwvcnRl LmNvbXBpbGUtcHJlLm1rOjEzODogcmVjaXBlIGZvciB0YXJnZXQgJ2k0MGVfZXRoZGV2Lm8nIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnN1YmRpci5tazo2Mzog cmVjaXBlIGZvciB0YXJnZXQgJ2k0MGUnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnN1YmRpci5tazo2MzogcmVjaXBlIGZvciB0YXJnZXQgJ25ldCcgZmFpbGVk Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RrYnVpbGQubWs6NzM6IHJl Y2lwZSBmb3IgdGFyZ2V0ICdkcml2ZXJzJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEyNDogcmVjaXBlIGZvciB0YXJnZXQgJ2FsbCcgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2RraW5zdGFsbC5tazo4 NTogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtyb290Lm1rOjEwMzogcmVjaXBlIGZvciB0YXJnZXQg J2luc3RhbGwnIGZhaWxlZAoKCkZhaWxlZCBCdWlsZCAjNToKT1M6IEZyZWVCU0QxMC4zXzY0ClRh cmdldDogeDg2XzY0LW5hdGl2ZS1ic2RhcHAtZ2NjCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDE0Ojk6IGVycm9yOiAnc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JyBkZWNsYXJlZCBpbnNpZGUgcGFy YW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVs X2ZpbHRlcik7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5 IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdo YXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMTo5OiBlcnJvcjogJ3N0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBs aXN0IFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKnR1bm5lbF9maWx0ZXIp CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3IgJ2k0 MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0JwogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NDEyOjEyOiBub3RlOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiAnaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnQnIHdhcyBoZXJlCiBzdGF0aWMgaW50IGk0MGVfdHVubmVsX2ZpbHRlcl9j b252ZXJ0KAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uICdpNDBlX3R1bm5lbF9maWx0 ZXJfY29udmVydCc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6NjcwMzo1MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICBldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBldGhlcl9hZGRyICop JmNsZF9maWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA1OjUwOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGV0aGVyX2FkZHJfY29weSgoc3RydWN0 IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5pbm5lcl9tYWMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDc6NDY6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2Zp bHRlci0+aW5wdXQuaW5uZXJfdmxhbiA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbjsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZl LWJzZGFwcC1nY2MvaW5jbHVkZS9ydGVfZXRoZXIuaDo1MzowLAogICAgICAgICAgICAgICAgIGZy b20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo0NToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2NzA4OjM0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIGlmICgocnRlX2xlX3RvX2NwdV8xNihjbGRfZmlsdGVyLT5lbGVt ZW50LmZsYWdzKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWJzZGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTA5OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvICdydGVf bGVfdG9fY3B1XzE2JwogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNDo0MTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1dC5mbGFncyA9 IGNsZF9maWx0ZXItPmVsZW1lbnQuZmxhZ3M7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MTU6NDU6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+aW5wdXQudGVuYW50X2lkID0gY2xk X2ZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE2OjM1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0ZXItPnF1ZXVlID0gY2xkX2ZpbHRl ci0+ZWxlbWVudC5xdWV1ZV9udW1iZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MTg6MTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgICAgIGNsZF9maWx0ZXItPmdlbmVyYWxfZmllbGRzLAogICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MTk6MjM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgICAgIHNpemVvZihjbGRfZmlsdGVyLT5nZW5lcmFsX2ZpZWxkcykpOwogICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24gJ2k0MGVfZGV2X3R1bm5lbF9m aWx0ZXJfc2V0JzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2ODA1OjEyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAn c2l6ZW9mJyB0byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCcKICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTU6MzM6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIg KikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NjgxNzozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50 LmlubmVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE5 Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZp bHRlci0+ZWxlbWVudC5pbm5lcl92bGFuID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MjQ6MjI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHko JnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjgyNjoxOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSkpOwogICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzM6MjI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBh ZGRyLnY2LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgzNToyMTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgIHNpemVvZihw ZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5kYXRhKSk7CiAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2ODU3OjIwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgICAgICAmcGZpbHRlci0+ZWxlbWVudC5mbGFncyk7CiAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjY4NjM6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmZsYWdzIHw9IHJ0ZV9jcHVfdG9fbGVfMTYo CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2ODY2Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQgPSBydGVfY3B1X3Rv X2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFudF9pZCk7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODY3Ojk6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRl ci0+ZWxlbWVudC5xdWV1ZV9udW1iZXIgPQogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg3MjoyOiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAxIG9mICdpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCcgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9j b252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6 IGV4cGVjdGVkICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKicg YnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCAqJwogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg4Njoy ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAg dnNpLT5zZWlkLCAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6Njg5NjoyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBp bmNvbXBsZXRlIHR5cGUKICAgICAgICAgICZjbGRfZmlsdGVyLT5lbGVtZW50LCAxKTsKICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiAnaTQwZV9kZXZfY29uc2lzdGVudF90 dW5uZWxfZmlsdGVyX3NldCc6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkyOToxMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRp b24gb2YgJ3NpemVvZicgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1f Y2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTM5OjMzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhl cl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NDE6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ ZWxlbWVudC5pbm5lcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6Njk0Mzo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogIHBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbiA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQ4OjIy OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVf bWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAgICAgICAgICAg ICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjY5NTA6MTk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEp KTsKICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTU4OjIyOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVt ZW50LmlwYWRkci52Ni5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NjA6MjE6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICBz aXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSkpOwogICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njk4MjoyMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgICAgICAgICAgJnBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MpOwogICAgICAg ICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTg4Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5mbGFncyB8PSBydGVfY3B1X3Rv X2xlXzE2KAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk5MTo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQudGVuYW50X2lkID0gcnRl X2NwdV90b19sZV8zMih0dW5uZWxfZmlsdGVyLT50ZW5hbnRfaWQpOwogICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 Njk5Mjo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog IHBmaWx0ZXItPmVsZW1lbnQucXVldWVfbnVtYmVyID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMDg6Mjog ZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiAnaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQn IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcl0KICBpNDBlX3R1bm5lbF9m aWx0ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsKICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OTox OiBub3RlOiBleHBlY3RlZCAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0IConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Ns b3VkX2ZpbHRfZWxlbV9leHQgKicKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjcwMjI6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgIHZzaS0+c2VpZCwgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMzI6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7 CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24gJ2k0MGVfdHVubmVsX2Zp bHRlcl9yZXN0b3JlJzoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzoxMDQxMTo0NTogZXJyb3I6IHN0b3JhZ2Ugc2l6ZSBvZiAnY2xk X2ZpbHRlcicgaXNuJ3Qga25vd24KICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQgY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdjbGRfZmls dGVyJyBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRy ZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5h bC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYu bycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYzOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3 MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxs JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxs Lm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRh cmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM2OgpPUzogRkMyNF82NApUYXJn ZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnCgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxMzo5OiBlcnJvcjog 4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVk IGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhp cyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IGVycm9yOiDigJhzdHJ1Y3Qg aTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVjbGFyZWQgaW5zaWRlIHBh cmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRp b24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZv ciDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2Nv bnZlcnQoCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxMjoxMjogbm90ZTogcHJl dmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgd2Fz IGhlcmUKIHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVu bmVsX2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dOKAmQogIGV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIg KikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9k ZXZfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgwNToxMjogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXn5+fn5+Ci9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAo c3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NzI6Mjk6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5v dGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1f Y2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2X2Nv bnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkyOToxMjogZXJyb3I6IGludmFs aWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3Ry dWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXn5+ fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZ CiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMDg6Mjk6IGVycm9yOiBw YXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJv bSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVy LXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19m aWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5 OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVy dCgKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVf dHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogc3RvcmFnZSBz aXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiBy ZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnaTQw ZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZl cnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAn cHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFp bGVkIEJ1aWxkICM3OgpPUzogRkMyNF82NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdj YwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjQxMzo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRl ciwKICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAw Ojk6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTi gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQog aTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjQxMjoxMjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnTigJkgd2FzIGhlcmUKIHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnQoCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogIGV0aGVyX2FkZHJfY29w eSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzog SW4gZnVuY3Rpb24g4oCYaTQwZV9kZXZfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgwNTox MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkK ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwK ICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh04oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVu dC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4 NzI6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9m aWx0ZXIsICZjaGVja19maWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5l bF9maWx0ZXJfY29udmVydCgKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGk0MGVfZGV2X2NvbnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjkyOToxMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0KSwKICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjcwMDg6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0 KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDEx OjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93 bgogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVy OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTA0MTE6NDU6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBb LVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUu Y29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVj aXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1 OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAn aW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICM4OgpPUzogRkMyNF82NApUYXJnZXQ6IHg4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTM6OTogZXJyb3I6IGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnIHdpbGwgbm90 IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0 eV0KICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNs ZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IGVycm9yOiBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JyB3aWxsIG5v dCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxp dHldCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpj bGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBlcnJvcjogY29uZmxpY3Rp bmcgdHlwZXMgZm9yICdpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCcKaTQwZV90dW5uZWxfZmls dGVyX2NvbnZlcnQoCl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTI6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIGlz IGhlcmUKc3RhdGljIGludCBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcwMzo1MDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgZXRoZXJfYWRk cl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50Lm91dGVyX21h YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjcwMDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcwNTo1MDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgZXRoZXJfYWRk cl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50LmlubmVyX21h YywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+ fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6NjcwMDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcwNzo0NjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgdHVubmVsX2Zp bHRlci0+aW5wdXQuaW5uZXJfdmxhbiA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbjsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2 NzA4OjM0OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBpZiAoKHJ0ZV9sZV90b19j cHVfMTYoY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFncykgJgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDk6MzA6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3J0ZV9sZV90b19jcHVfMTYnCiNkZWZpbmUgcnRlX2xl X3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njcw MDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNDo0 MTogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNf YWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgdHVubmVsX2ZpbHRlci0+aW5wdXQu ZmxhZ3MgPSBjbGRfZmlsdGVyLT5lbGVtZW50LmZsYWdzOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcK ICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9m aWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE1OjQ1OiBlcnJvcjogaW5jb21wbGV0ZSBk ZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVt X2V4dCcKICAgICAgICB0dW5uZWxfZmlsdGVyLT5pbnB1dC50ZW5hbnRfaWQgPSBjbGRfZmlsdGVy LT5lbGVtZW50LnRlbmFudF9pZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0 cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MTY6MzU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24g b2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIHR1bm5lbF9maWx0ZXItPnF1ZXVlID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1i ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTg6MTY6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2Fk ZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAgY2xkX2ZpbHRlci0+ Z2VuZXJhbF9maWVsZHMsCiAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTk6MjM6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2Fk ZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAgc2l6ZW9mKGNsZF9m aWx0ZXItPmdlbmVyYWxfZmllbGRzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+ fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBp NDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9h cWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2ODA1OjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRv IGFuIGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgICAgICAgICAgICAgICBeICAg ICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3OTg6 OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTU6MzM6 IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2Fk ZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0 IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5v dGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQgKmNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE3OjMzOiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1f Y2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCBldGhl cl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBm b3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxOTo5OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCcKICAgICAgICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAg ICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NjgyNDoyMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0 eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAg ICAgICAgICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6IGZvcndh cmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVt X2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQg KmNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODI2OjE5OiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YocGZpbHRl ci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3OTg6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAg IHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsK ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzM6MjI6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRp b24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0Jwog ICAgICAgICAgICAgICAgcnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0 YSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2Zp bHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFu eSBlcnJvcnMgZW1pdHRlZCwgc3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3Jz IGdlbmVyYXRlZC4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0 ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBm YWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6 IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiBy ZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZh aWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6 ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzk6Ck9TOiBGQzI0XzY0ClRhcmdldDog eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxMzo5OiBlcnJvcjog4oCY c3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGlu c2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBk ZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IGVycm9yOiDigJhzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFt ZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lkZSBvZiB0aGlzIGRlZmluaXRpb24g b3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDi gJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZl cnQoCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxMjoxMjogbm90ZTogcHJldmlv dXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgd2FzIGhl cmUKIHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiAgICAgICAgICAgIF5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVs X2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dOKAmQogIGV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikm Y2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9kZXZf dHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgwNToxMjogZXJyb3I6IGludmFsaWQgYXBwbGlj YXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9h cWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg 4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAoc3Ry dWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NzI6Mjk6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQog IGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6 IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq 4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2X2NvbnNp c3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkyOToxMjogZXJyb3I6IGludmFsaWQg YXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3Qg aTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAg ICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMDg6Mjk6IGVycm9yOiBwYXNz aW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBp bmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5 cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19maWx0 ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6 IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVt X2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgK IF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVu bmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogc3RvcmFnZSBzaXpl IG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9yOiB1 bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVd CmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNp cGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScg ZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYz OiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6 MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJl X2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNk a3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVk IEJ1aWxkICMxMDoKT1M6IEZDMjRfNjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjQxMzo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCB3aWxsIG5vdCBiZSB2 aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uIFstV2Vycm9y XQogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRl ciwKICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAw Ojk6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTi gJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IHdpbGwgbm90IGJlIHZpc2libGUgb3V0 c2lkZSBvZiB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24gWy1XZXJyb3JdCiAgc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAg ICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6 IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQog aTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjQxMjoxMjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnTigJkgd2FzIGhlcmUKIHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnQoCiAgICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IElu IGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogIGV0aGVyX2FkZHJfY29w eSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzog SW4gZnVuY3Rpb24g4oCYaTQwZV9kZXZfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgwNTox MjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxl dGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkK ICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwK ICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh04oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVu dC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4 NzI6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9m aWx0ZXIsICZjaGVja19maWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF5+fn5+ fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0 cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5l bF9maWx0ZXJfY29udmVydCgKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGk0MGVfZGV2X2NvbnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjkyOToxMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0KSwKICAgICAgICAgICAgXn5+fn5+Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjcwMDg6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0 KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg IF5+fn5+fn5+fn4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDEx OjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93 bgogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVy OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+ Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6MTA0MTE6NDU6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBb LVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQg YXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUu Y29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFp bGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiBy ZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVj aXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWls ZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1 OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAn aW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMToKT1M6IFVCMTYwNF82NApUYXJnZXQ6 IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxNDo5OiBlcnJvcjog4oCYc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJh bWV0ZXIgbGlzdCBbLVdlcnJvcl0KICBzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0dW5uZWxf ZmlsdGVyKTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQxNDo5OiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkg dGhpcyBkZWZpbml0aW9uIG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hh dCB5b3Ugd2FudCBbLVdlcnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAxOjk6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9h cWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRl ciBsaXN0IFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKnR1bm5lbF9maWx0 ZXIpCiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig 4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252 ZXJ0KAogXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9p NDBlX2V0aGRldi5jOjQxMjoxMjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQw ZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgd2FzIGhlcmUKIHN0YXRpYyBpbnQgaTQwZV90dW5u ZWxfZmlsdGVyX2NvbnZlcnQoCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQw ZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMzo1MDogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9y bV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRoZXJf YWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0 MGVfZGV2X3R1bm5lbF9maWx0ZXJfc2V04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MDU6MTI6IGVycm9yOiBpbnZhbGlk IGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2ODE1OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgIChz dHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODcyOjI5OiBlcnJvcjogcGFzc2luZyBh cmd1bWVudCAxIG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIGZyb20gaW5jb21w YXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10K ICBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBub3RlOiBleHBlY3Rl ZCDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQgKuKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1 bmN0aW9uIOKAmGk0MGVfZGV2X2NvbnNpc3RlbnRfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 NjkyOToxMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0KSwKICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5Mzk6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dOKAmQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXItPmVsZW1l bnQub3V0ZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcw MDg6Mjk6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29t cGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9m aWx0ZXIsICZjaGVja19maWx0ZXIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJf Y29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV90dW5uZWxfZmlsdGVyX3Jlc3Rv cmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg4oCYY2xkX2ZpbHRl cuKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0IGNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzoxMDQxMTo0NTogZXJyb3I6IHVudXNlZCB2YXJpYWJsZSDigJhjbGRfZmls dGVy4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcg dHJlYXRlZCBhcyBlcnJvcnMKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVy bmFsL3J0ZS5jb21waWxlLXByZS5tazoxMzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRl di5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIu bWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQn IGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1r OjczOiByZWNpcGUgZm9yIHRhcmdldCAnZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdh bGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3Rh bGwubWs6ODU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJlY2lwZSBmb3Ig dGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKCgpGYWlsZWQgQnVpbGQgIzEyOgpPUzogVUIxNjA0XzY0 ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IOKA mHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmSBkZWNsYXJlZCBp bnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRl ciAqdHVubmVsX2ZpbHRlcik7CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IGl0cyBzY29w ZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFi bHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMTo5OiBlcnJvcjog4oCYc3Ry dWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lk ZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICBzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0 dW5uZWxfZmlsdGVyKQogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBlcnJvcjogY29uZmxpY3Rpbmcg dHlwZXMgZm9yIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZCiBpNDBlX3R1bm5lbF9m aWx0ZXJfY29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTI6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9u IG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIHdhcyBoZXJlCiBzdGF0aWMgaW50 IGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0 aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogIGV0aGVyX2FkZHJfY29weSgoc3Ry dWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5j dGlvbiDigJhpNDBlX2Rldl90dW5uZWxfZmlsdGVyX3NldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODA1OjEyOiBlcnJv cjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogICAgIHNp emVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQpLAogICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 4oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMp OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg3MjoyOTogZXJyb3I6 IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSBm cm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50 ZXItdHlwZXNdCiAgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoY2xkX2ZpbHRlciwgJmNoZWNr X2ZpbHRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogbm90 ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0ICrigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2Rldl9jb25zaXN0ZW50X3R1bm5lbF9maWx0ZXJfc2V0 4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY5Mjk6MTI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVv ZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9m aWx0X2VsZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTM5OjMzOiBlcnJvcjogZGVyZWZl cmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmls dGVyLT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo3MDA4OjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGk0MGVfdHVu bmVsX2ZpbHRlcl9jb252ZXJ04oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdl cnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBpNDBlX3R1bm5lbF9maWx0ZXJfY29u dmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjY5OToxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmQogaTQwZV90dW5u ZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2Zp bHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKA mGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg 4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5p bmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiByZWNpcGUgZm9yIHRhcmdldCAn aTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9y dGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnaTQwZScgZmFpbGVkCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRh cmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5z ZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZlcnMnIGZhaWxlZAovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTI0OiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3QubWs6MTAzOiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFpbGVkIEJ1aWxkICMxMzoKT1M6 IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZAoKL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo0MTQ6OTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVt X2V4dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0 IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVsX2ZpbHRlcik7CiAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTQ6 OTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlvbiBvciBkZWNsYXJhdGlv biwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1XZXJyb3JdCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njcw MTo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 4oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJvcl0KICBzdHJ1Y3QgaTQw ZV90dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKQogICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBl cnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0 4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0MTI6MTI6IG5vdGU6IHBy ZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIHdh cyBoZXJlCiBzdGF0aWMgaW50IGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY3MDM6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogIGV0 aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5v dXRlcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2Rldl90dW5uZWxfZmlsdGVyX3NldOKAmToK L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2ODA1OjEyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkg dG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dOKAmQogICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQpLAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxNTozMzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6Njg3MjoyOTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhpNDBlX3R1bm5lbF9m aWx0ZXJfY29udmVydOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9 aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQo Y2xkX2ZpbHRlciwgJmNoZWNrX2ZpbHRlcik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY2OTk6MTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICrigJkKIGk0MGVfdHVubmVsX2Zp bHRlcl9jb252ZXJ0KAogXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJbiBmdW5jdGlvbiDigJhpNDBlX2Rldl9jb25zaXN0ZW50 X3R1bm5lbF9maWx0ZXJfc2V04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5Mjk6MTI6IGVycm9yOiBpbnZhbGlkIGFwcGxp Y2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTM5 OjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgIChzdHJ1Y3Qg ZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDA4OjI5OiBlcnJvcjogcGFzc2luZyBhcmd1bWVu dCAxIG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ04oCZIGZyb20gaW5jb21wYXRpYmxl IHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICBpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVyKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjY5OToxOiBub3RlOiBleHBlY3RlZCDigJhz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQgKuKAmQogaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9u IOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjog c3RvcmFnZSBzaXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBp NDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9y OiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFi bGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCi9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTM4OiBy ZWNpcGUgZm9yIHRhcmdldCAnaTQwZV9ldGhkZXYubycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1rOjYzOiByZWNpcGUgZm9yIHRhcmdldCAnaTQw ZScgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc3ViZGlyLm1r OjYzOiByZWNpcGUgZm9yIHRhcmdldCAnbmV0JyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL21rL3J0ZS5zZGtidWlsZC5tazo3MzogcmVjaXBlIGZvciB0YXJnZXQgJ2RyaXZl cnMnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka3Jvb3Qu bWs6MTI0OiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL21rL3J0ZS5zZGtpbnN0YWxsLm1rOjg1OiByZWNpcGUgZm9yIHRhcmdldCAn cHJlX2luc3RhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vbWsvcnRl LnNka3Jvb3QubWs6MTAzOiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCgoKRmFp bGVkIEJ1aWxkICMxNDoKT1M6IFVCMTYwNF82NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo0MTM6OTogZXJyb3I6IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9h cWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnIHdpbGwgbm90IGJlIHZpc2libGUgb3V0c2lk ZSBvZiB0aGlzIGZ1bmN0aW9uIFstV2Vycm9yLC1XdmlzaWJpbGl0eV0KICAgICAgICBzdHJ1Y3Qg aTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2NzAwOjk6IGVycm9yOiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNp ZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJvciwtV3Zpc2liaWxpdHldCiAgICAgICAgc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAg ICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NjY5OToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yICdpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydCcKaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoCl4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo0MTI6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIGlzIGhlcmUKc3RhdGljIGludCBp NDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMzo1MDogZXJy b3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRo ZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5eCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3Vk X2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwNTo1MDogZXJy b3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRo ZXJfYWRkciAqKSZjbGRfZmlsdGVyLT5lbGVtZW50LmlubmVyX21hYywKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5eCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3Vk X2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwNzo0NjogZXJy b3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3Jt X2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgdHVubmVsX2ZpbHRlci0+aW5wdXQuaW5uZXJf dmxhbiA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbjsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA4OjM0OiBlcnJvcjogaW5j b21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCcKICAgICAgICBpZiAoKHJ0ZV9sZV90b19jcHVfMTYoY2xkX2ZpbHRlci0+ ZWxlbWVudC5mbGFncykgJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZy9pbmNsdWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDk6MzA6IG5vdGU6IGV4cGFuZGVkIGZyb20g bWFjcm8gJ3J0ZV9sZV90b19jcHVfMTYnCiNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpj bGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNDo0MTogZXJyb3I6IGluY29tcGxl dGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRf ZWxlbV9leHQnCiAgICAgICAgdHVubmVsX2ZpbHRlci0+aW5wdXQuZmxhZ3MgPSBjbGRfZmlsdGVy LT5lbGVtZW50LmZsYWdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2NzE1OjQ1OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUg J3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICB0dW5u ZWxfZmlsdGVyLT5pbnB1dC50ZW5hbnRfaWQgPSBjbGRfZmlsdGVyLT5lbGVtZW50LnRlbmFudF9p ZDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+Xgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY3MTY6MzU6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHR1bm5lbF9maWx0ZXIt PnF1ZXVlID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXI7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xk X2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTg6MTY6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0JwogICAgICAgICAgICAgICAgICAgY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMsCiAg ICAgICAgICAgICAgICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xk X2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTk6MjM6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0JwogICAgICAgICAgICAgICAgICAgc2l6ZW9mKGNsZF9maWx0ZXItPmdlbmVyYWxfZmll bGRzKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2Zp bHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODA1OjU6IGVy cm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUgdHlw ZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAg ICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCksCiAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3OTg6OTogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xk X2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTU6MzM6IGVycm9yOiBpbmNvbXBsZXRl IGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZp bHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFy YXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAg ICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0 ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE3OjMzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZp bml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCcKICAgICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXIt PmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAg c3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwog ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxOTo5OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9u IG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAg ICAgICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAgICAgIH5+fn5+fn5eCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njgy NDoyMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9h cWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgICAgICAgICBydGVfbWVtY3B5 KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXI7CiAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2ODI2OjE5OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9m IHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIu djQuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+ XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY3OTg6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVf YXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19h ZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY4MzM6MjI6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgcnRl X21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSwKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0 aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAg ICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVy OwogICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwg c3RvcHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL2ludGVybmFsL3J0ZS5jb21waWxlLXByZS5tazox Mzg6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpNDBlX2V0aGRldi5vJyBmYWlsZWQKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJkaXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0 ICdpNDBlJyBmYWlsZWQKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL21rL3J0ZS5zdWJk aXIubWs6NjM6IHJlY2lwZSBmb3IgdGFyZ2V0ICduZXQnIGZhaWxlZAovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2J1aWxkLm1rOjczOiByZWNpcGUgZm9yIHRhcmdldCAn ZHJpdmVycycgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9tay9ydGUuc2Rr cm9vdC5tazoxMjQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vbWsvcnRlLnNka2luc3RhbGwubWs6ODU6IHJlY2lwZSBmb3IgdGFy Z2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9t ay9ydGUuc2Rrcm9vdC5tazoxMDM6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQK CgpGYWlsZWQgQnVpbGQgIzE1OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxp bnV4YXBwLWdjYwovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQw ZS9pNDBlX2V0aGRldi5jOjQxNDo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdl cnJvcl0KICBzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKTsKICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjQxNDo5OiBlcnJvcjogaXRzIHNjb3BlIGlzIG9ubHkgdGhpcyBkZWZpbml0aW9u IG9yIGRlY2xhcmF0aW9uLCB3aGljaCBpcyBwcm9iYWJseSBub3Qgd2hhdCB5b3Ugd2FudCBbLVdl cnJvcl0KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2NzAxOjk6IGVycm9yOiDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3Vk X2ZpbHRfZWxlbV9leHTigJkgZGVjbGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9y XQogIHN0cnVjdCBpNDBlX3R1bm5lbF9maWx0ZXIgKnR1bm5lbF9maWx0ZXIpCiAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2Njk5OjE6IGVycm9yOiBjb25mbGljdGluZyB0eXBlcyBmb3Ig4oCYaTQwZV90dW5uZWxf ZmlsdGVyX2NvbnZlcnTigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjQx MjoxMjogbm90ZTogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnTigJkgd2FzIGhlcmUKIHN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZl cnQoCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV90dW5uZWxfZmlsdGVy X2NvbnZlcnTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9p NDBlL2k0MGVfZXRoZGV2LmM6NjcwMzo1MDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICBldGhlcl9hZGRyX2NvcHkoKHN0cnVjdCBldGhlcl9hZGRyICop JmNsZF9maWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA1OjUwOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGV0aGVyX2FkZHJfY29weSgoc3RydWN0 IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5pbm5lcl9tYWMsCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDc6NDY6IGVy cm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2Zp bHRlci0+aW5wdXQuaW5uZXJfdmxhbiA9IGNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbjsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1s aW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfZXRoZXIuaDo1MzowLAogICAgICAgICAgICAgICAgIGZy b20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo0NToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2NzA4OjM0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogIGlmICgocnRlX2xlX3RvX2NwdV8xNihjbGRfZmlsdGVyLT5lbGVt ZW50LmZsYWdzKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3Bh dGNoV29ya09yZy9jb21waWxhdGlvbi9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfYnl0ZW9yZGVyLmg6MTA5OjMwOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0 ZV9sZV90b19jcHVfMTbigJkKICNkZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTQ6NDE6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+aW5wdXQuZmxh Z3MgPSBjbGRfZmlsdGVyLT5lbGVtZW50LmZsYWdzOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMv bmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE1OjQ1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0ZXItPmlucHV0LnRlbmFudF9pZCA9 IGNsZF9maWx0ZXItPmVsZW1lbnQudGVuYW50X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNjozNTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxfZmlsdGVyLT5xdWV1ZSA9IGNsZF9m aWx0ZXItPmVsZW1lbnQucXVldWVfbnVtYmVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2NzE4OjE2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogICAgICBjbGRfZmlsdGVyLT5nZW5lcmFsX2ZpZWxkcywKICAgICAgICAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2NzE5OjIzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZQogICAgICBzaXplb2YoY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMpKTsK ICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2X3R1 bm5lbF9maWx0ZXJfc2V04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVy cy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MDU6MTI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0 aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE1OjMz OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0 cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTc6MzM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikm cGZpbHRlci0+ZWxlbWVudC5pbm5lcl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjgxOTo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfdmxhbiA9CiAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2ODI0OjIyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MjY6MTk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRy LnY0LmRhdGEpKTsKICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODMzOjIyOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmls dGVyLT5lbGVtZW50LmlwYWRkci52Ni5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY4MzU6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSkpOwogICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg1NzoyMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAgICAgJnBmaWx0ZXItPmVsZW1lbnQuZmxhZ3Mp OwogICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODYzOjk6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5mbGFncyB8PSBy dGVfY3B1X3RvX2xlXzE2KAogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2Njo5OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQudGVuYW50 X2lkID0gcnRlX2NwdV90b19sZV8zMih0dW5uZWxfZmlsdGVyLT50ZW5hbnRfaWQpOwogICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6Njg2Nzo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxl dGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQucXVldWVfbnVtYmVyID0KICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY4NzI6MjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMSBvZiDigJhpNDBlX3R1bm5lbF9maWx0 ZXJfY29udmVydOKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAg aTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQoY2xkX2ZpbHRlciwgJmNoZWNrX2ZpbHRlcik7CiAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY2OTk6MTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0ICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0 IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICrigJkKIGk0MGVfdHVubmVsX2Zp bHRlcl9jb252ZXJ0KAogXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4ODY6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgIHZzaS0+c2VpZCwgJmNsZF9maWx0ZXItPmVsZW1l bnQsIDEpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4OTY6MjE6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAmY2xk X2ZpbHRlci0+ZWxlbWVudCwgMSk7CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVu Y3Rpb24g4oCYaTQwZV9kZXZfY29uc2lzdGVudF90dW5uZWxfZmlsdGVyX3NldOKAmToKL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2 OTI5OjEyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5j b21wbGV0ZSB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dOKAmQogICAgIHNpemVvZihzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9l eHQpLAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9p bnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVy LT5lbGVtZW50Lm91dGVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2OTQxOjMzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFj KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NDM6OTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVt ZW50LmlubmVyX3ZsYW4gPQogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk0ODoyMjogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ ZWxlbWVudC5pcGFkZHIudjQuZGF0YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTUw OjE5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg IHNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhKSk7CiAgICAgICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njk1ODoyMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0 YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTYwOjIxOiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgc2l6ZW9mKHBmaWx0ZXItPmVs ZW1lbnQuaXBhZGRyLnY2LmRhdGEpKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5ODI6 MjA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAg ICAgICAgICZwZmlsdGVyLT5lbGVtZW50LmZsYWdzKTsKICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6Njk4ODo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogIHBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MgfD0gcnRlX2NwdV90b19sZV8xNigKICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY5OTE6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LnRlbmFudF9pZCA9IHJ0ZV9jcHVfdG9fbGVfMzIodHVu bmVsX2ZpbHRlci0+dGVuYW50X2lkKTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29t cGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5OTI6OTogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50 LnF1ZXVlX251bWJlciA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDA4OjI6IGVycm9yOiBwYXNzaW5nIGFy Z3VtZW50IDEgb2Yg4oCYaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBh dGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0 KGNsZF9maWx0ZXIsICZjaGVja19maWx0ZXIpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVj dGVkIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCAq4oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDIy OjI4OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICB2c2ktPnNlaWQsICZjbGRfZmlsdGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo3MDMyOjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgICAgICAgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAg ICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRl cl9yZXN0b3Jl4oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjEwNDExOjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGNs ZF9maWx0ZXLigJkgaXNu4oCZdCBrbm93bgogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRf ZmlsdF9lbGVtX2V4dCBjbGRfZmlsdGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCY Y2xkX2ZpbHRlcuKAmSBbLVdlcnJvcj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5pbmdz IGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgoKRmFpbGVkIEJ1aWxkICMxNjoKT1M6IENlbnRPUzdf NjQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDEzOjk6IGVycm9y OiBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0JyB3aWxsIG5vdCBiZSB2aXNpYmxlIG91dHNpZGUgb2YgdGhpcyBmdW5jdGlvbiBbLVdlcnJv ciwtV3Zpc2liaWxpdHldCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0 X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBlcnJv cjogZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVt X2V4dCcgd2lsbCBub3QgYmUgdmlzaWJsZSBvdXRzaWRlIG9mIHRoaXMgZnVuY3Rpb24gWy1XZXJy b3IsLVd2aXNpYmlsaXR5XQogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJy b3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQnCmk0 MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KApeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDEyOjEyOiBub3RlOiBwcmV2aW91cyBk ZWNsYXJhdGlvbiBpcyBoZXJlCnN0YXRpYyBpbnQgaTQwZV90dW5uZWxfZmlsdGVyX2NvbnZlcnQo CiAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24g b2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIGV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxl bWVudC5vdXRlcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0 cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MDU6NTA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24g b2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIGV0aGVyX2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxl bWVudC5pbm5lcl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fn5+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0 cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MDc6NDY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24g b2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAg ICAgIHR1bm5lbF9maWx0ZXItPmlucHV0LmlubmVyX3ZsYW4gPSBjbGRfZmlsdGVyLT5lbGVtZW50 LmlubmVyX3ZsYW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjcwODozNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgaWYg KChydGVfbGVfdG9fY3B1XzE2KGNsZF9maWx0ZXItPmVsZW1lbnQuZmxhZ3MpICYKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnl0ZW9yZGVy Lmg6MTA5OjMwOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICdydGVfbGVfdG9fY3B1XzE2Jwoj ZGVmaW5lIHJ0ZV9sZV90b19jcHVfMTYoeCkgKHgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MDA6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlciwKICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY3MTQ6NDE6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3Ry dWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHR1bm5lbF9m aWx0ZXItPmlucHV0LmZsYWdzID0gY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFnczsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwMDo5OiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2Zp bHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh0ICpjbGRfZmlsdGVyLAogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNTo0NTogZXJyb3I6 IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Ns b3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgdHVubmVsX2ZpbHRlci0+aW5wdXQudGVuYW50X2lk ID0gY2xkX2ZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQ7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNs ZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE2OjM1OiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCcKICAgICAgICB0dW5uZWxfZmlsdGVyLT5xdWV1ZSA9IGNsZF9maWx0ZXItPmVsZW1l bnQucXVldWVfbnVtYmVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNf YWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2NzE4OjE2OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICAgICAgICAgICAg IGNsZF9maWx0ZXItPmdlbmVyYWxfZmllbGRzLAogICAgICAgICAgICAgICAgICAgfn5+fn5+fn5+ fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2NzAwOjk6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBl X2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNf YWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNsZF9maWx0ZXIsCiAgICAgICAgICAgICAgIF4K L2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhk ZXYuYzo2ODA1OjU6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFu IGluY29tcGxldGUgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1f ZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRf cm1fY2xvdWRfZmlsdF9lbGVtX2V4dCksCiAgICAgICAgICAgICAgICAgICAgICAgICBeICAgICB+ fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovaG9tZS9wYXRjaFdv cmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3OTg6OTog bm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtP cmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MTU6MzM6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFjX2FkZF9y bV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAoc3RydWN0IGV0 aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3Jn L2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6 IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQgKmNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE3OjMzOiBlcnJvcjog aW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCcKICAgICAgICAgICAgICAgICAgICAgICAgKHN0cnVjdCBldGhlcl9h ZGRyICopJnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3 YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQnCiAgICAgICAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 ICpjbGRfZmlsdGVyOwogICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxOTo5OiBlcnJvcjogaW5jb21w bGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmls dF9lbGVtX2V4dCcKICAgICAgICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAgICAg IH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBl L2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwogICAgICAgICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjgyNDoyMjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBl ICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAgICAg ICAgICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5+fl4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2Nzk4Ojk6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4 dCcKICAgICAgICBzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKmNs ZF9maWx0ZXI7CiAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODMzOjIyOiBlcnJvcjogaW5jb21wbGV0 ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCcKICAgICAgICAgICAgICAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBh ZGRyLnY2LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fn5+XgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3 OTg6OTogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9y bV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xv dWRfZmlsdF9lbGVtX2V4dCAqY2xkX2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRj aFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NTc6 MjA6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IGk0MGVfYXFj X2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0JwogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmcGZpbHRlci0+ZWxlbWVudC5mbGFncyk7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+fn5+XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3OTg6OTogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0 JwogICAgICAgIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAqY2xk X2ZpbHRlcjsKICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NjM6OTogZXJyb3I6IGluY29tcGxldGUg ZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxl bV9leHQnCiAgICAgICAgcGZpbHRlci0+ZWxlbWVudC5mbGFncyB8PSBydGVfY3B1X3RvX2xlXzE2 KAogICAgICAgIH5+fn5+fn5eCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njc5ODo5OiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQnCiAgICAgICAg c3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICpjbGRfZmlsdGVyOwog ICAgICAgICAgICAgICBeCmZhdGFsIGVycm9yOiB0b28gbWFueSBlcnJvcnMgZW1pdHRlZCwgc3Rv cHBpbmcgbm93IFstZmVycm9yLWxpbWl0PV0KMjAgZXJyb3JzIGdlbmVyYXRlZC4KCgpGYWlsZWQg QnVpbGQgIzE3OgpPUzogQ2VudE9TN182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLXNoYXJlZAoKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1f Y2xvdWRfZmlsdF9lbGVtX2V4dOKAmSBkZWNsYXJlZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1X ZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2ZpbHRlciAqdHVubmVsX2ZpbHRlcik7CiAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo0MTQ6OTogZXJyb3I6IGl0cyBzY29wZSBpcyBvbmx5IHRoaXMgZGVmaW5pdGlv biBvciBkZWNsYXJhdGlvbiwgd2hpY2ggaXMgcHJvYmFibHkgbm90IHdoYXQgeW91IHdhbnQgWy1X ZXJyb3JdCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjcwMTo5OiBlcnJvcjog4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh04oCZIGRlY2xhcmVkIGluc2lkZSBwYXJhbWV0ZXIgbGlzdCBbLVdlcnJv cl0KICBzdHJ1Y3QgaTQwZV90dW5uZWxfZmlsdGVyICp0dW5uZWxfZmlsdGVyKQogICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjY5OToxOiBlcnJvcjogY29uZmxpY3RpbmcgdHlwZXMgZm9yIOKAmGk0MGVfdHVubmVs X2ZpbHRlcl9jb252ZXJ04oCZCiBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4KL2hvbWUv cGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo0 MTI6MTI6IG5vdGU6IHByZXZpb3VzIGRlY2xhcmF0aW9uIG9mIOKAmGk0MGVfdHVubmVsX2ZpbHRl cl9jb252ZXJ04oCZIHdhcyBoZXJlCiBzdGF0aWMgaW50IGk0MGVfdHVubmVsX2ZpbHRlcl9jb252 ZXJ0KAogICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRl cl9jb252ZXJ04oCZOgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MDM6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAq KSZjbGRfZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYywKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlv bi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwNTo1MDogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBldGhlcl9hZGRyX2NvcHkoKHN0cnVj dCBldGhlcl9hZGRyICopJmNsZF9maWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3Jr T3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA3OjQ2OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9m aWx0ZXItPmlucHV0LmlubmVyX3ZsYW4gPSBjbGRfZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW47 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCkluIGZpbGUg aW5jbHVkZWQgZnJvbSAvaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24veDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfZXRoZXIuaDo1MzowLAogICAgICAgICAgICAgICAg IGZyb20gL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo0NToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0 L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzA4OjM0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogIGlmICgocnRlX2xlX3RvX2NwdV8xNihjbGRfZmlsdGVyLT5l bGVtZW50LmZsYWdzKSAmCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9ieXRlb3JkZXIuaDoxMDk6MzA6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYcnRlX2xlX3RvX2NwdV8xNuKAmQogI2RlZmluZSBydGVfbGVfdG9fY3B1XzE2KHgpICh4KQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcxNDo0MTogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1 dC5mbGFncyA9IGNsZF9maWx0ZXItPmVsZW1lbnQuZmxhZ3M7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJp dmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MTU6NDU6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+aW5wdXQudGVuYW50 X2lkID0gY2xkX2ZpbHRlci0+ZWxlbWVudC50ZW5hbnRfaWQ7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE2OjM1OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHR1bm5lbF9maWx0ZXItPnF1ZXVlID0g Y2xkX2ZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXI7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MTg6MTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgIGNsZF9maWx0ZXItPmdlbmVyYWxfZmllbGRzLAogICAg ICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY3MTk6MjM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgIHNpemVvZihjbGRfZmlsdGVyLT5nZW5lcmFsX2ZpZWxk cykpOwogICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9k ZXZfdHVubmVsX2ZpbHRlcl9zZXTigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgwNToxMjogZXJyb3I6IGludmFsaWQgYXBw bGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgaTQw ZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkKICAgICBzaXplb2Yoc3RydWN0IGk0 MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0KSwKICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4 MTU6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg ICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5vdXRlcl9tYWMpOwogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxh dGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxNzozMzogZXJyb3I6IGRlcmVm ZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRk ciAqKSZwZmlsdGVyLT5lbGVtZW50LmlubmVyX21hYyk7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2ODE5Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5pbm5lcl92bGFuID0KICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY4MjQ6MjI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgIHJ0ZV9tZW1jcHkoJnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEsCiAg ICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgyNjoxOTogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICBzaXplb2YocGZpbHRlci0+ZWxlbWVudC5p cGFkZHIudjQuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzM6MjI6IGVycm9y OiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHJ0ZV9tZW1jcHko JnBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEsCiAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjgzNToyMTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICAgICAgIHNpemVvZihwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52Ni5kYXRhKSk7CiAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODU3OjIwOiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICAgICAmcGZpbHRlci0+ZWxlbWVudC5m bGFncyk7CiAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRp b24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NjM6OTogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmZsYWdz IHw9IHJ0ZV9jcHVfdG9fbGVfMTYoCiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODY2Ojk6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC50 ZW5hbnRfaWQgPSBydGVfY3B1X3RvX2xlXzMyKHR1bm5lbF9maWx0ZXItPnRlbmFudF9pZCk7CiAg ICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUv aTQwZV9ldGhkZXYuYzo2ODY3Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5xdWV1ZV9udW1iZXIgPQogICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6Njg3MjoyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAxIG9mIOKAmGk0MGVfdHVubmVs X2ZpbHRlcl9jb252ZXJ04oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJv cl0KICBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydChjbGRfZmlsdGVyLCAmY2hlY2tfZmlsdGVy KTsKICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6NjY5OToxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRk X3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhz dHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQgKuKAmQogaTQwZV90dW5u ZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2 ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg4NjoyODogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgdnNpLT5zZWlkLCAmY2xkX2ZpbHRlci0+ ZWxlbWVudCwgMSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg5NjoyMTog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAg ICZjbGRfZmlsdGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJ biBmdW5jdGlvbiDigJhpNDBlX2Rldl9jb25zaXN0ZW50X3R1bm5lbF9maWx0ZXJfc2V04oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY5Mjk6MTI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTM5OjMzOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBm aWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY5NDE6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5pbm5l cl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk0Mzo5OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXIt PmVsZW1lbnQuaW5uZXJfdmxhbiA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQ4OjIyOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmls dGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY5NTA6MTk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEpKTsKICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2OTU4OjIyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52 Ni5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NjA6MjE6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICBzaXplb2YocGZpbHRl ci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 Njk4MjoyMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUK ICAgICAgICAgICAgJnBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MpOwogICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2OTg4Ojk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5mbGFncyB8PSBydGVfY3B1X3RvX2xlXzE2KAogICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njk5MTo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQudGVuYW50X2lkID0gcnRlX2NwdV90b19sZV8z Mih0dW5uZWxfZmlsdGVyLT50ZW5hbnRfaWQpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk5Mjo5OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVs ZW1lbnQucXVldWVfbnVtYmVyID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMDg6MjogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMSBvZiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgaTQwZV90dW5uZWxfZmlsdGVyX2Nv bnZlcnQoY2xkX2ZpbHRlciwgJmNoZWNrX2ZpbHRlcik7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogbm90ZTog ZXhwZWN0ZWQg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0ICrigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjcwMjI6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgIHZzaS0+c2VpZCwgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjcwMzI6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7 CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV90dW5uZWxf ZmlsdGVyX3Jlc3RvcmXigJk6Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJz L25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6MTA0MTE6NDU6IGVycm9yOiBzdG9yYWdlIHNpemUgb2Yg 4oCYY2xkX2ZpbHRlcuKAmSBpc27igJl0IGtub3duCiAgc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9j bG91ZF9maWx0X2VsZW1fZXh0IGNsZF9maWx0ZXI7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZl cnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzoxMDQxMTo0NTogZXJyb3I6IHVudXNlZCB2YXJpYWJs ZSDigJhjbGRfZmlsdGVy4oCZIFstV2Vycm9yPXVudXNlZC12YXJpYWJsZV0KY2MxOiBhbGwgd2Fy bmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCgpGYWlsZWQgQnVpbGQgIzE4OgpPUzogQ2Vu dE9TN182NApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDE0Ojk6IGVy cm9yOiDigJhzdHJ1Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHTigJkgZGVj bGFyZWQgaW5zaWRlIHBhcmFtZXRlciBsaXN0IFstV2Vycm9yXQogIHN0cnVjdCBpNDBlX3R1bm5l bF9maWx0ZXIgKnR1bm5lbF9maWx0ZXIpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDE0Ojk6IGVycm9yOiBp dHMgc2NvcGUgaXMgb25seSB0aGlzIGRlZmluaXRpb24gb3IgZGVjbGFyYXRpb24sIHdoaWNoIGlz IHByb2JhYmx5IG5vdCB3aGF0IHlvdSB3YW50IFstV2Vycm9yXQovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY3MDE6OTogZXJyb3I6 IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmSBkZWNsYXJl ZCBpbnNpZGUgcGFyYW1ldGVyIGxpc3QgWy1XZXJyb3JdCiAgc3RydWN0IGk0MGVfdHVubmVsX2Zp bHRlciAqdHVubmVsX2ZpbHRlcikKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogZXJyb3I6IGNvbmZs aWN0aW5nIHR5cGVzIGZvciDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmQogaTQwZV90 dW5uZWxfZmlsdGVyX2NvbnZlcnQoCiBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9k cml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDEyOjEyOiBub3RlOiBwcmV2aW91cyBkZWNs YXJhdGlvbiBvZiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSB3YXMgaGVyZQogc3Rh dGljIGludCBpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydCgKICAgICAgICAgICAgXgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOiBJ biBmdW5jdGlvbiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmToKL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzAzOjUw OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGV0aGVy X2FkZHJfY29weSgoc3RydWN0IGV0aGVyX2FkZHIgKikmY2xkX2ZpbHRlci0+ZWxlbWVudC5vdXRl cl9tYWMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0 aGRldi5jOjY3MDU6NTA6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgZXRoZXJfYWRkcl9jb3B5KChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZjbGRfZmlsdGVy LT5lbGVtZW50LmlubmVyX21hYywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25l dC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwNzo0NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICB0dW5uZWxfZmlsdGVyLT5pbnB1dC5pbm5lcl92bGFuID0g Y2xkX2ZpbHRlci0+ZWxlbWVudC5pbm5lcl92bGFuOwogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2V0aGVyLmg6NTM6MCwKICAgICAgICAgICAgICAgICBmcm9tIC9ob21lL3BhdGNoV29ya09yZy9j b21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NDU6Ci9ob21lL3BhdGNo V29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjcwODoz NDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAo KHJ0ZV9sZV90b19jcHVfMTYoY2xkX2ZpbHRlci0+ZWxlbWVudC5mbGFncykgJgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnl0ZW9yZGVyLmg6MTA5OjMw OiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHJ0ZV9sZV90b19jcHVfMTbigJkKICNk ZWZpbmUgcnRlX2xlX3RvX2NwdV8xNih4KSAoeCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY3MTQ6NDE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgdHVubmVsX2ZpbHRlci0+aW5wdXQuZmxhZ3MgPSBjbGRfZmlsdGVyLT5lbGVt ZW50LmZsYWdzOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hv bWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYu Yzo2NzE1OjQ1OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlw ZQogIHR1bm5lbF9maWx0ZXItPmlucHV0LnRlbmFudF9pZCA9IGNsZF9maWx0ZXItPmVsZW1lbnQu dGVuYW50X2lkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRo ZGV2LmM6NjcxNjozNTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUKICB0dW5uZWxfZmlsdGVyLT5xdWV1ZSA9IGNsZF9maWx0ZXItPmVsZW1lbnQucXVldWVf bnVtYmVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE4OjE2 OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICBj bGRfZmlsdGVyLT5nZW5lcmFsX2ZpZWxkcywKICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hX b3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2NzE5OjIz OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICBz aXplb2YoY2xkX2ZpbHRlci0+Z2VuZXJhbF9maWVsZHMpKTsKICAgICAgICAgICAgICAgICAgICAg ICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVf ZXRoZGV2LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfZGV2X3R1bm5lbF9maWx0ZXJfc2V04oCZOgov aG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRl di5jOjY4MDU6MTI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0 byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2Vs ZW1fZXh04oCZCiAgICAgc2l6ZW9mKHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9l bGVtX2V4dCksCiAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODE1OjMzOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhlcl9hZGRyICopJnBm aWx0ZXItPmVsZW1lbnQub3V0ZXJfbWFjKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBl X2V0aGRldi5jOjY4MTc6MzM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21w bGV0ZSB0eXBlCiAgICAoc3RydWN0IGV0aGVyX2FkZHIgKikmcGZpbHRlci0+ZWxlbWVudC5pbm5l cl9tYWMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6NjgxOTo5OiBl cnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXIt PmVsZW1lbnQuaW5uZXJfdmxhbiA9CiAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBp bGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2ODI0OjIyOiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmls dGVyLT5lbGVtZW50LmlwYWRkci52NC5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY4MjY6MTk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY0LmRhdGEpKTsKICAgICAgICAg ICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2ODMzOjIyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICBydGVfbWVtY3B5KCZwZmlsdGVyLT5lbGVtZW50LmlwYWRkci52 Ni5kYXRhLAogICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4MzU6MjE6IGVycm9yOiBkZXJl ZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICBzaXplb2YocGZpbHRl ci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSkpOwogICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 Njg1NzoyMDogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUK ICAgICAgICAgICAgJnBmaWx0ZXItPmVsZW1lbnQuZmxhZ3MpOwogICAgICAgICAgICAgICAgICAg IF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9l dGhkZXYuYzo2ODYzOjk6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlCiAgcGZpbHRlci0+ZWxlbWVudC5mbGFncyB8PSBydGVfY3B1X3RvX2xlXzE2KAogICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njg2Njo5OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQudGVuYW50X2lkID0gcnRlX2NwdV90b19sZV8z Mih0dW5uZWxfZmlsdGVyLT50ZW5hbnRfaWQpOwogICAgICAgICBeCi9ob21lL3BhdGNoV29ya09y Zy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njg2Nzo5OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVs ZW1lbnQucXVldWVfbnVtYmVyID0KICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGls YXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4NzI6MjogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMSBvZiDigJhpNDBlX3R1bm5lbF9maWx0ZXJfY29udmVydOKAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3JdCiAgaTQwZV90dW5uZWxfZmlsdGVyX2Nv bnZlcnQoY2xkX2ZpbHRlciwgJmNoZWNrX2ZpbHRlcik7CiAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY2OTk6MTogbm90ZTog ZXhwZWN0ZWQg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91ZF9maWx0X2VsZW1fZXh0ICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IGk0MGVfYXFjX2FkZF9ybV9jbG91 ZF9maWx0X2VsZW1fZXh0ICrigJkKIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KAogXgovaG9t ZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5j OjY4ODY6Mjg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgIHZzaS0+c2VpZCwgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY4OTY6MjE6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50 ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAmY2xkX2ZpbHRlci0+ZWxlbWVudCwgMSk7 CiAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2Ry aXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzogSW4gZnVuY3Rpb24g4oCYaTQwZV9kZXZfY29u c2lzdGVudF90dW5uZWxfZmlsdGVyX3NldOKAmToKL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0 aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTI5OjEyOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dOKAmQogICAgIHNpemVvZihzdHJ1 Y3QgaTQwZV9hcWNfYWRkX3JtX2Nsb3VkX2ZpbHRfZWxlbV9leHQpLAogICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6NjkzOTozMzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUKICAgIChzdHJ1Y3QgZXRoZXJfYWRkciAqKSZwZmlsdGVyLT5lbGVtZW50Lm91dGVyX21hYyk7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2Nv bXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTQxOjMzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKHN0cnVjdCBldGhl cl9hZGRyICopJnBmaWx0ZXItPmVsZW1lbnQuaW5uZXJfbWFjKTsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9u ZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5NDM6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LmlubmVyX3ZsYW4gPQogICAg ICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0 MGVfZXRoZGV2LmM6Njk0ODoyMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgcnRlX21lbWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjQuZGF0 YSwKICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo2OTUwOjE5OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgIHNpemVvZihwZmlsdGVyLT5lbGVt ZW50LmlwYWRkci52NC5kYXRhKSk7CiAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29y a09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk1ODoyMjog ZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgcnRlX21l bWNweSgmcGZpbHRlci0+ZWxlbWVudC5pcGFkZHIudjYuZGF0YSwKICAgICAgICAgICAgICAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo2OTYwOjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogICAgICAgc2l6ZW9mKHBmaWx0ZXItPmVsZW1lbnQuaXBhZGRyLnY2LmRhdGEp KTsKICAgICAgICAgICAgICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24v ZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5ODI6MjA6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgICAgICZwZmlsdGVyLT5lbGVt ZW50LmZsYWdzKTsKICAgICAgICAgICAgICAgICAgICBeCi9ob21lL3BhdGNoV29ya09yZy9jb21w aWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6Njk4ODo5OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIHBmaWx0ZXItPmVsZW1lbnQu ZmxhZ3MgfD0gcnRlX2NwdV90b19sZV8xNigKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcv Y29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjY5OTE6OTogZXJyb3I6 IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVt ZW50LnRlbmFudF9pZCA9IHJ0ZV9jcHVfdG9fbGVfMzIodHVubmVsX2ZpbHRlci0+dGVuYW50X2lk KTsKICAgICAgICAgXgovaG9tZS9wYXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQv aTQwZS9pNDBlX2V0aGRldi5jOjY5OTI6OTogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICBwZmlsdGVyLT5lbGVtZW50LnF1ZXVlX251bWJlciA9CiAgICAg ICAgIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQw ZV9ldGhkZXYuYzo3MDA4OjI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDEgb2Yg4oCYaTQwZV90 dW5uZWxfZmlsdGVyX2NvbnZlcnTigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2Vycm9yXQogIGk0MGVfdHVubmVsX2ZpbHRlcl9jb252ZXJ0KGNsZF9maWx0ZXIsICZjaGVja19m aWx0ZXIpOwogIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0 MGUvaTQwZV9ldGhkZXYuYzo2Njk5OjE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBpNDBlX2Fx Y19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBl IOKAmHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCAq4oCZCiBpNDBl X3R1bm5lbF9maWx0ZXJfY29udmVydCgKIF4KL2hvbWUvcGF0Y2hXb3JrT3JnL2NvbXBpbGF0aW9u L2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDIyOjI4OiBlcnJvcjogZGVyZWZlcmVu Y2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICB2c2ktPnNlaWQsICZjbGRfZmls dGVyLT5lbGVtZW50LCAxKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL2hvbWUvcGF0 Y2hXb3JrT3JnL2NvbXBpbGF0aW9uL2RyaXZlcnMvbmV0L2k0MGUvaTQwZV9ldGhkZXYuYzo3MDMy OjIxOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAg ICAgICAgJmNsZF9maWx0ZXItPmVsZW1lbnQsIDEpOwogICAgICAgICAgICAgICAgICAgICBeCi9o b21lL3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2 LmM6IEluIGZ1bmN0aW9uIOKAmGk0MGVfdHVubmVsX2ZpbHRlcl9yZXN0b3Jl4oCZOgovaG9tZS9w YXRjaFdvcmtPcmcvY29tcGlsYXRpb24vZHJpdmVycy9uZXQvaTQwZS9pNDBlX2V0aGRldi5jOjEw NDExOjQ1OiBlcnJvcjogc3RvcmFnZSBzaXplIG9mIOKAmGNsZF9maWx0ZXLigJkgaXNu4oCZdCBr bm93bgogIHN0cnVjdCBpNDBlX2FxY19hZGRfcm1fY2xvdWRfZmlsdF9lbGVtX2V4dCBjbGRfZmls dGVyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi9ob21l L3BhdGNoV29ya09yZy9jb21waWxhdGlvbi9kcml2ZXJzL25ldC9pNDBlL2k0MGVfZXRoZGV2LmM6 MTA0MTE6NDU6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUg4oCYY2xkX2ZpbHRlcuKAmSBbLVdlcnJv cj11bnVzZWQtdmFyaWFibGVdCmNjMTogYWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJy b3JzCgoKRFBESyBTVFYgdGVhbQo= --===============2277019091019146024==--