From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpbg156.qq.com (smtpbg156.qq.com [15.184.82.18]) by sourceware.org (Postfix) with ESMTPS id 610833858D32 for ; Thu, 11 Jan 2024 22:59:35 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 610833858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 610833858D32 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=15.184.82.18 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705013989; cv=none; b=n3PZe76tFSCzCE7iM4gidk83WCxwCwL2MiGS9Tr7VUVermlNovtiHbgXPdbkvMF/tNSRXtm0tUVrCjAiJnmOcpb/XM9pMLs0xKJrtrEdiYd1UwK5lJzfcWSaldr/MwCylQ/BHqFg38OCclKFvJxaIXZjFlykX0Lw2Ahl6BnOj5M= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705013989; c=relaxed/simple; bh=H92zAQBW8uNUIOfx6LTKmvbrvgYsPvAZRtjKDf08nFQ=; h=Date:From:To:Subject:Mime-Version:Message-ID; b=w7N2bfu6i1fM5CFmgiYyph1BROlKrJw9WPJIkqxe7I/EF31485LvOKwuoISTGLGcwGs5sBn+/1GiaxpzuEwMD+7RV/EofDzqJW3ZM3970uBPV75sUxhY36jGzrkDmgUI85Ih6nFSBv5LP+7r8wyUdFgqygf/O6VcmqAf/9d7PZg= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp91t1705013954t237q85w Received: from TABLET-POE6JQHH ( [116.77.2.214]) by bizesmtp.qq.com (ESMTP) with id ; Fri, 12 Jan 2024 06:59:12 +0800 (CST) X-QQ-SSF: 00400000000000G0V000B00A0000000 X-QQ-FEAT: niM2FYwlzCG3WN9+U9s9eSDG0UvU5nVHshbCR7x6Y0cApH+ygoPePlIdRX3xg WdUYYphRJcKx+oSwBgNN2ZICupTlnzjGNqMpzYO0kjpokqqpoOuL6udDmt+G947+hnA7GCp xxtGYYq7PcsKjno/KHiP6+j0iH83GMFEKW0R3rp6nqSPHhnnQXYSilAIJD4+4PGUOCA8lzC HDFSWi022bGxtToiRVXS85SDjSoKU/PyxYBFmE+Mc30yfV0Td18iJmCvrjz47ZHDoiHKKpd 3+BPuHTumDfCcMYOWpkVrEJ94gdaW4yRs7lqTY4nTqyH8/M5dvTF8SqcftI0GhDp10HxF95 3z//2sBTlfSSEDxuGtX9m8jvUzfYeTNk8GcCcC+LTU3tQMSgpgXl+WM/3AIIlp+NsOSauLq q0JP/N9QlZU= X-QQ-GoodBg: 2 X-BIZMAIL-ID: 5189979167602323236 Date: Fri, 12 Jan 2024 06:59:13 +0800 From: =?UTF-8?B?6ZKf5bGF5ZOy?= To: cooper.joshua , gcc-patches Cc: jim.wilson.gcc , palmer , andrew , philipp.tomsich , "Jeff Law" , =?UTF-8?B?Q2hyaXN0b3BoIE3DvGxsbmVy?= , jinma , "Cooper Qu" Subject: =?UTF-8?B?UmU6IFJl77yaW1BBVENIIHY1XSBSSVNDLVY6IEFkZCBzdXBwb3J0IGZvciB4dGhlYWR2ZWN0b3Itc3BlY2lmaWMgaW50cmluc2ljcy4=?= References: , X-Priority: 3 X-GUID: 69918670-FCA0-4D0A-81DC-92C54AA36C8F X-Has-Attach: no X-Mailer: Foxmail 7.2.23.121[cn] Mime-Version: 1.0 Message-ID: <0C24A5FF72C83726+202401120659130384012@rivai.ai> Content-Type: multipart/alternative; boundary="----=_001_NextPart683235243084_=----" X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-8.8 required=5.0 tests=BAYES_00,BODY_8BITS,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_BARRACUDACENTRAL,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This is a multi-part message in MIME format. ------=_001_NextPart683235243084_=---- Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLXN3 aXRjaC5kZWYgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0 Y2guZGVmCmluZGV4IDFhZDI2YzJhM2IyLi40NTIyODNiNzQxNiAxMDA2NDQK LS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3Itc3dpdGNoLmRl ZgorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1zd2l0Y2gu ZGVmCkBAIC02OCw5ICs2OCw5IEBAIEVuY29kZSB0aGUgcmF0aW8gb2YgU0VX L0xNVUwgaW50byB0aGUgbWFzayB0eXBlcy4KICNlbmRpZgogCiAvKiBEaXNh YmxlIG1vZGVzIGlmIFRBUkdFVF9NSU5fVkxFTiA9PSAzMi4gICovCiBFTlRS WSAoUlZWTThISSwgdHJ1ZSwgTE1VTF84LCAyKQogRU5UUlkgKFJWVk00SEks IHRydWUsIExNVUxfNCwgNCkKIEVOVFJZIChSVlZNMkhJLCB0cnVlLCBMTVVM XzIsIDgpCiBFTlRSWSAoUlZWTTFISSwgdHJ1ZSwgTE1VTF8xLCAxNikKLUVO VFJZIChSVlZNRjJISSwgdHJ1ZSwgTE1VTF9GMiwgMzIpCi1FTlRSWSAoUlZW TUY0SEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBMTVVMX0Y0LCA2NCkKK0VO VFJZIChSVlZNRjJISSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIExNVUxfRjIs IDMyKQorRU5UUlkgKFJWVk1GNEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAm JiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgTE1VTF9GNCwgNjQpCiAKIC8qIERp c2FibGUgbW9kZXMgaWYgVEFSR0VUX01JTl9WTEVOID09IDMyIG9yICFUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYuICAqLwogRU5UUlkgKFJWVk04SEYsIFRB UkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgTE1VTF84LCAyKQogRU5UUlkgKFJW Vk00SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgTE1VTF80LCA0KQog RU5UUlkgKFJWVk0ySEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgTE1V TF8yLCA4KQogRU5UUlkgKFJWVk0xSEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF8xNiwgTE1VTF8xLCAxNikKLUVOVFJZIChSVlZNRjJIRiwgVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzE2LCBMTVVMX0YyLCAzMikKLUVOVFJZIChSVlZNRjRI RiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxF TiA+IDMyLCBMTVVMX0Y0LCA2NCkKK0VOVFJZIChSVlZNRjJIRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBM TVVMX0YyLCAzMikKK0VOVFJZIChSVlZNRjRIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRf WFRIRUFEVkVDVE9SLCBMTVVMX0Y0LCA2NCkKIAogLyogRGlzYWJsZSBtb2Rl cyBpZiBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIuICAqLwogRU5UUlkgKFJWVk04 U0ksIHRydWUsIExNVUxfOCwgNCkKIEVOVFJZIChSVlZNNFNJLCB0cnVlLCBM TVVMXzQsIDgpCiBFTlRSWSAoUlZWTTJTSSwgdHJ1ZSwgTE1VTF8yLCAxNikK IEVOVFJZIChSVlZNMVNJLCB0cnVlLCBMTVVMXzEsIDMyKQotRU5UUlkgKFJW Vk1GMlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgTE1VTF9GMiwgNjQpCitF TlRSWSAoUlZWTUYyU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBMTVVMX0YyLCA2NCkKIAogLyogRGlzYWJsZSBt b2RlcyBpZiBUQVJHRVRfTUlOX1ZMRU4gPT0gMzIgb3IgIVRBUkdFVF9WRUNU T1JfRUxFTl9GUF8zMi4gICovCiBFTlRSWSAoUlZWTThTRiwgVEFSR0VUX1ZF Q1RPUl9FTEVOX0ZQXzMyLCBMTVVMXzgsIDQpCiBFTlRSWSAoUlZWTTRTRiwg VEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBMTVVMXzQsIDgpCiBFTlRSWSAo UlZWTTJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBMTVVMXzIsIDE2 KQogRU5UUlkgKFJWVk0xU0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiwg TE1VTF8xLCAzMikKLUVOVFJZIChSVlZNRjJTRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBMTVVMX0YyLCA2 NCkKK0VOVFJZIChSVlZNRjJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBMTVVMX0YyLCA2NCkKIAogLyogRGlzYWJsZSBtb2RlcyBpZiAhVEFS R0VUX1ZFQ1RPUl9FTEVOXzY0LiAgKi8KIEVOVFJZIChSVlZNOERJLCBUQVJH RVRfVkVDVE9SX0VMRU5fNjQsIExNVUxfOCwgOCkKQEAgLTE0MCwxMjcgKzE0 MCwxMjcgQEAgRU5UUlkgKFJWVk0xREYsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF82NCwgTE1VTF8xLCA2NCkKICNlbmRpZgogCiBUVVBMRV9FTlRSWSAoUlZW TTF4OFFJLCB0cnVlLCBSVlZNMVFJLCA4LCBMTVVMXzEsIDgpCi1UVVBMRV9F TlRSWSAoUlZWTUYyeDhRSSwgdHJ1ZSwgUlZWTUYyUUksIDgsIExNVUxfRjIs IDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GNHg4UUksIHRydWUsIFJWVk1GNFFJ LCA4LCBMTVVMX0Y0LCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjh4OFFJLCBU QVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4UUksIDgsIExNVUxfRjgsIDY0 KQorVFVQTEVfRU5UUlkgKFJWVk1GMng4UUksICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJRSSwgOCwgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAo UlZWTUY0eDhRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNFFJLCA4 LCBMTVVMX0Y0LCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjh4OFFJLCBUQVJH RVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUY4UUksIDgsIExNVUxfRjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDdR SSwgdHJ1ZSwgUlZWTTFRSSwgNywgTE1VTF8xLCA4KQotVFVQTEVfRU5UUlkg KFJWVk1GMng3UUksIHRydWUsIFJWVk1GMlFJLCA3LCBMTVVMX0YyLCAxNikK LVRVUExFX0VOVFJZIChSVlZNRjR4N1FJLCB0cnVlLCBSVlZNRjRRSSwgNywg TE1VTF9GNCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDdRSSwgVEFSR0VU X01JTl9WTEVOID4gMzIsIFJWVk1GOFFJLCA3LCBMTVVMX0Y4LCA2NCkKK1RV UExFX0VOVFJZIChSVlZNRjJ4N1FJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwg UlZWTUYyUUksIDcsIExNVUxfRjIsIDE2KQorVFVQTEVfRU5UUlkgKFJWVk1G NHg3UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRRSSwgNywgTE1V TF9GNCwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDdRSSwgVEFSR0VUX01J Tl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJ LCA3LCBMTVVMX0Y4LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMXg2UUksIHRy dWUsIFJWVk0xUUksIDYsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChSVlZN RjJ4NlFJLCB0cnVlLCBSVlZNRjJRSSwgNiwgTE1VTF9GMiwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUY0eDZRSSwgdHJ1ZSwgUlZWTUY0UUksIDYsIExNVUxf RjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHg2UUksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjhRSSwgNiwgTE1VTF9GOCwgNjQpCitUVVBMRV9F TlRSWSAoUlZWTUYyeDZRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1G MlFJLCA2LCBMTVVMX0YyLCAxNikKK1RVUExFX0VOVFJZIChSVlZNRjR4NlFJ LCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDYsIExNVUxfRjQs IDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHg2UUksIFRBUkdFVF9NSU5fVkxF TiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwgNiwg TE1VTF9GOCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NVFJLCB0cnVlLCBS VlZNMVFJLCA1LCBMTVVMXzEsIDgpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDVR SSwgdHJ1ZSwgUlZWTUYyUUksIDUsIExNVUxfRjIsIDE2KQotVFVQTEVfRU5U UlkgKFJWVk1GNHg1UUksIHRydWUsIFJWVk1GNFFJLCA1LCBMTVVMX0Y0LCAz MikKLVRVUExFX0VOVFJZIChSVlZNRjh4NVFJLCBUQVJHRVRfTUlOX1ZMRU4g PiAzMiwgUlZWTUY4UUksIDUsIExNVUxfRjgsIDY0KQorVFVQTEVfRU5UUlkg KFJWVk1GMng1UUksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJRSSwg NSwgTE1VTF9GMiwgMTYpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDVRSSwgIVRB UkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNFFJLCA1LCBMTVVMX0Y0LCAzMikK K1RVUExFX0VOVFJZIChSVlZNRjh4NVFJLCBUQVJHRVRfTUlOX1ZMRU4gPiAz MiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY4UUksIDUsIExNVUxf RjgsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0yeDRRSSwgdHJ1ZSwgUlZWTTJR SSwgNCwgTE1VTF8yLCA0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDRRSSwgdHJ1 ZSwgUlZWTTFRSSwgNCwgTE1VTF8xLCA4KQotVFVQTEVfRU5UUlkgKFJWVk1G Mng0UUksIHRydWUsIFJWVk1GMlFJLCA0LCBMTVVMX0YyLCAxNikKLVRVUExF X0VOVFJZIChSVlZNRjR4NFFJLCB0cnVlLCBSVlZNRjRRSSwgNCwgTE1VTF9G NCwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY4eDRRSSwgVEFSR0VUX01JTl9W TEVOID4gMzIsIFJWVk1GOFFJLCA0LCBMTVVMX0Y4LCA2NCkKK1RVUExFX0VO VFJZIChSVlZNRjJ4NFFJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYy UUksIDQsIExNVUxfRjIsIDE2KQorVFVQTEVfRU5UUlkgKFJWVk1GNHg0UUks ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRRSSwgNCwgTE1VTF9GNCwg MzIpCitUVVBMRV9FTlRSWSAoUlZWTUY4eDRRSSwgVEFSR0VUX01JTl9WTEVO ID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GOFFJLCA0LCBM TVVMX0Y4LCA2NCkKIFRVUExFX0VOVFJZIChSVlZNMngzUUksIHRydWUsIFJW Vk0yUUksIDMsIExNVUxfMiwgNCkKIFRVUExFX0VOVFJZIChSVlZNMXgzUUks IHRydWUsIFJWVk0xUUksIDMsIExNVUxfMSwgOCkKLVRVUExFX0VOVFJZIChS VlZNRjJ4M1FJLCB0cnVlLCBSVlZNRjJRSSwgMywgTE1VTF9GMiwgMTYpCi1U VVBMRV9FTlRSWSAoUlZWTUY0eDNRSSwgdHJ1ZSwgUlZWTUY0UUksIDMsIExN VUxfRjQsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GOHgzUUksIFRBUkdFVF9N SU5fVkxFTiA+IDMyLCBSVlZNRjhRSSwgMywgTE1VTF9GOCwgNjQpCitUVVBM RV9FTlRSWSAoUlZWTUYyeDNRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJW Vk1GMlFJLCAzLCBMTVVMX0YyLCAxNikKK1RVUExFX0VOVFJZIChSVlZNRjR4 M1FJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0UUksIDMsIExNVUxf RjQsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GOHgzUUksIFRBUkdFVF9NSU5f VkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjhRSSwg MywgTE1VTF9GOCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZWTTR4MlFJLCB0cnVl LCBSVlZNNFFJLCAyLCBMTVVMXzQsIDIpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4 MlFJLCB0cnVlLCBSVlZNMlFJLCAyLCBMTVVMXzIsIDQpCiBUVVBMRV9FTlRS WSAoUlZWTTF4MlFJLCB0cnVlLCBSVlZNMVFJLCAyLCBMTVVMXzEsIDgpCi1U VVBMRV9FTlRSWSAoUlZWTUYyeDJRSSwgdHJ1ZSwgUlZWTUYyUUksIDIsIExN VUxfRjIsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GNHgyUUksIHRydWUsIFJW Vk1GNFFJLCAyLCBMTVVMX0Y0LCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjh4 MlFJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY4UUksIDIsIExNVUxf RjgsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMngyUUksICFUQVJHRVRfWFRI RUFEVkVDVE9SLCBSVlZNRjJRSSwgMiwgTE1VTF9GMiwgMTYpCitUVVBMRV9F TlRSWSAoUlZWTUY0eDJRSSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1G NFFJLCAyLCBMTVVMX0Y0LCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjh4MlFJ LCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RP UiwgUlZWTUY4UUksIDIsIExNVUxfRjgsIDY0KQogCiBUVVBMRV9FTlRSWSAo UlZWTTF4OEhJLCB0cnVlLCBSVlZNMUhJLCA4LCBMTVVMXzEsIDE2KQotVFVQ TEVfRU5UUlkgKFJWVk1GMng4SEksIHRydWUsIFJWVk1GMkhJLCA4LCBMTVVM X0YyLCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjR4OEhJLCBUQVJHRVRfTUlO X1ZMRU4gPiAzMiwgUlZWTUY0SEksIDgsIExNVUxfRjQsIDY0KQorVFVQTEVf RU5UUlkgKFJWVk1GMng4SEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZN RjJISSwgOCwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDhI SSwgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNU T1IsIFJWVk1GNEhJLCA4LCBMTVVMX0Y0LCA2NCkKIFRVUExFX0VOVFJZIChS VlZNMXg3SEksIHRydWUsIFJWVk0xSEksIDcsIExNVUxfMSwgMTYpCi1UVVBM RV9FTlRSWSAoUlZWTUYyeDdISSwgdHJ1ZSwgUlZWTUYySEksIDcsIExNVUxf RjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg3SEksIFRBUkdFVF9NSU5f VkxFTiA+IDMyLCBSVlZNRjRISSwgNywgTE1VTF9GNCwgNjQpCitUVVBMRV9F TlRSWSAoUlZWTUYyeDdISSwgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1G MkhJLCA3LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjR4N0hJ LCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RP UiwgUlZWTUY0SEksIDcsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJW Vk0xeDZISSwgdHJ1ZSwgUlZWTTFISSwgNiwgTE1VTF8xLCAxNikKLVRVUExF X0VOVFJZIChSVlZNRjJ4NkhJLCB0cnVlLCBSVlZNRjJISSwgNiwgTE1VTF9G MiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDZISSwgVEFSR0VUX01JTl9W TEVOID4gMzIsIFJWVk1GNEhJLCA2LCBMTVVMX0Y0LCA2NCkKK1RVUExFX0VO VFJZIChSVlZNRjJ4NkhJLCAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYy SEksIDYsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg2SEks IFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9S LCBSVlZNRjRISSwgNiwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAoUlZW TTF4NUhJLCB0cnVlLCBSVlZNMUhJLCA1LCBMTVVMXzEsIDE2KQotVFVQTEVf RU5UUlkgKFJWVk1GMng1SEksIHRydWUsIFJWVk1GMkhJLCA1LCBMTVVMX0Yy LCAzMikKLVRVUExFX0VOVFJZIChSVlZNRjR4NUhJLCBUQVJHRVRfTUlOX1ZM RU4gPiAzMiwgUlZWTUY0SEksIDUsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5U UlkgKFJWVk1GMng1SEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJI SSwgNSwgTE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDVISSwg VEFSR0VUX01JTl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GNEhJLCA1LCBMTVVMX0Y0LCA2NCkKIFRVUExFX0VOVFJZIChSVlZN Mng0SEksIHRydWUsIFJWVk0ySEksIDQsIExNVUxfMiwgOCkKIFRVUExFX0VO VFJZIChSVlZNMXg0SEksIHRydWUsIFJWVk0xSEksIDQsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDRISSwgdHJ1ZSwgUlZWTUYySEksIDQs IExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg0SEksIFRBUkdF VF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRISSwgNCwgTE1VTF9GNCwgNjQpCitU VVBMRV9FTlRSWSAoUlZWTUYyeDRISSwgIVRBUkdFVF9YVEhFQURWRUNUT1Is IFJWVk1GMkhJLCA0LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZN RjR4NEhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUY0SEksIDQsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5U UlkgKFJWVk0yeDNISSwgdHJ1ZSwgUlZWTTJISSwgMywgTE1VTF8yLCA4KQog VFVQTEVfRU5UUlkgKFJWVk0xeDNISSwgdHJ1ZSwgUlZWTTFISSwgMywgTE1V TF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4M0hJLCB0cnVlLCBSVlZN RjJISSwgMywgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDNI SSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhJLCAzLCBMTVVMX0Y0 LCA2NCkKK1RVUExFX0VOVFJZIChSVlZNRjJ4M0hJLCAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUYySEksIDMsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5U UlkgKFJWVk1GNHgzSEksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJH RVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRISSwgMywgTE1VTF9GNCwgNjQpCiBU VVBMRV9FTlRSWSAoUlZWTTR4MkhJLCB0cnVlLCBSVlZNNEhJLCAyLCBMTVVM XzQsIDQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4MkhJLCB0cnVlLCBSVlZNMkhJ LCAyLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAoUlZWTTF4MkhJLCB0cnVl LCBSVlZNMUhJLCAyLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1G MngySEksIHRydWUsIFJWVk1GMkhJLCAyLCBMTVVMX0YyLCAzMikKLVRVUExF X0VOVFJZIChSVlZNRjR4MkhJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZW TUY0SEksIDIsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMngy SEksICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJISSwgMiwgTE1VTF9G MiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDJISSwgVEFSR0VUX01JTl9W TEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhJLCAy LCBMTVVMX0Y0LCA2NCkKIAogVFVQTEVfRU5UUlkgKFJWVk0xeDhIRiwgVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMUhGLCA4LCBMTVVMXzEsIDE2 KQotVFVQTEVfRU5UUlkgKFJWVk1GMng4SEYsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiwgUlZWTUYySEYsIDgsIExNVUxfRjIsIDMyKQotVFVQTEVfRU5U UlkgKFJWVk1GNHg4SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDgsIExNVUxfRjQsIDY0 KQorVFVQTEVfRU5UUlkgKFJWVk1GMng4SEYsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEYsIDgs IExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg4SEYsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAm JiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDgsIExNVUxfRjQs IDY0KQogVFVQTEVfRU5UUlkgKFJWVk0xeDdIRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzE2LCBSVlZNMUhGLCA3LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5U UlkgKFJWVk1GMng3SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZW TUYySEYsIDcsIExNVUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg3 SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiwgUlZWTUY0SEYsIDcsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5U UlkgKFJWVk1GMng3SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAh VEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYySEYsIDcsIExNVUxfRjIsIDMy KQorVFVQTEVfRU5UUlkgKFJWVk1GNHg3SEYsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDcsIExNVUxfRjQsIDY0KQogVFVQTEVf RU5UUlkgKFJWVk0xeDZIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBS VlZNMUhGLCA2LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMng2 SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDYsIExN VUxfRjIsIDMyKQotVFVQTEVfRU5UUlkgKFJWVk1GNHg2SEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZW TUY0SEYsIDYsIExNVUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng2 SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVB RFZFQ1RPUiwgUlZWTUYySEYsIDYsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5U UlkgKFJWVk1GNHg2SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwg UlZWTUY0SEYsIDYsIExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0x eDVIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMUhGLCA1LCBM TVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMng1SEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiwgUlZWTUYySEYsIDUsIExNVUxfRjIsIDMyKQot VFVQTEVfRU5UUlkgKFJWVk1GNHg1SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9G UF8xNiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUY0SEYsIDUsIExN VUxfRjQsIDY0KQorVFVQTEVfRU5UUlkgKFJWVk1GMng1SEYsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8xNiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZW TUYySEYsIDUsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GNHg1 SEYsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8xNiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUY0SEYsIDUs IExNVUxfRjQsIDY0KQogVFVQTEVfRU5UUlkgKFJWVk0yeDRIRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMkhGLCA0LCBMTVVMXzIsIDgpCiBU VVBMRV9FTlRSWSAoUlZWTTF4NEhGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MTYsIFJWVk0xSEYsIDQsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZW TUYyeDRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNRjJIRiwg NCwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRSWSAoUlZWTUY0eDRIRiwgVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMy LCBSVlZNRjRIRiwgNCwgTE1VTF9GNCwgNjQpCitUVVBMRV9FTlRSWSAoUlZW TUYyeDRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmICFUQVJHRVRf WFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgNCwgTE1VTF9GMiwgMzIpCitUVVBM RV9FTlRSWSAoUlZWTUY0eDRIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2 ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjRIRiwgNCwgTE1VTF9GNCwgNjQpCiBUVVBMRV9FTlRSWSAo UlZWTTJ4M0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0ySEYs IDMsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXgzSEYsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8xNiwgUlZWTTFIRiwgMywgTE1VTF8xLCAxNikK LVRVUExFX0VOVFJZIChSVlZNRjJ4M0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYsIFJWVk1GMkhGLCAzLCBMTVVMX0YyLCAzMikKLVRVUExFX0VOVFJZ IChSVlZNRjR4M0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GNEhGLCAzLCBMTVVMX0Y0LCA2NCkK K1RVUExFX0VOVFJZIChSVlZNRjJ4M0hGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMTYgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMkhGLCAzLCBM TVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjR4M0hGLCBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMTYgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GNEhGLCAzLCBMTVVMX0Y0LCA2 NCkKIFRVUExFX0VOVFJZIChSVlZNNHgySEYsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8xNiwgUlZWTTRIRiwgMiwgTE1VTF80LCA0KQogVFVQTEVfRU5UUlkg KFJWVk0yeDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2LCBSVlZNMkhG LCAyLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAoUlZWTTF4MkhGLCBUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMTYsIFJWVk0xSEYsIDIsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2LCBSVlZNRjJIRiwgMiwgTE1VTF9GMiwgMzIpCi1UVVBMRV9FTlRS WSAoUlZWTUY0eDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRB UkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjRIRiwgMiwgTE1VTF9GNCwgNjQp CitUVVBMRV9FTlRSWSAoUlZWTUYyeDJIRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzE2ICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJIRiwgMiwg TE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUY0eDJIRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzE2ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjRIRiwgMiwgTE1VTF9GNCwg NjQpCiAKIFRVUExFX0VOVFJZIChSVlZNMXg4U0ksIHRydWUsIFJWVk0xU0ks IDgsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZWTUYyeDhTSSwgVEFS R0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNJLCA4LCBMTVVMX0YyLCAzMikK K1RVUExFX0VOVFJZIChSVlZNRjJ4OFNJLCAoVEFSR0VUX01JTl9WTEVOID4g MzIpICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgOCwgTE1V TF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4N1NJLCB0cnVlLCBSVlZN MVNJLCA3LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMng3U0ks IFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgNywgTE1VTF9GMiwg MzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDdTSSwgKFRBUkdFVF9NSU5fVkxF TiA+IDMyKSAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0ksIDcs IExNVUxfRjIsIDMyKQogVFVQTEVfRU5UUlkgKFJWVk0xeDZTSSwgdHJ1ZSwg UlZWTTFTSSwgNiwgTE1VTF8xLCAxNikKLVRVUExFX0VOVFJZIChSVlZNRjJ4 NlNJLCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0ksIDYsIExNVUxf RjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng2U0ksIFRBUkdFVF9NSU5f VkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwg NiwgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAoUlZWTTF4NVNJLCB0cnVl LCBSVlZNMVNJLCA1LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1G Mng1U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgNSwgTE1V TF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDVTSSwgVEFSR0VUX01J Tl9WTEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJ LCA1LCBMTVVMX0YyLCAzMikKIFRVUExFX0VOVFJZIChSVlZNMng0U0ksIHRy dWUsIFJWVk0yU0ksIDQsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZN MXg0U0ksIHRydWUsIFJWVk0xU0ksIDQsIExNVUxfMSwgMTYpCi1UVVBMRV9F TlRSWSAoUlZWTUYyeDRTSSwgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1G MlNJLCA0LCBMTVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4NFNJ LCBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RP UiwgUlZWTUYyU0ksIDQsIExNVUxfRjIsIDMyKQogVFVQTEVfRU5UUlkgKFJW Vk0yeDNTSSwgdHJ1ZSwgUlZWTTJTSSwgMywgTE1VTF8yLCA4KQogVFVQTEVf RU5UUlkgKFJWVk0xeDNTSSwgdHJ1ZSwgUlZWTTFTSSwgMywgTE1VTF8xLCAx NikKLVRVUExFX0VOVFJZIChSVlZNRjJ4M1NJLCBUQVJHRVRfTUlOX1ZMRU4g PiAzMiwgUlZWTUYyU0ksIDMsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkg KFJWVk1GMngzU0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRf WFRIRUFEVkVDVE9SLCBSVlZNRjJTSSwgMywgTE1VTF9GMiwgMzIpCiBUVVBM RV9FTlRSWSAoUlZWTTR4MlNJLCB0cnVlLCBSVlZNNFNJLCAyLCBMTVVMXzQs IDQpCiBUVVBMRV9FTlRSWSAoUlZWTTJ4MlNJLCB0cnVlLCBSVlZNMlNJLCAy LCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAoUlZWTTF4MlNJLCB0cnVlLCBS VlZNMVNJLCAyLCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMngy U0ksIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTSSwgMiwgTE1VTF9G MiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDJTSSwgVEFSR0VUX01JTl9W TEVOID4gMzIgJiYgIVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNJLCAy LCBMTVVMX0YyLCAzMikKIAogVFVQTEVfRU5UUlkgKFJWVk0xeDhTRiwgVEFS R0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMVNGLCA4LCBMTVVMXzEsIDE2 KQotVFVQTEVfRU5UUlkgKFJWVk1GMng4U0YsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0YsIDgs IExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng4U0YsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAm JiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0YsIDgsIExNVUxfRjIs IDMyKQogVFVQTEVfRU5UUlkgKFJWVk0xeDdTRiwgVEFSR0VUX1ZFQ1RPUl9F TEVOX0ZQXzMyLCBSVlZNMVNGLCA3LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5U UlkgKFJWVk1GMng3U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZWTUYyU0YsIDcsIExNVUxfRjIsIDMy KQorVFVQTEVfRU5UUlkgKFJWVk1GMng3U0YsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hU SEVBRFZFQ1RPUiwgUlZWTUYyU0YsIDcsIExNVUxfRjIsIDMyKQogVFVQTEVf RU5UUlkgKFJWVk0xeDZTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBS VlZNMVNGLCA2LCBMTVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMng2 U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiwgUlZWTUYyU0YsIDYsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5U UlkgKFJWVk1GMng2U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBU QVJHRVRfTUlOX1ZMRU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwg UlZWTUYyU0YsIDYsIExNVUxfRjIsIDMyKQogVFVQTEVfRU5UUlkgKFJWVk0x eDVTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMVNGLCA1LCBM TVVMXzEsIDE2KQotVFVQTEVfRU5UUlkgKFJWVk1GMng1U0YsIFRBUkdFVF9W RUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZMRU4gPiAzMiwgUlZW TUYyU0YsIDUsIExNVUxfRjIsIDMyKQorVFVQTEVfRU5UUlkgKFJWVk1GMng1 U0YsIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiAmJiBUQVJHRVRfTUlOX1ZM RU4gPiAzMiAmJiAhVEFSR0VUX1hUSEVBRFZFQ1RPUiwgUlZWTUYyU0YsIDUs IExNVUxfRjIsIDMyKQogVFVQTEVfRU5UUlkgKFJWVk0yeDRTRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMlNGLCA0LCBMTVVMXzIsIDgpCiBU VVBMRV9FTlRSWSAoUlZWTTF4NFNGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBf MzIsIFJWVk0xU0YsIDQsIExNVUxfMSwgMTYpCi1UVVBMRV9FTlRSWSAoUlZW TUYyeDRTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9N SU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgNCwgTE1VTF9GMiwgMzIpCitUVVBM RV9FTlRSWSAoUlZWTUYyeDRTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMy ICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYmICFUQVJHRVRfWFRIRUFEVkVD VE9SLCBSVlZNRjJTRiwgNCwgTE1VTF9GMiwgMzIpCiBUVVBMRV9FTlRSWSAo UlZWTTJ4M1NGLCBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0yU0Ys IDMsIExNVUxfMiwgOCkKIFRVUExFX0VOVFJZIChSVlZNMXgzU0YsIFRBUkdF VF9WRUNUT1JfRUxFTl9GUF8zMiwgUlZWTTFTRiwgMywgTE1VTF8xLCAxNikK LVRVUExFX0VOVFJZIChSVlZNRjJ4M1NGLCBUQVJHRVRfVkVDVE9SX0VMRU5f RlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIsIFJWVk1GMlNGLCAzLCBM TVVMX0YyLCAzMikKK1RVUExFX0VOVFJZIChSVlZNRjJ4M1NGLCBUQVJHRVRf VkVDVE9SX0VMRU5fRlBfMzIgJiYgVEFSR0VUX01JTl9WTEVOID4gMzIgJiYg IVRBUkdFVF9YVEhFQURWRUNUT1IsIFJWVk1GMlNGLCAzLCBMTVVMX0YyLCAz MikKIFRVUExFX0VOVFJZIChSVlZNNHgyU0YsIFRBUkdFVF9WRUNUT1JfRUxF Tl9GUF8zMiwgUlZWTTRTRiwgMiwgTE1VTF80LCA0KQogVFVQTEVfRU5UUlkg KFJWVk0yeDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVOX0ZQXzMyLCBSVlZNMlNG LCAyLCBMTVVMXzIsIDgpCiBUVVBMRV9FTlRSWSAoUlZWTTF4MlNGLCBUQVJH RVRfVkVDVE9SX0VMRU5fRlBfMzIsIFJWVk0xU0YsIDIsIExNVUxfMSwgMTYp Ci1UVVBMRV9FTlRSWSAoUlZWTUYyeDJTRiwgVEFSR0VUX1ZFQ1RPUl9FTEVO X0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyLCBSVlZNRjJTRiwgMiwg TE1VTF9GMiwgMzIpCitUVVBMRV9FTlRSWSAoUlZWTUYyeDJTRiwgVEFSR0VU X1ZFQ1RPUl9FTEVOX0ZQXzMyICYmIFRBUkdFVF9NSU5fVkxFTiA+IDMyICYm ICFUQVJHRVRfWFRIRUFEVkVDVE9SLCBSVlZNRjJTRiwgMiwgTE1VTF9GMiwg MzIpDQpSZW1vdmUgdGhlc2UgY2hhbmdlcy4NCg0KSW5zdGVhZCwgeW91J2Qg YmV0dGVyIGJsb2NrcyB0aG9zZSBtb2RlcyBpbiByaXNjdl92X2V4dF9tb2Rl X3ANCi8qIFJldHVybiB0cnVlIGlmIGl0IGlzIGVpdGhlciBSVlYgdmVjdG9y IG1vZGUgb3IgUlZWIHR1cGxlIG1vZGUuICAqLw0KDQpzdGF0aWMgYm9vbA0K cmlzY3Zfdl9leHRfbW9kZV9wIChtYWNoaW5lX21vZGUgbW9kZSkNCnsNCiAg aWYgKFRBUkdFVF9YVEhFQURWRUNUT1IpDQogICAgew0KICAgICAgLyogQmxv Y2sgYWxsIGZyYWN0aW9uYWwgbW9kZXMuICAqLw0KICAgICAgdW5zaWduZWQg aW50IG5mID0gcmlzY3ZfdmVjdG9yOjpnZXRfbmYgKG1vZGUpOw0KICAgICAg cG9seV91aW50NjQgbW9kZV9zaXplID0gR0VUX01PREVfU0laRSAobW9kZSk7 DQogICAgICBpZiAobmYgPiAxKQ0KICAgICAgICBtb2RlX3NpemUgPSBleGFj dF9kaXYgKG1vZGVfc2l6ZSwgbmYpOw0KICAgICAgaWYgKGtub3duX2x0ICht b2RlX3NpemUsIEJZVEVTX1BFUl9SSVNDVl9WRUNUT1IpKQ0KICAgICAgICBy ZXR1cm4gZmFsc2U7DQogICAgfQ0KICByZXR1cm4gcmlzY3Zfdl9leHRfdmVj dG9yX21vZGVfcCAobW9kZSkgfHwgcmlzY3Zfdl9leHRfdHVwbGVfbW9kZV9w IChtb2RlKQ0KICAgICAgICAgfHwgcmlzY3Zfdl9leHRfdmxzX21vZGVfcCAo bW9kZSk7DQp9DQoNCg0KDQpqdXpoZS56aG9uZ0ByaXZhaS5haQ0KIA0K5Y+R 5Lu25Lq677yaIGpvc2h1YQ0K5Y+R6YCB5pe26Ze077yaIDIwMjQtMDEtMTEg MjI6MTENCuaUtuS7tuS6uu+8miBqdXpoZS56aG9uZ0ByaXZhaS5haTsgZ2Nj LXBhdGNoZXMNCuaKhOmAge+8miBKaW0gV2lsc29uOyBwYWxtZXI7IGFuZHJl dzsgcGhpbGlwcC50b21zaWNoOyBqZWZmcmV5YWxhdzsgY2hyaXN0b3BoLm11 ZWxsbmVyOyBqaW5tYTsgY29vcGVyLnF1DQrkuLvpopjvvJogUmXvvJpSZe+8 mltQQVRDSCB2NV0gUklTQy1WOiBBZGQgc3VwcG9ydCBmb3IgeHRoZWFkdmVj dG9yLXNwZWNpZmljIGludHJpbnNpY3MuDQpJcyB0aGUgcGF0Y2ggd2l0aCAh VEFSR0VUX1hUSEVBRFZFQ1RPUiBmb3Igc2V4dC96ZXh0DQpwYXR0ZXJucyBy ZW1vdmVkIE9LIHRvIGNvbW1pdD8NCmh0dHBzOi8vZ2NjLmdudS5vcmcvcGlw ZXJtYWlsL2djYy1wYXRjaGVzLzIwMjQtSmFudWFyeS82NDI2NTcuaHRtbA0K IA0KIA0KIA0KIA0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQrlj5Hku7bkurrv vJpqdXpoZS56aG9uZ0ByaXZhaS5haSA8anV6aGUuemhvbmdAcml2YWkuYWk+ DQrlj5HpgIHml7bpl7TvvJoyMDI05bm0MeaciDEx5pelKOaYn+acn+Wbmykg MTg6NTYNCuaUtuS7tuS6uu+8miJjb29wZXIuam9zaHVhIjxjb29wZXIuam9z aHVhQGxpbnV4LmFsaWJhYmEuY29tPjsgImdjYy1wYXRjaGVzIjxnY2MtcGF0 Y2hlc0BnY2MuZ251Lm9yZz4NCuaKhOOAgOmAge+8mkppbSBXaWxzb248amlt LndpbHNvbi5nY2NAZ21haWwuY29tPjsgcGFsbWVyPHBhbG1lckBkYWJiZWx0 LmNvbT47IGFuZHJldzxhbmRyZXdAc2lmaXZlLmNvbT47ICJwaGlsaXBwLnRv bXNpY2giPHBoaWxpcHAudG9tc2ljaEB2cnVsbC5ldT47IGplZmZyZXlhbGF3 PGplZmZyZXlhbGF3QGdtYWlsLmNvbT47ICJjaHJpc3RvcGgubXVlbGxuZXIi PGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT47IGppbm1hPGppbm1hQGxp bnV4LmFsaWJhYmEuY29tPjsgImNvb3Blci5xdSI8Y29vcGVyLnF1QGxpbnV4 LmFsaWJhYmEuY29tPg0K5Li744CA6aKY77yaUmU6IFJl77yaW1BBVENIIHY1 XSBSSVNDLVY6IEFkZCBzdXBwb3J0IGZvciB4dGhlYWR2ZWN0b3Itc3BlY2lm aWMgaW50cmluc2ljcy4NCiANCiANClllcy4NCiANCiANCmp1emhlLnpob25n QHJpdmFpLmFpDQogDQogDQrlj5Hku7bkurrvvJogam9zaHVhDQrlj5HpgIHm l7bpl7TvvJogMjAyNC0wMS0xMSAxODo1NA0K5pS25Lu25Lq677yaIGp1emhl Lnpob25nQHJpdmFpLmFpOyBnY2MtcGF0Y2hlcw0K5oqE6YCB77yaIEppbSBX aWxzb247IHBhbG1lcjsgYW5kcmV3OyBwaGlsaXBwLnRvbXNpY2g7IGplZmZy ZXlhbGF3OyBjaHJpc3RvcGgubXVlbGxuZXI7IGppbm1hOyBjb29wZXIucXUN CuS4u+mimO+8miBSZe+8mltQQVRDSCB2NV0gUklTQy1WOiBBZGQgc3VwcG9y dCBmb3IgeHRoZWFkdmVjdG9yLXNwZWNpZmljIGludHJpbnNpY3MuDQogDQpE byB5b3UgbWVhbiByZW1vdmluZyBUQVJHRVRfWFRIRUFEVkVDVE9SIGZvciBz ZXh0L3pleHQgcGF0dGVybnMNCmFuZCB0aGVuIHJlc2VuZGluZyB0aGUgICJS SVNDLVY6IEhhbmRsZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIFhUaGVhZHZlY3Rv cg0KYW5kIFZlY3RvciIgcGF0Y2g/DQogDQogDQogDQogDQogDQotLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCuWPkeS7tuS6uu+8mmp1emhlLnpob25nQHJpdmFp LmFpIDxqdXpoZS56aG9uZ0ByaXZhaS5haT4NCuWPkemAgeaXtumXtO+8mjIw MjTlubQx5pyIMTHml6Uo5pif5pyf5ZubKSAxNzo1Nw0K5pS25Lu25Lq677ya ImNvb3Blci5qb3NodWEiPGNvb3Blci5qb3NodWFAbGludXguYWxpYmFiYS5j b20+OyAiZ2NjLXBhdGNoZXMiPGdjYy1wYXRjaGVzQGdjYy5nbnUub3JnPg0K 5oqE44CA6YCB77yaSmltIFdpbHNvbjxqaW0ud2lsc29uLmdjY0BnbWFpbC5j b20+OyBwYWxtZXI8cGFsbWVyQGRhYmJlbHQuY29tPjsgYW5kcmV3PGFuZHJl d0BzaWZpdmUuY29tPjsgInBoaWxpcHAudG9tc2ljaCI8cGhpbGlwcC50b21z aWNoQHZydWxsLmV1PjsgamVmZnJleWFsYXc8amVmZnJleWFsYXdAZ21haWwu Y29tPjsgImNocmlzdG9waC5tdWVsbG5lciI8Y2hyaXN0b3BoLm11ZWxsbmVy QHZydWxsLmV1PjsgImNvb3Blci5qb3NodWEiPGNvb3Blci5qb3NodWFAbGlu dXguYWxpYmFiYS5jb20+OyBqaW5tYTxqaW5tYUBsaW51eC5hbGliYWJhLmNv bT47ICJjb29wZXIucXUiPGNvb3Blci5xdUBsaW51eC5hbGliYWJhLmNvbT4N CuS4u+OAgOmimO+8mlJlOiBbUEFUQ0ggdjVdIFJJU0MtVjogQWRkIHN1cHBv cnQgZm9yIHh0aGVhZHZlY3Rvci1zcGVjaWZpYyBpbnRyaW5zaWNzLg0KIA0K IA0KTEdUTS4gQ291bGQgeW91IHJlc2VuZCB0aGUgcGF0Y2ggIlJJU0MtVjog SGFuZGxlIGRpZmZlcmVuY2VzIGJldHdlZW4gWFRoZWFkdmVjdG9yIGFuZCBW ZWN0b3INCiANCiANClRoYW5rcy4NCmp1emhlLnpob25nQHJpdmFpLmFpDQog DQogDQpGcm9tOiBKdW4gU2hhIChKb3NodWEpDQpEYXRlOiAyMDI0LTAxLTEx IDE3OjUyDQpUbzogZ2NjLXBhdGNoZXMNCkNDOiBqaW0ud2lsc29uLmdjYzsg cGFsbWVyOyBhbmRyZXc7IHBoaWxpcHAudG9tc2ljaDsgamVmZnJleWFsYXc7 IGNocmlzdG9waC5tdWVsbG5lcjsganV6aGUuemhvbmc7IEp1biBTaGEgKEpv c2h1YSk7IEppbiBNYTsgWGlhbm1pYW8gUXUNClN1YmplY3Q6IFtQQVRDSCB2 NV0gUklTQy1WOiBBZGQgc3VwcG9ydCBmb3IgeHRoZWFkdmVjdG9yLXNwZWNp ZmljIGludHJpbnNpY3MuDQogDQpUaGlzIHBhdGNoIG9ubHkgaW52b2x2ZXMg dGhlIGdlbmVyYXRpb24gb2YgeHRoZWFkdmVjdG9yDQpzcGVjaWFsIGxvYWQv c3RvcmUgaW5zdHJ1Y3Rpb25zIGFuZCB2ZXh0IGluc3RydWN0aW9ucy4NCiAN CmdjYy9DaGFuZ2VMb2c6DQogDQoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtYmFzZXMuY2MNCihjbGFzcyB0aF9sb2Fkc3RvcmVfd2lk dGgpOiBEZWZpbmUgbmV3IGJ1aWx0aW4gYmFzZXMuDQooY2xhc3MgdGhfZXh0 cmFjdCk6IERlZmluZSBuZXcgYnVpbHRpbiBiYXNlcy4NCihCQVNFKTogRGVm aW5lIG5ldyBidWlsdGluIGJhc2VzLg0KKiBjb25maWcvcmlzY3YvcmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmg6DQpEZWZpbmUgbmV3IGJ1aWx0aW4g Y2xhc3MuDQoqIGNvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMt c2hhcGVzLmNjDQooc3RydWN0IHRoX2xvYWRzdG9yZV93aWR0aF9kZWYpOiBE ZWZpbmUgbmV3IGJ1aWx0aW4gc2hhcGVzLg0KKHN0cnVjdCB0aF9pbmRleGVk X2xvYWRzdG9yZV93aWR0aF9kZWYpOg0KRGVmaW5lIG5ldyBidWlsdGluIHNo YXBlcy4NCihzdHJ1Y3QgdGhfZXh0cmFjdF9kZWYpOiBEZWZpbmUgbmV3IGJ1 aWx0aW4gc2hhcGVzLg0KKFNIQVBFKTogRGVmaW5lIG5ldyBidWlsdGluIHNo YXBlcy4NCiogY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1z aGFwZXMuaDoNCkRlZmluZSBuZXcgYnVpbHRpbiBzaGFwZXMuDQoqIGNvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuY2MgKERFRl9SVlZfRlVO Q1RJT04pOg0KKiBjb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5z LmggKGVudW0gcmVxdWlyZWRfZXh0KToNCihzdHJ1Y3QgZnVuY3Rpb25fZ3Jv dXBfaW5mbyk6DQoqIGNvbmZpZy9yaXNjdi90LXJpc2N2OiBBZGQgdGhlYWQt dmVjdG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYNCiogY29uZmlnL3Jpc2N2 L3RoZWFkLXZlY3Rvci5tZA0KKEBwcmVkX21vdl93aWR0aDx2bG1lbV9vcF9h dHRyPjxtb2RlPik6IEFkZCBuZXcgcGF0dGVybnMuDQooKnByZWRfbW92X3dp ZHRoPHZsbWVtX29wX2F0dHI+PG1vZGU+KTogTGlrZXdpc2UuDQooQHByZWRf c3RvcmVfd2lkdGg8dmxtZW1fb3BfYXR0cj48bW9kZT4pOiBMaWtld2lzZS4N CihAcHJlZF9zdHJpZGVkX2xvYWRfd2lkdGg8dmxtZW1fb3BfYXR0cj48bW9k ZT4pOiBMaWtld2lzZS4NCihAcHJlZF9zdHJpZGVkX3N0b3JlX3dpZHRoPHZs bWVtX29wX2F0dHI+PG1vZGU+KTogTGlrZXdpc2UuDQooQHByZWRfaW5kZXhl ZF9sb2FkX3dpZHRoPHZsbWVtX29wX2F0dHI+PG1vZGU+KTogTGlrZXdpc2Uu DQooQHByZWRfaW5kZXhlZF88dmxtZW1fb3JkZXJfYXR0cj5zdG9yZV93aWR0 aDx2bG1lbV9vcF9hdHRyPjxtb2RlPik6DQooQHByZWRfdGhfZXh0cmFjdDxt b2RlPik6IExpa2V3aXNlLg0KKCpwcmVkX3RoX2V4dHJhY3Q8bW9kZT4pOiBM aWtld2lzZS4NCiogY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlu cy1mdW5jdGlvbnMuZGVmOiBOZXcgZmlsZS4NCiANCmdjYy90ZXN0c3VpdGUv Q2hhbmdlTG9nOg0KIA0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2 ZWN0b3IvdmxiLXZzYi5jOiBOZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNj di9ydnYveHRoZWFkdmVjdG9yL3ZsYnUtdnNiLmM6IE5ldyB0ZXN0Lg0KKiBn Y2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3IvdmxoLXZzaC5jOiBO ZXcgdGVzdC4NCiogZ2NjLnRhcmdldC9yaXNjdi9ydnYveHRoZWFkdmVjdG9y L3ZsaHUtdnNoLmM6IE5ldyB0ZXN0Lg0KKiBnY2MudGFyZ2V0L3Jpc2N2L3J2 di94dGhlYWR2ZWN0b3Ivdmx3LXZzdy5jOiBOZXcgdGVzdC4NCiogZ2NjLnRh cmdldC9yaXNjdi9ydnYveHRoZWFkdmVjdG9yL3Zsd3UtdnN3LmM6IE5ldyB0 ZXN0Lg0KQ28tYXV0aG9yZWQtYnk6IEppbiBNYSA8amlubWFAbGludXguYWxp YmFiYS5jb20+DQpDby1hdXRob3JlZC1ieTogWGlhbm1pYW8gUXUgPGNvb3Bl ci5xdUBsaW51eC5hbGliYWJhLmNvbT4NCkNvLWF1dGhvcmVkLWJ5OiBDaHJp c3RvcGggTcO8bGxuZXIgPGNocmlzdG9waC5tdWVsbG5lckB2cnVsbC5ldT4N Ci0tLQ0KLi4uL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5j YyAgICAgIHwgMTM5ICsrKysrKysrKysNCi4uLi9yaXNjdi9yaXNjdi12ZWN0 b3ItYnVpbHRpbnMtYmFzZXMuaCAgICAgICB8ICAzMSArKysNCi4uLi9yaXNj di9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNjICAgICB8IDE2MCAr KysrKysrKysrKw0KLi4uL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1z aGFwZXMuaCAgICAgIHwgICAzICsNCmdjYy9jb25maWcvcmlzY3YvcmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLmNjICAgICB8ICA3MCArKysrKw0KZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuaCAgICAgIHwgICAzICsN CmdjYy9jb25maWcvcmlzY3YvdC1yaXNjdiAgICAgICAgICAgICAgICAgICAg ICB8ICAgMSArDQouLi4vcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLWZ1 bmN0aW9ucy5kZWYgfCAgMzkgKysrDQpnY2MvY29uZmlnL3Jpc2N2L3RoZWFk LXZlY3Rvci5tZCAgICAgICAgICAgICAgfCAyNTAgKysrKysrKysrKysrKysr KysrDQouLi4vcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bGItdnNiLmMgICAg ICAgICAgfCAgNjggKysrKysNCi4uLi9yaXNjdi9ydnYveHRoZWFkdmVjdG9y L3ZsYnUtdnNiLmMgICAgICAgICB8ICA2OCArKysrKw0KLi4uL3Jpc2N2L3J2 di94dGhlYWR2ZWN0b3IvdmxoLXZzaC5jICAgICAgICAgIHwgIDY4ICsrKysr DQouLi4vcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bGh1LXZzaC5jICAgICAg ICAgfCAgNjggKysrKysNCi4uLi9yaXNjdi9ydnYveHRoZWFkdmVjdG9yL3Zs dy12c3cuYyAgICAgICAgICB8ICA2OCArKysrKw0KLi4uL3Jpc2N2L3J2di94 dGhlYWR2ZWN0b3Ivdmx3dS12c3cuYyAgICAgICAgIHwgIDY4ICsrKysrDQox NSBmaWxlcyBjaGFuZ2VkLCAxMTA0IGluc2VydGlvbnMoKykNCmNyZWF0ZSBt b2RlIDEwMDY0NCBnY2MvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci1idWls dGlucy1mdW5jdGlvbnMuZGVmDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmxi LXZzYi5jDQpjcmVhdGUgbW9kZSAxMDA2NDQgZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3IvdmxidS12c2IuYw0KY3Jl YXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNj di9ydnYveHRoZWFkdmVjdG9yL3ZsaC12c2guYw0KY3JlYXRlIG1vZGUgMTAw NjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi9ydnYveHRoZWFk dmVjdG9yL3ZsaHUtdnNoLmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bHct dnN3LmMNCmNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bHd1LXZzdy5jDQogDQpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVp bHRpbnMtYmFzZXMuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rv ci1idWlsdGlucy1iYXNlcy5jYw0KaW5kZXggMWFhNmUzYzY2NjUuLmI2ZjZl NGZmMzdlIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12 ZWN0b3ItYnVpbHRpbnMtYmFzZXMuY2MNCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLWJhc2VzLmNjDQpAQCAtMjE0MSw2 ICsyMTQxLDgzIEBAIHB1YmxpYzoNCiAgIH0NCn07DQorLyogSW1wbGVtZW50 cw0KKyAqIHRoLnZsKGIvaC93KVt1XS52L3RoLnZzKGIvaC93KVt1XS52L3Ro LnZscyhiL2gvdylbdV0udi90aC52c3MoYi9oL3cpW3VdLnYvDQorICogdGgu dmx4KGIvaC93KVt1XS52L3RoLnZzW3VdeChiL2gvdykudg0KKyAqIGNvZGVn ZW4uICAqLw0KK3RlbXBsYXRlPGJvb2wgU1RPUkVfUCwgbHN0X3R5cGUgTFNU X1RZUEUsIGludCBVTlNQRUM+DQorY2xhc3MgdGhfbG9hZHN0b3JlX3dpZHRo IDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7DQorcHVibGljOg0KKyAgYm9v bCBhcHBseV90YWlsX3BvbGljeV9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0 dXJuICFTVE9SRV9QOyB9DQorICBib29sIGFwcGx5X21hc2tfcG9saWN5X3Ag KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gIVNUT1JFX1A7IH0NCisNCisg IHVuc2lnbmVkIGludCBjYWxsX3Byb3BlcnRpZXMgKGNvbnN0IGZ1bmN0aW9u X2luc3RhbmNlICYpIGNvbnN0IG92ZXJyaWRlDQorICB7DQorICAgIGlmIChT VE9SRV9QKQ0KKyAgICAgIHJldHVybiBDUF9XUklURV9NRU1PUlk7DQorICAg IGVsc2UNCisgICAgICByZXR1cm4gQ1BfUkVBRF9NRU1PUlk7DQorICB9DQor DQorICBib29sIGNhbl9iZV9vdmVybG9hZGVkX3AgKGVudW0gcHJlZGljYXRp b25fdHlwZV9pbmRleCBwcmVkKSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAg ICBpZiAoU1RPUkVfUCB8fCBMU1RfVFlQRSA9PSBMU1RfSU5ERVhFRCkNCisg ICAgICByZXR1cm4gdHJ1ZTsNCisgICAgcmV0dXJuIHByZWQgIT0gUFJFRF9U WVBFX25vbmU7DQorICB9DQorDQorICBydHggZXhwYW5kIChmdW5jdGlvbl9l eHBhbmRlciAmZSkgY29uc3Qgb3ZlcnJpZGUNCisgIHsNCisgICAgZ2NjX2Fz c2VydCAoVEFSR0VUX1hUSEVBRFZFQ1RPUik7DQorICAgIGlmIChMU1RfVFlQ RSA9PSBMU1RfSU5ERVhFRCkNCisgICAgICB7DQorIGlmIChTVE9SRV9QKQ0K KyAgIHJldHVybiBlLnVzZV9leGFjdF9pbnNuICgNCisgICAgIGNvZGVfZm9y X3ByZWRfaW5kZXhlZF9zdG9yZV93aWR0aCAoVU5TUEVDLCBVTlNQRUMsDQor ICAgICAgICBlLnZlY3Rvcl9tb2RlICgpKSk7DQorIGVsc2UNCisgICByZXR1 cm4gZS51c2VfZXhhY3RfaW5zbiAoDQorICAgICBjb2RlX2Zvcl9wcmVkX2lu ZGV4ZWRfbG9hZF93aWR0aCAoVU5TUEVDLCBlLnZlY3Rvcl9tb2RlICgpKSk7 DQorICAgICAgfQ0KKyAgICBlbHNlIGlmIChMU1RfVFlQRSA9PSBMU1RfU1RS SURFRCkNCisgICAgICB7DQorIGlmIChTVE9SRV9QKQ0KKyAgIHJldHVybiBl LnVzZV9jb250aWd1b3VzX3N0b3JlX2luc24gKA0KKyAgICAgY29kZV9mb3Jf cHJlZF9zdHJpZGVkX3N0b3JlX3dpZHRoIChVTlNQRUMsIGUudmVjdG9yX21v ZGUgKCkpKTsNCisgZWxzZQ0KKyAgIHJldHVybiBlLnVzZV9jb250aWd1b3Vz X2xvYWRfaW5zbiAoDQorICAgICBjb2RlX2Zvcl9wcmVkX3N0cmlkZWRfbG9h ZF93aWR0aCAoVU5TUEVDLCBlLnZlY3Rvcl9tb2RlICgpKSk7DQorICAgICAg fQ0KKyAgICBlbHNlDQorICAgICAgew0KKyBpZiAoU1RPUkVfUCkNCisgICBy ZXR1cm4gZS51c2VfY29udGlndW91c19zdG9yZV9pbnNuICgNCisgICAgIGNv ZGVfZm9yX3ByZWRfc3RvcmVfd2lkdGggKFVOU1BFQywgZS52ZWN0b3JfbW9k ZSAoKSkpOw0KKyBlbHNlDQorICAgcmV0dXJuIGUudXNlX2NvbnRpZ3VvdXNf bG9hZF9pbnNuICgNCisgICAgIGNvZGVfZm9yX3ByZWRfbW92X3dpZHRoIChV TlNQRUMsIGUudmVjdG9yX21vZGUgKCkpKTsNCisgICAgICB9DQorICB9DQor fTsNCisNCisvKiBJbXBsZW1lbnRzIHZleHQueC52LiAgKi8NCitjbGFzcyB0 aF9leHRyYWN0IDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCit7DQorcHVibGlj Og0KKyAgYm9vbCBhcHBseV92bF9wICgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0 dXJuIGZhbHNlOyB9DQorICBib29sIGFwcGx5X3RhaWxfcG9saWN5X3AgKCkg Y29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0NCisgIGJvb2wgYXBw bHlfbWFza19wb2xpY3lfcCAoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBm YWxzZTsgfQ0KKyAgYm9vbCB1c2VfbWFza19wcmVkaWNhdGlvbl9wICgpIGNv bnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9DQorICBib29sIGhhc19t ZXJnZV9vcGVyYW5kX3AgKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFs c2U7IH0NCisNCisgIHJ0eCBleHBhbmQgKGZ1bmN0aW9uX2V4cGFuZGVyICZl KSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICBnY2NfYXNzZXJ0IChUQVJH RVRfWFRIRUFEVkVDVE9SKTsNCisgICAgcmV0dXJuIGUudXNlX2V4YWN0X2lu c24gKGNvZGVfZm9yX3ByZWRfdGhfZXh0cmFjdCAoZS52ZWN0b3JfbW9kZSAo KSkpOw0KKyAgfQ0KK307DQorDQovKiBCZWxvdyBpbXBsZW1lbnRzIGFyZSB2 ZWN0b3IgY3J5cHRvICovDQovKiBJbXBsZW1lbnRzIHZhbmRuLlt2dix2eF0g Ki8NCmNsYXNzIHZhbmRuIDogcHVibGljIGZ1bmN0aW9uX2Jhc2UNCkBAIC0y NjAzLDYgKzI2ODAsMzcgQEAgc3RhdGljIENPTlNURVhQUiBjb25zdCBzZWdf aW5kZXhlZF9sb2FkPFVOU1BFQ19PUkRFUkVEPiB2bG94c2VnX29iajsNCnN0 YXRpYyBDT05TVEVYUFIgY29uc3Qgc2VnX2luZGV4ZWRfc3RvcmU8VU5TUEVD X1VOT1JERVJFRD4gdnN1eHNlZ19vYmo7DQpzdGF0aWMgQ09OU1RFWFBSIGNv bnN0IHNlZ19pbmRleGVkX3N0b3JlPFVOU1BFQ19PUkRFUkVEPiB2c294c2Vn X29iajsNCnN0YXRpYyBDT05TVEVYUFIgY29uc3QgdmxzZWdmZiB2bHNlZ2Zm X29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93 aWR0aDxmYWxzZSwgTFNUX1VOSVRfU1RSSURFLCBVTlNQRUNfVEhfVkxCPiB2 bGJfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3Jl X3dpZHRoPGZhbHNlLCBMU1RfVU5JVF9TVFJJREUsIFVOU1BFQ19USF9WTEJV PiB2bGJ1X29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRoX2xvYWRz dG9yZV93aWR0aDxmYWxzZSwgTFNUX1VOSVRfU1RSSURFLCBVTlNQRUNfVEhf VkxIPiB2bGhfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3QgdGhfbG9h ZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfVU5JVF9TVFJJREUsIFVOU1BFQ19U SF9WTEhVPiB2bGh1X29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHRo X2xvYWRzdG9yZV93aWR0aDxmYWxzZSwgTFNUX1VOSVRfU1RSSURFLCBVTlNQ RUNfVEhfVkxXPiB2bHdfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIgY29uc3Qg dGhfbG9hZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfVU5JVF9TVFJJREUsIFVO U1BFQ19USF9WTFdVPiB2bHd1X29iajsNCitzdGF0aWMgQ09OU1RFWFBSIGNv bnN0IHRoX2xvYWRzdG9yZV93aWR0aDx0cnVlLCBMU1RfVU5JVF9TVFJJREUs IFVOU1BFQ19USF9WTEI+IHZzYl9vYmo7DQorc3RhdGljIENPTlNURVhQUiBj b25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8dHJ1ZSwgTFNUX1VOSVRfU1RSSURF LCBVTlNQRUNfVEhfVkxIPiB2c2hfb2JqOw0KK3N0YXRpYyBDT05TVEVYUFIg Y29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPHRydWUsIExTVF9VTklUX1NUUklE RSwgVU5TUEVDX1RIX1ZMVz4gdnN3X29iajsNCitzdGF0aWMgQ09OU1RFWFBS IGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDxmYWxzZSwgTFNUX1NUUklERUQs IFVOU1BFQ19USF9WTFNCPiB2bHNiX29iajsNCitzdGF0aWMgQ09OU1RFWFBS IGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDxmYWxzZSwgTFNUX1NUUklERUQs IFVOU1BFQ19USF9WTFNCVT4gdmxzYnVfb2JqOw0KK3N0YXRpYyBDT05TVEVY UFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfU1RSSURF RCwgVU5TUEVDX1RIX1ZMU0g+IHZsc2hfb2JqOw0KK3N0YXRpYyBDT05TVEVY UFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfU1RSSURF RCwgVU5TUEVDX1RIX1ZMU0hVPiB2bHNodV9vYmo7DQorc3RhdGljIENPTlNU RVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8ZmFsc2UsIExTVF9TVFJJ REVELCBVTlNQRUNfVEhfVkxTVz4gdmxzd19vYmo7DQorc3RhdGljIENPTlNU RVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8ZmFsc2UsIExTVF9TVFJJ REVELCBVTlNQRUNfVEhfVkxTV1U+IHZsc3d1X29iajsNCitzdGF0aWMgQ09O U1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDx0cnVlLCBMU1RfU1RS SURFRCwgVU5TUEVDX1RIX1ZMU0I+IHZzc2Jfb2JqOw0KK3N0YXRpYyBDT05T VEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPHRydWUsIExTVF9TVFJJ REVELCBVTlNQRUNfVEhfVkxTSD4gdnNzaF9vYmo7DQorc3RhdGljIENPTlNU RVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8dHJ1ZSwgTFNUX1NUUklE RUQsIFVOU1BFQ19USF9WTFNXPiB2c3N3X29iajsNCitzdGF0aWMgQ09OU1RF WFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDxmYWxzZSwgTFNUX0lOREVY RUQsIFVOU1BFQ19USF9WTFhCPiB2bHhiX29iajsNCitzdGF0aWMgQ09OU1RF WFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDxmYWxzZSwgTFNUX0lOREVY RUQsIFVOU1BFQ19USF9WTFhCVT4gdmx4YnVfb2JqOw0KK3N0YXRpYyBDT05T VEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfSU5E RVhFRCwgVU5TUEVDX1RIX1ZMWEg+IHZseGhfb2JqOw0KK3N0YXRpYyBDT05T VEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPGZhbHNlLCBMU1RfSU5E RVhFRCwgVU5TUEVDX1RIX1ZMWEhVPiB2bHhodV9vYmo7DQorc3RhdGljIENP TlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8ZmFsc2UsIExTVF9J TkRFWEVELCBVTlNQRUNfVEhfVkxYVz4gdmx4d19vYmo7DQorc3RhdGljIENP TlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8ZmFsc2UsIExTVF9J TkRFWEVELCBVTlNQRUNfVEhfVkxYV1U+IHZseHd1X29iajsNCitzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDx0cnVlLCBMU1Rf SU5ERVhFRCwgVU5TUEVDX1RIX1ZMWEI+IHZzeGJfb2JqOw0KK3N0YXRpYyBD T05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPHRydWUsIExTVF9J TkRFWEVELCBVTlNQRUNfVEhfVkxYSD4gdnN4aF9vYmo7DQorc3RhdGljIENP TlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8dHJ1ZSwgTFNUX0lO REVYRUQsIFVOU1BFQ19USF9WTFhXPiB2c3h3X29iajsNCitzdGF0aWMgQ09O U1RFWFBSIGNvbnN0IHRoX2xvYWRzdG9yZV93aWR0aDx0cnVlLCBMU1RfSU5E RVhFRCwgVU5TUEVDX1RIX1ZTVVhCPiB2c3V4Yl9vYmo7DQorc3RhdGljIENP TlNURVhQUiBjb25zdCB0aF9sb2Fkc3RvcmVfd2lkdGg8dHJ1ZSwgTFNUX0lO REVYRUQsIFVOU1BFQ19USF9WU1VYSD4gdnN1eGhfb2JqOw0KK3N0YXRpYyBD T05TVEVYUFIgY29uc3QgdGhfbG9hZHN0b3JlX3dpZHRoPHRydWUsIExTVF9J TkRFWEVELCBVTlNQRUNfVEhfVlNVWFc+IHZzdXh3X29iajsNCitzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IHRoX2V4dHJhY3QgdmV4dF94X3Zfb2JqOw0KLyog Q3J5cHRvIFZlY3RvciAqLw0Kc3RhdGljIENPTlNURVhQUiBjb25zdCB2YW5k biB2YW5kbl9vYmo7DQpAQCAtMjg5NCw2ICszMDAyLDM3IEBAIEJBU0UgKHZs b3hzZWcpDQpCQVNFICh2c3V4c2VnKQ0KQkFTRSAodnNveHNlZykNCkJBU0Ug KHZsc2VnZmYpDQorQkFTRSAodmxiKQ0KK0JBU0UgKHZsaCkNCitCQVNFICh2 bHcpDQorQkFTRSAodmxidSkNCitCQVNFICh2bGh1KQ0KK0JBU0UgKHZsd3Up DQorQkFTRSAodnNiKQ0KK0JBU0UgKHZzaCkNCitCQVNFICh2c3cpDQorQkFT RSAodmxzYikNCitCQVNFICh2bHNoKQ0KK0JBU0UgKHZsc3cpDQorQkFTRSAo dmxzYnUpDQorQkFTRSAodmxzaHUpDQorQkFTRSAodmxzd3UpDQorQkFTRSAo dnNzYikNCitCQVNFICh2c3NoKQ0KK0JBU0UgKHZzc3cpDQorQkFTRSAodmx4 YikNCitCQVNFICh2bHhoKQ0KK0JBU0UgKHZseHcpDQorQkFTRSAodmx4YnUp DQorQkFTRSAodmx4aHUpDQorQkFTRSAodmx4d3UpDQorQkFTRSAodnN4YikN CitCQVNFICh2c3hoKQ0KK0JBU0UgKHZzeHcpDQorQkFTRSAodnN1eGIpDQor QkFTRSAodnN1eGgpDQorQkFTRSAodnN1eHcpDQorQkFTRSAodmV4dF94X3Yp DQovKiBDcnlwdG8gdmVjdG9yICovDQpCQVNFICh2YW5kbikNCkJBU0UgKHZi cmV2KQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLWJhc2VzLmggYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1idWlsdGlucy1iYXNlcy5oDQppbmRleCA4N2M3ZjQzYTQyMy4u MWYyYzk0ZDM1NDEgMTAwNjQ0DQotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5oDQorKysgYi9nY2MvY29uZmln L3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1iYXNlcy5oDQpAQCAtMjgw LDYgKzI4MCwzNyBAQCBleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29u c3QgdmxveHNlZzsNCmV4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25z dCB2c3V4c2VnOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0 IHZzb3hzZWc7DQpleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qg dmxzZWdmZjsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qg dmxiOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2bGg7 DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZsdzsNCitl eHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdmxidTsNCitleHRl cm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdmxodTsNCitleHRlcm4g Y29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmx3dTsNCitleHRlcm4gY29u c3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdnNiOw0KK2V4dGVybiBjb25zdCBm dW5jdGlvbl9iYXNlICpjb25zdCB2c2g7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX2Jhc2UgKmNvbnN0IHZzdzsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25f YmFzZSAqY29uc3QgdmxzYjsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFz ZSAqY29uc3QgdmxzaDsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAq Y29uc3QgdmxzdzsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29u c3QgdmxzYnU7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0 IHZsc2h1Ow0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2 bHN3dTsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdnNz YjsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdnNzaDsN CitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3QgdnNzdzsNCitl eHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmx4YjsNCitleHRl cm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmx4aDsNCitleHRlcm4g Y29uc3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmx4dzsNCitleHRlcm4gY29u c3QgZnVuY3Rpb25fYmFzZSAqY29uc3Qgdmx4YnU7DQorZXh0ZXJuIGNvbnN0 IGZ1bmN0aW9uX2Jhc2UgKmNvbnN0IHZseGh1Ow0KK2V4dGVybiBjb25zdCBm dW5jdGlvbl9iYXNlICpjb25zdCB2bHh3dTsNCitleHRlcm4gY29uc3QgZnVu Y3Rpb25fYmFzZSAqY29uc3QgdnN4YjsNCitleHRlcm4gY29uc3QgZnVuY3Rp b25fYmFzZSAqY29uc3QgdnN4aDsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25f YmFzZSAqY29uc3QgdnN4dzsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFz ZSAqY29uc3QgdnN1eGI7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX2Jhc2Ug KmNvbnN0IHZzdXhoOw0KK2V4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpj b25zdCB2c3V4dzsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fYmFzZSAqY29u c3QgdmV4dF94X3Y7DQovKiBCZWxvdyBmdW5jdGlvbl9iYXNlIGFyZSBWZWN0 cm8gQ3J5cHRvKi8NCmV4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25z dCB2YW5kbjsNCmV4dGVybiBjb25zdCBmdW5jdGlvbl9iYXNlICpjb25zdCB2 YnJldjsNCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZl Y3Rvci1idWlsdGlucy1zaGFwZXMuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LXZlY3Rvci1idWlsdGlucy1zaGFwZXMuY2MNCmluZGV4IDFlNGY0ZDUz ZGU2Li44ZTkwYjE3YTk0YiAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5jYw0KKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmNj DQpAQCAtMjExLDYgKzIxMSwxNDYgQEAgc3RydWN0IGluZGV4ZWRfbG9hZHN0 b3JlX2RlZiA6IHB1YmxpYyBmdW5jdGlvbl9zaGFwZQ0KICAgfQ0KfTsNCisv KiBBZGQgb25lIGZ1bmN0aW9uIGluc3RhbmNlIGZvciBHUk9VUCwgdXNpbmcg b3BlcmFuZCBzdWZmaXggYXQgaW5kZXggT0ksDQorICAgbW9kZSBzdWZmaXgg YXQgaW5kZXggUEFJUiAmJiBiaSBhbmQgcHJlZGljYXRpb24gc3VmZml4IGF0 IGluZGV4IHByZWRfaWR4LiAgKi8NCitzdGF0aWMgdm9pZA0KK2J1aWxkX3Ro X2xvYWRzdG9yZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwgY29uc3QgZnVuY3Rp b25fZ3JvdXBfaW5mbyAmZ3JvdXAsDQorICAgICB1bnNpZ25lZCBpbnQgcHJl ZF9pZHgsIHVuc2lnbmVkIGludCB2ZWNfdHlwZV9pZHgpDQorew0KKyAgYXV0 b192ZWM8dHJlZSwgNT4gYXJndW1lbnRfdHlwZXM7DQorICBmdW5jdGlvbl9p bnN0YW5jZSBmdW5jdGlvbl9pbnN0YW5jZSAoZ3JvdXAuYmFzZV9uYW1lLCAq Z3JvdXAuYmFzZSwNCisgICAgICAgICpncm91cC5zaGFwZSwNCisgICAgICAg IGdyb3VwLm9wc19pbmZvcy50eXBlc1t2ZWNfdHlwZV9pZHhdLA0KKyAgICAg ICAgZ3JvdXAucHJlZHNbcHJlZF9pZHhdLCAmZ3JvdXAub3BzX2luZm9zKTsN CisgIHRyZWUgcmV0dXJuX3R5cGUgPSBncm91cC5vcHNfaW5mb3MucmV0Lmdl dF90cmVlX3R5cGUgKA0KKyAgICBncm91cC5vcHNfaW5mb3MudHlwZXNbdmVj X3R5cGVfaWR4XS5pbmRleCk7DQorICBiLmFsbG9jYXRlX2FyZ3VtZW50X3R5 cGVzIChmdW5jdGlvbl9pbnN0YW5jZSwgYXJndW1lbnRfdHlwZXMpOw0KKyAg Yi5hcHBseV9wcmVkaWNhdGlvbiAoZnVuY3Rpb25faW5zdGFuY2UsIHJldHVy bl90eXBlLCBhcmd1bWVudF90eXBlcyk7DQorDQorICBpZiAoVEFSR0VUX1hU SEVBRFZFQ1RPUiAmJiAhY2hlY2tfdHlwZSAocmV0dXJuX3R5cGUsIGFyZ3Vt ZW50X3R5cGVzKSkNCisgICAgcmV0dXJuOw0KKw0KKyAgdHJlZSB0eXBlID0g YnVpbHRpbl90eXBlc1tncm91cC5vcHNfaW5mb3MudHlwZXNbdmVjX3R5cGVf aWR4XS5pbmRleF0udmVjdG9yOw0KKyAgaWYgKHN0cnN0ciAoZ3JvdXAuYmFz ZV9uYW1lLCAibCIpDQorICAgICAgJiYgc3Ryc3RyIChncm91cC5iYXNlX25h bWUsICJ1IikNCisgICAgICAmJiAhVFlQRV9VTlNJR05FRCAoVFJFRV9UWVBF ICh0eXBlKSkpDQorICAgIHJldHVybjsNCisNCisgIGlmIChzdHJzdHIgKGdy b3VwLmJhc2VfbmFtZSwgImwiKQ0KKyAgICAgICYmICFzdHJzdHIgKGdyb3Vw LmJhc2VfbmFtZSwgInUiKQ0KKyAgICAgICYmIFRZUEVfVU5TSUdORUQgKFRS RUVfVFlQRSAodHlwZSkpKQ0KKyAgICByZXR1cm47DQorDQorICBtYWNoaW5l X21vZGUgbW9kZSA9IFRZUEVfTU9ERSAodHlwZSk7DQorICBpbnQgc2V3ID0g R0VUX01PREVfQklUU0laRSAoR0VUX01PREVfSU5ORVIgKG1vZGUpKTsNCisg IGlmIChzdHJzdHIgKGdyb3VwLmJhc2VfbmFtZSwgImgiKSAmJiBzZXcgPT0g OCkNCisgICAgcmV0dXJuOw0KKw0KKyAgaWYgKHN0cnN0ciAoZ3JvdXAuYmFz ZV9uYW1lLCAidyIpICYmIChzZXcgPT0gOCB8fCBzZXcgPT0xNikpDQorICAg IHJldHVybjsNCisNCisgIGIuYWRkX292ZXJsb2FkZWRfZnVuY3Rpb24gKGZ1 bmN0aW9uX2luc3RhbmNlLCAqZ3JvdXAuc2hhcGUpOw0KKyAgYi5hZGRfdW5p cXVlX2Z1bmN0aW9uIChmdW5jdGlvbl9pbnN0YW5jZSwgKCpncm91cC5zaGFw ZSksIHJldHVybl90eXBlLA0KKyBhcmd1bWVudF90eXBlcyk7DQorfQ0KKw0K Ky8qIHRoX2xvYWRzdG9yZV93aWR0aF9kZWYgY2xhc3MuICAqLw0KK3N0cnVj dCB0aF9sb2Fkc3RvcmVfd2lkdGhfZGVmIDogcHVibGljIGJ1aWxkX2Jhc2UN Cit7DQorICAgdm9pZCBidWlsZCAoZnVuY3Rpb25fYnVpbGRlciAmYiwNCisg ICAgICAgY29uc3QgZnVuY3Rpb25fZ3JvdXBfaW5mbyAmZ3JvdXApIGNvbnN0 IG92ZXJyaWRlDQorICB7DQorICAgIGZvciAodW5zaWduZWQgaW50IHByZWRf aWR4ID0gMDsgZ3JvdXAucHJlZHNbcHJlZF9pZHhdICE9IE5VTV9QUkVEX1RZ UEVTOw0KKyAgICAgICArK3ByZWRfaWR4KQ0KKyAgICAgIHsNCisgZm9yICh1 bnNpZ25lZCBpbnQgdmVjX3R5cGVfaWR4ID0gMDsNCisgICAgICBncm91cC5v cHNfaW5mb3MudHlwZXNbdmVjX3R5cGVfaWR4XS5pbmRleCAhPSBOVU1fVkVD VE9SX1RZUEVTOw0KKyAgICAgICsrdmVjX3R5cGVfaWR4KQ0KKyAgIHsNCisg ICAgIGJ1aWxkX3RoX2xvYWRzdG9yZSAoYiwgZ3JvdXAsIHByZWRfaWR4LCB2 ZWNfdHlwZV9pZHgpOw0KKyAgIH0NCisgICAgICB9DQorICB9DQorDQorICBj aGFyICpnZXRfbmFtZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwgY29uc3QgZnVu Y3Rpb25faW5zdGFuY2UgJmluc3RhbmNlLA0KKyAgIGJvb2wgb3ZlcmxvYWRl ZF9wKSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICAvKiBSZXR1cm4gbnVs bHB0ciBpZiBpdCBjYW4gbm90IGJlIG92ZXJsb2FkZWQuICAqLw0KKyAgICBp ZiAob3ZlcmxvYWRlZF9wICYmICFpbnN0YW5jZS5iYXNlLT5jYW5fYmVfb3Zl cmxvYWRlZF9wIChpbnN0YW5jZS5wcmVkKSkNCisgICAgICByZXR1cm4gbnVs bHB0cjsNCisNCisgICAgYi5hcHBlbmRfbmFtZSAoIl9fcmlzY3ZfdGhfIik7 DQorICAgIGIuYXBwZW5kX25hbWUgKGluc3RhbmNlLmJhc2VfbmFtZSk7DQor DQorICAgIC8qIHZvcF92IC0tPiB2b3Bfdl88dHlwZT4uICAqLw0KKyAgICBp ZiAoIW92ZXJsb2FkZWRfcCkNCisgICAgICB7DQorIC8qIHZvcCAtLT4gdm9w X3YuICAqLw0KKyBiLmFwcGVuZF9uYW1lIChvcGVyYW5kX3N1ZmZpeGVzW2lu c3RhbmNlLm9wX2luZm8tPm9wXSk7DQorIC8qIHZvcF92IC0tPiB2b3Bfdl88 dHlwZT4uICAqLw0KKyBiLmFwcGVuZF9uYW1lICh0eXBlX3N1ZmZpeGVzW2lu c3RhbmNlLnR5cGUuaW5kZXhdLnZlY3Rvcik7DQorICAgICAgfQ0KKw0KKyAg ICAvKiBBY2NvcmRpbmcgdG8gcnZ2LWludHJpbnNpYy1kb2MsIGl0IGRvZXMg bm90IGFkZCAiX20iIHN1ZmZpeA0KKyAgICAgICBmb3Igdm9wX20gQysrIG92 ZXJsb2FkZWQgQVBJLiAgKi8NCisgICAgaWYgKG92ZXJsb2FkZWRfcCAmJiBp bnN0YW5jZS5wcmVkID09IFBSRURfVFlQRV9tKQ0KKyAgICAgIHJldHVybiBi LmZpbmlzaF9uYW1lICgpOw0KKyAgICBiLmFwcGVuZF9uYW1lIChwcmVkaWNh dGlvbl9zdWZmaXhlc1tpbnN0YW5jZS5wcmVkXSk7DQorICAgIHJldHVybiBi LmZpbmlzaF9uYW1lICgpOw0KKyAgfQ0KK307DQorDQorDQorLyogdGhfaW5k ZXhlZF9sb2Fkc3RvcmVfd2lkdGhfZGVmIGNsYXNzLiAgKi8NCitzdHJ1Y3Qg dGhfaW5kZXhlZF9sb2Fkc3RvcmVfd2lkdGhfZGVmIDogcHVibGljIGZ1bmN0 aW9uX3NoYXBlDQorew0KKyAgdm9pZCBidWlsZCAoZnVuY3Rpb25fYnVpbGRl ciAmYiwNCisgICAgICAgY29uc3QgZnVuY3Rpb25fZ3JvdXBfaW5mbyAmZ3Jv dXApIGNvbnN0IG92ZXJyaWRlDQorICB7DQorICAgIGZvciAodW5zaWduZWQg aW50IHByZWRfaWR4ID0gMDsgZ3JvdXAucHJlZHNbcHJlZF9pZHhdICE9IE5V TV9QUkVEX1RZUEVTOw0KKyArK3ByZWRfaWR4KQ0KKyAgICAgIHsNCisgZm9y ICh1bnNpZ25lZCBpbnQgdmVjX3R5cGVfaWR4ID0gMDsNCisgICAgICBncm91 cC5vcHNfaW5mb3MudHlwZXNbdmVjX3R5cGVfaWR4XS5pbmRleCAhPSBOVU1f VkVDVE9SX1RZUEVTOw0KKyAgICAgICsrdmVjX3R5cGVfaWR4KQ0KKyAgIHsN CisgICAgdHJlZSBpbmRleF90eXBlID0gZ3JvdXAub3BzX2luZm9zLmFyZ3Nb MV0uZ2V0X3RyZWVfdHlwZSAoDQorICAgICAgIGdyb3VwLm9wc19pbmZvcy50 eXBlc1t2ZWNfdHlwZV9pZHhdLmluZGV4KTsNCisgICAgaWYgKCFpbmRleF90 eXBlKQ0KKyAgICAgICBjb250aW51ZTsNCisgICAgYnVpbGRfdGhfbG9hZHN0 b3JlIChiLCBncm91cCwgcHJlZF9pZHgsIHZlY190eXBlX2lkeCk7DQorICAg fQ0KKyAgICAgIH0NCisgIH0NCisNCisgIGNoYXIgKmdldF9uYW1lIChmdW5j dGlvbl9idWlsZGVyICZiLCBjb25zdCBmdW5jdGlvbl9pbnN0YW5jZSAmaW5z dGFuY2UsDQorICAgYm9vbCBvdmVybG9hZGVkX3ApIGNvbnN0IG92ZXJyaWRl DQorICB7DQorDQorICAgIC8qIFJldHVybiBudWxscHRyIGlmIGl0IGNhbiBu b3QgYmUgb3ZlcmxvYWRlZC4gICovDQorICAgIGlmIChvdmVybG9hZGVkX3Ag JiYgIWluc3RhbmNlLmJhc2UtPmNhbl9iZV9vdmVybG9hZGVkX3AgKGluc3Rh bmNlLnByZWQpKQ0KKyAgICAgIHJldHVybiBudWxscHRyOw0KKw0KKyAgICBi LmFwcGVuZF9uYW1lICgiX19yaXNjdl90aF8iKTsNCisgICAgYi5hcHBlbmRf bmFtZSAoaW5zdGFuY2UuYmFzZV9uYW1lKTsNCisgICAgLyogdm9wX3YgLS0+ IHZvcF92Xzx0eXBlPi4gICovDQorICAgIGlmICghb3ZlcmxvYWRlZF9wKQ0K KyAgICAgIHsNCisgLyogdm9wIC0tPiB2b3Bfdi4gICovDQorIGIuYXBwZW5k X25hbWUgKG9wZXJhbmRfc3VmZml4ZXNbaW5zdGFuY2Uub3BfaW5mby0+b3Bd KTsNCisgLyogdm9wX3YgLS0+IHZvcF92Xzx0eXBlPi4gICovDQorIGIuYXBw ZW5kX25hbWUgKHR5cGVfc3VmZml4ZXNbaW5zdGFuY2UudHlwZS5pbmRleF0u dmVjdG9yKTsNCisgICAgICB9DQorDQorICAgIC8qIEFjY29yZGluZyB0byBy dnYtaW50cmluc2ljLWRvYywgaXQgZG9lcyBub3QgYWRkICJfbSIgc3VmZml4 DQorICAgICAgIGZvciB2b3BfbSBDKysgb3ZlcmxvYWRlZCBBUEkuICAqLw0K KyAgICBpZiAob3ZlcmxvYWRlZF9wICYmIGluc3RhbmNlLnByZWQgPT0gUFJF RF9UWVBFX20pDQorICAgICAgcmV0dXJuIGIuZmluaXNoX25hbWUgKCk7DQor ICAgIGIuYXBwZW5kX25hbWUgKHByZWRpY2F0aW9uX3N1ZmZpeGVzW2luc3Rh bmNlLnByZWRdKTsNCisgICAgcmV0dXJuIGIuZmluaXNoX25hbWUgKCk7DQor ICB9DQorfTsNCisNCi8qIGFsdV9kZWYgY2xhc3MuICAqLw0Kc3RydWN0IGFs dV9kZWYgOiBwdWJsaWMgYnVpbGRfYmFzZQ0Kew0KQEAgLTYzMiw2ICs3NzIs MjMgQEAgc3RydWN0IHJlZHVjX2FsdV9kZWYgOiBwdWJsaWMgYnVpbGRfYmFz ZQ0KICAgfQ0KfTsNCisvKiB0aF9leHRyYWN0X2RlZiBjbGFzcy4gICovDQor c3RydWN0IHRoX2V4dHJhY3RfZGVmIDogcHVibGljIGJ1aWxkX2Jhc2UNCit7 DQorICBjaGFyICpnZXRfbmFtZSAoZnVuY3Rpb25fYnVpbGRlciAmYiwgY29u c3QgZnVuY3Rpb25faW5zdGFuY2UgJmluc3RhbmNlLA0KKyAgICAgIGJvb2wg b3ZlcmxvYWRlZF9wKSBjb25zdCBvdmVycmlkZQ0KKyAgew0KKyAgICBiLmFw cGVuZF9uYW1lICgiX19yaXNjdl90aF8iKTsNCisgICAgYi5hcHBlbmRfbmFt ZSAoaW5zdGFuY2UuYmFzZV9uYW1lKTsNCisNCisgICAgaWYgKG92ZXJsb2Fk ZWRfcCkNCisgICAgICByZXR1cm4gYi5maW5pc2hfbmFtZSAoKTsNCisgICAg Yi5hcHBlbmRfbmFtZSAodHlwZV9zdWZmaXhlc1tpbnN0YW5jZS50eXBlLmlu ZGV4XS52ZWN0b3IpOw0KKyAgICBiLmFwcGVuZF9uYW1lICh0eXBlX3N1ZmZp eGVzW2luc3RhbmNlLnR5cGUuaW5kZXhdLnNjYWxhcik7DQorICAgIHJldHVy biBiLmZpbmlzaF9uYW1lICgpOw0KKyAgfQ0KK307DQorDQovKiBzY2FsYXJf bW92ZV9kZWYgY2xhc3MuICAqLw0Kc3RydWN0IHNjYWxhcl9tb3ZlX2RlZiA6 IHB1YmxpYyBidWlsZF9iYXNlDQp7DQpAQCAtMTA5NCw2ICsxMjUxLDggQEAg U0hBUEUodnNldHZsLCB2c2V0dmwpDQpTSEFQRSh2c2V0dmwsIHZzZXR2bG1h eCkNClNIQVBFKGxvYWRzdG9yZSwgbG9hZHN0b3JlKQ0KU0hBUEUoaW5kZXhl ZF9sb2Fkc3RvcmUsIGluZGV4ZWRfbG9hZHN0b3JlKQ0KK1NIQVBFKHRoX2xv YWRzdG9yZV93aWR0aCwgdGhfbG9hZHN0b3JlX3dpZHRoKQ0KK1NIQVBFKHRo X2luZGV4ZWRfbG9hZHN0b3JlX3dpZHRoLCB0aF9pbmRleGVkX2xvYWRzdG9y ZV93aWR0aCkNClNIQVBFKGFsdSwgYWx1KQ0KU0hBUEUoYWx1X2ZybSwgYWx1 X2ZybSkNClNIQVBFKHdpZGVuX2FsdSwgd2lkZW5fYWx1KQ0KQEAgLTExMDYs NiArMTI2NSw3IEBAIFNIQVBFKG1vdmUsIG1vdmUpDQpTSEFQRShtYXNrX2Fs dSwgbWFza19hbHUpDQpTSEFQRShyZWR1Y19hbHUsIHJlZHVjX2FsdSkNClNI QVBFKHJlZHVjX2FsdV9mcm0sIHJlZHVjX2FsdV9mcm0pDQorU0hBUEUodGhf ZXh0cmFjdCwgdGhfZXh0cmFjdCkNClNIQVBFKHNjYWxhcl9tb3ZlLCBzY2Fs YXJfbW92ZSkNClNIQVBFKHZ1bmRlZmluZWQsIHZ1bmRlZmluZWQpDQpTSEFQ RShtaXNjLCBtaXNjKQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3Yv cmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5oIGIvZ2NjL2NvbmZpZy9y aXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMtc2hhcGVzLmgNCmluZGV4IGFj MmEyOGNlMDE3Li5hNzYyNGQwZmFiZCAxMDA2NDQNCi0tLSBhL2djYy9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLXNoYXBlcy5oDQorKysg Yi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXZlY3Rvci1idWlsdGlucy1zaGFw ZXMuaA0KQEAgLTI4LDYgKzI4LDggQEAgZXh0ZXJuIGNvbnN0IGZ1bmN0aW9u X3NoYXBlICpjb25zdCB2c2V0dmw7DQpleHRlcm4gY29uc3QgZnVuY3Rpb25f c2hhcGUgKmNvbnN0IHZzZXR2bG1heDsNCmV4dGVybiBjb25zdCBmdW5jdGlv bl9zaGFwZSAqY29uc3QgbG9hZHN0b3JlOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0 aW9uX3NoYXBlICpjb25zdCBpbmRleGVkX2xvYWRzdG9yZTsNCitleHRlcm4g Y29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IHRoX2xvYWRzdG9yZV93aWR0 aDsNCitleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IHRoX2lu ZGV4ZWRfbG9hZHN0b3JlX3dpZHRoOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9u X3NoYXBlICpjb25zdCBhbHU7DQpleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hh cGUgKmNvbnN0IGFsdV9mcm07DQpleHRlcm4gY29uc3QgZnVuY3Rpb25fc2hh cGUgKmNvbnN0IHdpZGVuX2FsdTsNCkBAIC00MSw2ICs0Myw3IEBAIGV4dGVy biBjb25zdCBmdW5jdGlvbl9zaGFwZSAqY29uc3QgbWFza19hbHU7DQpleHRl cm4gY29uc3QgZnVuY3Rpb25fc2hhcGUgKmNvbnN0IHJlZHVjX2FsdTsNCmV4 dGVybiBjb25zdCBmdW5jdGlvbl9zaGFwZSAqY29uc3QgcmVkdWNfYWx1X2Zy bTsNCmV4dGVybiBjb25zdCBmdW5jdGlvbl9zaGFwZSAqY29uc3Qgc2NhbGFy X21vdmU7DQorZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX3NoYXBlICpjb25zdCB0 aF9leHRyYWN0Ow0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX3NoYXBlICpjb25z dCB2dW5kZWZpbmVkOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX3NoYXBlICpj b25zdCBtaXNjOw0KZXh0ZXJuIGNvbnN0IGZ1bmN0aW9uX3NoYXBlICpjb25z dCB2c2V0Ow0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Yt dmVjdG9yLWJ1aWx0aW5zLmNjIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12 ZWN0b3ItYnVpbHRpbnMuY2MNCmluZGV4IDI1ZTBiNmU1NmRlLi40NGI5ZmVj MTg5OCAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVj dG9yLWJ1aWx0aW5zLmNjDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXZlY3Rvci1idWlsdGlucy5jYw0KQEAgLTkzNCw2ICs5MzQsMzIgQEAgc3Rh dGljIENPTlNURVhQUiBjb25zdCBydnZfYXJnX3R5cGVfaW5mbyBleHRfdmNy ZWF0ZV9hcmdzW10NCiAgID0ge3J2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFT RV92ZWN0b3IpLA0KICAgICAgcnZ2X2FyZ190eXBlX2luZm9fZW5kfTsNCisv KiBBIGxpc3Qgb2YgYXJncyBmb3IgdmVjdG9yX3R5cGUgZnVuYyAoY29uc3Qg c2NhbGFyX3R5cGUgKiwgc2l6ZV90KQ0KKyAqIGZ1bmN0aW9uLiAgKi8NCitz dGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9hcmdfdHlwZV9pbmZvIHNjYWxh cl9jb25zdF9wdHJfc2l6ZV9hcmdzW10NCisgID0ge3J2dl9hcmdfdHlwZV9p bmZvIChSVlZfQkFTRV9zY2FsYXJfY29uc3RfcHRyKSwNCisgICAgIHJ2dl9h cmdfdHlwZV9pbmZvIChSVlZfQkFTRV9zaXplKSwgcnZ2X2FyZ190eXBlX2lu Zm9fZW5kfTsNCisNCisvKiBBIGxpc3Qgb2YgYXJncyBmb3IgdmVjdG9yX3R5 cGUgZnVuYyAoY29uc3Qgc2NhbGFyX3R5cGUgKiwgZWV3OF9pbmRleF90eXBl KQ0KKyAqIGZ1bmN0aW9uLiAgKi8NCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0 IHJ2dl9hcmdfdHlwZV9pbmZvIHNjYWxhcl9jb25zdF9wdHJfaW5kZXhfYXJn c1tdDQorICA9IHtydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0Vfc2NhbGFy X2NvbnN0X3B0ciksDQorICAgICBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JB U0VfdW5zaWduZWRfdmVjdG9yKSwgcnZ2X2FyZ190eXBlX2luZm9fZW5kfTsN CisNCisvKiBBIGxpc3Qgb2YgYXJncyBmb3Igdm9pZCBmdW5jIChzY2FsYXJf dHlwZSAqLCBlZXc4X2luZGV4X3R5cGUsIHZlY3Rvcl90eXBlKQ0KKyAqIGZ1 bmN0aW9uLiAgKi8NCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9hcmdf dHlwZV9pbmZvIHNjYWxhcl9wdHJfaW5kZXhfYXJnc1tdDQorICA9IHtydnZf YXJnX3R5cGVfaW5mbyAoUlZWX0JBU0Vfc2NhbGFyX3B0ciksDQorICAgICBy dnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdW5zaWduZWRfdmVjdG9yKSwN CisgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92ZWN0b3IpLCBy dnZfYXJnX3R5cGVfaW5mb19lbmR9Ow0KKw0KKy8qIEEgbGlzdCBvZiBhcmdz IGZvciB2b2lkIGZ1bmMgKHNjYWxhcl90eXBlICosIHNpemVfdCwgdmVjdG9y X3R5cGUpDQorICogZnVuY3Rpb24uICAqLw0KK3N0YXRpYyBDT05TVEVYUFIg Y29uc3QgcnZ2X2FyZ190eXBlX2luZm8gc2NhbGFyX3B0cl9zaXplX2FyZ3Nb XQ0KKyAgPSB7cnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3NjYWxhcl9w dHIpLA0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3NpemUp LCBydnZfYXJnX3R5cGVfaW5mbyAoUlZWX0JBU0VfdmVjdG9yKSwNCisgICAg IHJ2dl9hcmdfdHlwZV9pbmZvX2VuZH07DQorDQovKiBBIGxpc3Qgb2Ygbm9u ZSBwcmVkcyB0aGF0IHdpbGwgYmUgcmVnaXN0ZXJlZCBmb3IgaW50cmluc2lj IGZ1bmN0aW9ucy4gICovDQpzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHByZWRp Y2F0aW9uX3R5cGVfaW5kZXggbm9uZV9wcmVkc1tdDQogICA9IHtQUkVEX1RZ UEVfbm9uZSwgTlVNX1BSRURfVFlQRVN9Ow0KQEAgLTE0NTUsNiArMTQ4MSwx NCBAQCBzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIGl1X3No aWZ0X3Z2dl9vcHMNCiAgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFT RV92ZWN0b3IpLCAvKiBSZXR1cm4gdHlwZSAqLw0KICAgICAgc2hpZnRfdnZf YXJncyAvKiBBcmdzICovfTsNCisvKiBBIHN0YXRpYyBvcGVyYW5kIGluZm9y bWF0aW9uIGZvciBzY2FsYXJfdHlwZSBmdW5jICh2ZWN0b3JfdHlwZSwgc2l6 ZV90KQ0KKyAqIGZ1bmN0aW9uIHJlZ2lzdHJhdGlvbi4gKi8NCitzdGF0aWMg Q09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIGl1X3hfc191X29wcw0KKyAg PSB7aXVfb3BzLCAgICAgICAgICAvKiBUeXBlcyAqLw0KKyAgICAgT1BfVFlQ RV92eCwgICAgICAgIC8qIFN1ZmZpeCAqLw0KKyAgICAgcnZ2X2FyZ190eXBl X2luZm8gKFJWVl9CQVNFX3NjYWxhciksIC8qIFJldHVybiB0eXBlICovDQor ICAgICB2X3NpemVfYXJncyAvKiBBcmdzICovfTsNCisNCi8qIEEgc3RhdGlj IG9wZXJhbmQgaW5mb3JtYXRpb24gZm9yIHZlY3Rvcl90eXBlIGZ1bmMgKHZl Y3Rvcl90eXBlLCBzaXplX3QpDQogICogZnVuY3Rpb24gcmVnaXN0cmF0aW9u LiAqLw0Kc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3BfaW5mbyBpdV9z aGlmdF92dnhfb3BzDQpAQCAtMjYzOCw2ICsyNjcyLDM4IEBAIHN0YXRpYyBD T05TVEVYUFIgY29uc3QgcnZ2X29wX2luZm8gYWxsX3ZfdmNyZWF0ZV9sbXVs NF94Ml9vcHMNCiAgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92 bG11bF9leHRfeDIpLCAvKiBSZXR1cm4gdHlwZSAqLw0KICAgICAgZXh0X3Zj cmVhdGVfYXJncyAvKiBBcmdzICovfTsNCisvKiBBIHN0YXRpYyBvcGVyYW5k IGluZm9ybWF0aW9uIGZvciB2ZWN0b3JfdHlwZSBmdW5jIChjb25zdCBzY2Fs YXJfdHlwZSAqLA0KKyAqIHNpemVfdCkgZnVuY3Rpb24gcmVnaXN0cmF0aW9u LiAgKi8NCitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIGFs bF92X3NjYWxhcl9jb25zdF9wdHJfc2l6ZV9vcHMNCisgID0ge2FsbF9vcHMs ICAgLyogVHlwZXMgICovDQorICAgICBPUF9UWVBFX3YsICAgLyogU3VmZml4 ICAqLw0KKyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3ZlY3Rv ciksIC8qIFJldHVybiB0eXBlICAqLw0KKyAgICAgc2NhbGFyX2NvbnN0X3B0 cl9zaXplX2FyZ3MgLyogQXJncyAqL307DQorDQorLyogQSBzdGF0aWMgb3Bl cmFuZCBpbmZvcm1hdGlvbiBmb3Igdm9pZCBmdW5jIChzY2FsYXJfdHlwZSAq LCBzaXplX3QsDQorICogdmVjdG9yX3R5cGUpIGZ1bmN0aW9uIHJlZ2lzdHJh dGlvbi4gICovDQorc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3BfaW5m byBhbGxfdl9zY2FsYXJfcHRyX3NpemVfb3BzDQorICA9IHthbGxfb3BzLCAv KiBUeXBlcyAgKi8NCisgICAgIE9QX1RZUEVfdiwgLyogU3VmZml4ICAqLw0K KyAgICAgcnZ2X2FyZ190eXBlX2luZm8gKFJWVl9CQVNFX3ZvaWQpLCAvKiBS ZXR1cm4gdHlwZSAgKi8NCisgICAgIHNjYWxhcl9wdHJfc2l6ZV9hcmdzIC8q IEFyZ3MgKi99Ow0KKw0KKy8qIEEgc3RhdGljIG9wZXJhbmQgaW5mb3JtYXRp b24gZm9yIHZlY3Rvcl90eXBlIGZ1bmMgKGNvbnN0IHNjYWxhcl90eXBlICos DQorICogaW5kZXhfdHlwZSkgZnVuY3Rpb24gcmVnaXN0cmF0aW9uLiAgKi8N CitzdGF0aWMgQ09OU1RFWFBSIGNvbnN0IHJ2dl9vcF9pbmZvIGFsbF92X3Nj YWxhcl9jb25zdF9wdHJfaW5kZXhfb3BzDQorICA9IHthbGxfb3BzLCAgIC8q IFR5cGVzICAqLw0KKyAgICAgT1BfVFlQRV92LCAgIC8qIFN1ZmZpeCAgKi8N CisgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92ZWN0b3IpLCAv KiBSZXR1cm4gdHlwZSAgKi8NCisgICAgIHNjYWxhcl9jb25zdF9wdHJfaW5k ZXhfYXJncyAvKiBBcmdzICovfTsNCisNCisvKiBBIHN0YXRpYyBvcGVyYW5k IGluZm9ybWF0aW9uIGZvciB2b2lkIGZ1bmMgKHNjYWxhcl90eXBlICosIGlu ZGV4X3R5cGUsDQorICogdmVjdG9yX3R5cGUpIGZ1bmN0aW9uIHJlZ2lzdHJh dGlvbi4gICovDQorc3RhdGljIENPTlNURVhQUiBjb25zdCBydnZfb3BfaW5m byBhbGxfdl9zY2FsYXJfcHRyX2luZGV4X29wcw0KKyAgPSB7YWxsX29wcywg LyogVHlwZXMgICovDQorICAgICBPUF9UWVBFX3YsIC8qIFN1ZmZpeCAgKi8N CisgICAgIHJ2dl9hcmdfdHlwZV9pbmZvIChSVlZfQkFTRV92b2lkKSwgLyog UmV0dXJuIHR5cGUgICovDQorICAgICBzY2FsYXJfcHRyX2luZGV4X2FyZ3Mg LyogQXJncyAqL307DQorDQovKiBBIHN0YXRpYyBvcGVyYW5kIGluZm9ybWF0 aW9uIGZvciB2ZWN0b3JfdHlwZSBmdW5jICh2ZWN0b3JfdHlwZSkuDQogICAg U29tZSBpbnMganVzdCBzdXBwb3J0cyBTRVc9MzIsIHN1Y2ggYXMgY3J5cHRv IHZlY3RvbCBadmtnIGV4dGVuc2lvbi4NCiAgKiBmdW5jdGlvbiByZWdpc3Ry YXRpb24uICAqLw0KQEAgLTI4MTYsNiArMjg4MiwxMCBAQCBzdGF0aWMgZnVu Y3Rpb25fZ3JvdXBfaW5mbyBmdW5jdGlvbl9ncm91cHNbXSA9IHsNCiNkZWZp bmUgREVGX1JWVl9GVU5DVElPTihOQU1FLCBTSEFQRSwgUFJFRFMsIE9QU19J TkZPKSAgICAgICAgICAgICAgICAgICAgICAgICBcDQogICB7I05BTUUsICZi YXNlczo6TkFNRSwgJnNoYXBlczo6U0hBUEUsIFBSRURTLCBPUFNfSU5GTywg UkVRVUlSRURfRVhURU5TSU9OU30sDQojaW5jbHVkZSAicmlzY3YtdmVjdG9y LWJ1aWx0aW5zLWZ1bmN0aW9ucy5kZWYiDQorI3VuZGVmIERFRl9SVlZfRlVO Q1RJT04NCisjZGVmaW5lIERFRl9SVlZfRlVOQ1RJT04oTkFNRSwgU0hBUEUs IFBSRURTLCBPUFNfSU5GTykgICAgICAgICAgICAgICAgICAgICAgICAgXA0K KyAgeyNOQU1FLCAmYmFzZXM6Ok5BTUUsICZzaGFwZXM6OlNIQVBFLCBQUkVE UywgT1BTX0lORk8sIFJFUVVJUkVEX0VYVEVOU0lPTlN9LA0KKyNpbmNsdWRl ICJ0aGVhZC12ZWN0b3ItYnVpbHRpbnMtZnVuY3Rpb25zLmRlZiINCn07DQov KiBUaGUgUlZWIHR5cGVzLCB3aXRoIHRoZWlyIGJ1aWx0LWluDQpkaWZmIC0t Z2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMu aCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmgN CmluZGV4IDU0Yzg4MjRmZjkyLi4yMmZlZDYwYjRjMyAxMDA2NDQNCi0tLSBh L2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmgNCisr KyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmgN CkBAIC0xMjMsNiArMTIzLDcgQEAgZW51bSByZXF1aXJlZF9leHQNCiAgIFpW S05IQl9FWFQsICAvKiBDcnlwdG8gdmVjdG9yIFp2a25oYiBzdWItZXh0ICov DQogICBaVktTRURfRVhULCAgLyogQ3J5cHRvIHZlY3RvciBadmtzZWQgc3Vi LWV4dCAqLw0KICAgWlZLU0hfRVhULCAgIC8qIENyeXB0byB2ZWN0b3IgWnZr c2ggc3ViLWV4dCAqLw0KKyAgWFRIRUFEVkVDVE9SX0VYVCwgICAvKiBYVGhl YWRWZWN0b3IgZXh0ZW5zaW9uICovDQp9Ow0KLyogRW51bWVyYXRlcyB0aGUg UlZWIG9wZXJhbmQgdHlwZXMuICAqLw0KQEAgLTI1Miw2ICsyNTMsOCBAQCBz dHJ1Y3QgZnVuY3Rpb25fZ3JvdXBfaW5mbw0KICAgICAgICAgcmV0dXJuIFRB UkdFVF9aVktTRUQ7DQogICAgICAgY2FzZSBaVktTSF9FWFQ6DQogICAgICAg ICByZXR1cm4gVEFSR0VUX1pWS1NIOw0KKyAgICAgIGNhc2UgWFRIRUFEVkVD VE9SX0VYVDoNCisgcmV0dXJuIFRBUkdFVF9YVEhFQURWRUNUT1I7DQogICAg ICAgZGVmYXVsdDoNCiAgICAgICAgIGdjY191bnJlYWNoYWJsZSAoKTsNCiAg ICAgfQ0KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvdC1yaXNjdiBi L2djYy9jb25maWcvcmlzY3YvdC1yaXNjdg0KaW5kZXggMzJkZTZiODUxYzEu LjM4NDk0MzIwZDhiIDEwMDY0NA0KLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi90 LXJpc2N2DQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3QtcmlzY3YNCkBAIC0x LDYgKzEsNyBAQA0KUklTQ1ZfQlVJTFRJTlNfSCA9ICQoc3JjZGlyKS9jb25m aWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0aW5zLmggXA0KICAgJChzcmNk aXIpL2NvbmZpZy9yaXNjdi9yaXNjdi12ZWN0b3ItYnVpbHRpbnMuZGVmIFwN CiAgICQoc3JjZGlyKS9jb25maWcvcmlzY3YvcmlzY3YtdmVjdG9yLWJ1aWx0 aW5zLWZ1bmN0aW9ucy5kZWYgXA0KKyAgICAgICAkKHNyY2RpcikvY29uZmln L3Jpc2N2L3RoZWFkLXZlY3Rvci1idWlsdGlucy1mdW5jdGlvbnMuZGVmIFwN CiAgIHJpc2N2LXZlY3Rvci10eXBlLWluZGV4ZXIuZ2VuLmRlZg0KcmlzY3Yt YnVpbHRpbnMubzogJChzcmNkaXIpL2NvbmZpZy9yaXNjdi9yaXNjdi1idWls dGlucy5jYyAkKENPTkZJR19IKSBcDQpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZp Zy9yaXNjdi90aGVhZC12ZWN0b3ItYnVpbHRpbnMtZnVuY3Rpb25zLmRlZiBi L2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0 aW9ucy5kZWYNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAw MDAwMC4uZmQzYmEyOWJhZTkNCi0tLSAvZGV2L251bGwNCisrKyBiL2djYy9j b25maWcvcmlzY3YvdGhlYWQtdmVjdG9yLWJ1aWx0aW5zLWZ1bmN0aW9ucy5k ZWYNCkBAIC0wLDAgKzEsMzkgQEANCisjaWZuZGVmIERFRl9SVlZfRlVOQ1RJ T04NCisjZGVmaW5lIERFRl9SVlZfRlVOQ1RJT04oTkFNRSwgU0hBUEUsIFBS RURTLCBPUFNfSU5GTykNCisjZW5kaWYNCisNCisjZGVmaW5lIFJFUVVJUkVE X0VYVEVOU0lPTlMgWFRIRUFEVkVDVE9SX0VYVA0KK0RFRl9SVlZfRlVOQ1RJ T04gKHZsYiwgdGhfbG9hZHN0b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxf dl9zY2FsYXJfY29uc3RfcHRyX29wcykNCitERUZfUlZWX0ZVTkNUSU9OICh2 bGgsIHRoX2xvYWRzdG9yZV93aWR0aCwgZnVsbF9wcmVkcywgYWxsX3Zfc2Nh bGFyX2NvbnN0X3B0cl9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAodmx3LCB0 aF9sb2Fkc3RvcmVfd2lkdGgsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9j b25zdF9wdHJfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZsYnUsIHRoX2xv YWRzdG9yZV93aWR0aCwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0 X3B0cl9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAodmxodSwgdGhfbG9hZHN0 b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxfdl9zY2FsYXJfY29uc3RfcHRy X29wcykNCitERUZfUlZWX0ZVTkNUSU9OICh2bHd1LCB0aF9sb2Fkc3RvcmVf d2lkdGgsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9jb25zdF9wdHJfb3Bz KQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZzYiwgdGhfbG9hZHN0b3JlX3dpZHRo LCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfb3BzKQ0KK0RFRl9S VlZfRlVOQ1RJT04gKHZzaCwgdGhfbG9hZHN0b3JlX3dpZHRoLCBub25lX21f cHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJ T04gKHZzdywgdGhfbG9hZHN0b3JlX3dpZHRoLCBub25lX21fcHJlZHMsIGFs bF92X3NjYWxhcl9wdHJfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZsc2Is IHRoX2xvYWRzdG9yZV93aWR0aCwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFy X2NvbnN0X3B0cl9zaXplX29wcykNCitERUZfUlZWX0ZVTkNUSU9OICh2bHNo LCB0aF9sb2Fkc3RvcmVfd2lkdGgsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxh cl9jb25zdF9wdHJfc2l6ZV9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAodmxz dywgdGhfbG9hZHN0b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxfdl9zY2Fs YXJfY29uc3RfcHRyX3NpemVfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZs c2J1LCB0aF9sb2Fkc3RvcmVfd2lkdGgsIGZ1bGxfcHJlZHMsIGFsbF92X3Nj YWxhcl9jb25zdF9wdHJfc2l6ZV9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAo dmxzaHUsIHRoX2xvYWRzdG9yZV93aWR0aCwgZnVsbF9wcmVkcywgYWxsX3Zf c2NhbGFyX2NvbnN0X3B0cl9zaXplX29wcykNCitERUZfUlZWX0ZVTkNUSU9O ICh2bHN3dSwgdGhfbG9hZHN0b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxf dl9zY2FsYXJfY29uc3RfcHRyX3NpemVfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJ T04gKHZzc2IsIHRoX2xvYWRzdG9yZV93aWR0aCwgbm9uZV9tX3ByZWRzLCBh bGxfdl9zY2FsYXJfcHRyX3NpemVfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04g KHZzc2gsIHRoX2xvYWRzdG9yZV93aWR0aCwgbm9uZV9tX3ByZWRzLCBhbGxf dl9zY2FsYXJfcHRyX3NpemVfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZz c3csIHRoX2xvYWRzdG9yZV93aWR0aCwgbm9uZV9tX3ByZWRzLCBhbGxfdl9z Y2FsYXJfcHRyX3NpemVfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZseGIs IHRoX2luZGV4ZWRfbG9hZHN0b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxf dl9zY2FsYXJfY29uc3RfcHRyX2luZGV4X29wcykNCitERUZfUlZWX0ZVTkNU SU9OICh2bHhoLCB0aF9pbmRleGVkX2xvYWRzdG9yZV93aWR0aCwgZnVsbF9w cmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0X3B0cl9pbmRleF9vcHMpDQorREVG X1JWVl9GVU5DVElPTiAodmx4dywgdGhfaW5kZXhlZF9sb2Fkc3RvcmVfd2lk dGgsIGZ1bGxfcHJlZHMsIGFsbF92X3NjYWxhcl9jb25zdF9wdHJfaW5kZXhf b3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZseGJ1LCB0aF9pbmRleGVkX2xv YWRzdG9yZV93aWR0aCwgZnVsbF9wcmVkcywgYWxsX3Zfc2NhbGFyX2NvbnN0 X3B0cl9pbmRleF9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAodmx4aHUsIHRo X2luZGV4ZWRfbG9hZHN0b3JlX3dpZHRoLCBmdWxsX3ByZWRzLCBhbGxfdl9z Y2FsYXJfY29uc3RfcHRyX2luZGV4X29wcykNCitERUZfUlZWX0ZVTkNUSU9O ICh2bHh3dSwgdGhfaW5kZXhlZF9sb2Fkc3RvcmVfd2lkdGgsIGZ1bGxfcHJl ZHMsIGFsbF92X3NjYWxhcl9jb25zdF9wdHJfaW5kZXhfb3BzKQ0KK0RFRl9S VlZfRlVOQ1RJT04gKHZzeGIsIHRoX2luZGV4ZWRfbG9hZHN0b3JlX3dpZHRo LCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfaW5kZXhfb3BzKQ0K K0RFRl9SVlZfRlVOQ1RJT04gKHZzeGgsIHRoX2luZGV4ZWRfbG9hZHN0b3Jl X3dpZHRoLCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJfaW5kZXhf b3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZzeHcsIHRoX2luZGV4ZWRfbG9h ZHN0b3JlX3dpZHRoLCBub25lX21fcHJlZHMsIGFsbF92X3NjYWxhcl9wdHJf aW5kZXhfb3BzKQ0KK0RFRl9SVlZfRlVOQ1RJT04gKHZzdXhiLCB0aF9pbmRl eGVkX2xvYWRzdG9yZV93aWR0aCwgbm9uZV9tX3ByZWRzLCBhbGxfdl9zY2Fs YXJfcHRyX2luZGV4X29wcykNCitERUZfUlZWX0ZVTkNUSU9OICh2c3V4aCwg dGhfaW5kZXhlZF9sb2Fkc3RvcmVfd2lkdGgsIG5vbmVfbV9wcmVkcywgYWxs X3Zfc2NhbGFyX3B0cl9pbmRleF9vcHMpDQorREVGX1JWVl9GVU5DVElPTiAo dnN1eHcsIHRoX2luZGV4ZWRfbG9hZHN0b3JlX3dpZHRoLCBub25lX21fcHJl ZHMsIGFsbF92X3NjYWxhcl9wdHJfaW5kZXhfb3BzKQ0KK0RFRl9SVlZfRlVO Q1RJT04gKHZleHRfeF92LCB0aF9leHRyYWN0LCBub25lX3ByZWRzLCBpdV94 X3NfdV9vcHMpDQorI3VuZGVmIFJFUVVJUkVEX0VYVEVOU0lPTlMNCisNCisj dW5kZWYgREVGX1JWVl9GVU5DVElPTg0KZGlmZiAtLWdpdCBhL2djYy9jb25m aWcvcmlzY3YvdGhlYWQtdmVjdG9yLm1kIGIvZ2NjL2NvbmZpZy9yaXNjdi90 aGVhZC12ZWN0b3IubWQNCmluZGV4IDY5NmI4MTUyNTJkLi41ZmU5YmEwOGM0 ZSAxMDA2NDQNCi0tLSBhL2djYy9jb25maWcvcmlzY3YvdGhlYWQtdmVjdG9y Lm1kDQorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3RoZWFkLXZlY3Rvci5tZA0K QEAgLTEsNyArMSw5NSBAQA0KKGRlZmluZV9jX2VudW0gInVuc3BlYyIgWw0K KyAgVU5TUEVDX1RIX1ZMQg0KKyAgVU5TUEVDX1RIX1ZMQlUNCisgIFVOU1BF Q19USF9WTEgNCisgIFVOU1BFQ19USF9WTEhVDQorICBVTlNQRUNfVEhfVkxX DQorICBVTlNQRUNfVEhfVkxXVQ0KKw0KKyAgVU5TUEVDX1RIX1ZMU0INCisg IFVOU1BFQ19USF9WTFNCVQ0KKyAgVU5TUEVDX1RIX1ZMU0gNCisgIFVOU1BF Q19USF9WTFNIVQ0KKyAgVU5TUEVDX1RIX1ZMU1cNCisgIFVOU1BFQ19USF9W TFNXVQ0KKw0KKyAgVU5TUEVDX1RIX1ZMWEINCisgIFVOU1BFQ19USF9WTFhC VQ0KKyAgVU5TUEVDX1RIX1ZMWEgNCisgIFVOU1BFQ19USF9WTFhIVQ0KKyAg VU5TUEVDX1RIX1ZMWFcNCisgIFVOU1BFQ19USF9WTFhXVQ0KKw0KKyAgVU5T UEVDX1RIX1ZTVVhCDQorICBVTlNQRUNfVEhfVlNVWEgNCisgIFVOU1BFQ19U SF9WU1VYVw0KKw0KICAgVU5TUEVDX1RIX1ZXTERTVA0KXSkNCisoZGVmaW5l X2ludF9pdGVyYXRvciBVTlNQRUNfVEhfVkxNRU1fT1AgWw0KKyAgVU5TUEVD X1RIX1ZMQiBVTlNQRUNfVEhfVkxCVQ0KKyAgVU5TUEVDX1RIX1ZMSCBVTlNQ RUNfVEhfVkxIVQ0KKyAgVU5TUEVDX1RIX1ZMVyBVTlNQRUNfVEhfVkxXVQ0K K10pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0b3IgVU5TUEVDX1RIX1ZMU01F TV9PUCBbDQorICBVTlNQRUNfVEhfVkxTQiBVTlNQRUNfVEhfVkxTQlUNCisg IFVOU1BFQ19USF9WTFNIIFVOU1BFQ19USF9WTFNIVQ0KKyAgVU5TUEVDX1RI X1ZMU1cgVU5TUEVDX1RIX1ZMU1dVDQorXSkNCisNCisoZGVmaW5lX2ludF9p dGVyYXRvciBVTlNQRUNfVEhfVkxYTUVNX09QIFsNCisgIFVOU1BFQ19USF9W TFhCIFVOU1BFQ19USF9WTFhCVQ0KKyAgVU5TUEVDX1RIX1ZMWEggVU5TUEVD X1RIX1ZMWEhVDQorICBVTlNQRUNfVEhfVkxYVyBVTlNQRUNfVEhfVkxYV1UN CitdKQ0KKw0KKyhkZWZpbmVfaW50X2F0dHIgdmxtZW1fb3BfYXR0ciBbDQor ICAoVU5TUEVDX1RIX1ZMQiAiYiIpIChVTlNQRUNfVEhfVkxCVSAiYnUiKQ0K KyAgKFVOU1BFQ19USF9WTEggImgiKSAoVU5TUEVDX1RIX1ZMSFUgImh1IikN CisgIChVTlNQRUNfVEhfVkxXICJ3IikgKFVOU1BFQ19USF9WTFdVICJ3dSIp DQorICAoVU5TUEVDX1RIX1ZMU0IgImIiKSAoVU5TUEVDX1RIX1ZMU0JVICJi dSIpDQorICAoVU5TUEVDX1RIX1ZMU0ggImgiKSAoVU5TUEVDX1RIX1ZMU0hV ICJodSIpDQorICAoVU5TUEVDX1RIX1ZMU1cgInciKSAoVU5TUEVDX1RIX1ZM U1dVICJ3dSIpDQorICAoVU5TUEVDX1RIX1ZMWEIgImIiKSAoVU5TUEVDX1RI X1ZMWEJVICJidSIpDQorICAoVU5TUEVDX1RIX1ZMWEggImgiKSAoVU5TUEVD X1RIX1ZMWEhVICJodSIpDQorICAoVU5TUEVDX1RIX1ZMWFcgInciKSAoVU5T UEVDX1RIX1ZMWFdVICJ3dSIpDQorICAoVU5TUEVDX1RIX1ZTVVhCICJiIikN CisgIChVTlNQRUNfVEhfVlNVWEggImgiKQ0KKyAgKFVOU1BFQ19USF9WU1VY VyAidyIpDQorXSkNCisNCisoZGVmaW5lX2ludF9hdHRyIHZsbWVtX29yZGVy X2F0dHIgWw0KKyAgKFVOU1BFQ19USF9WTFhCICIiKQ0KKyAgKFVOU1BFQ19U SF9WTFhIICIiKQ0KKyAgKFVOU1BFQ19USF9WTFhXICIiKQ0KKyAgKFVOU1BF Q19USF9WU1VYQiAidSIpDQorICAoVU5TUEVDX1RIX1ZTVVhIICJ1IikNCisg IChVTlNQRUNfVEhfVlNVWFcgInUiKQ0KK10pDQorDQorKGRlZmluZV9pbnRf aXRlcmF0b3IgVU5TUEVDX1RIX1ZTTUVNX09QIFsNCisgIFVOU1BFQ19USF9W TEINCisgIFVOU1BFQ19USF9WTEgNCisgIFVOU1BFQ19USF9WTFcNCitdKQ0K Kw0KKyhkZWZpbmVfaW50X2l0ZXJhdG9yIFVOU1BFQ19USF9WU1NNRU1fT1Ag Ww0KKyAgVU5TUEVDX1RIX1ZMU0INCisgIFVOU1BFQ19USF9WTFNIDQorICBV TlNQRUNfVEhfVkxTVw0KK10pDQorDQorKGRlZmluZV9pbnRfaXRlcmF0b3Ig VU5TUEVDX1RIX1ZTWE1FTV9PUCBbDQorICBVTlNQRUNfVEhfVkxYQg0KKyAg VU5TUEVDX1RIX1ZMWEgNCisgIFVOU1BFQ19USF9WTFhXDQorICBVTlNQRUNf VEhfVlNVWEINCisgIFVOU1BFQ19USF9WU1VYSA0KKyAgVU5TUEVDX1RIX1ZT VVhXDQorXSkNCisNCihkZWZpbmVfbW9kZV9pdGVyYXRvciBWX1ZMU19WVCBb ViBWTFMgVlRdKQ0KKGRlZmluZV9tb2RlX2l0ZXJhdG9yIFZfVkJfVkxTX1ZU IFtWIFZCIFZMUyBWVF0pDQpAQCAtMTAwLDMgKzE4OCwxNjUgQEANCiAgIH0N CiAgIFsoc2V0X2F0dHIgInR5cGUiICJ2bGRtLHZzdG0sdm1hbHUsdm1hbHUs dm1hbHUiKQ0KICAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisN CisoZGVmaW5lX2V4cGFuZCAiQHByZWRfbW92X3dpZHRoPHZsbWVtX29wX2F0 dHI+PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9WTFMgMCAi bm9uaW1tZWRpYXRlX29wZXJhbmQiKQ0KKyAgICAoaWZfdGhlbl9lbHNlOlZf VkxTDQorICAgICAgKHVuc3BlYzo8Vk0+DQorIFsobWF0Y2hfb3BlcmFuZDo8 Vk0+IDEgInZlY3Rvcl9tYXNrX29wZXJhbmQiKQ0KKyAobWF0Y2hfb3BlcmFu ZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQiKQ0KKyAobWF0Y2hfb3BlcmFu ZCA1ICJjb25zdF9pbnRfb3BlcmFuZCIpDQorIChtYXRjaF9vcGVyYW5kIDYg ImNvbnN0X2ludF9vcGVyYW5kIikNCisgKG1hdGNoX29wZXJhbmQgNyAiY29u c3RfaW50X29wZXJhbmQiKQ0KKyAocmVnOlNJIFZMX1JFR05VTSkNCisgKHJl ZzpTSSBWVFlQRV9SRUdOVU0pXSBVTlNQRUNfVEhfVkxNRU1fT1ApDQorICAg ICAgKG1hdGNoX29wZXJhbmQ6Vl9WTFMgMyAidmVjdG9yX21vdmVfb3BlcmFu ZCIpDQorICAgICAgKG1hdGNoX29wZXJhbmQ6Vl9WTFMgMiAidmVjdG9yX21l cmdlX29wZXJhbmQiKSkpXQ0KKyAgIlRBUkdFVF9YVEhFQURWRUNUT1IiDQor ICB7fSkNCisNCisoZGVmaW5lX2luc25fYW5kX3NwbGl0ICIqcHJlZF9tb3Zf d2lkdGg8dmxtZW1fb3BfYXR0cj48bW9kZT4iDQorICBbKHNldCAobWF0Y2hf b3BlcmFuZDpWX1ZMUyAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgICAgICI9 dnIsICAgIHZyLCAgICB2ZCwgICAgIG0sICAgIHZyLCAgICB2ciIpDQorICAg IChpZl90aGVuX2Vsc2U6Vl9WTFMNCisgICAgICAodW5zcGVjOjxWTT4NCisg WyhtYXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIg ICAgInZtV2MxLCAgIFdjMSwgICAgdm0sIHZtV2MxLCAgIFdjMSwgICBXYzEi KQ0KKyAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3RoX29wZXJhbmQi ICAgICAgICIgICBySywgICAgckssICAgIHJLLCAgICBySywgICAgckssICAg IHJLIikNCisgKG1hdGNoX29wZXJhbmQgNSAiY29uc3RfaW50X29wZXJhbmQi ICAgIiAgICBpLCAgICAgaSwgICAgIGksICAgICBpLCAgICAgaSwgICAgIGki KQ0KKyAobWF0Y2hfb3BlcmFuZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgICAi ICAgIGksICAgICBpLCAgICAgaSwgICAgIGksICAgICBpLCAgICAgaSIpDQor IChtYXRjaF9vcGVyYW5kIDcgImNvbnN0X2ludF9vcGVyYW5kIiAgICIgICAg aSwgICAgIGksICAgICBpLCAgICAgaSwgICAgIGksICAgICBpIikNCisgKHJl ZzpTSSBWTF9SRUdOVU0pDQorIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5T UEVDX1RIX1ZMTUVNX09QKQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kOlZfVkxT IDMgInJlZ19vcl9tZW1fb3BlcmFuZCIgICAgICAgIiAgICBtLCAgICAgbSwg ICAgIG0sICAgIHZyLCAgICB2ciwgICAgdnIiKQ0KKyAgICAgIChtYXRjaF9v cGVyYW5kOlZfVkxTIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5kIiAgICAgIiAg ICAwLCAgICB2dSwgICAgdnUsICAgIHZ1LCAgICB2dSwgICAgIDAiKSkpXQ0K KyAgIihUQVJHRVRfWFRIRUFEVkVDVE9SDQorICAgICYmIChyZWdpc3Rlcl9v cGVyYW5kIChvcGVyYW5kc1swXSwgPE1PREU+bW9kZSkNCisgfHwgcmVnaXN0 ZXJfb3BlcmFuZCAob3BlcmFuZHNbM10sIDxNT0RFPm1vZGUpKSkiDQorICAi QA0KKyAgIHZsPHZsbWVtX29wX2F0dHI+LnZcdCUwLCUzJXAxDQorICAgdmw8 dmxtZW1fb3BfYXR0cj4udlx0JTAsJTMNCisgICB2bDx2bG1lbV9vcF9hdHRy Pi52XHQlMCwlMywlMS50DQorICAgdnM8dmxtZW1fb3BfYXR0cj4udlx0JTMs JTAlcDENCisgICB2bXYudi52XHQlMCwlMw0KKyAgIHZtdi52LnZcdCUwLCUz Ig0KKyAgIiYmIHJpc2N2X3ZlY3Rvcjo6d2hvbGVfcmVnX3RvX3JlZ19tb3Zl X3AgKG9wZXJhbmRzLCA8TU9ERT5tb2RlLCA3KSINCisgIFsoc2V0IChtYXRj aF9kdXAgMCkgKG1hdGNoX2R1cCAzKSldDQorICAiIg0KKyAgWyhzZXRfYXR0 ciAidHlwZSIgInZsZGUsdmxkZSx2bGRlLHZzdGUsdmltb3Ysdmltb3YiKQ0K KyAgIChzZXRfYXR0ciAibW9kZSIgIjxNT0RFPiIpXSkNCisNCisoZGVmaW5l X2luc24gIkBwcmVkX3N0b3JlX3dpZHRoPHZsbWVtX29wX2F0dHI+PG1vZGU+ Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6VkkgMCAibWVtb3J5X29wZXJh bmQiICIrbSIpDQorIChpZl90aGVuX2Vsc2U6VkkNCisgICAodW5zcGVjOjxW TT4NCisgICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDEgInZlY3Rvcl9tYXNr X29wZXJhbmQiICJ2bVdjMSIpDQorICAgICAgKG1hdGNoX29wZXJhbmQgMyAi dmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAiICAgcksiKQ0KKyAgICAgICht YXRjaF9vcGVyYW5kIDQgImNvbnN0X2ludF9vcGVyYW5kIiAiICAgIGkiKQ0K KyAgICAgIChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgIChyZWc6U0kgVlRZ UEVfUkVHTlVNKV0gVU5TUEVDX1RIX1ZTTUVNX09QKQ0KKyAgIChtYXRjaF9v cGVyYW5kOlZJIDIgInJlZ2lzdGVyX29wZXJhbmQiICIgICAgdnIiKQ0KKyAg IChtYXRjaF9kdXAgMCkpKV0NCisgICJUQVJHRVRfWFRIRUFEVkVDVE9SIg0K KyAgInZzPHZsbWVtX29wX2F0dHI+LnZcdCUyLCUwJXAxIg0KKyAgWyhzZXRf YXR0ciAidHlwZSIgInZzdGUiKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIgIjxN T0RFPiIpDQorICAgKHNldCAoYXR0ciAiYXZsX3R5cGVfaWR4IikgKGNvbnN0 X2ludCA0KSkNCisgICAoc2V0X2F0dHIgInZsX29wX2lkeCIgIjMiKV0pDQor DQorKGRlZmluZV9pbnNuICJAcHJlZF9zdHJpZGVkX2xvYWRfd2lkdGg8dmxt ZW1fb3BfYXR0cj48bW9kZT4iDQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpW SSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAgICAgICAiPXZyLCAgICB2ciwgICAg dmQiKQ0KKyAoaWZfdGhlbl9lbHNlOlZJDQorICAgKHVuc3BlYzo8Vk0+DQor ICAgICBbKG1hdGNoX29wZXJhbmQ6PFZNPiAxICJ2ZWN0b3JfbWFza19vcGVy YW5kIiAidm1XYzEsICAgV2MxLCAgICB2bSIpDQorICAgICAgKG1hdGNoX29w ZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5kIiAgICAiICAgckssICAg IHJLLCAgICBySyIpDQorICAgICAgKG1hdGNoX29wZXJhbmQgNiAiY29uc3Rf aW50X29wZXJhbmQiICIgICAgaSwgICAgIGksICAgICBpIikNCisgICAgICAo bWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgIiAgICBpLCAg ICAgaSwgICAgIGkiKQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kIDggImNvbnN0 X2ludF9vcGVyYW5kIiAiICAgIGksICAgICBpLCAgICAgaSIpDQorICAgICAg KHJlZzpTSSBWTF9SRUdOVU0pDQorICAgICAgKHJlZzpTSSBWVFlQRV9SRUdO VU0pXSBVTlNQRUNfVEhfVkxTTUVNX09QKQ0KKyAgICh1bnNwZWM6VkkNCisg ICAgIFsobWF0Y2hfb3BlcmFuZDpWSSAzICJtZW1vcnlfb3BlcmFuZCIgIiAg ICBtLCAgICAgbSwgICAgIG0iKQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kIDQg InBtb2RlX3JlZ19vcl8wX29wZXJhbmQiICAgIiAgIHJKLCAgICBySiwgICAg ckoiKV0gVU5TUEVDX1RIX1ZMU01FTV9PUCkNCisgICAobWF0Y2hfb3BlcmFu ZDpWSSAyICJ2ZWN0b3JfbWVyZ2Vfb3BlcmFuZCIgICAgICAiICAgIDAsICAg IHZ1LCAgICB2dSIpKSldDQorICAiVEFSR0VUX1hUSEVBRFZFQ1RPUiINCisg ICJ2bHM8dmxtZW1fb3BfYXR0cj4udlx0JTAsJTMsJXo0JXAxIg0KKyAgWyhz ZXRfYXR0ciAidHlwZSIgInZsZHMiKQ0KKyAgIChzZXRfYXR0ciAibW9kZSIg IjxNT0RFPiIpXSkNCisNCisoZGVmaW5lX2luc24gIkBwcmVkX3N0cmlkZWRf c3RvcmVfd2lkdGg8dmxtZW1fb3BfYXR0cj48bW9kZT4iDQorICBbKHNldCAo bWF0Y2hfb3BlcmFuZDpWSSAwICJtZW1vcnlfb3BlcmFuZCIgIittIikNCisg KGlmX3RoZW5fZWxzZTpWSQ0KKyAgICh1bnNwZWM6PFZNPg0KKyAgICAgWyht YXRjaF9vcGVyYW5kOjxWTT4gMSAidmVjdG9yX21hc2tfb3BlcmFuZCIgInZt V2MxIikNCisgICAgICAobWF0Y2hfb3BlcmFuZCA0ICJ2ZWN0b3JfbGVuZ3Ro X29wZXJhbmQiICAgICIgICBySyIpDQorICAgICAgKG1hdGNoX29wZXJhbmQg NSAiY29uc3RfaW50X29wZXJhbmQiICIgICAgaSIpDQorICAgICAgKHJlZzpT SSBWTF9SRUdOVU0pDQorICAgICAgKHJlZzpTSSBWVFlQRV9SRUdOVU0pXSBV TlNQRUNfVEhfVlNTTUVNX09QKQ0KKyAgICh1bnNwZWM6VkkNCisgICAgIFso bWF0Y2hfb3BlcmFuZCAyICJwbW9kZV9yZWdfb3JfMF9vcGVyYW5kIiAgICIg ICBySiIpDQorICAgICAgKG1hdGNoX29wZXJhbmQ6VkkgMyAicmVnaXN0ZXJf b3BlcmFuZCIgICAgICAgIiAgIHZyIildIFVOU1BFQ19USF9WU1NNRU1fT1Ap DQorICAgKG1hdGNoX2R1cCAwKSkpXQ0KKyAgIlRBUkdFVF9YVEhFQURWRUNU T1IiDQorICAidnNzPHZsbWVtX29wX2F0dHI+LnZcdCUzLCUwLCV6MiVwMSIN CisgIFsoc2V0X2F0dHIgInR5cGUiICJ2c3RzIikNCisgICAoc2V0X2F0dHIg Im1vZGUiICI8TU9ERT4iKQ0KKyAgIChzZXQgKGF0dHIgImF2bF90eXBlX2lk eCIpIChjb25zdF9pbnQgNSkpXSkNCisNCisoZGVmaW5lX2luc24gIkBwcmVk X2luZGV4ZWRfbG9hZF93aWR0aDx2bG1lbV9vcF9hdHRyPjxtb2RlPiINCisg IFsoc2V0IChtYXRjaF9vcGVyYW5kOlZJIDAgInJlZ2lzdGVyX29wZXJhbmQi ICAgICAgIj12ZCwgdnIsdmQsIHZyIikNCisgKGlmX3RoZW5fZWxzZTpWSQ0K KyAgICh1bnNwZWM6PFZNPg0KKyAgICAgWyhtYXRjaF9vcGVyYW5kOjxWTT4g MSAidmVjdG9yX21hc2tfb3BlcmFuZCIgICIgdm0sV2MxLHZtLFdjMSIpDQor ICAgICAgKG1hdGNoX29wZXJhbmQgNSAidmVjdG9yX2xlbmd0aF9vcGVyYW5k IiAgICAgIiBySywgckssckssIHJLIikNCisgICAgICAobWF0Y2hfb3BlcmFu ZCA2ICJjb25zdF9pbnRfb3BlcmFuZCIgIiAgaSwgIGksIGksICBpIikNCisg ICAgICAobWF0Y2hfb3BlcmFuZCA3ICJjb25zdF9pbnRfb3BlcmFuZCIgIiAg aSwgIGksIGksICBpIikNCisgICAgICAobWF0Y2hfb3BlcmFuZCA4ICJjb25z dF9pbnRfb3BlcmFuZCIgIiAgaSwgIGksIGksICBpIikNCisgICAgICAocmVn OlNJIFZMX1JFR05VTSkNCisgICAgICAocmVnOlNJIFZUWVBFX1JFR05VTSld IFVOU1BFQ19USF9WTFhNRU1fT1ApDQorICAgKHVuc3BlYzpWSQ0KKyAgICAg WyhtYXRjaF9vcGVyYW5kIDMgInBtb2RlX3JlZ19vcl8wX29wZXJhbmQiICAg ICIgckosIHJKLHJKLCBySiIpDQorICAgICAgKG1lbTpCTEsgKHNjcmF0Y2gp KQ0KKyAgICAgIChtYXRjaF9vcGVyYW5kOlZJIDQgInJlZ2lzdGVyX29wZXJh bmQiICIgdnIsIHZyLHZyLCB2ciIpXSBVTlNQRUNfVEhfVkxYTUVNX09QKQ0K KyAgIChtYXRjaF9vcGVyYW5kOlZJIDIgInZlY3Rvcl9tZXJnZV9vcGVyYW5k IiAgICAgICAiIHZ1LCB2dSwgMCwgIDAiKSkpXQ0KKyAgIlRBUkdFVF9YVEhF QURWRUNUT1IiDQorICAidmx4PHZsbWVtX29wX2F0dHI+LnZcdCUwLCglejMp LCU0JXAxIg0KKyAgWyhzZXRfYXR0ciAidHlwZSIgInZsZHV4IikNCisgICAo c2V0X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQorDQorKGRlZmluZV9pbnNu ICJAcHJlZF9pbmRleGVkXzx2bG1lbV9vcmRlcl9hdHRyPnN0b3JlX3dpZHRo PHZsbWVtX29wX2F0dHI+PG1vZGU+Ig0KKyAgWyhzZXQgKG1lbTpCTEsgKHNj cmF0Y2gpKQ0KKyAodW5zcGVjOkJMSw0KKyAgIFsodW5zcGVjOjxWTT4NCisg ICAgIFsobWF0Y2hfb3BlcmFuZDo8Vk0+IDAgInZlY3Rvcl9tYXNrX29wZXJh bmQiICJ2bVdjMSIpDQorICAgICAgKG1hdGNoX29wZXJhbmQgNCAidmVjdG9y X2xlbmd0aF9vcGVyYW5kIiAgICAiICAgcksiKQ0KKyAgICAgIChtYXRjaF9v cGVyYW5kIDUgImNvbnN0X2ludF9vcGVyYW5kIiAiICAgIGkiKQ0KKyAgICAg IChyZWc6U0kgVkxfUkVHTlVNKQ0KKyAgICAgIChyZWc6U0kgVlRZUEVfUkVH TlVNKV0gVU5TUEVDX1RIX1ZTWE1FTV9PUCkNCisgICAgKG1hdGNoX29wZXJh bmQgMSAicG1vZGVfcmVnX29yXzBfb3BlcmFuZCIgICAgICAiICBySiIpDQor ICAgIChtYXRjaF9vcGVyYW5kOlZJIDIgInJlZ2lzdGVyX29wZXJhbmQiICIg IHZyIikNCisgICAgKG1hdGNoX29wZXJhbmQ6VkkgMyAicmVnaXN0ZXJfb3Bl cmFuZCIgICIgIHZyIildIFVOU1BFQ19USF9WU1hNRU1fT1ApKV0NCisgICJU QVJHRVRfWFRIRUFEVkVDVE9SIg0KKyAgInZzPHZsbWVtX29yZGVyX2F0dHI+ eDx2bG1lbV9vcF9hdHRyPi52XHQlMywoJXoxKSwlMiVwMCINCisgIFsoc2V0 X2F0dHIgInR5cGUiICJ2c3R1eCIpDQorICAgKHNldF9hdHRyICJtb2RlIiAi PE1PREU+IildKQ0KKw0KKyhkZWZpbmVfZXhwYW5kICJAcHJlZF90aF9leHRy YWN0PG1vZGU+Ig0KKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6PFZFTD4gMCAi cmVnaXN0ZXJfb3BlcmFuZCIpDQorICh1bnNwZWM6PFZFTD4NCisgICBbKHZl Y19zZWxlY3Q6PFZFTD4NCisgICAgICAobWF0Y2hfb3BlcmFuZDpWX1ZMU0kg MSAicmVnaXN0ZXJfb3BlcmFuZCIpDQorICAgICAgKHBhcmFsbGVsIFsobWF0 Y2hfb3BlcmFuZDpESSAyICJyZWdpc3Rlcl9vcGVyYW5kIiAiciIpXSkpDQor ICAgIChyZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUp KV0NCisgICJUQVJHRVRfWFRIRUFEVkVDVE9SIg0KK3t9KQ0KKw0KKyhkZWZp bmVfaW5zbiAiKnByZWRfdGhfZXh0cmFjdDxtb2RlPiINCisgIFsoc2V0ICht YXRjaF9vcGVyYW5kOjxWRUw+IDAgInJlZ2lzdGVyX29wZXJhbmQiICAgIj1y IikNCisgICh1bnNwZWM6PFZFTD4NCisgICAgWyh2ZWNfc2VsZWN0OjxWRUw+ DQorICAgICAgIChtYXRjaF9vcGVyYW5kOlZfVkxTSSAxICJyZWdpc3Rlcl9v cGVyYW5kIiAidnIiKQ0KKyAgICAgICAocGFyYWxsZWwgWyhtYXRjaF9vcGVy YW5kOkRJIDIgInJlZ2lzdGVyX29wZXJhbmQiICJyIildKSkNCisgICAgIChy ZWc6U0kgVlRZUEVfUkVHTlVNKV0gVU5TUEVDX1ZQUkVESUNBVEUpKV0NCisg ICJUQVJHRVRfWFRIRUFEVkVDVE9SIg0KKyAgInZleHQueC52XHQlMCwlMSwl MiINCisgIFsoc2V0X2F0dHIgInR5cGUiICJ2aW1vdnZ4IikNCisgICAoc2V0 X2F0dHIgIm1vZGUiICI8TU9ERT4iKV0pDQpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmxi LXZzYi5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94 dGhlYWR2ZWN0b3IvdmxiLXZzYi5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0K aW5kZXggMDAwMDAwMDAwMDAuLjNjMTJjMTI0NTk3DQotLS0gL2Rldi9udWxs DQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3h0 aGVhZHZlY3Rvci92bGItdnNiLmMNCkBAIC0wLDAgKzEsNjggQEANCisvKiB7 IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNo PXJ2MzJnY3h0aGVhZHZlY3RvciAtbWFiaT1pbHAzMmQgLU8zIiB9ICovDQor LyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIi IH0gfSAqLw0KKyNpbmNsdWRlICJyaXNjdl90aF92ZWN0b3IuaCINCisNCisv Kg0KKyoqIGYxOg0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJvLDQsZTMyLG0xLHR1 LG1hDQorKiogdGgudmxiXC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQor KiogdGgudmxiXC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgu dmFkZFwudnZcdHZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rDQorKiog dGgudmFkZFwudnZcdHZbMC05XSssXHMqdlswLTldKyxccyp2WzAtOV0rDQor KiogdGgudnNiXC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogcmV0 DQorKi8NCit2b2lkIGYxICh2b2lkICogaW4sIHZvaWQgKm91dCkNCit7DQor ICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdGhfdmxiX3ZfaTMybTEgKGlu LCA0KTsNCisgICAgdmludDMybTFfdCB2MiA9IF9fcmlzY3ZfdGhfdmxiX3Zf aTMybTFfdHUgKHYsIGluLCA0KTsNCisgICAgdmludDMybTFfdCB2MyA9IF9f cmlzY3ZfdmFkZF92dl9pMzJtMSAodjIsIHYyLCA0KTsNCisgICAgdmludDMy bTFfdCB2NCA9IF9fcmlzY3ZfdmFkZF92dl9pMzJtMV90dSAodjMsIHYyLCB2 MiwgNCk7DQorICAgIF9fcmlzY3ZfdGhfdnNiX3ZfaTMybTEgKG91dCwgdjQs IDQpOw0KK30NCisNCisvKg0KKyoqIGYyOg0KKyoqIHRoLnZzZXR2bGlcdFth LXgwLTldKyx6ZXJvLGU4LG1mNCx0YSxtYQ0KKyoqIHRoLnZsbS52XHR2WzAt OV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudnNldGl2bGlcdHplcm8sNCxl MzIsbTEsdGEsbWENCisqKiB0aC52bGIudlx0dlswLTldKywwXChbYS14MC05 XStcKSx2MC50DQorKiogdGgudmFkZFwudnZcdHZbMC05XSssXHMqdlswLTld Kyxccyp2WzAtOV0rDQorKiogdGgudmFkZFwudnZcdHZbMS05XVswLTldPyxc cyp2WzAtOV0rLFxzKnZbMC05XSssXHMqdjAudA0KKyoqIHRoLnZzYi52XHR2 WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogcmV0DQorKi8NCit2b2lkIGYy ICh2b2lkICogaW4sIHZvaWQgKm91dCkNCit7DQorICAgIHZib29sMzJfdCBt YXNrID0gKih2Ym9vbDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRpbGUgKCIi Ojo6Im1lbW9yeSIpOw0KKyAgICB2aW50MzJtMV90IHYgPSBfX3Jpc2N2X3Ro X3ZsYl92X2kzMm0xIChpbiwgNCk7DQorICAgIHZpbnQzMm0xX3QgdjIgPSBf X3Jpc2N2X3RoX3ZsYl92X2kzMm0xX20gKG1hc2ssIGluLCA0KTsNCisgICAg dmludDMybTFfdCB2MyA9IF9fcmlzY3ZfdmFkZF92dl9pMzJtMSAodjIsIHYy LCA0KTsNCisgICAgdmludDMybTFfdCB2NCA9IF9fcmlzY3ZfdmFkZF92dl9p MzJtMV9tIChtYXNrLCB2MywgdjMsIDQpOw0KKyAgICBfX3Jpc2N2X3RoX3Zz Yl92X2kzMm0xIChvdXQsIHY0LCA0KTsNCit9DQorDQorLyoNCisqKiBmMzoN CisqKiB0aC52c2V0dmxpXHRbYS14MC05XSssemVybyxlOCxtZjQsdGEsbWEN CisqKiB0aC52bG0udlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoqIHRo LnZzZXRpdmxpXHR6ZXJvLDQsZTMyLG0xLHR1LG11DQorKiogdGgudmxiXC52 XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmxiLnZcdHZbMC05 XSssMFwoW2EteDAtOV0rXCksdjAudA0KKyoqIHRoLnZhZGRcLnZ2XHR2WzAt OV0rLFxzKnZbMC05XSssXHMqdlswLTldKw0KKyoqIHRoLnZhZGRcLnZ2XHR2 WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyp2WzAtOV0rLFxzKnYwLnQNCisq KiB0aC52c2Iudlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoqIHJldA0K KyovDQordm9pZCBmMyAodm9pZCAqIGluLCB2b2lkICpvdXQpDQorew0KKyAg ICB2Ym9vbDMyX3QgbWFzayA9ICoodmJvb2wzMl90KilpbjsNCisgICAgYXNt IHZvbGF0aWxlICgiIjo6OiJtZW1vcnkiKTsNCisgICAgdmludDMybTFfdCB2 ID0gX19yaXNjdl90aF92bGJfdl9pMzJtMSAoaW4sIDQpOw0KKyAgICB2aW50 MzJtMV90IHYyID0gX19yaXNjdl90aF92bGJfdl9pMzJtMV90dW11IChtYXNr LCB2LCBpbiwgNCk7DQorICAgIHZpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2X3Zh ZGRfdnZfaTMybTEgKHYyLCB2MiwgNCk7DQorICAgIHZpbnQzMm0xX3QgdjQg PSBfX3Jpc2N2X3ZhZGRfdnZfaTMybTFfdHVtdSAobWFzaywgdjMsIHYyLCB2 MiwgNCk7DQorICAgIF9fcmlzY3ZfdGhfdnNiX3ZfaTMybTEgKG91dCwgdjQs IDQpOw0KK30NCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvcmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bGJ1LXZzYi5jIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmxi dS12c2IuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAw MDAwLi4zMGJlZjM2OTM3NQ0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmxi dS12c2IuYw0KQEAgLTAsMCArMSw2OCBAQA0KKy8qIHsgZGctZG8gY29tcGls ZSB9ICovDQorLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdjeHRoZWFk dmVjdG9yIC1tYWJpPWlscDMyZCAtTzMiIH0gKi8NCisvKiB7IGRnLWZpbmFs IHsgY2hlY2stZnVuY3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQorI2lu Y2x1ZGUgInJpc2N2X3RoX3ZlY3Rvci5oIg0KKw0KKy8qDQorKiogZjE6DQor KiogdGgudnNldGl2bGlcdHplcm8sNCxlMzIsbTEsdHUsbWENCisqKiB0aC52 bGJ1XC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmxidVwu dlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoqIHRoLnZhZGRcLnZpXHR2 WzAtOV0rLFxzKnZbMC05XSssXHMqLTE2DQorKiogdGgudmFkZFwudmlcdHZb MC05XSssXHMqdlswLTldKyxccyotMTYNCisqKiB0aC52c2JcLnZcdHZbMC05 XSssMFwoW2EteDAtOV0rXCkNCisqKiByZXQNCisqLw0KK3ZvaWQgZjEgKHZv aWQgKiBpbiwgdm9pZCAqb3V0LCB1aW50MzJfdCB4KQ0KK3sNCisgICAgdnVp bnQzMm0xX3QgdiA9IF9fcmlzY3ZfdGhfdmxidV92X3UzMm0xIChpbiwgNCk7 DQorICAgIHZ1aW50MzJtMV90IHYyID0gX19yaXNjdl90aF92bGJ1X3ZfdTMy bTFfdHUgKHYsIGluLCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjMgPSBfX3Jp c2N2X3ZhZGRfdnhfdTMybTEgKHYyLCAtMTYsIDQpOw0KKyAgICB2dWludDMy bTFfdCB2NCA9IF9fcmlzY3ZfdmFkZF92eF91MzJtMV90dSAodjMsIHYyLCAt MTYsIDQpOw0KKyAgICBfX3Jpc2N2X3RoX3ZzYl92X3UzMm0xIChvdXQsIHY0 LCA0KTsNCit9DQorDQorLyoNCisqKiBmMjoNCisqKiB0aC52c2V0dmxpXHRb YS14MC05XSssemVybyxlOCxtZjQsdGEsbWENCisqKiB0aC52bG0udlx0dlsw LTldKywwXChbYS14MC05XStcKQ0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJvLDQs ZTMyLG0xLHRhLG1hDQorKiogdGgudmxidS52XHR2WzAtOV0rLDBcKFthLXgw LTldK1wpLHYwLnQNCisqKiB0aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAt OV0rLFxzKi0xNg0KKyoqIHRoLnZhZGRcLnZpXHR2WzEtOV1bMC05XT8sXHMq dlswLTldKyxccyotMTYsXHMqdjAudA0KKyoqIHRoLnZzYi52XHR2WzAtOV0r LDBcKFthLXgwLTldK1wpDQorKiogcmV0DQorKi8NCit2b2lkIGYyICh2b2lk ICogaW4sIHZvaWQgKm91dCwgdWludDMyX3QgeCkNCit7DQorICAgIHZib29s MzJfdCBtYXNrID0gKih2Ym9vbDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRp bGUgKCIiOjo6Im1lbW9yeSIpOw0KKyAgICB2dWludDMybTFfdCB2ID0gX19y aXNjdl90aF92bGJ1X3ZfdTMybTEgKGluLCA0KTsNCisgICAgdnVpbnQzMm0x X3QgdjIgPSBfX3Jpc2N2X3RoX3ZsYnVfdl91MzJtMV9tIChtYXNrLCBpbiwg NCk7DQorICAgIHZ1aW50MzJtMV90IHYzID0gX19yaXNjdl92YWRkX3Z4X3Uz Mm0xICh2MiwgLTE2LCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjQgPSBfX3Jp c2N2X3ZhZGRfdnhfdTMybTFfbSAobWFzaywgdjMsIC0xNiwgNCk7DQorICAg IF9fcmlzY3ZfdGhfdnNiX3ZfdTMybTEgKG91dCwgdjQsIDQpOw0KK30NCisN CisvKg0KKyoqIGYzOg0KKyoqIHRoLnZzZXR2bGlcdFthLXgwLTldKyx6ZXJv LGU4LG1mNCx0YSxtYQ0KKyoqIHRoLnZsbS52XHR2WzAtOV0rLDBcKFthLXgw LTldK1wpDQorKiogdGgudnNldGl2bGlcdHplcm8sNCxlMzIsbTEsdHUsbXUN CisqKiB0aC52bGJ1XC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiog dGgudmxidS52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQNCisqKiB0 aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0KKyoqIHRo LnZhZGRcLnZpXHR2WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyotMTYsXHMq djAudA0KKyoqIHRoLnZzYi52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQor KiogcmV0DQorKi8NCit2b2lkIGYzICh2b2lkICogaW4sIHZvaWQgKm91dCwg dWludDMyX3QgeCkNCit7DQorICAgIHZib29sMzJfdCBtYXNrID0gKih2Ym9v bDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIp Ow0KKyAgICB2dWludDMybTFfdCB2ID0gX19yaXNjdl90aF92bGJ1X3ZfdTMy bTEgKGluLCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjIgPSBfX3Jpc2N2X3Ro X3ZsYnVfdl91MzJtMV90dW11IChtYXNrLCB2LCBpbiwgNCk7DQorICAgIHZ1 aW50MzJtMV90IHYzID0gX19yaXNjdl92YWRkX3Z4X3UzMm0xICh2MiwgLTE2 LCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhf dTMybTFfdHVtdSAobWFzaywgdjMsIHYyLCAtMTYsIDQpOw0KKyAgICBfX3Jp c2N2X3RoX3ZzYl92X3UzMm0xIChvdXQsIHY0LCA0KTsNCit9DQpkaWZmIC0t Z2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhl YWR2ZWN0b3IvdmxoLXZzaC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3IvdmxoLXZzaC5jDQpuZXcgZmlsZSBt b2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAuLjNjOGI1Y2NjMTZiDQot LS0gL2Rldi9udWxsDQorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQv cmlzY3YvcnZ2L3h0aGVhZHZlY3Rvci92bGgtdnNoLmMNCkBAIC0wLDAgKzEs NjggQEANCisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0 aW9ucyAiLW1hcmNoPXJ2MzJnY3h0aGVhZHZlY3RvciAtbWFiaT1pbHAzMmQg LU8zIiB9ICovDQorLyogeyBkZy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJv ZGllcyAiKioiICIiIH0gfSAqLw0KKyNpbmNsdWRlICJyaXNjdl90aF92ZWN0 b3IuaCINCisNCisvKg0KKyoqIGYxOg0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJv LDQsZTMyLG0xLHR1LG1hDQorKiogdGgudmxoXC52XHR2WzAtOV0rLDBcKFth LXgwLTldK1wpDQorKiogdGgudmxoXC52XHR2WzAtOV0rLDBcKFthLXgwLTld K1wpDQorKiogdGgudmFkZFwudmlcdHZbMC05XSssXHMqdlswLTldKyxccyot MTYNCisqKiB0aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAtOV0rLFxzKi0x Ng0KKyoqIHRoLnZzaFwudlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoq IHJldA0KKyovDQordm9pZCBmMSAodm9pZCAqIGluLCB2b2lkICpvdXQsIGlu dDMyX3QgeCkNCit7DQorICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdGhf dmxoX3ZfaTMybTEgKGluLCA0KTsNCisgICAgdmludDMybTFfdCB2MiA9IF9f cmlzY3ZfdGhfdmxoX3ZfaTMybTFfdHUgKHYsIGluLCA0KTsNCisgICAgdmlu dDMybTFfdCB2MyA9IF9fcmlzY3ZfdmFkZF92eF9pMzJtMSAodjIsIC0xNiwg NCk7DQorICAgIHZpbnQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhfaTMy bTFfdHUgKHYzLCB2MiwgLTE2LCA0KTsNCisgICAgX19yaXNjdl90aF92c2hf dl9pMzJtMSAob3V0LCB2NCwgNCk7DQorfQ0KKw0KKy8qDQorKiogZjI6DQor KiogdGgudnNldHZsaVx0W2EteDAtOV0rLHplcm8sZTgsbWY0LHRhLG1hDQor KiogdGgudmxtLnZcdHZbMC05XSssMFwoW2EteDAtOV0rXCkNCisqKiB0aC52 c2V0aXZsaVx0emVybyw0LGUzMixtMSx0YSxtYQ0KKyoqIHRoLnZsaC52XHR2 WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQNCisqKiB0aC52YWRkXC52aVx0 dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0KKyoqIHRoLnZhZGRcLnZpXHR2 WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyotMTYsXHMqdjAudA0KKyoqIHRo LnZzaC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogcmV0DQorKi8N Cit2b2lkIGYyICh2b2lkICogaW4sIHZvaWQgKm91dCwgaW50MzJfdCB4KQ0K K3sNCisgICAgdmJvb2wzMl90IG1hc2sgPSAqKHZib29sMzJfdCopaW47DQor ICAgIGFzbSB2b2xhdGlsZSAoIiI6OjoibWVtb3J5Iik7DQorICAgIHZpbnQz Mm0xX3QgdiA9IF9fcmlzY3ZfdGhfdmxoX3ZfaTMybTEgKGluLCA0KTsNCisg ICAgdmludDMybTFfdCB2MiA9IF9fcmlzY3ZfdGhfdmxoX3ZfaTMybTFfbSAo bWFzaywgaW4sIDQpOw0KKyAgICB2aW50MzJtMV90IHYzID0gX19yaXNjdl92 YWRkX3Z4X2kzMm0xICh2MiwgLTE2LCA0KTsNCisgICAgdmludDMybTFfdCB2 NCA9IF9fcmlzY3ZfdmFkZF92eF9pMzJtMV9tIChtYXNrLCB2MywgLTE2LCA0 KTsNCisgICAgX19yaXNjdl90aF92c2hfdl9pMzJtMSAob3V0LCB2NCwgNCk7 DQorfQ0KKw0KKy8qDQorKiogZjM6DQorKiogdGgudnNldHZsaVx0W2EteDAt OV0rLHplcm8sZTgsbWY0LHRhLG1hDQorKiogdGgudmxtLnZcdHZbMC05XSss MFwoW2EteDAtOV0rXCkNCisqKiB0aC52c2V0aXZsaVx0emVybyw0LGUzMixt MSx0dSxtdQ0KKyoqIHRoLnZsaFwudlx0dlswLTldKywwXChbYS14MC05XStc KQ0KKyoqIHRoLnZsaC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQN CisqKiB0aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0K KyoqIHRoLnZhZGRcLnZpXHR2WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyot MTYsXHMqdjAudA0KKyoqIHRoLnZzaC52XHR2WzAtOV0rLDBcKFthLXgwLTld K1wpDQorKiogcmV0DQorKi8NCit2b2lkIGYzICh2b2lkICogaW4sIHZvaWQg Km91dCwgaW50MzJfdCB4KQ0KK3sNCisgICAgdmJvb2wzMl90IG1hc2sgPSAq KHZib29sMzJfdCopaW47DQorICAgIGFzbSB2b2xhdGlsZSAoIiI6OjoibWVt b3J5Iik7DQorICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdGhfdmxoX3Zf aTMybTEgKGluLCA0KTsNCisgICAgdmludDMybTFfdCB2MiA9IF9fcmlzY3Zf dGhfdmxoX3ZfaTMybTFfdHVtdSAobWFzaywgdiwgaW4sIDQpOw0KKyAgICB2 aW50MzJtMV90IHYzID0gX19yaXNjdl92YWRkX3Z4X2kzMm0xICh2MiwgLTE2 LCA0KTsNCisgICAgdmludDMybTFfdCB2NCA9IF9fcmlzY3ZfdmFkZF92eF9p MzJtMV90dW11IChtYXNrLCB2MywgdjIsIC0xNiwgNCk7DQorICAgIF9fcmlz Y3ZfdGhfdnNoX3ZfaTMybTEgKG91dCwgdjQsIDQpOw0KK30NCmRpZmYgLS1n aXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3h0aGVh ZHZlY3Rvci92bGh1LXZzaC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3IvdmxodS12c2guYw0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5iN2MwMDQwNGYxOA0K LS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0 L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3IvdmxodS12c2guYw0KQEAgLTAsMCAr MSw2OCBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyogeyBkZy1v cHRpb25zICItbWFyY2g9cnYzMmdjeHRoZWFkdmVjdG9yIC1tYWJpPWlscDMy ZCAtTzMiIH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVuY3Rpb24t Ym9kaWVzICIqKiIgIiIgfSB9ICovDQorI2luY2x1ZGUgInJpc2N2X3RoX3Zl Y3Rvci5oIg0KKw0KKy8qDQorKiogZjE6DQorKiogdGgudnNldGl2bGlcdHpl cm8sNCxlMzIsbTEsdHUsbWENCisqKiB0aC52bGh1XC52XHR2WzAtOV0rLDBc KFthLXgwLTldK1wpDQorKiogdGgudmxodVwudlx0dlswLTldKywwXChbYS14 MC05XStcKQ0KKyoqIHRoLnZhZGRcLnZpXHR2WzAtOV0rLFxzKnZbMC05XSss XHMqLTE2DQorKiogdGgudmFkZFwudmlcdHZbMC05XSssXHMqdlswLTldKyxc cyotMTYNCisqKiB0aC52c2hcLnZcdHZbMC05XSssMFwoW2EteDAtOV0rXCkN CisqKiByZXQNCisqLw0KK3ZvaWQgZjEgKHZvaWQgKiBpbiwgdm9pZCAqb3V0 LCB1aW50MzJfdCB4KQ0KK3sNCisgICAgdnVpbnQzMm0xX3QgdiA9IF9fcmlz Y3ZfdGhfdmxodV92X3UzMm0xIChpbiwgNCk7DQorICAgIHZ1aW50MzJtMV90 IHYyID0gX19yaXNjdl90aF92bGh1X3ZfdTMybTFfdHUgKHYsIGluLCA0KTsN CisgICAgdnVpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2X3ZhZGRfdnhfdTMybTEg KHYyLCAtMTYsIDQpOw0KKyAgICB2dWludDMybTFfdCB2NCA9IF9fcmlzY3Zf dmFkZF92eF91MzJtMV90dSAodjMsIHYyLCAtMTYsIDQpOw0KKyAgICBfX3Jp c2N2X3RoX3ZzaF92X3UzMm0xIChvdXQsIHY0LCA0KTsNCit9DQorDQorLyoN CisqKiBmMjoNCisqKiB0aC52c2V0dmxpXHRbYS14MC05XSssemVybyxlOCxt ZjQsdGEsbWENCisqKiB0aC52bG0udlx0dlswLTldKywwXChbYS14MC05XStc KQ0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJvLDQsZTMyLG0xLHRhLG1hDQorKiog dGgudmxodS52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQNCisqKiB0 aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0KKyoqIHRo LnZhZGRcLnZpXHR2WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyotMTYsXHMq djAudA0KKyoqIHRoLnZzaC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQor KiogcmV0DQorKi8NCit2b2lkIGYyICh2b2lkICogaW4sIHZvaWQgKm91dCwg dWludDMyX3QgeCkNCit7DQorICAgIHZib29sMzJfdCBtYXNrID0gKih2Ym9v bDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIp Ow0KKyAgICB2dWludDMybTFfdCB2ID0gX19yaXNjdl90aF92bGh1X3ZfdTMy bTEgKGluLCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjIgPSBfX3Jpc2N2X3Ro X3ZsaHVfdl91MzJtMV9tIChtYXNrLCBpbiwgNCk7DQorICAgIHZ1aW50MzJt MV90IHYzID0gX19yaXNjdl92YWRkX3Z4X3UzMm0xICh2MiwgLTE2LCA0KTsN CisgICAgdnVpbnQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhfdTMybTFf bSAobWFzaywgdjMsIC0xNiwgNCk7DQorICAgIF9fcmlzY3ZfdGhfdnNoX3Zf dTMybTEgKG91dCwgdjQsIDQpOw0KK30NCisNCisvKg0KKyoqIGYzOg0KKyoq IHRoLnZzZXR2bGlcdFthLXgwLTldKyx6ZXJvLGU4LG1mNCx0YSxtYQ0KKyoq IHRoLnZsbS52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudnNl dGl2bGlcdHplcm8sNCxlMzIsbTEsdHUsbXUNCisqKiB0aC52bGh1XC52XHR2 WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmxodS52XHR2WzAtOV0r LDBcKFthLXgwLTldK1wpLHYwLnQNCisqKiB0aC52YWRkXC52aVx0dlswLTld Kyxccyp2WzAtOV0rLFxzKi0xNg0KKyoqIHRoLnZhZGRcLnZpXHR2WzEtOV1b MC05XT8sXHMqdlswLTldKyxccyotMTYsXHMqdjAudA0KKyoqIHRoLnZzaC52 XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogcmV0DQorKi8NCit2b2lk IGYzICh2b2lkICogaW4sIHZvaWQgKm91dCwgdWludDMyX3QgeCkNCit7DQor ICAgIHZib29sMzJfdCBtYXNrID0gKih2Ym9vbDMyX3QqKWluOw0KKyAgICBh c20gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIpOw0KKyAgICB2dWludDMybTFf dCB2ID0gX19yaXNjdl90aF92bGh1X3ZfdTMybTEgKGluLCA0KTsNCisgICAg dnVpbnQzMm0xX3QgdjIgPSBfX3Jpc2N2X3RoX3ZsaHVfdl91MzJtMV90dW11 IChtYXNrLCB2LCBpbiwgNCk7DQorICAgIHZ1aW50MzJtMV90IHYzID0gX19y aXNjdl92YWRkX3Z4X3UzMm0xICh2MiwgLTE2LCA0KTsNCisgICAgdnVpbnQz Mm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhfdTMybTFfdHVtdSAobWFzaywg djMsIHYyLCAtMTYsIDQpOw0KKyAgICBfX3Jpc2N2X3RoX3ZzaF92X3UzMm0x IChvdXQsIHY0LCA0KTsNCit9DQpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0 ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmx3LXZzdy5j IGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2 ZWN0b3Ivdmx3LXZzdy5jDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXgg MDAwMDAwMDAwMDAuLjE3YTUzMDEyYWNmDQotLS0gL2Rldi9udWxsDQorKysg Yi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2L3h0aGVhZHZl Y3Rvci92bHctdnN3LmMNCkBAIC0wLDAgKzEsNjggQEANCisvKiB7IGRnLWRv IGNvbXBpbGUgfSAqLw0KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2MzJn Y3h0aGVhZHZlY3RvciAtbWFiaT1pbHAzMmQgLU8zIiB9ICovDQorLyogeyBk Zy1maW5hbCB7IGNoZWNrLWZ1bmN0aW9uLWJvZGllcyAiKioiICIiIH0gfSAq Lw0KKyNpbmNsdWRlICJyaXNjdl90aF92ZWN0b3IuaCINCisNCisvKg0KKyoq IGYxOg0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJvLDQsZTMyLG0xLHR1LG1hDQor KiogdGgudmx3XC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgu dmx3XC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmFkZFwu dnhcdHZbMC05XSssXHMqdlswLTldKyxccypbYS14MC05XSsNCisqKiB0aC52 YWRkXC52eFx0dlswLTldKyxccyp2WzAtOV0rLFxzKlthLXgwLTldKw0KKyoq IHRoLnZzd1wudlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoqIHJldA0K KyovDQordm9pZCBmMSAodm9pZCAqIGluLCB2b2lkICpvdXQsIGludDMyX3Qg eCkNCit7DQorICAgIHZpbnQzMm0xX3QgdiA9IF9fcmlzY3ZfdGhfdmx3X3Zf aTMybTEgKGluLCA0KTsNCisgICAgdmludDMybTFfdCB2MiA9IF9fcmlzY3Zf dGhfdmx3X3ZfaTMybTFfdHUgKHYsIGluLCA0KTsNCisgICAgdmludDMybTFf dCB2MyA9IF9fcmlzY3ZfdmFkZF92eF9pMzJtMSAodjIsIHgsIDQpOw0KKyAg ICB2aW50MzJtMV90IHY0ID0gX19yaXNjdl92YWRkX3Z4X2kzMm0xX3R1ICh2 MywgdjIsIHgsIDQpOw0KKyAgICBfX3Jpc2N2X3RoX3Zzd192X2kzMm0xIChv dXQsIHY0LCA0KTsNCit9DQorDQorLyoNCisqKiBmMjoNCisqKiB0aC52c2V0 dmxpXHRbYS14MC05XSssemVybyxlOCxtZjQsdGEsbWENCisqKiB0aC52bG0u dlx0dlswLTldKywwXChbYS14MC05XStcKQ0KKyoqIHRoLnZzZXRpdmxpXHR6 ZXJvLDQsZTMyLG0xLHRhLG1hDQorKiogdGgudmx3LnZcdHZbMC05XSssMFwo W2EteDAtOV0rXCksdjAudA0KKyoqIHRoLnZhZGRcLnZ4XHR2WzAtOV0rLFxz KnZbMC05XSssXHMqW2EteDAtOV0rDQorKiogdGgudmFkZFwudnhcdHZbMS05 XVswLTldPyxccyp2WzAtOV0rLFxzKlthLXgwLTldKyxccyp2MC50DQorKiog dGgudnN3LnZcdHZbMC05XSssMFwoW2EteDAtOV0rXCkNCisqKiByZXQNCisq Lw0KK3ZvaWQgZjIgKHZvaWQgKiBpbiwgdm9pZCAqb3V0LCBpbnQzMl90IHgp DQorew0KKyAgICB2Ym9vbDMyX3QgbWFzayA9ICoodmJvb2wzMl90KilpbjsN CisgICAgYXNtIHZvbGF0aWxlICgiIjo6OiJtZW1vcnkiKTsNCisgICAgdmlu dDMybTFfdCB2ID0gX19yaXNjdl90aF92bHdfdl9pMzJtMSAoaW4sIDQpOw0K KyAgICB2aW50MzJtMV90IHYyID0gX19yaXNjdl90aF92bHdfdl9pMzJtMV9t IChtYXNrLCBpbiwgNCk7DQorICAgIHZpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2 X3ZhZGRfdnhfaTMybTEgKHYyLCB4LCA0KTsNCisgICAgdmludDMybTFfdCB2 NCA9IF9fcmlzY3ZfdmFkZF92eF9pMzJtMV9tIChtYXNrLCB2MywgeCwgNCk7 DQorICAgIF9fcmlzY3ZfdGhfdnN3X3ZfaTMybTEgKG91dCwgdjQsIDQpOw0K K30NCisNCisvKg0KKyoqIGYzOg0KKyoqIHRoLnZzZXR2bGlcdFthLXgwLTld Kyx6ZXJvLGU4LG1mNCx0YSxtYQ0KKyoqIHRoLnZsbS52XHR2WzAtOV0rLDBc KFthLXgwLTldK1wpDQorKiogdGgudnNldGl2bGlcdHplcm8sNCxlMzIsbTEs dHUsbXUNCisqKiB0aC52bHdcLnZcdHZbMC05XSssMFwoW2EteDAtOV0rXCkN CisqKiB0aC52bHcudlx0dlswLTldKywwXChbYS14MC05XStcKSx2MC50DQor KiogdGgudmFkZFwudnhcdHZbMC05XSssXHMqdlswLTldKyxccypbYS14MC05 XSsNCisqKiB0aC52YWRkXC52eFx0dlsxLTldWzAtOV0/LFxzKnZbMC05XSss XHMqW2EteDAtOV0rLFxzKnYwLnQNCisqKiB0aC52c3cudlx0dlswLTldKyww XChbYS14MC05XStcKQ0KKyoqIHJldA0KKyovDQordm9pZCBmMyAodm9pZCAq IGluLCB2b2lkICpvdXQsIGludDMyX3QgeCkNCit7DQorICAgIHZib29sMzJf dCBtYXNrID0gKih2Ym9vbDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRpbGUg KCIiOjo6Im1lbW9yeSIpOw0KKyAgICB2aW50MzJtMV90IHYgPSBfX3Jpc2N2 X3RoX3Zsd192X2kzMm0xIChpbiwgNCk7DQorICAgIHZpbnQzMm0xX3QgdjIg PSBfX3Jpc2N2X3RoX3Zsd192X2kzMm0xX3R1bXUgKG1hc2ssIHYsIGluLCA0 KTsNCisgICAgdmludDMybTFfdCB2MyA9IF9fcmlzY3ZfdmFkZF92eF9pMzJt MSAodjIsIHgsIDQpOw0KKyAgICB2aW50MzJtMV90IHY0ID0gX19yaXNjdl92 YWRkX3Z4X2kzMm0xX3R1bXUgKG1hc2ssIHYzLCB2MiwgeCwgNCk7DQorICAg IF9fcmlzY3ZfdGhfdnN3X3ZfaTMybTEgKG91dCwgdjQsIDQpOw0KK30NCmRp ZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvcnZ2 L3h0aGVhZHZlY3Rvci92bHd1LXZzdy5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmx3dS12c3cuYw0KbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwLi5iMTg3Y2Zj ODUyYg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3J2di94dGhlYWR2ZWN0b3Ivdmx3dS12c3cuYw0KQEAg LTAsMCArMSw2OCBAQA0KKy8qIHsgZGctZG8gY29tcGlsZSB9ICovDQorLyog eyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdjeHRoZWFkdmVjdG9yIC1tYWJp PWlscDMyZCAtTzMiIH0gKi8NCisvKiB7IGRnLWZpbmFsIHsgY2hlY2stZnVu Y3Rpb24tYm9kaWVzICIqKiIgIiIgfSB9ICovDQorI2luY2x1ZGUgInJpc2N2 X3RoX3ZlY3Rvci5oIg0KKw0KKy8qDQorKiogZjE6DQorKiogdGgudnNldGl2 bGlcdHplcm8sNCxlMzIsbTEsdHUsbWENCisqKiB0aC52bHd1XC52XHR2WzAt OV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmx3dVwudlx0dlswLTldKyww XChbYS14MC05XStcKQ0KKyoqIHRoLnZhZGRcLnZpXHR2WzAtOV0rLFxzKnZb MC05XSssXHMqLTE2DQorKiogdGgudmFkZFwudmlcdHZbMC05XSssXHMqdlsw LTldKyxccyotMTYNCisqKiB0aC52c3dcLnZcdHZbMC05XSssMFwoW2EteDAt OV0rXCkNCisqKiByZXQNCisqLw0KK3ZvaWQgZjEgKHZvaWQgKiBpbiwgdm9p ZCAqb3V0LCB1aW50MzJfdCB4KQ0KK3sNCisgICAgdnVpbnQzMm0xX3QgdiA9 IF9fcmlzY3ZfdGhfdmx3dV92X3UzMm0xIChpbiwgNCk7DQorICAgIHZ1aW50 MzJtMV90IHYyID0gX19yaXNjdl90aF92bHd1X3ZfdTMybTFfdHUgKHYsIGlu LCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjMgPSBfX3Jpc2N2X3ZhZGRfdnhf dTMybTEgKHYyLCAtMTYsIDQpOw0KKyAgICB2dWludDMybTFfdCB2NCA9IF9f cmlzY3ZfdmFkZF92eF91MzJtMV90dSAodjMsIHYyLCAtMTYsIDQpOw0KKyAg ICBfX3Jpc2N2X3RoX3Zzd192X3UzMm0xIChvdXQsIHY0LCA0KTsNCit9DQor DQorLyoNCisqKiBmMjoNCisqKiB0aC52c2V0dmxpXHRbYS14MC05XSssemVy byxlOCxtZjQsdGEsbWENCisqKiB0aC52bG0udlx0dlswLTldKywwXChbYS14 MC05XStcKQ0KKyoqIHRoLnZzZXRpdmxpXHR6ZXJvLDQsZTMyLG0xLHRhLG1h DQorKiogdGgudmx3dS52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQN CisqKiB0aC52YWRkXC52aVx0dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0K KyoqIHRoLnZhZGRcLnZpXHR2WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyot MTYsXHMqdjAudA0KKyoqIHRoLnZzdy52XHR2WzAtOV0rLDBcKFthLXgwLTld K1wpDQorKiogcmV0DQorKi8NCit2b2lkIGYyICh2b2lkICogaW4sIHZvaWQg Km91dCwgdWludDMyX3QgeCkNCit7DQorICAgIHZib29sMzJfdCBtYXNrID0g Kih2Ym9vbDMyX3QqKWluOw0KKyAgICBhc20gdm9sYXRpbGUgKCIiOjo6Im1l bW9yeSIpOw0KKyAgICB2dWludDMybTFfdCB2ID0gX19yaXNjdl90aF92bHd1 X3ZfdTMybTEgKGluLCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjIgPSBfX3Jp c2N2X3RoX3Zsd3Vfdl91MzJtMV9tIChtYXNrLCBpbiwgNCk7DQorICAgIHZ1 aW50MzJtMV90IHYzID0gX19yaXNjdl92YWRkX3Z4X3UzMm0xICh2MiwgLTE2 LCA0KTsNCisgICAgdnVpbnQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhf dTMybTFfbSAobWFzaywgdjMsIC0xNiwgNCk7DQorICAgIF9fcmlzY3ZfdGhf dnN3X3ZfdTMybTEgKG91dCwgdjQsIDQpOw0KK30NCisNCisvKg0KKyoqIGYz Og0KKyoqIHRoLnZzZXR2bGlcdFthLXgwLTldKyx6ZXJvLGU4LG1mNCx0YSxt YQ0KKyoqIHRoLnZsbS52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiog dGgudnNldGl2bGlcdHplcm8sNCxlMzIsbTEsdHUsbXUNCisqKiB0aC52bHd1 XC52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogdGgudmx3dS52XHR2 WzAtOV0rLDBcKFthLXgwLTldK1wpLHYwLnQNCisqKiB0aC52YWRkXC52aVx0 dlswLTldKyxccyp2WzAtOV0rLFxzKi0xNg0KKyoqIHRoLnZhZGRcLnZpXHR2 WzEtOV1bMC05XT8sXHMqdlswLTldKyxccyotMTYsXHMqdjAudA0KKyoqIHRo LnZzdy52XHR2WzAtOV0rLDBcKFthLXgwLTldK1wpDQorKiogcmV0DQorKi8N Cit2b2lkIGYzICh2b2lkICogaW4sIHZvaWQgKm91dCwgdWludDMyX3QgeCkN Cit7DQorICAgIHZib29sMzJfdCBtYXNrID0gKih2Ym9vbDMyX3QqKWluOw0K KyAgICBhc20gdm9sYXRpbGUgKCIiOjo6Im1lbW9yeSIpOw0KKyAgICB2dWlu dDMybTFfdCB2ID0gX19yaXNjdl90aF92bHd1X3ZfdTMybTEgKGluLCA0KTsN CisgICAgdnVpbnQzMm0xX3QgdjIgPSBfX3Jpc2N2X3RoX3Zsd3Vfdl91MzJt MV90dW11IChtYXNrLCB2LCBpbiwgNCk7DQorICAgIHZ1aW50MzJtMV90IHYz ID0gX19yaXNjdl92YWRkX3Z4X3UzMm0xICh2MiwgLTE2LCA0KTsNCisgICAg dnVpbnQzMm0xX3QgdjQgPSBfX3Jpc2N2X3ZhZGRfdnhfdTMybTFfdHVtdSAo bWFzaywgdjMsIHYyLCAtMTYsIDQpOw0KKyAgICBfX3Jpc2N2X3RoX3Zzd192 X3UzMm0xIChvdXQsIHY0LCA0KTsNCit9DQotLSANCjIuMTcuMQ0KIA0KIA0K IA0KIA0KIA0KIA0K ------=_001_NextPart683235243084_=------