From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 6956B1BB69 for ; Fri, 22 Jun 2018 15:51:28 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 22 Jun 2018 06:51:27 -0700 Message-Id: <0590c7$1vmpm4@orsmga001.jf.intel.com> Date: 22 Jun 2018 06:51:25 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,257,1526367600"; d="scan'208";a="66807492" Received: from unknown (HELO [127.0.1.1]) ([10.240.176.154]) by orsmga001.jf.intel.com with ESMTP; 22 Jun 2018 06:51:25 -0700 Content-Type: multipart/alternative; boundary="===============3797477889071601990==" MIME-Version: 1.0 From: sys_stv@intel.com To: test-report@dpdk.org Cc: Subject: [dpdk-test-report] |FAILURE| pw41407[v5, 08/15] vhost: append shadow used ring function names with split 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: Fri, 22 Jun 2018 13:51:30 -0000 --===============3797477889071601990== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogSW50ZWwtY29tcGlsYXRpb24KVGVzdC1TdGF0dXM6IEZBSUxVUkUKaHR0cDov L2RwZGsub3JnL3BhdGNoLzQxNDA3CgpfQ29tcGlsYXRpb24gaXNzdWVzXwoKU3VibWl0dGVyOiBN YXhpbWUgQ29xdWVsaW4gPG1heGltZS5jb3F1ZWxpbkByZWRoYXQuY29tPgpEYXRlOiAyMDE4LTA2 LTIyIDEzOjQzOjIwCkRQREsgZ2l0IGJhc2VsaW5lOiBSZXBvOmRwZGstbWFzdGVyLCBDb21taXRJ RDogMTliNDI2OGQ0YWQ2YjcxZGI1NGRmMmI4MmY0ZWEzMWU5ODQ4MjRlOAoKQnVpbGQgU3VtbWFy eTogMTUgQnVpbGRzIERvbmUsIDIgU3VjY2Vzc2Z1bCwgMTMgRmFpbHVyZXMKClRlc3QgZW52aXJv bm1lbnQgYW5kIGNvbmZpZ3VyYXRpb24gYXMgYmVsb3c6CgpPUzogRkMyNQoJS2VybmVsIFZlcnNp b246IDQuOS4xMy0xMDAuZmMyNC54ODZfNjQKCUNQVSBpbmZvOiBJbnRlbChSKSBYZW9uKFIpIENQ VSBFNS0yNjk5IHYzIEAgMi4zMEdIegoJR0NDIFZlcnNpb246IGdjYyAoR0NDKSA2LjIuMSAyMDE2 MDkxNiAoUmVkIEhhdCA2LjIuMS0yKQoJQ2xhbmcgVmVyc2lvbjogMy44LjAgKHRhZ3MvUkVMRUFT RV8zODAvZmluYWwpCgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MtZGVidWcKCk9TOiBGQzI0CglLZXJuZWwgVmVyc2lvbjogNC45LjEzLTEwMC5m YzI0Lng4Nl82NAoJQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikgQ1BVIEU1LTI2OTkgdjMgQCAy LjMwR0h6CglHQ0MgVmVyc2lvbjogZ2NjIChHQ0MpIDYuMi4xIDIwMTYwOTE2IChSZWQgSGF0IDYu Mi4xLTIpCglDbGFuZyBWZXJzaW9uOiAzLjguMCAodGFncy9SRUxFQVNFXzM4MC9maW5hbCkKCWk2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk Cgl4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nCgpPUzogQ0VOVE9TCglLZXJuZWwgVmVyc2lv bjogMy4xMC4wLTMyNy5lbDcueDg2XzY0CglDUFUgaW5mbzogSW50ZWwoUikgWGVvbihSKSBDUFUg RTUtMjY5OSB2MyBAIDIuMzBHSHoKCUdDQyBWZXJzaW9uOiBnY2MgKEdDQykgNC44LjUgMjAxNTA2 MjMgKFJlZCBIYXQgNC44LjUtNCkKCUNsYW5nIFZlcnNpb246IE5BCgl4ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgl4ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nCglpNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MKCk9TOiBVQjE2MDQK CUtlcm5lbCBWZXJzaW9uOiA0LjQuMC0xMjgtZ2VuZXJpYwoJQ1BVIGluZm86IEludGVsKFIpIFhl b24oUikgQ1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6CglHQ0MgVmVyc2lvbjogZ2NjIChVYnVudHUg NS40LjAtNnVidW50dTF+MTYuMDQuOSkgNS40LjAgMjAxNjA2MDkKCUNsYW5nIFZlcnNpb246IDMu OC4wLTJ1YnVudHU0ICh0YWdzL1JFTEVBU0VfMzgwL2ZpbmFsKQoJeDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MKCWk2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYwoJeDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZwoJeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkCgpPUzogRnJlZUJTRAoJ S2VybmVsIFZlcnNpb246IDEwLjMtUkVMRUFTRQoJQ1BVIGluZm86IEludGVsKFIpIFhlb24oUikg Q1BVIEU1LTI2OTkgdjMgQCAyLjMwR0h6ICgyMjk0Ljc2LU1IeiBLOC1jbGFzcyBDUFUpCglHQ0Mg VmVyc2lvbjogZ2NjIChGcmVlQlNEIFBvcnRzIENvbGxlY3Rpb24pIDQuOC41CglDbGFuZyBWZXJz aW9uOiAzLjQuMSAodGFncy9SRUxFQVNFXzM0L2RvdDEtZmluYWwgMjA4MDMyKSAyMDE0MDUxMgoJ eDg2XzY0LW5hdGl2ZS1ic2RhcHAtY2xhbmcKCXg4Nl82NC1uYXRpdmUtYnNkYXBwLWdjYwoKKkZh aWxlZCBCdWlsZCAjMToKT1M6IEZDMjUKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj YwogIENDIHZob3N0X3VzZXIubwogIEFSIGxpYnJ0ZV9ldmVudGRldi5hCiAgSU5TVEFMTC1MSUIg bGlicnRlX2V2ZW50ZGV2LmEKICBDQyB2aXJ0aW9fbmV0Lm8KL3RtcC9GQzI1X0s0LjguNl9HQ0M2 LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDi gJhmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN04oCZOgovdG1wL0ZDMjVfSzQuOC42X0dDQzYu My4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzUyOjEzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKICBkbGVuID0gZGVzYy0+bGVuOwogICAgICAgICAgICAgXn4KL3RtcC9G QzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5j OjM3MDozMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGlu Y29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICBucl9kZWNzID0g IGRlc2MtPmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF5+fn5+fgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjM6IGVycm9yOiBpbnZhbGlk IHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAg KmxlbiArPSBkZXNjc1tpXS5sZW47CiAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvRkMy NV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0ZDMjVf SzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9GQzI1X0s0Ljgu Nl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X21idWYuaDozOCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvRkMyNV9LNC44LjZfR0NDNi4z LjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL0ZDMjVfSzQu OC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjE2 OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhtYXBfb25lX2Rl c2PigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGlmICh1bmxpa2VseSht YXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgICAgICAgICAgICAgIF4K L3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWls dGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzozODM6Mzogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhtYXBfb25lX2Rlc2PigJkgWy1XbmVzdGVkLWV4dGVybnNdCiAgIGlmICh1bmxpa2VseSht YXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgXn4KL3RtcC9GQzI1X0s0 LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4Mzoz OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rl c2NfcGFja2Vk4oCZCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5l ZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZy b20gL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9t IC90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1w L0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv aW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9GQzI1X0s0 LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90 bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzogSW4gZnVuY3Rpb24g4oCYZmlsbF92ZWNfYnVmX3BhY2tlZOKAmToKL3RtcC9GQzI1X0s0 LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOTox Njogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZGVzY19pc19h dmFpbOKAmSBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBpZiAodW5saWtlbHko IWRlc2NfaXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAg ICAgICAgICAgXgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90 ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2RlZmluZSB1bmxpa2Vs eSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOToyOiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRl Y2xhcmF0aW9uIG9mIOKAmGRlc2NfaXNfYXZhaWzigJkgWy1XbmVzdGVkLWV4dGVybnNdCiAgaWYg KHVubGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIp KSkKICBefgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9z dC92aXJ0aW9fbmV0LmM6NDA5OjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMu MS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOTozOiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZ CiAgICpidWZfaWQgPSBkZXNjc1thdmFpbF9pZHhdLmluZGV4OwogICBeCi90bXAvRkMyNV9LNC44 LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MjE6Mzog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNj X3BhY2tlZOKAmQogICBpZiAoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RFU0NfRl9J TkRJUkVDVCkgewogICBefgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIyOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1bmxpa2Vs eShmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN0KGRldiwgdnEsCiAgICBefgovdG1wL0ZDMjVf SzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDI4 OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKICAgICpsZW4gKz0gZGVzY3NbYXZhaWxfaWR4XS5sZW47CiAgICBeCi90 bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo0MzA6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYs IHZxLCBidWZfdmVjLCAmdmVjX2lkLAogICAgXn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCi90 bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo0Mzc6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBW UklOR19ERVNDX0ZfTkVYVCkgPT0gMCkKICAgXn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDigJhydGVf dmhvc3RfZGVxdWV1ZV9idXJzdOKAmToKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzc6Nzogd2FybmluZzogcGFzc2luZyBh cmd1bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZIG1ha2VzIGludGVnZXIgZnJv bSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogICAgICAgJnZxLT5k ZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgXgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4x L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDE6MTogbm90ZTogZXhwZWN0 ZWQg4oCYdWludDY0X3Qge2FrYSBsb25nIHVuc2lnbmVkIGludH3igJkgYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2MgKuKAmQogYWxsb2NfY29weV9pbmRfdGFibGUo c3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsCiBefn5+ fn5+fn5+fn5+fn5+fn5+fgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MTM3NjoxMzogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRz IHRvIGZ1bmN0aW9uIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZCiAgICAgaWRlc2MgPSBhbGxv Y19jb3B5X2luZF90YWJsZShkZXYsIHZxLAogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+ fn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQxOjE6IG5vdGU6IGRlY2xhcmVkIGhlcmUKIGFsbG9jX2NvcHlfaW5kX3RhYmxl KHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLAogXn5+ fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICd2aXJ0aW9f bmV0Lm8nIGZhaWxlZAptYWtlWzVdOiAqKiogW3ZpcnRpb19uZXQub10gRXJyb3IgMQptYWtlWzVd OiAqKiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgo9PSBCdWlsZCBsaWIvbGlicnRl X2lwX2ZyYWcKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zdWJkaXIu bWs6MzU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfdmhvc3QnIGZhaWxlZAptYWtlWzRdOiAq KiogW2xpYnJ0ZV92aG9zdF0gRXJyb3IgMgptYWtlWzRdOiAqKiogV2FpdGluZyBmb3IgdW5maW5p c2hlZCBqb2JzLi4uLgogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9pcF9mcmFnLmgKICBDQyBy dGVfaXB2NF9mcmFnbWVudGF0aW9uLm8KICBDQyBydGVfaXB2Nl9mcmFnbWVudGF0aW9uLm8KLS0K ICBDQyBydGVfaXB2Nl9yZWFzc2VtYmx5Lm8KICBDQyBydGVfaXBfZnJhZ19jb21tb24ubwogIEND IGlwX2ZyYWdfaW50ZXJuYWwubwogIEFSIGxpYnJ0ZV9pcF9mcmFnLmEKICBJTlNUQUxMLUxJQiBs aWJydGVfaXBfZnJhZy5hCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUu c2RrYnVpbGQubWs6NDk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAptYWtlWzNdOiAq KiogW2xpYl0gRXJyb3IgMgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRl LnNka3Jvb3QubWs6MTAwOiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKbWFrZVsyXTog KioqIFthbGxdIEVycm9yIDIKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0 ZS5zZGtpbnN0YWxsLm1rOjU3OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwnIGZhaWxl ZAptYWtlWzFdOiAqKiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCi90bXAvRkMyNV9LNC44LjZfR0ND Ni4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo3OTogcmVjaXBlIGZvciB0YXJnZXQgJ2lu c3RhbGwnIGZhaWxlZAptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIKCipGYWlsZWQgQnVpbGQg IzI6Ck9TOiBVQjE2MDQKVGFyZ2V0OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYwo9PSBCdWls ZCBsaWIvbGlicnRlX2lwX2ZyYWcKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfaXBfZnJhZy5o CiAgQ0MgcnRlX2lwdjRfZnJhZ21lbnRhdGlvbi5vCiAgQ0MgdmlydGlvX25ldC5vCi90bXAvVUIx NjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5j OiBJbiBmdW5jdGlvbiDigJhmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN04oCZOgovdG1wL1VC MTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozNTI6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl IOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogIGRsZW4gPSBkZXNjLT5sZW47CiAgICAg ICAgICAgICBefgovdG1wL1VCMTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzozNzA6MzI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9m IOKAmHNpemVvZuKAmSB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2Vk4oCZCiAgbnJfZGVjcyA9ICBkZXNjLT5sZW4gLyBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KL3RtcC9VQjE2 MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 MzgyOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJp bmdfZGVzY19wYWNrZWTigJkKICAgKmxlbiArPSBkZXNjc1tpXS5sZW47CiAgIF4KSW4gZmlsZSBp bmNsdWRlZCBmcm9tIC90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAg ICAgICAgICBmcm9tIC90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAg ICAgICBmcm9tIC90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAgICAgICBm cm9tIC90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmlydGlvX25ldC5jOjk6Ci90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzoxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYbWFwX29uZV9kZXNj4oCZIFstV2ltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92 ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIu MC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9w cmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtl bHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0Ljgu MF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzozOiB3 YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmG1hcF9vbmVfZGVzY+KAmSBb LVduZXN0ZWQtZXh0ZXJuc10KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBi dWZfdmVjLCAmdmVjX2lkLAogICBefgovdG1wL1VCMTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL1VC MTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozODM6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2 cmluZ19kZXNjX3BhY2tlZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9VQjE2MDRfSzQu OC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfc3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQu OC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfbWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQuOC4w X0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf bWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYu Mi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9VQjE2MDRf SzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IElu IGZ1bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAvVUIxNjA0X0s0LjguMF9H Q0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOToxNjogd2Fy bmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZGVzY19pc19hdmFpbOKA mSBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBpZiAodW5saWtlbHkoIWRlc2Nf aXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAgICAgICAg ICAgXgovdG1wL1VCMTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBp biBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgp IF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6Mjogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhkZXNjX2lzX2F2YWls4oCZIFstV25lc3RlZC1leHRlcm5zXQogIGlmICh1 bmxpa2VseSghZGVzY19pc19hdmFpbCgmZGVzY3NbYXZhaWxfaWR4XSwgd3JhcF9jb3VudGVyKSkp CiAgXn4KL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9z dC92aXJ0aW9fbmV0LmM6NDA5OjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYu Mi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDE5OjM6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTi gJkKICAgKmJ1Zl9pZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7CiAgIF4KL3RtcC9VQjE2MDRf SzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIx OjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVND X0ZfSU5ESVJFQ1QpIHsKICAgXn4KL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIyOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1 bmxpa2VseShmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN0KGRldiwgdnEsCiAgICBefgovdG1w L1VCMTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo0Mjg6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVj dCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgKmxlbiArPSBkZXNjc1thdmFpbF9pZHhdLmxlbjsK ICAgIF4KL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9z dC92aXJ0aW9fbmV0LmM6NDMwOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlw ZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1bmxpa2VseShtYXBfb25l X2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgIF5+Ci90bXAvVUIxNjA0X0s0Ljgu MF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2Vk4oCZCi90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjQzNzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgIGlmICgoZGVzY3NbYXZhaWxf aWR4XS5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhUKSA9PSAwKQogICBefgovdG1wL1VCMTYwNF9L NC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4g ZnVuY3Rpb24g4oCYcnRlX3Zob3N0X2RlcXVldWVfYnVyc3TigJk6Ci90bXAvVUIxNjA0X0s0Ljgu MF9HQ0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzc6Nzog d2FybmluZzogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZ IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJz aW9uXQogICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgXgovdG1wL1VC MTYwNF9LNC44LjBfR0NDNi4yLjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MToxOiBub3RlOiBleHBlY3RlZCDigJh1aW50NjRfdCB7YWthIGxvbmcgdW5zaWduZWQgaW50 feKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzYyAq4oCZCiBh bGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3Rf dmlydHF1ZXVlICp2cSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90bXAvVUIxNjA0X0s0LjguMF9H Q0M2LjIuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzY6MTM6IGVy cm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhhbGxvY19jb3B5X2luZF90YWJs ZeKAmQogICAgIGlkZXNjID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwKICAgICAgICAg ICAgIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOjE6IG5vdGU6IGRlY2xhcmVkIGhl cmUKIGFsbG9jX2NvcHlfaW5kX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2 aG9zdF92aXJ0cXVldWUgKnZxLAogXn5+fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9VQjE2MDRfSzQu OC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjExNDog cmVjaXBlIGZvciB0YXJnZXQgJ3ZpcnRpb19uZXQubycgZmFpbGVkCm1ha2VbNV06ICoqKiBbdmly dGlvX25ldC5vXSBFcnJvciAxCi90bXAvVUIxNjA0X0s0LjguMF9HQ0M2LjIuMC94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21r L3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfdmhvc3QnIGZhaWxl ZAptYWtlWzRdOiAqKiogW2xpYnJ0ZV92aG9zdF0gRXJyb3IgMgptYWtlWzRdOiAqKiogV2FpdGlu ZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIENDIHJ0ZV9pcHY2X2ZyYWdtZW50YXRpb24ubwog IENDIHJ0ZV9pcHY0X3JlYXNzZW1ibHkubwogIENDIHJ0ZV9pcHY2X3JlYXNzZW1ibHkubwogIEND IHJ0ZV9pcF9mcmFnX2NvbW1vbi5vCiAgQ0MgaXBfZnJhZ19pbnRlcm5hbC5vCiAgQVIgbGlicnRl X2lwX2ZyYWcuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9pcF9mcmFnLmEKL3RtcC9VQjE2MDRfSzQu OC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ5OiByZWNpcGUgZm9yIHRh cmdldCAnbGliJyBmYWlsZWQKbWFrZVszXTogKioqIFtsaWJdIEVycm9yIDIKL3RtcC9VQjE2MDRf SzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6MTAwOiByZWNpcGUgZm9y IHRhcmdldCAnYWxsJyBmYWlsZWQKbWFrZVsyXTogKioqIFthbGxdIEVycm9yIDIKL3RtcC9VQjE2 MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka2luc3RhbGwubWs6NTc6IHJlY2lw ZSBmb3IgdGFyZ2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06ICoqKiBbcHJlX2luc3Rh bGxdIEVycm9yIDIKL3RtcC9VQjE2MDRfSzQuOC4wX0dDQzYuMi4wL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNk a3Jvb3QubWs6Nzk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKbWFrZTogKioq IFtpbnN0YWxsXSBFcnJvciAyCgoqRmFpbGVkIEJ1aWxkICMzOgpPUzogQ0VOVE9TClRhcmdldDog eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MKICBDQyB2aG9zdC5vCiAgQ0Mgdmhvc3RfdXNlci5v CiAgQ0MgcnRlX2V2ZW50X2NyeXB0b19hZGFwdGVyLm8KICBDQyB2aXJ0aW9fbmV0Lm8KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25l dC5jOiBJbiBmdW5jdGlvbiDigJhmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN04oCZOgovdG1w L0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6MzUyOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogIGRsZW4gPSBkZXNjLT5sZW47CiAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEw LjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNTQ6MzQ6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIHZob3N0 X2lvdmFfdG9fdnZhKGRldiwgdnEsIGRlc2MtPmFkZHIsICZkbGVuLCBWSE9TVF9BQ0NFU1NfUk8p OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZy b20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBm cm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJv bSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3Rt cC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzozNTg6MjY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHVubGlrZWx5KGRsZW4gPCBkZXNjLT5sZW4pKSB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRp Y3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKA mQogI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9H Q0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM2Mzo0NjogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgaWRlc2NzID0g YWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+bGVuKTsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1Nf SzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM2 Mzo1ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAg aWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+ bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjM3MDoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICBucl9kZWNzID0gIGRlc2MtPmxlbiAvIHNpemVvZihzdHJ1Y3Qg dnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM3MDozMjog ZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29tcGxldGUg dHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICBucl9kZWNzID0gIGRlc2MtPmxl biAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MjozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICpsZW4gKz0gZGVz Y3NbaV0ubGVuOwogICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODI6MTY6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBv aW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICpsZW4gKz0gZGVzY3NbaV0ubGVuOwogICAgICAg ICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9u IG9mIGZ1bmN0aW9uIOKAmG1hcF9vbmVfZGVzY+KAmSBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNs YXJhdGlvbl0KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBidWZfdmVjLCAm dmVjX2lkLAogICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6Mzogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNs YXJhdGlvbiBvZiDigJhtYXBfb25lX2Rlc2PigJkgWy1XbmVzdGVkLWV4dGVybnNdCi90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozODM6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2 cmluZ19kZXNjX3BhY2tlZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMu MTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0sz LjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4x MC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9H Q0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozODQ6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICBkZXNjc1tpXS5hZGRyLCBkZXNjc1tpXS5sZW4sCiAgICAgICAgICAgIF4KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRp b24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGlu X2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICBpZiAodW5saWtlbHkobWFwX29uZV9k ZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAgZnJv bSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20g L3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo5OgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6Mzg0OjI3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICAgICAgZGVzY3NbaV0uYWRkciwgZGVzY3NbaV0ubGVuLAogICAg ICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGlj dGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZ CiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IEluIGZ1bmN0aW9u IOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6Mjogd2FybmluZzogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYZGVzY19pc19hdmFpbOKAmSBbLVdpbXBs aWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICBpZiAodW5saWtlbHkoIWRlc2NfaXNfYXZhaWwo JmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogIF4KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOToyOiB3 YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmGRlc2NfaXNfYXZhaWzigJkg Wy1XbmVzdGVkLWV4dGVybnNdCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6MjogZXJyb3I6IGludmFsaWQgdXNlIG9m IHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQpJbiBmaWxlIGlu Y2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAg ICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAg ICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAg IGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6MzY6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHVubGlrZWx5KCFkZXNjX2lzX2F2YWls KCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDoz ODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2RlZmlu ZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOTozOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAg ICpidWZfaWQgPSBkZXNjc1thdmFpbF9pZHhdLmluZGV4OwogICBeCi90bXAvQ0VOVE9TX0szLjEw LjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MTk6MTg6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICpidWZf aWQgPSBkZXNjc1thdmFpbF9pZHhdLmluZGV4OwogICAgICAgICAgICAgICAgICBeCi90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MjE6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2 cmluZ19kZXNjX3BhY2tlZOKAmQogICBpZiAoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5H X0RFU0NfRl9JTkRJUkVDVCkgewogICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MjE6MTI6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlmIChkZXNjc1thdmFpbF9pZHhd LmZsYWdzICYgVlJJTkdfREVTQ19GX0lORElSRUNUKSB7CiAgICAgICAgICAgIF4KL3RtcC9DRU5U T1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5j OjQyMjo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZy aW5nX2Rlc2NfcGFja2Vk4oCZCiAgICBpZiAodW5saWtlbHkoZmlsbF92ZWNfYnVmX3BhY2tlZF9p bmRpcmVjdChkZXYsIHZxLAogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1Nf SzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19L My4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo0MjM6MTQ6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlCiAgICAgICAgJmRlc2NzW2F2YWlsX2lkeF0sCiAgICAgICAgICAgICAgXgovdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5j bHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBv ZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhw ZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K L3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQyODo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICAqbGVuICs9IGRlc2NzW2F2YWlsX2lkeF0u bGVuOwogICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDI4OjE3OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVy IHRvIGluY29tcGxldGUgdHlwZQogICAgKmxlbiArPSBkZXNjc1thdmFpbF9pZHhdLmxlbjsKICAg ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MzA6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgaWYgKHVubGlr ZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBidWZfdmVjLCAmdmVjX2lkLAogICAgXgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAg ICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAg ICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAg ICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MzE6MTM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgZGVzY3NbYXZhaWxfaWR4XS5h ZGRyLAogICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24u aDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2Rl ZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52 YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZ CiAgICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQs CiAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41 L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfc3BpbmxvY2su aDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wu aDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6Mzgs CiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9DRU5UT1NfSzMuMTAuMF9H Q0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMjoxMzogZXJy b3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICBkZXNj c1thdmFpbF9pZHhdLmxlbiwKICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0 LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5j aF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5s aWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0sz LjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0Mzc6 MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19k ZXNjX3BhY2tlZOKAmQogICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVND X0ZfTkVYVCkgPT0gMCkKICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3OjEzOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxh Z3MgJiBWUklOR19ERVNDX0ZfTkVYVCkgPT0gMCkKICAgICAgICAgICAgIF4KICBBUiBsaWJydGVf ZXZlbnRkZXYuYQogIElOU1RBTEwtTElCIGxpYnJ0ZV9ldmVudGRldi5hCj09IEJ1aWxkIGxpYi9s aWJydGVfaXBfZnJhZwogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9pcF9mcmFnLmgKICBDQyBy dGVfaXB2NF9mcmFnbWVudGF0aW9uLm8KICBDQyBydGVfaXB2Nl9mcmFnbWVudGF0aW9uLm8KL3Rt cC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOiBJbiBmdW5jdGlvbiDigJhydGVfdmhvc3RfZGVxdWV1ZV9idXJzdOKAmToKL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25l dC5jOjEzNzc6Nzogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlf aW5kX3RhYmxl4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFtl bmFibGVkIGJ5IGRlZmF1bHRdCiAgICAgICAmdnEtPmRlc2NbZGVzY19pbmRleGVzW2ldXSk7CiAg ICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3RlOiBleHBlY3RlZCDigJh1aW50NjRfdOKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzYyAq4oCZCiBhbGxvY19jb3B5 X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVl ICp2cSwKIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjEzNzc6NzogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1 bmN0aW9uIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZCiAgICAgICAmdnEtPmRlc2NbZGVzY19p bmRleGVzW2ldXSk7CiAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3RlOiBkZWNsYXJlZCBoZXJl CiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhv c3RfdmlydHF1ZXVlICp2cSwKIF4KCipGYWlsZWQgQnVpbGQgIzQ6Ck9TOiBDRU5UT1MKVGFyZ2V0 OiB4ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQKICBTWU1MSU5LLUZJTEUgaW5jbHVk ZS9ydGVfZ3JvLmgKICBDQyBydGVfZ3JvLm8KICBDQyBncm9fdGNwNC5vCiAgQ0MgdmlydGlvX25l dC5vCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6IEluIGZ1bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWRf aW5kaXJlY3TigJk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzUyOjEzOiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGRsZW4gPSBkZXNjLT5sZW47CiAgICAgICAg ICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzU0OjM0OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICB2aG9zdF9pb3ZhX3RvX3Z2YShkZXYsIHZxLCBkZXNj LT5hZGRyLCAmZGxlbiwgVkhPU1RfQUNDRVNTX1JPKTsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfc3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMu MTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6OToKL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNTg6MjY6IGVycm9yOiBkZXJlZmVyZW5jaW5n IHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHVubGlrZWx5KGRsZW4gPCBkZXNjLT5s ZW4pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFj cm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCgh ISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6MzYzOjQ2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogICBpZGVzY3MgPSBhbGxvY19jb3B5X2luZF90YWJsZShkZXYsIHZxLCBkZXNj LT5hZGRyLCBkZXNjLT5sZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM2Mzo1ODogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgaWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFi bGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+bGVuKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoz NzA6MTc6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAg bnJfZGVjcyA9ICBkZXNjLT5sZW4gLyBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkKTsK ICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzcwOjMyOiBlcnJvcjogaW52YWxp ZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVj dCB2cmluZ19kZXNjX3BhY2tlZOKAmQogIG5yX2RlY3MgPSAgZGVzYy0+bGVuIC8gc2l6ZW9mKHN0 cnVjdCB2cmluZ19kZXNjX3BhY2tlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjM4MjozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVk IHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICpsZW4gKz0gZGVzY3NbaV0u bGVuOwogICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjE2OiBlcnJvcjogZGVyZWZlcmVuY2luZyBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAqbGVuICs9IGRlc2NzW2ldLmxlbjsKICAgICAg ICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6Mzogd2FybmluZzogaW1wbGljaXQgZGVj bGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYbWFwX29uZV9kZXNj4oCZIFstV2ltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1 Zl92ZWMsICZ2ZWNfaWQsCiAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6Mzogd2FybmluZzogbmVz dGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhtYXBfb25lX2Rlc2PigJkgWy1XbmVzdGVkLWV4 dGVybnNdCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKSW4gZmlsZSBpbmNsdWRl ZCBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfc3BpbmxvY2suaDoxNTowLAogICAgICAg ICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAg ICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwK ICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9DRU5UT1NfSzMu MTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozODQ6MTI6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBl CiAgICAgICBkZXNjc1tpXS5hZGRyLCBkZXNjc1tpXS5sZW4sCiAgICAgICAgICAgIF4KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9f YnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgIGlmICh1bmxp a2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgXgpJbiBmaWxl IGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9zcGlubG9jay5oOjE1OjAs CiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wu aDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1 Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL0NF TlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjM4NDoyNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICAgICAgIGRlc2NzW2ldLmFkZHIsIGRlc2NzW2ldLmxlbiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0 aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkK ICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IEluIGZ1 bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDA5OjI6 IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGRlc2NfaXNfYXZh aWzigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgaWYgKHVubGlrZWx5KCFk ZXNjX2lzX2F2YWlsKCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICBeCi90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6NDA5OjI6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg 4oCYZGVzY19pc19hdmFpbOKAmSBbLVduZXN0ZWQtZXh0ZXJuc10KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0 MDk6MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmlu Z19kZXNjX3BhY2tlZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3Rt cC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFy ZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo5OgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOTozNjogZXJyb3I6IGRlcmVmZXJl bmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAodW5saWtlbHkoIWRlc2NfaXNf YXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3By ZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2Vs eeKAmQogI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0 MTk6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmlu Z19kZXNjX3BhY2tlZOKAmQogICAqYnVmX2lkID0gZGVzY3NbYXZhaWxfaWR4XS5pbmRleDsKICAg XgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjQxOToxODogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUKICAgKmJ1Zl9pZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7CiAg ICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MjE6MzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICBp ZiAoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RFU0NfRl9JTkRJUkVDVCkgewogICBe Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mt c2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6NDIxOjEyOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZQogICBpZiAoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RF U0NfRl9JTkRJUkVDVCkgewogICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIyOjQ6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWTigJkKICAgIGlmICh1bmxpa2VseShmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN0KGRl diwgdnEsCiAgICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0sz LjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mv aW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5U T1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NF TlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIzOjE0OiBlcnJvcjogZGVyZWZlcmVuY2lu ZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgICZkZXNjc1thdmFpbF9pZHhdLAog ICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlv bi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAj ZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQu OC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyODo0OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2Vk4oCZCiAgICAqbGVuICs9IGRlc2NzW2F2YWlsX2lkeF0ubGVuOwogICAgXgovdG1wL0NF TlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQyODoxNzogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBs ZXRlIHR5cGUKICAgICpsZW4gKz0gZGVzY3NbYXZhaWxfaWR4XS5sZW47CiAgICAgICAgICAgICAg ICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJy dGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICBpZiAodW5saWtlbHko bWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICBeCkluIGZpbGUgaW5j bHVkZWQgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAg ICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0 LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6 MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6NDMxOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZQogICAgICAgIGRlc2NzW2F2YWlsX2lkeF0uYWRkciwKICAgICAgICAgICAgIF4KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBk ZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9f YnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICBpZiAodW5s aWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICBeCkluIGZp bGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6 MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9v bC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQu OC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6NDMyOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZQogICAgICAgIGRlc2NzW2F2YWlsX2lkeF0ubGVuLAogICAgICAgICAgICAgXgov dG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHko eCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3OjM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgaWYg KChkZXNjc1thdmFpbF9pZHhdLmZsYWdzICYgVlJJTkdfREVTQ19GX05FWFQpID09IDApCiAgIF4K L3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1z aGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3ZpcnRpb19uZXQuYzo0Mzc6MTM6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlCiAgIGlmICgoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RF U0NfRl9ORVhUKSA9PSAwKQogICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQu OC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5j dGlvbiDigJhydGVfdmhvc3RfZGVxdWV1ZV9idXJzdOKAmToKL3RtcC9DRU5UT1NfSzMuMTAuMF9H Q0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoxMzc3 Ojc6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhhbGxvY19jb3B5X2luZF90YWJs ZeKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbZW5hYmxlZCBi eSBkZWZhdWx0XQogICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgXgov dG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjQxOjE6IG5vdGU6IGV4cGVjdGVkIOKAmHVpbnQ2NF904oCZIGJ1dCBh cmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjICrigJkKIGFsbG9jX2NvcHlf aW5kX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUg KnZxLAogXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzc6NzogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRz IHRvIGZ1bmN0aW9uIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZCiAgICAgICAmdnEtPmRlc2Nb ZGVzY19pbmRleGVzW2ldXSk7CiAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDE6MTogbm90ZTog ZGVjbGFyZWQgaGVyZQogYWxsb2NfY29weV9pbmRfdGFibGUoc3RydWN0IHZpcnRpb19uZXQgKmRl diwgc3RydWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsCiBeCgoqRmFpbGVkIEJ1aWxkICM1OgpPUzog VUIxNjA0ClRhcmdldDogaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjCiAgU1lNTElOSy1GSUxFIGlu Y2x1ZGUvcnRlX2lwX2ZyYWcuaAogIENDIHJ0ZV9pcHY0X2ZyYWdtZW50YXRpb24ubwogIENDIHZo b3N0X3VzZXIubwogIENDIHJ0ZV9pcHY2X2ZyYWdtZW50YXRpb24ubwovdG1wL1VCMTYwNF9LNC40 LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmM6IEluIGZ1bmN0 aW9uIOKAmHRyYW5zbGF0ZV9yaW5nX2FkZHJlc3Nlc+KAmToKL3RtcC9VQjE2MDRfSzQuNC4wX0dD QzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jOjQ3MzoyMTogd2Fybmlu ZzogY2FzdCB0byBwb2ludGVyIGZyb20gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdpbnQt dG8tcG9pbnRlci1jYXN0XQogICB2cS0+ZGVzY19wYWNrZWQgPSAoc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkICopIHJpbmdfYWRkcl90b192dmEKICAgICAgICAgICAgICAgICAgICAgXgogIENDIHJ0 ZV9pcHY0X3JlYXNzZW1ibHkubwogIENDIHJ0ZV9pcHY2X3JlYXNzZW1ibHkubwogIENDIHZpcnRp b19uZXQubwogIENDIHJ0ZV9pcF9mcmFnX2NvbW1vbi5vCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1 LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCY ZmlsbF92ZWNfYnVmX3BhY2tlZF9pbmRpcmVjdOKAmToKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUu NC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM1MjoxMzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rl c2NfcGFja2Vk4oCZCiAgZGxlbiA9IGRlc2MtPmxlbjsKICAgICAgICAgICAgIF4KL3RtcC9VQjE2 MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM3 MDozMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m4oCZIHRvIGluY29t cGxldGUgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICBucl9kZWNzID0gIGRl c2MtPmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MjozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2Yg dW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICpsZW4gKz0g ZGVzY3NbaV0ubGVuOwogICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL1VCMTYwNF9LNC40 LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3Nw aW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvVUIxNjA0X0s0LjQuMF9H Q0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9v bC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4w L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MzgsCiAg ICAgICAgICAgICAgICAgZnJvbSAvdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRp dmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4w L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzoxNjogd2FybmluZzogaW1w bGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYbWFwX29uZV9kZXNj4oCZIFstV2ltcGxp Y2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRl diwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0 LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDi gJh1bmxpa2VseeKAmQogI2RlZmluZSB1bmxpa2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgp LCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9VQjE2 MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4 MzozOiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmG1hcF9vbmVfZGVz Y+KAmSBbLVduZXN0ZWQtZXh0ZXJuc10KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYs IHZxLCBidWZfdmVjLCAmdmVjX2lkLAogICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6IGludmFsaWQg dXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1w L1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0 LmM6MzgzOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3Qg dnJpbmdfZGVzY19wYWNrZWTigJkKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvVUIxNjA0X0s0 LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf c3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQuNC4w X0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1w b29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40 LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwK ICAgICAgICAgICAgICAgICBmcm9tIC90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40 LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IEluIGZ1bmN0aW9uIOKAmGZp bGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6MTY6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGRlc2NfaXNfYXZhaWzigJkgWy1XaW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgaWYgKHVubGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1th dmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICAgICAgICAgICAgICAgIF4KL3RtcC9VQjE2MDRf SzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3Jv IOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEo eCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 NDA5OjI6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYZGVzY19pc19h dmFpbOKAmSBbLVduZXN0ZWQtZXh0ZXJuc10KICBpZiAodW5saWtlbHkoIWRlc2NfaXNfYXZhaWwo JmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogIF4KL3RtcC9VQjE2MDRfSzQuNC4w X0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOToyOiBlcnJv cjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2Vk4oCZCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0MTk6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAqYnVmX2lkID0gZGVzY3NbYXZhaWxf aWR4XS5pbmRleDsKICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIxOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgaWYgKGRlc2NzW2F2 YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfSU5ESVJFQ1QpIHsKICAgXgovdG1wL1VCMTYw NF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIy OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKICAgIGlmICh1bmxpa2VseShmaWxsX3ZlY19idWZfcGFja2VkX2luZGly ZWN0KGRldiwgdnEsCiAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0Mjg6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVu ZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgKmxlbiArPSBk ZXNjc1thdmFpbF9pZHhdLmxlbjsKICAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICBp ZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICBe Ci90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRp b19uZXQuYzo0MzA6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0 cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3OjM6IGVycm9yOiBpbnZhbGlkIHVz ZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgaWYg KChkZXNjc1thdmFpbF9pZHhdLmZsYWdzICYgVlJJTkdfREVTQ19GX05FWFQpID09IDApCiAgIF4K L3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOiBJbiBmdW5jdGlvbiDigJhydGVfdmhvc3RfZGVxdWV1ZV9idXJzdOKAmToKL3RtcC9V QjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5j OjEzNzc6Nzogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlfaW5k X3RhYmxl4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2lu dC1jb252ZXJzaW9uXQogICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAg XgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6NDE6MTogbm90ZTogZXhwZWN0ZWQg4oCYdWludDY0X3Qge2FrYSBsb25nIGxvbmcg dW5zaWduZWQgaW50feKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzYyAq4oCZCiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBz dHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwKIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4w L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzY6MTM6IGVycm9yOiB0b28g ZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhhbGxvY19jb3B5X2luZF90YWJsZeKAmQogICAg IGlkZXNjID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwKICAgICAgICAgICAgIF4KL3Rt cC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25l dC5jOjQxOjE6IG5vdGU6IGRlY2xhcmVkIGhlcmUKIGFsbG9jX2NvcHlfaW5kX3RhYmxlKHN0cnVj dCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLAogXgovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1r OjExNDogcmVjaXBlIGZvciB0YXJnZXQgJ3ZpcnRpb19uZXQubycgZmFpbGVkCm1ha2VbNV06ICoq KiBbdmlydGlvX25ldC5vXSBFcnJvciAxCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9tay9ydGUuc3ViZGlyLm1rOjM1OiByZWNpcGUgZm9yIHRhcmdldCAnbGlicnRlX3Zob3N0JyBm YWlsZWQKbWFrZVs0XTogKioqIFtsaWJydGVfdmhvc3RdIEVycm9yIDIKbWFrZVs0XTogKioqIFdh aXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KICBDQyBpcF9mcmFnX2ludGVybmFsLm8KICBB UiBsaWJydGVfaXBfZnJhZy5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX2lwX2ZyYWcuYQovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka2J1aWxkLm1rOjQ5OiByZWNpcGUg Zm9yIHRhcmdldCAnbGliJyBmYWlsZWQKbWFrZVszXTogKioqIFtsaWJdIEVycm9yIDIKL3RtcC9V QjE2MDRfSzQuNC4wX0dDQzUuNC4wL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjEwMDogcmVjaXBl IGZvciB0YXJnZXQgJ2FsbCcgZmFpbGVkCm1ha2VbMl06ICoqKiBbYWxsXSBFcnJvciAyCi90bXAv VUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo1NzogcmVj aXBlIGZvciB0YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKbWFrZVsxXTogKioqIFtwcmVfaW5z dGFsbF0gRXJyb3IgMgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAvaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNk a3Jvb3QubWs6Nzk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdpbnN0YWxsJyBmYWlsZWQKbWFrZTogKioq IFtpbnN0YWxsXSBFcnJvciAyCgoqRmFpbGVkIEJ1aWxkICM2OgpPUzogQ0VOVE9TClRhcmdldDog eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZwogIENDIHZob3N0X3VzZXIubwogIENDIHJ0ZV9p cHY2X2ZyYWdtZW50YXRpb24ubwogIENDIHJ0ZV9pcHY0X3JlYXNzZW1ibHkubwogIENDIHZpcnRp b19uZXQubwogIENDIHJ0ZV9pcHY2X3JlYXNzZW1ibHkubwovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNTI6MTM6IGVy cm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2VkJwogICAgICAgIGRsZW4gPSBkZXNjLT5sZW47CiAgICAgICAgICAgICAgIH5+fn5eCi90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3Qu aDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2Nf cGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0 LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzU0OjM0OiBlcnJv cjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZCcKICAgICAgICAgICAgICAgIHZob3N0X2lvdmFfdG9fdnZhKGRldiwgdnEsIGRlc2MtPmFkZHIs ICZkbGVuLCBWSE9TVF9BQ0NFU1NfUk8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fl4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9u IG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJp bmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgov dG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zp cnRpb19uZXQuYzozNTg6MjY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAn c3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgIGlmICh1bmxpa2VseShkbGVuIDwgZGVz Yy0+bGVuKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL3RtcC9DRU5UT1Nf SzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9p bmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBleHBhbmRlZCBmcm9t IG1hY3JvICd1bmxpa2VseScKI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVj dCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAg KmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAu MF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzYzOjQ2 OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNj X3BhY2tlZCcKICAgICAgICAgICAgICAgIGlkZXNjcyA9IGFsbG9jX2NvcHlfaW5kX3RhYmxlKGRl diwgdnEsIGRlc2MtPmFkZHIsIGRlc2MtPmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAg ICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM3MDoxNzogZXJyb3I6IGluY29tcGxldGUgZGVm aW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgbnJfZGVj cyA9ICBkZXNjLT5sZW4gLyBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkKTsKICAgICAg ICAgICAgICAgICAgIH5+fn5eCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlv biBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZy aW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4K ICBDQyBydGVfaXBfZnJhZ19jb21tb24ubwovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNzA6MjU6IGVycm9yOiBpbnZh bGlkIGFwcGxpY2F0aW9uIG9mICdzaXplb2YnIHRvIGFuIGluY29tcGxldGUgdHlwZSAnc3RydWN0 IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgIG5yX2RlY3MgPSAgZGVzYy0+bGVuIC8gc2l6ZW9m KHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBeICAgICB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAg ICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MjoxNjogZXJyb3I6IHN1YnNjcmlwdCBvZiBw b2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAg ICAgICAgICAgICAgKmxlbiArPSBkZXNjc1tpXS5sZW47CiAgICAgICAgICAgICAgICAgICAgICAg IH5+fn5+XgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5j OjM4MzoxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24gJ21hcF9v bmVfZGVzYycgaXMgaW52YWxpZCBpbiBDOTkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRp b25dCiAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1 Zl92ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5n L2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGV4cGFuZGVkIGZy b20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhw ZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNs YW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9z dC92aXJ0aW9fbmV0LmM6Mzg0OjEyOiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5j b21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NzW2ldLmFkZHIsIGRlc2NzW2ldLmxl biwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5e Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9f YnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19k ZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOjM0NDo1NTogd2FybmluZzogdW51c2VkIHBhcmFtZXRlciAncGVybScgWy1XdW51c2Vk LXBhcmFtZXRlcl0KICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGJ1Zl92ZWN0b3IgKmJ1 Zl92ZWMsIHVpbnQxNl90ICpsZW4sIHVpbnQ4X3QgcGVybSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgov dG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zp cnRpb19uZXQuYzo0MDk6MTY6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0 aW9uICdkZXNjX2lzX2F2YWlsJyBpcyBpbnZhbGlkIGluIEM5OSBbLVdpbXBsaWNpdC1mdW5jdGlv bi1kZWNsYXJhdGlvbl0KICAgICAgICBpZiAodW5saWtlbHkoIWRlc2NfaXNfYXZhaWwoJmRlc2Nz W2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAgICAgICAgICAgICAgICAgXgovdG1w L0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGV4cGFu ZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0 aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDA5OjM2OiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgaWYg KHVubGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIp KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgovdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5n L2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGV4cGFuZGVkIGZy b20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhw ZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNs YW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9z dC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJp bmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQg ICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4x MC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MTk6 MTg6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVj dCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgICpidWZfaWQgPSBkZXNjc1thdmFp bF9pZHhdLmluZGV4OwogICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgovdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6 MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tl ZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyMToxMjogZXJyb3I6IHN1 YnNjcmlwdCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkJwogICAgICAgICAgICAgICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklO R19ERVNDX0ZfSU5ESVJFQ1QpIHsKICAgICAgICAgICAgICAgICAgICB+fn5+fl4KL3RtcC9DRU5U T1NfSzMuMTAuMF9HQ0M0LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4 OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNr ZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41 L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MjM6MTQ6IGVycm9yOiBz dWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNj X3BhY2tlZCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZGVzY3NbYXZhaWxfaWR4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVf YnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAndW5s aWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6 MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tl ZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyODoxNzogZXJyb3I6IHN1 YnNjcmlwdCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkJwogICAgICAgICAgICAgICAgICAgICAgICAqbGVuICs9IGRlc2NzW2F2YWlsX2lkeF0u bGVuOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgovdG1wL0NFTlRPU19L My4xMC4wX0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6 IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcK ICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsK ICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMToxMzogZXJyb3I6IHN1YnNj cmlwdCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2VkJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRlc2NzW2F2YWlsX2lkeF0uYWRkciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fl4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0 LjguNS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9i cmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd1bmxp a2VseScKI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODox MDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk JwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2Vk OwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3OjEzOiBlcnJvcjogc3Vi c2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWQnCiAgICAgICAgICAgICAgICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklO R19ERVNDX0ZfTkVYVCkgPT0gMCkKICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4 ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFj a2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDAwOjQ2OiB3YXJuaW5n OiB1bnVzZWQgcGFyYW1ldGVyICdwZXJtJyBbLVd1bnVzZWQtcGFyYW1ldGVyXQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHVpbnQxNl90ICpidWZfaWQsIHVpbnQxNl90ICpsZW4sIHVp bnQ4X3QgcGVybSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MTM3NzozMzogZXJyb3I6 IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIGNhbGwsIGV4cGVjdGVkIDQsIGhhdmUgMwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmdnEtPmRlc2Nb ZGVzY19pbmRleGVzW2ldXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4w X0dDQzQuOC41L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDoxOiBu b3RlOiAnYWxsb2NfY29weV9pbmRfdGFibGUnIGRlY2xhcmVkIGhlcmUKc3RhdGljIF9fcnRlX2Fs d2F5c19pbmxpbmUgdm9pZCAqCl4KNCB3YXJuaW5ncyBhbmQgMTYgZXJyb3JzIGdlbmVyYXRlZC4K bWFrZVs1XTogKioqIFt2aXJ0aW9fbmV0Lm9dIEVycm9yIDEKbWFrZVs0XTogKioqIFtsaWJydGVf dmhvc3RdIEVycm9yIDIKbWFrZVs0XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4u Li4KICBDQyBpcF9mcmFnX2ludGVybmFsLm8KICBBUiBsaWJydGVfaXBfZnJhZy5hCgoqRmFpbGVk IEJ1aWxkICM3OgpPUzogVUIxNjA0ClRhcmdldDogeDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu ZwogIENDIHZob3N0X3VzZXIubwogIEFSIGxpYnJ0ZV9ldmVudGRldi5hCiAgSU5TVEFMTC1MSUIg bGlicnRlX2V2ZW50ZGV2LmEKICBDQyB2aXJ0aW9fbmV0Lm8KICBDQyB2ZHBhLm8KL3RtcC9VQjE2 MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozNTI6MTM6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZy aW5nX2Rlc2NfcGFja2VkJwogICAgICAgIGRsZW4gPSBkZXNjLT5sZW47CiAgICAgICAgICAgICAg IH5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg dnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9L NC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM1 NDozNDogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICB2aG9zdF9pb3ZhX3RvX3Z2YShkZXYsIHZxLCBk ZXNjLT5hZGRyLCAmZGxlbiwgVkhPU1RfQUNDRVNTX1JPKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBz dHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAg ICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjM1ODoyNjogZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBv ZiB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgaWYgKHVubGlrZWx5KGRs ZW4gPCBkZXNjLT5sZW4pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+XgovdG1w L1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRp bl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0 IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9VQjE2MDRf SzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoz NjM6NDY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgaWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFi bGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+bGVuKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi90bXAvVUIxNjA0X0s0LjQu MF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAg ICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAg ICAgICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM2Mzo1ODogZXJyb3I6IGluY29tcGxldGUg ZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAg ICAgICBpZGVzY3MgPSBhbGxvY19jb3B5X2luZF90YWJsZShkZXYsIHZxLCBkZXNjLT5hZGRyLCBk ZXNjLT5sZW4pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0 cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAg ICAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6MzcwOjE3OiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0aW9uIG9m IHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICBucl9kZWNzID0gIGRlc2Mt PmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAgICAgICAg ICAgfn5+fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0 X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 MzcwOjI1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiAnc2l6ZW9mJyB0byBhbiBpbmNv bXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICBucl9kZWNzID0g IGRlc2MtPmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KL3Rt cC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0 Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNj X3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNj X3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1 LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjE2OiBlcnJv cjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICAqbGVuICs9IGRlc2NzW2ldLmxlbjsKICAgICAg ICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xh cmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1 Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAg ICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjM4MzoxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2Yg ZnVuY3Rpb24gJ21hcF9vbmVfZGVzYycgaXMgaW52YWxpZCBpbiBDOTkgWy1XaW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgICAgICAgICAgICAgICBpZiAodW5saWtlbHkobWFwX29uZV9k ZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjM4NDoxMjogZXJyb3I6IHN1YnNjcmlwdCBvZiBwb2ludGVyIHRvIGlu Y29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjc1tpXS5hZGRyLCBkZXNjc1tpXS5s ZW4sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ XgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTog ZXhwYW5kZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9f YnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAn c3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rl c2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9V QjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzozODQ6Mjc6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGVzY3NbaV0uYWRkciwgZGVzY3NbaV0ubGVuLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+ fn5+fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5v dGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAg ICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmlu Z19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90 bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6NDA5OjE2OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlv biAnZGVzY19pc19hdmFpbCcgaXMgaW52YWxpZCBpbiBDOTkgWy1XaW1wbGljaXQtZnVuY3Rpb24t ZGVjbGFyYXRpb25dCiAgICAgICAgaWYgKHVubGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1th dmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9V QjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19u ZXQuYzo0MDk6MzY6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5 cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICBpZiAodW5saWtlbHkoIWRlc2Nf aXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQu MC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9icmFu Y2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd1bmxpa2Vs eScKI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0 LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAg ICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAg ICAgICAgICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOToxODogZXJyb3I6IHN1YnNjcmlw dCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk JwogICAgICAgICAgICAgICAgKmJ1Zl9pZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBz dHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAg ICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjQyMToxMjogZXJyb3I6IHN1YnNjcmlwdCBvZiBwb2ludGVyIHRv IGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAg ICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfSU5ESVJFQ1QpIHsK ICAgICAgICAgICAgICAgICAgICB+fn5+fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVj bGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0 cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAg ICAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6NDIzOjE0OiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmRlc2NzW2F2YWlsX2lk eF0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5+XgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0 MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHko eCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0 IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAg IF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xh bmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0Mjg6MTc6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgICAg ICAgICAgKmxlbiArPSBkZXNjc1thdmFpbF9pZHhdLmxlbjsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24g b2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmlu Z19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90 bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6NDMxOjEzOiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0 ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3NbYXZhaWxfaWR4XS5hZGRyLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+ fn5+XgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1j bGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90 ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAg IF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3Rt cC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRp b19uZXQuYzo0MzI6MTM6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRl IHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjc1thdmFpbF9pZHhdLmxlbiwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+ fl4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xh bmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6 IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAgICBf X2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2Yg J3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19k ZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAv VUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6NDM3OjEzOiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBpZiAoKGRlc2Nz W2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfTkVYVCkgPT0gMCkKICAgICAgICAgICAg ICAgICAgICAgfn5+fn5eCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1w L1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOjEzNzc6MzM6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiBjYWxs LCBleHBlY3RlZCA0LCBoYXZlIDMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xh bmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0MDoxOiBub3RlOiAnYWxsb2NfY29weV9pbmRfdGFibGUnIGRlY2xhcmVk IGhlcmUKc3RhdGljIF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZCAqCl4KMiB3YXJuaW5ncyBhbmQg MTkgZXJyb3JzIGdlbmVyYXRlZC4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6MTE0OiByZWNpcGUgZm9yIHRhcmdldCAn dmlydGlvX25ldC5vJyBmYWlsZWQKbWFrZVs1XTogKioqIFt2aXJ0aW9fbmV0Lm9dIEVycm9yIDEK bWFrZVs1XTogKioqIFdhaXRpbmcgZm9yIHVuZmluaXNoZWQgam9icy4uLi4KPT0gQnVpbGQgbGli L2xpYnJ0ZV9pcF9mcmFnCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsv cnRlLnN1YmRpci5tazozNTogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV92aG9zdCcgZmFpbGVk Cm1ha2VbNF06ICoqKiBbbGlicnRlX3Zob3N0XSBFcnJvciAyCm1ha2VbNF06ICoqKiBXYWl0aW5n IGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgU1lNTElOSy1GSUxFIGluY2x1ZGUvcnRlX2lwX2Zy YWcuaAogIENDIHJ0ZV9pcHY0X2ZyYWdtZW50YXRpb24ubwogIENDIHJ0ZV9pcHY2X2ZyYWdtZW50 YXRpb24ubwotLQogIENDIHJ0ZV9pcHY2X3JlYXNzZW1ibHkubwogIENDIHJ0ZV9pcF9mcmFnX2Nv bW1vbi5vCiAgQ0MgaXBfZnJhZ19pbnRlcm5hbC5vCiAgQVIgbGlicnRlX2lwX2ZyYWcuYQogIElO U1RBTEwtTElCIGxpYnJ0ZV9pcF9mcmFnLmEKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9tay9ydGUuc2RrYnVpbGQubWs6NDk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZh aWxlZAptYWtlWzNdOiAqKiogW2xpYl0gRXJyb3IgMgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40 LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjEwMDogcmVjaXBlIGZvciB0YXJnZXQgJ2Fs bCcgZmFpbGVkCm1ha2VbMl06ICoqKiBbYWxsXSBFcnJvciAyCi90bXAvVUIxNjA0X0s0LjQuMF9H Q0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka2luc3RhbGwubWs6NTc6IHJlY2lwZSBmb3IgdGFy Z2V0ICdwcmVfaW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06ICoqKiBbcHJlX2luc3RhbGxdIEVycm9y IDIKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xh bmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2Rrcm9vdC5t azo3OTogcmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAptYWtlOiAqKiogW2luc3Rh bGxdIEVycm9yIDIKCipGYWlsZWQgQnVpbGQgIzg6Ck9TOiBDRU5UT1MKVGFyZ2V0OiBpNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MKICBDQyBzb2NrZXQubwogIENDIHJ0ZV9ldmVudF9jcnlwdG9fYWRh cHRlci5vCiAgQ0Mgdmhvc3QubwogIENDIHZob3N0X3VzZXIubwovdG1wL0NFTlRPU19LMy4xMC4w X0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgz ZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3RfdXNlci5jOiBJbiBmdW5jdGlv biDigJh0cmFuc2xhdGVfcmluZ19hZGRyZXNzZXPigJk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdF91c2VyLmM6NDczOjIxOiB3YXJuaW5n OiBjYXN0IHRvIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIG9mIGRpZmZlcmVudCBzaXplIFstV2ludC10 by1wb2ludGVyLWNhc3RdCiAgIHZxLT5kZXNjX3BhY2tlZCA9IChzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWQgKikgcmluZ19hZGRyX3RvX3Z2YQogICAgICAgICAgICAgICAgICAgICBeCiAgQVIgbGli cnRlX2V2ZW50ZGV2LmEKICBJTlNUQUxMLUxJQiBsaWJydGVfZXZlbnRkZXYuYQo9PSBCdWlsZCBs aWIvbGlicnRlX2lwX2ZyYWcKICBTWU1MSU5LLUZJTEUgaW5jbHVkZS9ydGVfaXBfZnJhZy5oCiAg Q0MgcnRlX2lwdjRfZnJhZ21lbnRhdGlvbi5vCiAgQ0MgdmlydGlvX25ldC5vCi90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IElu IGZ1bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWRfaW5kaXJlY3TigJk6Ci90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzUy OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIGRs ZW4gPSBkZXNjLT5sZW47CiAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzU0OjM0OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICB2aG9zdF9pb3ZhX3RvX3Z2 YShkZXYsIHZxLCBkZXNjLT5hZGRyLCAmZGxlbiwgVkhPU1RfQUNDRVNTX1JPKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1 ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9T X0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUv cnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEw LjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21i dWYuaDozOCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9DRU5UT1NfSzMu MTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNTg6MjY6 IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgaWYgKHVu bGlrZWx5KGRsZW4gPCBkZXNjLT5sZW4pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgXgov dG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0 aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRp bl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmlydGlvX25ldC5jOjM2Mzo0NjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUKICAgaWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwgZGVz Yy0+YWRkciwgZGVzYy0+bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzozNjM6NTg6IGVycm9yOiBkZXJlZmVyZW5jaW5nIHBvaW50ZXIg dG8gaW5jb21wbGV0ZSB0eXBlCiAgIGlkZXNjcyA9IGFsbG9jX2NvcHlfaW5kX3RhYmxlKGRldiwg dnEsIGRlc2MtPmFkZHIsIGRlc2MtPmxlbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzcwOjE3OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogIG5yX2RlY3MgPSAgZGVzYy0+ bGVuIC8gc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCk7CiAgICAgICAgICAgICAgICAg XgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjM3MDozMjogZXJyb3I6IGludmFsaWQgYXBwbGljYXRpb24gb2Yg4oCYc2l6ZW9m 4oCZIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICBu cl9kZWNzID0gIGRlc2MtPmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQpOwog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0 LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODI6MzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKA mQogICAqbGVuICs9IGRlc2NzW2ldLmxlbjsKICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQu OC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MjoxNjogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgKmxlbiArPSBkZXNjc1tp XS5sZW47CiAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IHdhcm5pbmc6IGltcGxpY2l0 IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmG1hcF9vbmVfZGVzY+KAmSBbLVdpbXBsaWNpdC1m dW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZx LCBidWZfdmVjLCAmdmVjX2lkLAogICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IHdhcm5pbmc6IG5lc3RlZCBl eHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYbWFwX29uZV9kZXNj4oCZIFstV25lc3RlZC1leHRlcm5z XQovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjM4MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NF TlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNs dWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRP U19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRl L3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4x MC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t YnVmLmg6MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQu OC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0sz LjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6Mzg0OjEy OiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAg ZGVzY3NbaV0uYWRkciwgZGVzY3NbaV0ubGVuLAogICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0sz LjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRl X2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g 4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4 KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 MzgzOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJp bmdfZGVzY19wYWNrZWTigJkKICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBi dWZfdmVjLCAmdmVjX2lkLAogICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NFTlRPU19L My4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0 ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4x MC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9t ZW1wb29sLmg6NDQsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6 MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBf R0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6Mzg0OjI3OiBlcnJv cjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgZGVzY3Nb aV0uYWRkciwgZGVzY3NbaV0ubGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAv Q0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4 cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6IEluIGZ1bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 NDA5OjI6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGRlc2Nf aXNfYXZhaWzigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgaWYgKHVubGlr ZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICBe Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6NDA5OjI6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCY ZGVzY19pc19hdmFpbOKAmSBbLVduZXN0ZWQtZXh0ZXJuc10KL3RtcC9DRU5UT1NfSzMuMTAuMF9H Q0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6MjogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfc3BpbmxvY2suaDoxNTow LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAg ICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAg ICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQwOTozNjogZXJyb3I6IGRlcmVmZXJlbmNpbmcg cG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICBpZiAodW5saWtlbHkoIWRlc2NfaXNfYXZhaWwo JmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5s aWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDE5OjM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgKmJ1Zl9p ZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7CiAgIF4KL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0 LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MTk6MTg6IGVycm9yOiBk ZXJlZmVyZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICpidWZfaWQgPSBkZXNj c1thdmFpbF9pZHhdLmluZGV4OwogICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEw LjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIxOjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfSU5E SVJFQ1QpIHsKICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJy dGVfdmhvc3QvdmlydGlvX25ldC5jOjQyMToxMjogZXJyb3I6IGRlcmVmZXJlbmNpbmcgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklO R19ERVNDX0ZfSU5ESVJFQ1QpIHsKICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dD QzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyMjo0OiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk 4oCZCiAgICBpZiAodW5saWtlbHkoZmlsbF92ZWNfYnVmX3BhY2tlZF9pbmRpcmVjdChkZXYsIHZx LAogICAgXgpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0Ljgu NS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfc3BpbmxvY2suaDox NTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAog ICAgICAgICAgICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9p Njg2LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWJ1Zi5oOjM4LAogICAgICAgICAg ICAgICAgIGZyb20gL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYt bmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyMzoxNDogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUKICAgICAgICAmZGVzY3NbYXZhaWxfaWR4XSwK ICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6 IG5vdGU6IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5s aWtlbHkoeCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDI4OjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgICpsZW4g Kz0gZGVzY3NbYXZhaWxfaWR4XS5sZW47CiAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDI4OjE3OiBlcnJvcjogZGVy ZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgKmxlbiArPSBkZXNjc1th dmFpbF9pZHhdLmxlbjsKICAgICAgICAgICAgICAgICBeCi90bXAvQ0VOVE9TX0szLjEwLjBfR0ND NC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMwOjQ6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTi gJkKICAgIGlmICh1bmxpa2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19p ZCwKICAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44 LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6 MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUv aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwK ICAgICAgICAgICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv aTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAg ICAgICAgICBmcm9tIC90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9DRU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2 LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MzE6MTM6IGVycm9yOiBkZXJlZmVyZW5j aW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlCiAgICAgICAgZGVzY3NbYXZhaWxfaWR4XS5h ZGRyLAogICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4 OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5l IHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxpZCB1 c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICBp ZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICBe CkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYt bmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAg ICAgICAgICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2 ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tZW1wb29sLmg6NDQsCiAgICAgICAg ICAgICAgICAgZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MzgsCiAgICAgICAgICAgICAgICAg ZnJvbSAvdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmlydGlvX25ldC5jOjk6Ci90bXAvQ0VOVE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMyOjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2lu dGVyIHRvIGluY29tcGxldGUgdHlwZQogICAgICAgIGRlc2NzW2F2YWlsX2lkeF0ubGVuLAogICAg ICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4 YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2k2ODYtbmF0aXZl LWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3Rl OiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5 KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZl LWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzNzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5k ZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgIGlmICgoZGVzY3Nb YXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhUKSA9PSAwKQogICBeCi90bXAvQ0VO VE9TX0szLjEwLjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 NDM3OjEzOiBlcnJvcjogZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZQog ICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfTkVYVCkgPT0gMCkK ICAgICAgICAgICAgIF4KICBDQyBydGVfaXB2Nl9mcmFnbWVudGF0aW9uLm8KL3RtcC9DRU5UT1Nf SzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4g ZnVuY3Rpb24g4oCYcnRlX3Zob3N0X2RlcXVldWVfYnVyc3TigJk6Ci90bXAvQ0VOVE9TX0szLjEw LjBfR0NDNC44LjUvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MTM3Nzo3OiB3 YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYYWxsb2NfY29weV9pbmRfdGFibGXigJkg bWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgW2VuYWJsZWQgYnkgZGVm YXVsdF0KICAgICAgICZ2cS0+ZGVzY1tkZXNjX2luZGV4ZXNbaV1dKTsKICAgICAgIF4KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MToxOiBub3RlOiBleHBlY3RlZCDigJh1aW50NjRfdOKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzYyAq4oCZCiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1 Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwKIF4KL3RtcC9D RU5UT1NfSzMuMTAuMF9HQ0M0LjguNS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzoxMzc3Ojc6IGVycm9yOiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhhbGxvY19j b3B5X2luZF90YWJsZeKAmQogICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAg ICAgXgovdG1wL0NFTlRPU19LMy4xMC4wX0dDQzQuOC41L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmlydGlvX25ldC5jOjQxOjE6IG5vdGU6IGRlY2xhcmVkIGhlcmUKIGFsbG9jX2NvcHlfaW5kX3Rh YmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVldWUgKnZxLAog XgoKKkZhaWxlZCBCdWlsZCAjOToKT1M6IFVCMTYwNApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZAogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9pcF9mcmFnLmgKICBD QyBydGVfaXB2NF9mcmFnbWVudGF0aW9uLm8KICBDQyBydGVfaXB2Nl9mcmFnbWVudGF0aW9uLm8K ICBDQyB2aXJ0aW9fbmV0Lm8KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDigJhmaWxsX3Zl Y19idWZfcGFja2VkX2luZGlyZWN04oCZOgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzUyOjEzOiBlcnJvcjog ZGVyZWZlcmVuY2luZyBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKICBkbGVuID0gZGVzYy0+bGVuOwogICAgICAgICAgICAgXgovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6MzcwOjMyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bi gJkgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogIG5y X2RlY3MgPSAgZGVzYy0+bGVuIC8gc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCk7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40 LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWTigJkKICAgKmxlbiArPSBkZXNjc1tpXS5sZW47CiAgIF4KSW4gZmlsZSBpbmNsdWRlZCBm cm9tIC90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAg ICAgICAgZnJvbSAvdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAgICAg ICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAg ICAgICAgICAgICBmcm9tIC90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL1VCMTYwNF9LNC40LjBfR0ND NS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjE2 OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhtYXBfb25lX2Rl c2PigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgIGlmICh1bmxpa2VseSht YXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgICAgICAgICAgICAgIF4K L3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6 IGluIGRlZmluaXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHko eCkgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6Mzogd2FybmluZzogbmVzdGVkIGV4 dGVybiBkZWNsYXJhdGlvbiBvZiDigJhtYXBfb25lX2Rlc2PigJkgWy1XbmVzdGVkLWV4dGVybnNd CiAgIGlmICh1bmxpa2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwK ICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmlu ZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKL3RtcC9VQjE2MDRfSzQuNC4w X0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0 NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4 MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5n X2Rlc2NfcGFja2Vk4oCZCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL1VCMTYwNF9LNC40LjBf R0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVk ZS9ydGVfc3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9VQjE2MDRf SzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj L2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvVUIx NjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6OToKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDigJhmaWxsX3ZlY19idWZf cGFja2Vk4oCZOgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDA5OjE2OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNs YXJhdGlvbiBvZiBmdW5jdGlvbiDigJhkZXNjX2lzX2F2YWls4oCZIFstV2ltcGxpY2l0LWZ1bmN0 aW9uLWRlY2xhcmF0aW9uXQogIGlmICh1bmxpa2VseSghZGVzY19pc19hdmFpbCgmZGVzY3NbYXZh aWxfaWR4XSwgd3JhcF9jb3VudGVyKSkpCiAgICAgICAgICAgICAgICBeCi90bXAvVUIxNjA0X0s0 LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9p bmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9u IG9mIG1hY3JvIOKAmHVubGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9l eHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mt c2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6NDA5OjI6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRp b24gb2Yg4oCYZGVzY19pc19hdmFpbOKAmSBbLVduZXN0ZWQtZXh0ZXJuc10KICBpZiAodW5saWtl bHkoIWRlc2NfaXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogIF4K L3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjQwOToyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1 LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MTk6Mzog ZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNj X3BhY2tlZOKAmQogICAqYnVmX2lkID0gZGVzY3NbYXZhaWxfaWR4XS5pbmRleDsKICAgXgovdG1w L1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6NDIxOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDi gJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxh Z3MgJiBWUklOR19ERVNDX0ZfSU5ESVJFQ1QpIHsKICAgXgovdG1wL1VCMTYwNF9LNC40LjBfR0ND NS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIyOjQ6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVz Y19wYWNrZWTigJkKICAgIGlmICh1bmxpa2VseShmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN0 KGRldiwgdnEsCiAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0Mjg6NDogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgKmxl biArPSBkZXNjc1thdmFpbF9pZHhdLmxlbjsKICAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUu NC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzMDo0OiBl cnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2Vk4oCZCiAgICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92ZWMs ICZ2ZWNfaWQsCiAgICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MzA6NDogZXJyb3I6IGludmFsaWQgdXNl IG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6NDM3OjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhz dHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgaWYgKChkZXNjc1thdmFpbF9pZHhdLmZsYWdz ICYgVlJJTkdfREVTQ19GX05FWFQpID09IDApCiAgIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUu NC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5j dGlvbiDigJhydGVfdmhvc3RfZGVxdWV1ZV9idXJzdOKAmToKL3RtcC9VQjE2MDRfSzQuNC4wX0dD QzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzc6 Nzogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl 4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252 ZXJzaW9uXQogICAgICAgJnZxLT5kZXNjW2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgXgovdG1w L1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6NDE6MTogbm90ZTogZXhwZWN0ZWQg4oCYdWludDY0X3Qge2FrYSBsb25nIHVu c2lnbmVkIGludH3igJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rl c2MgKuKAmQogYWxsb2NfY29weV9pbmRfdGFibGUoc3RydWN0IHZpcnRpb19uZXQgKmRldiwgc3Ry dWN0IHZob3N0X3ZpcnRxdWV1ZSAqdnEsCiBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoxMzc2OjEzOiBlcnJv cjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYYWxsb2NfY29weV9pbmRfdGFibGXi gJkKICAgICBpZGVzYyA9IGFsbG9jX2NvcHlfaW5kX3RhYmxlKGRldiwgdnEsCiAgICAgICAgICAg ICBeCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3RlOiBkZWNsYXJlZCBoZXJlCiBhbGxvY19jb3B5 X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVl ICp2cSwKIF4KL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL2lu dGVybmFsL3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICd2aXJ0aW9f bmV0Lm8nIGZhaWxlZAptYWtlWzVdOiAqKiogW3ZpcnRpb19uZXQub10gRXJyb3IgMQovdG1wL1VC MTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnN1YmRpci5tazozNTog cmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV92aG9zdCcgZmFpbGVkCm1ha2VbNF06ICoqKiBbbGli cnRlX3Zob3N0XSBFcnJvciAyCm1ha2VbNF06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpv YnMuLi4uCiAgQ0MgcnRlX2lwdjRfcmVhc3NlbWJseS5vCiAgQ0MgcnRlX2lwdjZfcmVhc3NlbWJs eS5vCiAgQ0MgcnRlX2lwX2ZyYWdfY29tbW9uLm8KICBDQyBpcF9mcmFnX2ludGVybmFsLm8KICBM RCBsaWJydGVfaXBfZnJhZy5zby4xLjEKICBJTlNUQUxMLUxJQiBsaWJydGVfaXBfZnJhZy5zby4x LjEKL3RtcC9VQjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGti dWlsZC5tazo0OTogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVkCm1ha2VbM106ICoqKiBb bGliXSBFcnJvciAyCi90bXAvVUIxNjA0X0s0LjQuMF9HQ0M1LjQuMC94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9t ay9ydGUuc2Rrcm9vdC5tazoxMDA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAptYWtl WzJdOiAqKiogW2FsbF0gRXJyb3IgMgovdG1wL1VCMTYwNF9LNC40LjBfR0NDNS40LjAveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbWsvcnRlLnNka2luc3RhbGwubWs6NTc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdwcmVf aW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06ICoqKiBbcHJlX2luc3RhbGxdIEVycm9yIDIKL3RtcC9V QjE2MDRfSzQuNC4wX0dDQzUuNC4wL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc5 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCm1ha2U6ICoqKiBbaW5zdGFsbF0g RXJyb3IgMgoKKkZhaWxlZCBCdWlsZCAjMTA6Ck9TOiBGQzI1ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MtZGVidWcKICBJTlNUQUxMLUxJQiBsaWJydGVfaXBfZnJhZy5hCj09IEJ1 aWxkIGxpYi9saWJydGVfZ3JvCiAgQ0MgdmlydGlvX25ldC5vCiAgU1lNTElOSy1GSUxFIGluY2x1 ZGUvcnRlX2dyby5oCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCYZmlsbF92ZWNfYnVmX3Bh Y2tlZF9pbmRpcmVjdOKAmToKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM1MjoxMzogZXJyb3I6IGRlcmVmZXJlbmNp bmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk 4oCZCiAgZGxlbiA9IGRlc2MtPmxlbjsKICAgICAgICAgICAgIF5+Ci90bXAvRkMyNV9LNC44LjZf R0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNzA6 MzI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBpbmNvbXBs ZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgbnJfZGVjcyA9ICBkZXNj LT5sZW4gLyBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkKTsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBefn5+fn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MjozOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAg ICpsZW4gKz0gZGVzY3NbaV0ubGVuOwogICBeCkluIGZpbGUgaW5jbHVkZWQgZnJvbSAvdG1wL0ZD MjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1n Y2MvaW5jbHVkZS9ydGVfc3BpbmxvY2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3Rt cC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90 bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy9pbmNsdWRlL3J0ZV9tYnVmLmg6MzgsCiAgICAgICAgICAgICAgICAgZnJvbSAvdG1w L0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnLzBm NGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0 aW9fbmV0LmM6OToKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzoxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFy YXRpb24gb2YgZnVuY3Rpb24g4oCYbWFwX29uZV9kZXNj4oCZIFstV2ltcGxpY2l0LWZ1bmN0aW9u LWRlY2xhcmF0aW9uXQogICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRldiwgdnEsIGJ1Zl92 ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICBeCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFu Y2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVu bGlrZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjVfSzQu OC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 MzgzOjM6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2Yg4oCYbWFwX29uZV9k ZXNj4oCZIFstV25lc3RlZC1leHRlcm5zXQogICBpZiAodW5saWtlbHkobWFwX29uZV9kZXNjKGRl diwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgIF5+Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZOKAmQovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQg dHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVi dWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9zcGlubG9jay5oOjE1OjAsCiAgICAgICAgICAgICAgICAg ZnJvbSAvdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2Nj LWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfbWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAg IGZyb20gL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAgICAgICBm cm9tIC90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mt ZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3ZpcnRpb19uZXQuYzo5OgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6IEluIGZ1bmN0aW9uIOKAmGZpbGxfdmVj X2J1Zl9wYWNrZWTigJk6Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6MTY6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGRlc2NfaXNfYXZhaWzigJkgWy1XaW1wbGljaXQtZnVu Y3Rpb24tZGVjbGFyYXRpb25dCiAgaWYgKHVubGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1th dmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkKICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI1X0s0 LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMx ZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjL2lu Y2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmluaXRpb24g b2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWlsdGluX2V4 cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBe Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVi dWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0MDk6Mjogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBv ZiDigJhkZXNjX2lzX2F2YWls4oCZIFstV25lc3RlZC1leHRlcm5zXQogIGlmICh1bmxpa2VseSgh ZGVzY19pc19hdmFpbCgmZGVzY3NbYXZhaWxfaWR4XSwgd3JhcF9jb3VudGVyKSkpCiAgXn4KL3Rt cC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQwOToyOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MTk6MzogZXJyb3I6IGlu dmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKA mQogICAqYnVmX2lkID0gZGVzY3NbYXZhaWxfaWR4XS5pbmRleDsKICAgXgovdG1wL0ZDMjVfSzQu OC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6 NDIxOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJp bmdfZGVzY19wYWNrZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19E RVNDX0ZfSU5ESVJFQ1QpIHsKICAgXn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQyMjo0OiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAg ICBpZiAodW5saWtlbHkoZmlsbF92ZWNfYnVmX3BhY2tlZF9pbmRpcmVjdChkZXYsIHZxLAogICAg Xn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1k ZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhv c3QvdmlydGlvX25ldC5jOjQyODo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5 cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgICAqbGVuICs9IGRlc2NzW2F2YWls X2lkeF0ubGVuOwogICAgXgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMwOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1 bmxpa2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgIF5+Ci90 bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zp cnRpb19uZXQuYzo0MzA6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3OjM6IGVycm9yOiBp bnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTi gJkKICAgaWYgKChkZXNjc1thdmFpbF9pZHhdLmZsYWdzICYgVlJJTkdfREVTQ19GX05FWFQpID09 IDApCiAgIF5+Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3Zob3N0X2RlcXVldWVf YnVyc3TigJk6Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoxMzc3Ojc6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQg MyBvZiDigJhhbGxvY19jb3B5X2luZF90YWJsZeKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRl ciB3aXRob3V0IGEgY2FzdCBbLVdpbnQtY29udmVyc2lvbl0KICAgICAgICZ2cS0+ZGVzY1tkZXNj X2luZGV4ZXNbaV1dKTsKICAgICAgIF4KICBDQyBydGVfZ3JvLm8KL3RtcC9GQzI1X0s0LjguNl9H Q0M2LjMuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOjE6 IG5vdGU6IGV4cGVjdGVkIOKAmHVpbnQ2NF90IHtha2EgbG9uZyB1bnNpZ25lZCBpbnR94oCZIGJ1 dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjICrigJkKIGFsbG9jX2Nv cHlfaW5kX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9zdF92aXJ0cXVl dWUgKnZxLAogXn5+fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzY6MTM6IGVycm9y OiB0b28gZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhhbGxvY19jb3B5X2luZF90YWJsZeKA mQogICAgIGlkZXNjID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwKICAgICAgICAgICAg IF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5h dGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3RlOiBkZWNsYXJlZCBo ZXJlCiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qg dmhvc3RfdmlydHF1ZXVlICp2cSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90bXAvRkMyNV9LNC44 LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9pbnRlcm5hbC9ydGUuY29tcGlsZS1wcmUubWs6 MTE0OiByZWNpcGUgZm9yIHRhcmdldCAndmlydGlvX25ldC5vJyBmYWlsZWQKbWFrZVs1XTogKioq IFt2aXJ0aW9fbmV0Lm9dIEVycm9yIDEKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfdmhv c3QnIGZhaWxlZAptYWtlWzRdOiAqKiogW2xpYnJ0ZV92aG9zdF0gRXJyb3IgMgptYWtlWzRdOiAq KiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIENDIGdyb190Y3A0Lm8KICBDQyBn cm9fdnhsYW5fdGNwNC5vCiAgQVIgbGlicnRlX2dyby5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX2dy by5hCi90bXAvRkMyNV9LNC44LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mt ZGVidWcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2RrYnVp bGQubWs6NDk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAptYWtlWzNdOiAqKiogW2xp Yl0gRXJyb3IgMgovdG1wL0ZDMjVfSzQuOC42X0dDQzYuMy4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLWRlYnVnLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRl LnNka3Jvb3QubWs6MTAwOiByZWNpcGUgZm9yIHRhcmdldCAnYWxsJyBmYWlsZWQKbWFrZVsyXTog KioqIFthbGxdIEVycm9yIDIKL3RtcC9GQzI1X0s0LjguNl9HQ0M2LjMuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWdjYy1kZWJ1Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L21rL3J0ZS5zZGtpbnN0YWxsLm1rOjU3OiByZWNpcGUgZm9yIHRhcmdldCAncHJlX2luc3RhbGwn IGZhaWxlZAptYWtlWzFdOiAqKiogW3ByZV9pbnN0YWxsXSBFcnJvciAyCi90bXAvRkMyNV9LNC44 LjZfR0NDNi4zLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MtZGVidWcvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo3OTogcmVjaXBlIGZv ciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAptYWtlOiAqKiogW2luc3RhbGxdIEVycm9yIDIKCipG YWlsZWQgQnVpbGQgIzExOgpPUzogRkMyNApUYXJnZXQ6IGk2ODYtbmF0aXZlLWxpbnV4YXBwLWdj YwogIElOU1RBTEwtTElCIGxpYnJ0ZV9ldmVudGRldi5hCj09IEJ1aWxkIGxpYi9saWJydGVfaXBf ZnJhZwogIFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9pcF9mcmFnLmgKICBDQyBydGVfaXB2NF9m cmFnbWVudGF0aW9uLm8KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3Zob3N0X3VzZXIuYzogSW4gZnVuY3Rpb24g4oCYdHJhbnNsYXRlX3JpbmdfYWRkcmVz c2Vz4oCZOgovdG1wL0ZDMjRfSzQuNS41X0dDQzYuMS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdj Yy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmhvc3RfdXNlci5jOjQ3MzoyMTogd2FybmluZzogY2FzdCB0byBwb2ludGVyIGZyb20gaW50ZWdl ciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdpbnQtdG8tcG9pbnRlci1jYXN0XQogICB2cS0+ZGVzY19w YWNrZWQgPSAoc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICopIHJpbmdfYWRkcl90b192dmEKICAg ICAgICAgICAgICAgICAgICAgXgogIENDIHJ0ZV9pcHY2X2ZyYWdtZW50YXRpb24ubwogIENDIHZp cnRpb19uZXQubwogIENDIHJ0ZV9pcHY0X3JlYXNzZW1ibHkubwovdG1wL0ZDMjRfSzQuNS41X0dD QzYuMS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDi gJhmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN04oCZOgovdG1wL0ZDMjRfSzQuNS41X0dDQzYu MS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM1MjoxMzogZXJyb3I6IGRl cmVmZXJlbmNpbmcgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rl c2NfcGFja2Vk4oCZCiAgZGxlbiA9IGRlc2MtPmxlbjsKICAgICAgICAgICAgIF5+Ci90bXAvRkMy NF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6Mzcw OjMyOiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBvZiDigJhzaXplb2bigJkgdG8gaW5jb21w bGV0ZSB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogIG5yX2RlY3MgPSAgZGVz Yy0+bGVuIC8gc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCk7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXn5+fn5+Ci90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1u YXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgKmxlbiAr PSBkZXNjc1tpXS5sZW47CiAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvRkMyNF9LNC41 LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3Nw aW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0ND Ni4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wu aDo0NCwKICAgICAgICAgICAgICAgICBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAg ICAgICAgICAgICBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGlu dXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9s aWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MTY6IHdhcm5pbmc6IGltcGxpY2l0IGRl Y2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmG1hcF9vbmVfZGVzY+KAmSBbLVdpbXBsaWNpdC1mdW5j dGlvbi1kZWNsYXJhdGlvbl0KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBi dWZfdmVjLCAmdmVjX2lkLAogICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuNS41X0dDQzYu MS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJl ZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlrZWx5 4oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuNS41X0dD QzYuMS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzozOiB3YXJuaW5n OiBuZXN0ZWQgZXh0ZXJuIGRlY2xhcmF0aW9uIG9mIOKAmG1hcF9vbmVfZGVzY+KAmSBbLVduZXN0 ZWQtZXh0ZXJuc10KICAgaWYgKHVubGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBidWZfdmVj LCAmdmVjX2lkLAogICBefgovdG1wL0ZDMjRfSzQuNS41X0dDQzYuMS4xL2k2ODYtbmF0aXZlLWxp bnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJy dGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzozOiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZp bmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCi90bXAvRkMyNF9LNC41LjVf R0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWTigJkKSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwK ICAgICAgICAgICAgICAgICBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRp dmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAg ICAgICAgICBmcm9tIC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAgICAgICBmcm9t IC90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6OToKL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCYZmlsbF92ZWNfYnVmX3BhY2tlZOKAmToKL3Rt cC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MDk6MTY6IHdhcm5pbmc6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmGRl c2NfaXNfYXZhaWzigJkgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dCiAgaWYgKHVu bGlrZWx5KCFkZXNjX2lzX2F2YWlsKCZkZXNjc1thdmFpbF9pZHhdLCB3cmFwX2NvdW50ZXIpKSkK ICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1s aW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9pNjg2LW5h dGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTog bm90ZTogaW4gZGVmaW5pdGlvbiBvZiBtYWNybyDigJh1bmxpa2VseeKAmQogI2RlZmluZSB1bmxp a2VseSh4KSBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2 ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MDk6Mjogd2FybmluZzogbmVzdGVkIGV4dGVybiBk ZWNsYXJhdGlvbiBvZiDigJhkZXNjX2lzX2F2YWls4oCZIFstV25lc3RlZC1leHRlcm5zXQogIGlm ICh1bmxpa2VseSghZGVzY19pc19hdmFpbCgmZGVzY3NbYXZhaWxfaWR4XSwgd3JhcF9jb3VudGVy KSkpCiAgXn4KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1n Y2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0MDk6MjogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBl IOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL0ZDMjRfSzQuNS41X0dDQzYuMS4x L2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOTozOiBlcnJvcjogaW52YWxp ZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAg ICpidWZfaWQgPSBkZXNjc1thdmFpbF9pZHhdLmluZGV4OwogICBeCi90bXAvRkMyNF9LNC41LjVf R0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIxOjM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfSU5ESVJF Q1QpIHsKICAgXn4KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFw cC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3ZpcnRpb19uZXQuYzo0MjI6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0 eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgaWYgKHVubGlrZWx5KGZpbGxf dmVjX2J1Zl9wYWNrZWRfaW5kaXJlY3QoZGV2LCB2cSwKICAgIF5+Ci90bXAvRkMyNF9LNC41LjVf R0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDI4OjQ6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWTigJkKICAgICpsZW4gKz0gZGVzY3NbYXZhaWxfaWR4XS5sZW47CiAgICBeCi90bXAvRkMyNF9L NC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMwOjQ6 IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVz Y19wYWNrZWTigJkKICAgIGlmICh1bmxpa2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3Zl YywgJnZlY19pZCwKICAgIF5+Ci90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUt bGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMwOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRl ZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKL3RtcC9GQzI0X0s0LjUu NV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0Mzc6MzogZXJy b3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZOKAmQogICBpZiAoKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfTkVY VCkgPT0gMCkKICAgXn4KL3RtcC9GQzI0X0s0LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51 eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3Zob3N0X2RlcXVldWVfYnVy c3TigJk6Ci90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2Nj LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6MTM3Nzo3OiB3YXJuaW5nOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYYWxs b2NfY29weV9pbmRfdGFibGXigJkgbWFrZXMgaW50ZWdlciBmcm9tIHBvaW50ZXIgd2l0aG91dCBh IGNhc3QgWy1XaW50LWNvbnZlcnNpb25dCiAgICAgICAmdnEtPmRlc2NbZGVzY19pbmRleGVzW2ld XSk7CiAgICAgICBeCi90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhh cHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6NDE6MTogbm90ZTogZXhwZWN0ZWQg4oCYdWludDY0X3Qge2FrYSBs b25nIGxvbmcgdW5zaWduZWQgaW50feKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhzdHJ1 Y3QgdnJpbmdfZGVzYyAq4oCZCiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25l dCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+ Ci90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6MTM3NjoxMzogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGFs bG9jX2NvcHlfaW5kX3RhYmxl4oCZCiAgICAgaWRlc2MgPSBhbGxvY19jb3B5X2luZF90YWJsZShk ZXYsIHZxLAogICAgICAgICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9GQzI0X0s0LjUu NV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3Rl OiBkZWNsYXJlZCBoZXJlCiBhbGxvY19jb3B5X2luZF90YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAq ZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwKIF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90 bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdi YzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJl Lm1rOjExNDogcmVjaXBlIGZvciB0YXJnZXQgJ3ZpcnRpb19uZXQubycgZmFpbGVkCm1ha2VbNV06 ICoqKiBbdmlydGlvX25ldC5vXSBFcnJvciAxCi90bXAvRkMyNF9LNC41LjVfR0NDNi4xLjEvaTY4 Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbWsvcnRlLnN1YmRpci5tazozNTogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYnJ0ZV92aG9zdCcg ZmFpbGVkCm1ha2VbNF06ICoqKiBbbGlicnRlX3Zob3N0XSBFcnJvciAyCm1ha2VbNF06ICoqKiBX YWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAgQ0MgcnRlX2lwdjZfcmVhc3NlbWJseS5v CiAgQ0MgcnRlX2lwX2ZyYWdfY29tbW9uLm8KICBDQyBpcF9mcmFnX2ludGVybmFsLm8KICBBUiBs aWJydGVfaXBfZnJhZy5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX2lwX2ZyYWcuYQovdG1wL0ZDMjRf SzQuNS41X0dDQzYuMS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8wZjRmMWI3YmMxZTM0NTMx ODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtidWlsZC5tazo0OTogcmVjaXBlIGZvciB0 YXJnZXQgJ2xpYicgZmFpbGVkCm1ha2VbM106ICoqKiBbbGliXSBFcnJvciAyCi90bXAvRkMyNF9L NC41LjVfR0NDNi4xLjEvaTY4Ni1uYXRpdmUtbGludXhhcHAtZ2NjLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnNka3Jvb3QubWs6MTAwOiByZWNpcGUgZm9yIHRh cmdldCAnYWxsJyBmYWlsZWQKbWFrZVsyXTogKioqIFthbGxdIEVycm9yIDIKL3RtcC9GQzI0X0s0 LjUuNV9HQ0M2LjEuMS9pNjg2LW5hdGl2ZS1saW51eGFwcC1nY2MvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo1NzogcmVjaXBlIGZvciB0 YXJnZXQgJ3ByZV9pbnN0YWxsJyBmYWlsZWQKbWFrZVsxXTogKioqIFtwcmVfaW5zdGFsbF0gRXJy b3IgMgovdG1wL0ZDMjRfSzQuNS41X0dDQzYuMS4xL2k2ODYtbmF0aXZlLWxpbnV4YXBwLWdjYy8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc5 OiByZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCm1ha2U6ICoqKiBbaW5zdGFsbF0g RXJyb3IgMgoKKkZhaWxlZCBCdWlsZCAjMTI6Ck9TOiBGQzI0ClRhcmdldDogeDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1nY2Mtc2hhcmVkCiAgQ0MgdmlydGlvX25ldC5vCiAgTEQgbGlicnRlX2lwX2Zy YWcuc28uMS4xCiAgSU5TVEFMTC1MSUIgbGlicnRlX2lwX2ZyYWcuc28uMS4xCj09IEJ1aWxkIGxp Yi9saWJydGVfZ3JvCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOiBJbiBmdW5jdGlvbiDigJhmaWxsX3ZlY19idWZf cGFja2VkX2luZGlyZWN04oCZOgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIv ZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNTI6MTM6IGVycm9yOiBkZXJlZmVy ZW5jaW5nIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZOKAmQogIGRsZW4gPSBkZXNjLT5sZW47CiAgICAgICAgICAgICBefgovdG1wL0ZDMjRfSzQu OS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu YzozNzA6MzI6IGVycm9yOiBpbnZhbGlkIGFwcGxpY2F0aW9uIG9mIOKAmHNpemVvZuKAmSB0byBp bmNvbXBsZXRlIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCiAgbnJfZGVjcyA9 ICBkZXNjLT5sZW4gLyBzaXplb2Yoc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkKTsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNk YmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgyOjM6IGVycm9y OiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWTigJkKICAgKmxlbiArPSBkZXNjc1tpXS5sZW47CiAgIF4KSW4gZmlsZSBpbmNsdWRlZCBmcm9t IC90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNo YXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX3NwaW5sb2NrLmg6MTU6MCwKICAgICAgICAgICAgICAg ICBmcm9tIC90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21lbXBvb2wuaDo0NCwKICAgICAgICAgICAg ICAgICBmcm9tIC90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82 NC1uYXRpdmUtbGludXhhcHAtZ2NjL2luY2x1ZGUvcnRlX21idWYuaDozOCwKICAgICAgICAgICAg ICAgICBmcm9tIC90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9s aWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjk6Ci90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzoxNjogd2Fybmlu ZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24g4oCYbWFwX29uZV9kZXNj4oCZIFst V2ltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICBpZiAodW5saWtlbHkobWFwX29uZV9k ZXNjKGRldiwgdnEsIGJ1Zl92ZWMsICZ2ZWNfaWQsCiAgICAgICAgICAgICAgICBeCi90bXAvRkMy NF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGluIGRlZmlu aXRpb24gb2YgbWFjcm8g4oCYdW5saWtlbHnigJkKICNkZWZpbmUgdW5saWtlbHkoeCkgX19idWls dGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Z2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJy dGVfdmhvc3QvdmlydGlvX25ldC5jOjM4MzozOiB3YXJuaW5nOiBuZXN0ZWQgZXh0ZXJuIGRlY2xh cmF0aW9uIG9mIOKAmG1hcF9vbmVfZGVzY+KAmSBbLVduZXN0ZWQtZXh0ZXJuc10KICAgaWYgKHVu bGlrZWx5KG1hcF9vbmVfZGVzYyhkZXYsIHZxLCBidWZfdmVjLCAmdmVjX2lkLAogICBefgovdG1w L0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zp cnRpb19uZXQuYzozODM6MzogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODM6MzogZXJyb3I6 IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKAmHN0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZOKAmQpJbiBmaWxlIGluY2x1ZGVkIGZyb20gL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2 XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVfc3Bpbmxv Y2suaDoxNTowLAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4y LjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9ydGVf bWVtcG9vbC5oOjQ0LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9GQzI0X0s0LjkuMTNfR0ND Ni4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvaW5jbHVkZS9y dGVfbWJ1Zi5oOjM4LAogICAgICAgICAgICAgICAgIGZyb20gL3RtcC9GQzI0X0s0LjkuMTNfR0ND Ni4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6OToKL3Rt cC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVk LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92 aXJ0aW9fbmV0LmM6IEluIGZ1bmN0aW9uIOKAmGZpbGxfdmVjX2J1Zl9wYWNrZWTigJk6Ci90bXAv RkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQwOToxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rp b24g4oCYZGVzY19pc19hdmFpbOKAmSBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0K ICBpZiAodW5saWtlbHkoIWRlc2NfaXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291 bnRlcikpKQogICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy9pbmNsdWRlL3J0ZV9icmFuY2hf cHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBpbiBkZWZpbml0aW9uIG9mIG1hY3JvIOKAmHVubGlr ZWx54oCZCiAjZGVmaW5lIHVubGlrZWx5KHgpIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4x M19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0 MDk6Mjogd2FybmluZzogbmVzdGVkIGV4dGVybiBkZWNsYXJhdGlvbiBvZiDigJhkZXNjX2lzX2F2 YWls4oCZIFstV25lc3RlZC1leHRlcm5zXQogIGlmICh1bmxpa2VseSghZGVzY19pc19hdmFpbCgm ZGVzY3NbYXZhaWxfaWR4XSwgd3JhcF9jb3VudGVyKSkpCiAgXn4KL3RtcC9GQzI0X0s0LjkuMTNf R0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDA5 OjI6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWTigJkKL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDE5OjM6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgKmJ1Zl9p ZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7CiAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4y LjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2 ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIxOjM6IGVy cm9yOiBpbnZhbGlkIHVzZSBvZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWTigJkKICAgaWYgKGRlc2NzW2F2YWlsX2lkeF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfSU5E SVJFQ1QpIHsKICAgXn4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1s aW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDIyOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBv ZiB1bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1 bmxpa2VseShmaWxsX3ZlY19idWZfcGFja2VkX2luZGlyZWN0KGRldiwgdnEsCiAgICBefgovdG1w L0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQv MGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zp cnRpb19uZXQuYzo0Mjg6NDogZXJyb3I6IGludmFsaWQgdXNlIG9mIHVuZGVmaW5lZCB0eXBlIOKA mHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZOKAmQogICAgKmxlbiArPSBkZXNjc1thdmFpbF9pZHhd LmxlbjsKICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDMwOjQ6IGVycm9yOiBpbnZhbGlkIHVzZSBvZiB1 bmRlZmluZWQgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWTigJkKICAgIGlmICh1bmxp a2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgIF5+Ci90bXAv RkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8w ZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmly dGlvX25ldC5jOjQzMDo0OiBlcnJvcjogaW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCY c3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk4oCZCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJk MDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQzNzozOiBlcnJvcjog aW52YWxpZCB1c2Ugb2YgdW5kZWZpbmVkIHR5cGUg4oCYc3RydWN0IHZyaW5nX2Rlc2NfcGFja2Vk 4oCZCiAgIGlmICgoZGVzY3NbYXZhaWxfaWR4XS5mbGFncyAmIFZSSU5HX0RFU0NfRl9ORVhUKSA9 PSAwKQogICBefgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzogSW4gZnVuY3Rpb24g4oCYcnRlX3Zob3N0X2RlcXVl dWVfYnVyc3TigJk6Ci90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzc6Nzogd2FybmluZzogcGFzc2luZyBhcmd1 bWVudCAzIG9mIOKAmGFsbG9jX2NvcHlfaW5kX3RhYmxl4oCZIG1ha2VzIGludGVnZXIgZnJvbSBw b2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogICAgICAgJnZxLT5kZXNj W2Rlc2NfaW5kZXhlc1tpXV0pOwogICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MToxOiBub3RlOiBl eHBlY3RlZCDigJh1aW50NjRfdCB7YWthIGxvbmcgdW5zaWduZWQgaW50feKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJhzdHJ1Y3QgdnJpbmdfZGVzYyAq4oCZCiBhbGxvY19jb3B5X2luZF90 YWJsZShzdHJ1Y3QgdmlydGlvX25ldCAqZGV2LCBzdHJ1Y3Qgdmhvc3RfdmlydHF1ZXVlICp2cSwK IF5+fn5+fn5+fn5+fn5+fn5+fn5+Ci90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjEzNzY6MTM6IGVycm9yOiB0b28g ZmV3IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhhbGxvY19jb3B5X2luZF90YWJsZeKAmQogICAg IGlkZXNjID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwKICAgICAgICAgICAgIF5+fn5+ fn5+fn5+fn5+fn5+fn5+Ci90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRr L2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOjE6IG5vdGU6IGRlY2xhcmVkIGhlcmUK IGFsbG9jX2NvcHlfaW5kX3RhYmxlKHN0cnVjdCB2aXJ0aW9fbmV0ICpkZXYsIHN0cnVjdCB2aG9z dF92aXJ0cXVldWUgKnZxLAogXn5+fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9GQzI0X0s0LjkuMTNf R0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2Mtc2hhcmVkLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvaW50ZXJuYWwvcnRlLmNvbXBpbGUtcHJlLm1rOjEx NDogcmVjaXBlIGZvciB0YXJnZXQgJ3ZpcnRpb19uZXQubycgZmFpbGVkCm1ha2VbNV06ICoqKiBb dmlydGlvX25ldC5vXSBFcnJvciAxCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtZ2NjLXNoYXJlZC8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2Zl Mi9kcGRrL21rL3J0ZS5zdWJkaXIubWs6MzU6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWJydGVfdmhv c3QnIGZhaWxlZAptYWtlWzRdOiAqKiogW2xpYnJ0ZV92aG9zdF0gRXJyb3IgMgptYWtlWzRdOiAq KiogV2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgogIFNZTUxJTkstRklMRSBpbmNsdWRl L3J0ZV9ncm8uaAogIENDIHJ0ZV9ncm8ubwogIENDIGdyb190Y3A0Lm8KICBDQyBncm9fdnhsYW5f dGNwNC5vCiAgTEQgbGlicnRlX2dyby5zby4xLjEKICBJTlNUQUxMLUxJQiBsaWJydGVfZ3JvLnNv LjEuMQovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdj Yy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2Rr YnVpbGQubWs6NDk6IHJlY2lwZSBmb3IgdGFyZ2V0ICdsaWInIGZhaWxlZAptYWtlWzNdOiAqKiog W2xpYl0gRXJyb3IgMgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9t ay9ydGUuc2Rrcm9vdC5tazoxMDA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZhaWxlZAptYWtl WzJdOiAqKiogW2FsbF0gRXJyb3IgMgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9tay9ydGUuc2RraW5zdGFsbC5tazo1NzogcmVjaXBlIGZvciB0YXJnZXQgJ3ByZV9p bnN0YWxsJyBmYWlsZWQKbWFrZVsxXTogKioqIFtwcmVfaW5zdGFsbF0gRXJyb3IgMgovdG1wL0ZD MjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWdjYy1zaGFyZWQvMGY0 ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9tay9ydGUuc2Rrcm9vdC5tazo3OTog cmVjaXBlIGZvciB0YXJnZXQgJ2luc3RhbGwnIGZhaWxlZAptYWtlOiAqKiogW2luc3RhbGxdIEVy cm9yIDIKCipGYWlsZWQgQnVpbGQgIzEzOgpPUzogRkMyNApUYXJnZXQ6IHg4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcKICBDQyBpcF9mcmFnX2ludGVybmFsLm8KICBDQyB2aG9zdF91c2VyLm8K ICBBUiBsaWJydGVfaXBfZnJhZy5hCiAgSU5TVEFMTC1MSUIgbGlicnRlX2lwX2ZyYWcuYQogIEND IHZpcnRpb19uZXQubwovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxp bnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xp YnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzUyOjEzOiBlcnJvcjogaW5jb21wbGV0ZSBkZWZpbml0 aW9uIG9mIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICBDQyB2ZHBhLm8KICAgICAg ICBkbGVuID0gZGVzYy0+bGVuOwogICAgICAgICAgICAgICB+fn5+XgovdG1wL0ZDMjRfSzQuOS4x M19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4 N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3Rl OiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAg ICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAg ICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0 aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsv bGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzU0OjM0OiBlcnJvcjogaW5jb21wbGV0ZSBk ZWZpbml0aW9uIG9mIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAg ICAgIHZob3N0X2lvdmFfdG9fdnZhKGRldiwgdnEsIGRlc2MtPmFkZHIsICZkbGVuLCBWSE9TVF9B Q0NFU1NfUk8pOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+ fl4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAg KmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNf R0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdh NjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjM1ODoyNjog ZXJyb3I6IGluY29tcGxldGUgZGVmaW5pdGlvbiBvZiB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19w YWNrZWQnCiAgICAgICAgaWYgKHVubGlrZWx5KGRsZW4gPCBkZXNjLT5sZW4pKSB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+fn5+XgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZf NjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUy L2RwZGsveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJl ZGljdGlvbi5oOjM4OjQxOiBub3RlOiBleHBhbmRlZCBmcm9tIG1hY3JvICd1bmxpa2VseScKI2Rl ZmluZSB1bmxpa2VseSh4KSAgICAgX19idWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dD QzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4 M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZv cndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAg ICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAg ICAgICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUt bGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIv bGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNjM6NDY6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmlu aXRpb24gb2YgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAg aWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFibGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+ bGVuKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVj dCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMyNF9L NC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUz NDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoz NjM6NTg6IGVycm9yOiBpbmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgaWRlc2NzID0gYWxsb2NfY29weV9pbmRfdGFi bGUoZGV2LCB2cSwgZGVzYy0+YWRkciwgZGVzYy0+bGVuKTsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5eCi90bXAv RkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFi N2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6 ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3Bh Y2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4x L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozNzA6MTc6IGVycm9yOiBp bmNvbXBsZXRlIGRlZmluaXRpb24gb2YgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwog ICAgICAgIG5yX2RlY3MgPSAgZGVzYy0+bGVuIC8gc2l6ZW9mKHN0cnVjdCB2cmluZ19kZXNjX3Bh Y2tlZCk7CiAgICAgICAgICAgICAgICAgICB+fn5+XgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIu MS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJk IGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAg ICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAg ICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4 YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0 ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzcwOjI1OiBlcnJvcjogaW52YWxpZCBhcHBsaWNhdGlvbiBv ZiAnc2l6ZW9mJyB0byBhbiBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZCcKICAgICAgICBucl9kZWNzID0gIGRlc2MtPmxlbiAvIHNpemVvZihzdHJ1Y3QgdnJpbmdfZGVz Y19wYWNrZWQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXiAgICAgfn5+fn5+fn5+ fn5+fn5+fn5+fn5+fn5+fn4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xp Yi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBv ZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5n X2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3Rt cC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlv X25ldC5jOjM4MjoxNjogZXJyb3I6IHN1YnNjcmlwdCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUg dHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgKmxlbiArPSBk ZXNjc1tpXS5sZW47CiAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+XgovdG1wL0ZDMjRfSzQu OS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBu b3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAg ICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAg ICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2Rw ZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6MzgzOjE2OiB3YXJuaW5nOiBpbXBsaWNp dCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWFwX29uZV9kZXNjJyBpcyBpbnZhbGlkIGluIEM5 OSBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KICAgICAgICAgICAgICAgIGlmICh1 bmxpa2VseShtYXBfb25lX2Rlc2MoZGV2LCB2cSwgYnVmX3ZlYywgJnZlY19pZCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1u YXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBk ay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzozODQ6MTI6IGVycm9yOiBzdWJzY3JpcHQg b2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3NbaV0u YWRkciwgZGVzY3NbaV0ubGVuLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fn5+fl4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2 ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24u aDozODo0MTogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5s aWtlbHkoeCkgICAgIF9fYnVpbHRpbl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJj ZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRl Y2xhcmF0aW9uIG9mICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBz dHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAg ICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aXJ0aW9fbmV0LmM6Mzg0OjI3OiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8g aW5jb21wbGV0ZSB0eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NzW2ldLmFkZHIsIGRlc2NzW2ld LmxlbiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfn5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRp dmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94 ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9u Lmg6Mzg6NDE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVu bGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBk ZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAg c3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAg ICAgICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVf dmhvc3QvdmlydGlvX25ldC5jOjQwOToxNjogd2FybmluZzogaW1wbGljaXQgZGVjbGFyYXRpb24g b2YgZnVuY3Rpb24gJ2Rlc2NfaXNfYXZhaWwnIGlzIGludmFsaWQgaW4gQzk5IFstV2ltcGxpY2l0 LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQogICAgICAgIGlmICh1bmxpa2VseSghZGVzY19pc19hdmFp bCgmZGVzY3NbYXZhaWxfaWR4XSwgd3JhcF9jb3VudGVyKSkpCiAgICAgICAgICAgICAgICAgICAg ICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xh bmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0 L3ZpcnRpb19uZXQuYzo0MDk6MzY6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNv bXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICBpZiAodW5saWtl bHkoIWRlc2NfaXNfYXZhaWwoJmRlc2NzW2F2YWlsX2lkeF0sIHdyYXBfY291bnRlcikpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvRkMyNF9LNC45LjEz X0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3 YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUv cnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6NDE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8g J3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgp LCAwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9G QzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3 YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4 ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJhdGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFj a2VkJwogICAgICAgICAgICAgICAgc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFj a2VkOwogICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEv eDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAy Y2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3QvdmlydGlvX25ldC5jOjQxOToxODogZXJyb3I6IHN1 YnNjcmlwdCBvZiBwb2ludGVyIHRvIGluY29tcGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2Nf cGFja2VkJwogICAgICAgICAgICAgICAgKmJ1Zl9pZCA9IGRlc2NzW2F2YWlsX2lkeF0uaW5kZXg7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYu Mi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2Ri ZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndh cmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAg ICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAg ICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3ZpcnRpb19uZXQuYzo0MjE6MTI6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRl ciB0byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAg ICAgICAgIGlmIChkZXNjc1thdmFpbF9pZHhdLmZsYWdzICYgVlJJTkdfREVTQ19GX0lORElSRUNU KSB7CiAgICAgICAgICAgICAgICAgICAgfn5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4x L3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAw MmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQg ZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAg IHN0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAg ICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhh cHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRl X3Zob3N0L3ZpcnRpb19uZXQuYzo0MjM6MTQ6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0 byBpbmNvbXBsZXRlIHR5cGUgJ3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZGVzY3NbYXZhaWxf aWR4XSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfn5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay94ODZfNjQt bmF0aXZlLWxpbnV4YXBwLWNsYW5nL2luY2x1ZGUvcnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg6Mzg6 NDE6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ3VubGlrZWx5JwojZGVmaW5lIHVubGlrZWx5 KHgpICAgICBfX2J1aWx0aW5fZXhwZWN0KCEhKHgpLCAwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL2xpYi9saWJydGVfdmhvc3Qvdmhvc3QuaDo4ODoxMDogbm90ZTogZm9yd2FyZCBkZWNsYXJh dGlvbiBvZiAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgc3RydWN0 IHZyaW5nX2Rlc2NfcGFja2VkICAgKmRlc2NfcGFja2VkOwogICAgICAgICAgICAgICAgICAgICAg IF4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFu Zy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL2xpYi9saWJydGVfdmhvc3Qv dmlydGlvX25ldC5jOjQyODoxNzogZXJyb3I6IHN1YnNjcmlwdCBvZiBwb2ludGVyIHRvIGluY29t cGxldGUgdHlwZSAnc3RydWN0IHZyaW5nX2Rlc2NfcGFja2VkJwogICAgICAgICAgICAgICAgICAg ICAgICAqbGVuICs9IGRlc2NzW2F2YWlsX2lkeF0ubGVuOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH5+fn5+XgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZl LWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGli L2xpYnJ0ZV92aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m ICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdf ZGVzY19wYWNrZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1w L0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYx YjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9f bmV0LmM6NDMxOjEzOiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0 eXBlICdzdHJ1Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3NbYXZhaWxfaWR4XS5hZGRyLAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5+fn5+ XgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5n LzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsveDg2XzY0LW5hdGl2ZS1saW51 eGFwcC1jbGFuZy9pbmNsdWRlL3J0ZV9icmFuY2hfcHJlZGljdGlvbi5oOjM4OjQxOiBub3RlOiBl eHBhbmRlZCBmcm9tIG1hY3JvICd1bmxpa2VseScKI2RlZmluZSB1bmxpa2VseSh4KSAgICAgX19i dWlsdGluX2V4cGVjdCghISh4KSwgMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGlu dXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGli cnRlX3Zob3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0 cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNj X3BhY2tlZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMy NF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MzI6MTM6IGVycm9yOiBzdWJzY3JpcHQgb2YgcG9pbnRlciB0byBpbmNvbXBsZXRlIHR5cGUg J3N0cnVjdCB2cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjc1thdmFpbF9pZHhdLmxlbiwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fn5+fl4KL3Rt cC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvaW5jbHVkZS9ydGVfYnJhbmNoX3ByZWRpY3Rpb24uaDozODo0MTogbm90ZTogZXhwYW5k ZWQgZnJvbSBtYWNybyAndW5saWtlbHknCiNkZWZpbmUgdW5saWtlbHkoeCkgICAgIF9fYnVpbHRp bl9leHBlY3QoISEoeCksIDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92 aG9zdC92aG9zdC5oOjg4OjEwOiBub3RlOiBmb3J3YXJkIGRlY2xhcmF0aW9uIG9mICdzdHJ1Y3Qg dnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBzdHJ1Y3QgdnJpbmdfZGVzY19wYWNr ZWQgICAqZGVzY19wYWNrZWQ7CiAgICAgICAgICAgICAgICAgICAgICAgXgovdG1wL0ZDMjRfSzQu OS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1 MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbGliL2xpYnJ0ZV92aG9zdC92aXJ0aW9fbmV0LmM6NDM3 OjEzOiBlcnJvcjogc3Vic2NyaXB0IG9mIHBvaW50ZXIgdG8gaW5jb21wbGV0ZSB0eXBlICdzdHJ1 Y3QgdnJpbmdfZGVzY19wYWNrZWQnCiAgICAgICAgICAgICAgICBpZiAoKGRlc2NzW2F2YWlsX2lk eF0uZmxhZ3MgJiBWUklOR19ERVNDX0ZfTkVYVCkgPT0gMCkKICAgICAgICAgICAgICAgICAgICAg fn5+fn5eCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAt Y2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zo b3N0L3Zob3N0Lmg6ODg6MTA6IG5vdGU6IGZvcndhcmQgZGVjbGFyYXRpb24gb2YgJ3N0cnVjdCB2 cmluZ19kZXNjX3BhY2tlZCcKICAgICAgICAgICAgICAgIHN0cnVjdCB2cmluZ19kZXNjX3BhY2tl ZCAgICpkZXNjX3BhY2tlZDsKICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMyNF9LNC45 LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUz MTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQuYzoxMzc3 OjMzOiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24gY2FsbCwgZXhwZWN0ZWQg NCwgaGF2ZSAzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZ2cS0+ZGVzY1tkZXNjX2luZGV4ZXNbaV1dKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCi90bXAvRkMy NF9LNC45LjEzX0dDQzYuMi4xL3g4Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2Jj MWUzNDUzMTg3YTY4M2RiZDAwMmNmZTIvZHBkay9saWIvbGlicnRlX3Zob3N0L3ZpcnRpb19uZXQu Yzo0MDoxOiBub3RlOiAnYWxsb2NfY29weV9pbmRfdGFibGUnIGRlY2xhcmVkIGhlcmUKc3RhdGlj IF9fcnRlX2Fsd2F5c19pbmxpbmUgdm9pZCAqCl4KMiB3YXJuaW5ncyBhbmQgMTkgZXJyb3JzIGdl bmVyYXRlZC4KL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFw cC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL2ludGVybmFs L3J0ZS5jb21waWxlLXByZS5tazoxMTQ6IHJlY2lwZSBmb3IgdGFyZ2V0ICd2aXJ0aW9fbmV0Lm8n IGZhaWxlZAptYWtlWzVdOiAqKiogW3ZpcnRpb19uZXQub10gRXJyb3IgMQptYWtlWzVdOiAqKiog V2FpdGluZyBmb3IgdW5maW5pc2hlZCBqb2JzLi4uLgo9PSBCdWlsZCBsaWIvbGlicnRlX2dybwog IFNZTUxJTkstRklMRSBpbmNsdWRlL3J0ZV9ncm8uaAogIENDIHJ0ZV9ncm8ubwovdG1wL0ZDMjRf SzQuOS4xM19HQ0M2LjIuMS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFl MzQ1MzE4N2E2ODNkYmQwMDJjZmUyL2RwZGsvbWsvcnRlLnN1YmRpci5tazozNTogcmVjaXBlIGZv ciB0YXJnZXQgJ2xpYnJ0ZV92aG9zdCcgZmFpbGVkCm1ha2VbNF06ICoqKiBbbGlicnRlX3Zob3N0 XSBFcnJvciAyCm1ha2VbNF06ICoqKiBXYWl0aW5nIGZvciB1bmZpbmlzaGVkIGpvYnMuLi4uCiAg Q0MgZ3JvX3RjcDQubwogIENDIGdyb192eGxhbl90Y3A0Lm8KICBBUiBsaWJydGVfZ3JvLmEKICBJ TlNUQUxMLUxJQiBsaWJydGVfZ3JvLmEKL3RtcC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRmMWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9k cGRrL21rL3J0ZS5zZGtidWlsZC5tazo0OTogcmVjaXBlIGZvciB0YXJnZXQgJ2xpYicgZmFpbGVk Cm1ha2VbM106ICoqKiBbbGliXSBFcnJvciAyCi90bXAvRkMyNF9LNC45LjEzX0dDQzYuMi4xL3g4 Nl82NC1uYXRpdmUtbGludXhhcHAtY2xhbmcvMGY0ZjFiN2JjMWUzNDUzMTg3YTY4M2RiZDAwMmNm ZTIvZHBkay9tay9ydGUuc2Rrcm9vdC5tazoxMDA6IHJlY2lwZSBmb3IgdGFyZ2V0ICdhbGwnIGZh aWxlZAptYWtlWzJdOiAqKiogW2FsbF0gRXJyb3IgMgovdG1wL0ZDMjRfSzQuOS4xM19HQ0M2LjIu MS94ODZfNjQtbmF0aXZlLWxpbnV4YXBwLWNsYW5nLzBmNGYxYjdiYzFlMzQ1MzE4N2E2ODNkYmQw MDJjZmUyL2RwZGsvbWsvcnRlLnNka2luc3RhbGwubWs6NTc6IHJlY2lwZSBmb3IgdGFyZ2V0ICdw cmVfaW5zdGFsbCcgZmFpbGVkCm1ha2VbMV06ICoqKiBbcHJlX2luc3RhbGxdIEVycm9yIDIKL3Rt cC9GQzI0X0s0LjkuMTNfR0NDNi4yLjEveDg2XzY0LW5hdGl2ZS1saW51eGFwcC1jbGFuZy8wZjRm MWI3YmMxZTM0NTMxODdhNjgzZGJkMDAyY2ZlMi9kcGRrL21rL3J0ZS5zZGtyb290Lm1rOjc5OiBy ZWNpcGUgZm9yIHRhcmdldCAnaW5zdGFsbCcgZmFpbGVkCm1ha2U6ICoqKiBbaW5zdGFsbF0gRXJy b3IgMgoKRFBESyBTVFYgdGVhbQ== --===============3797477889071601990==--