From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cstnet.cn (smtp87.cstnet.cn [159.226.251.87]) by sourceware.org (Postfix) with ESMTP id 8AC033858D33 for ; Fri, 3 Mar 2023 08:54:57 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8AC033858D33 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=iscas.ac.cn Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=iscas.ac.cn Received: from jiawei$iscas.ac.cn ( [111.15.27.172] ) by ajax-webmail-APP-17 (Coremail) ; Fri, 3 Mar 2023 16:54:49 +0800 (GMT+08:00) X-Originating-IP: [111.15.27.172] Date: Fri, 3 Mar 2023 16:54:49 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: jiawei@iscas.ac.cn To: wangfeng@eswincomputing.com Cc: gcc-patches@gcc.gnu.org Subject: Re: [PATCH] RISC-V: Optimize the MASK opt generation X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.15 build 20221213(4b1d97a5) Copyright (c) 2002-2023 www.mailtech.cn cnic.cn Content-Type: multipart/alternative; boundary="----=_Part_176727_428170789.1677833689832" MIME-Version: 1.0 Message-ID: <3dea2b5d.ca8e.186a6ae5ae9.Coremail.jiawei@iscas.ac.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID:qgCowAAHaMXatQFkke0HAA--.2600W X-CM-SenderInfo: 5mld4v3l6l2u1dvotugofq/1tbiCgYTAGQBo8dH-gABsm X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWDJw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= X-Spam-Status: No, score=-11.6 required=5.0 tests=BAYES_00,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP 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: ------=_Part_176727_428170789.1677833689832 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 VGhlIE1hc2sgZmxhZyBpbiB0aGUgc2luZ2xlIFRhcmdldFZhcmlhYmxlIGlz IG5vdCBlbm91Z2ggZHVlIHRvIG1vcmUKYW5kIG1vcmUgZXh0ZW5zaW9ucyB3 ZXJlIGFkZGVkLlNvIEkgb3B0aW1pemUgdGhlIGRlZmluYXRpb24gb2YgTWFz awpmbGFnLCBwbGVhc2UgcmVmZXIgdG8gdGhlIGJlbG93IGNhc2U6ClRoZXJl IGFyZSBzb21lIG5ldyBNQVNLIGZsYWdzIGZvciAndicgZXh0ZW5zaW9uKFpW TDMyQixaVkw2NEIsLi4uLFpWTDY1NTM2QiksCmJ1dCB0aGVzZSBNQVNLIGZs YWdzIGNhbid0IHN0b3JlIGludG8geF90YXJnZXRfZmxhZ3MsYmVjYXVzZSB0 aGUgdG90YWwgbnVtYmVyCm9mIE1BU0sgZmxhZ3MgZXhjZWVkIDMyLiBJbiB0 aGlzIHBhdGNoIHdlIGNhbiB3cml0ZSBpdCBsaWtlIHRoaXMgaW4gdGhpcyBz Y2VuY2UuCgpUYXJnZXRWYXJpYWJsZQppbnQgcmlzY3ZfenZsX2ZsYWdzCgpN YXNrKFpWTDMyQikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3ZfenZsX2ZsYWdz KQoKVGhlIGNvcnJlc3BvbmRpbmcgTUFTSyBhbmQgVEFSR0VUIHdpbGwgYmUg YXV0b21hdGljYWxseSBnZW5lcmF0ZWQuCgpnY2MvQ2hhbmdlTG9nOgoKICAg ICAgICAqIGNvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmggICBEZWxldGUgYmVs b3cgZGVmaW5hdGlvbnMKICAgICAgICAoTUFTS19aSUNTUik6IERlbGV0ZTsK ICAgICAgICAoTUFTS19aSUZFTkNFSSk6IERlbGV0ZTsKICAgICAgICAoVEFS R0VUX1pJQ1NSKTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWklGRU5DRUkp OiBEZWxldGU7CiAgICAgICAgKE1BU0tfWkFXUlMpOiBEZWxldGU7CiAgICAg ICAgKFRBUkdFVF9aQVdSUyk6IERlbGV0ZTsKICAgICAgICAoTUFTS19aQkEp OiBEZWxldGU7CiAgICAgICAgKE1BU0tfWkJCKTogRGVsZXRlOwogICAgICAg IChNQVNLX1pCQyk6IERlbGV0ZTsKICAgICAgICAoTUFTS19aQlMpOiBEZWxl dGU7CiAgICAgICAgKFRBUkdFVF9aQkEpOiBEZWxldGU7CiAgICAgICAgKFRB UkdFVF9aQkIpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aQkMpOiBEZWxl dGU7CiAgICAgICAgKFRBUkdFVF9aQlMpOiBEZWxldGU7CiAgICAgICAgKE1B U0tfWkZJTlgpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfWkRJTlgpOiBEZWxl dGU7CiAgICAgICAgKE1BU0tfWkhJTlgpOiBEZWxldGU7CiAgICAgICAgKE1B U0tfWkhJTlhNSU4pOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aRklOWCk6 IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pESU5YKTogRGVsZXRlOwogICAg ICAgIChUQVJHRVRfWkhJTlgpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9a SElOWE1JTik6IERlbGV0ZTsKICAgICAgICAoTUFTS19aQktCKTogRGVsZXRl OwogICAgICAgIChNQVNLX1pCS0MpOiBEZWxldGU7CiAgICAgICAgKE1BU0tf WkJLWCk6IERlbGV0ZTsKICAgICAgICAoTUFTS19aS05FKTogRGVsZXRlOwog ICAgICAgIChNQVNLX1pLTkQpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfWktO SCk6IERlbGV0ZTsKICAgICAgICAoTUFTS19aS1IpOiBEZWxldGU7CiAgICAg ICAgKE1BU0tfWktTRUQpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfWktTSCk6 IERlbGV0ZTsKICAgICAgICAoTUFTS19aS1QpOiBEZWxldGU7CiAgICAgICAg KFRBUkdFVF9aQktCKTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWkJLQyk6 IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pCS1gpOiBEZWxldGU7CiAgICAg ICAgKFRBUkdFVF9aS05FKTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWktO RCk6IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pLTkgpOiBEZWxldGU7CiAg ICAgICAgKFRBUkdFVF9aS1IpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9a S1NFRCk6IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pLU0gpOiBEZWxldGU7 CiAgICAgICAgKFRBUkdFVF9aS1QpOiBEZWxldGU7CiAgICAgICAgKE1BU0tf VkVDVE9SX0VMRU5fMzIpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfVkVDVE9S X0VMRU5fNjQpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfVkVDVE9SX0VMRU5f RlBfMzIpOiBEZWxldGU7CiAgICAgICAgKE1BU0tfVkVDVE9SX0VMRU5fRlBf NjQpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9WRUNUT1JfRUxFTl8zMik6 IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0KTogRGVs ZXRlOwogICAgICAgIChUQVJHRVRfVkVDVE9SX0VMRU5fRlBfMzIpOiBEZWxl dGU7CiAgICAgICAgKFRBUkdFVF9WRUNUT1JfRUxFTl9GUF82NCk6IERlbGV0 ZTsKICAgICAgICAoTUFTS19aVkwzMkIpOiBEZWxldGU7CiAgICAgICAgKE1B U0tfWlZMNjRCKTogRGVsZXRlOwogICAgICAgIChNQVNLX1pWTDEyOEIpOiBE ZWxldGU7CiAgICAgICAgKE1BU0tfWlZMMjU2Qik6IERlbGV0ZTsKICAgICAg ICAoTUFTS19aVkw1MTJCKTogRGVsZXRlOwogICAgICAgIChNQVNLX1pWTDEw MjRCKTogRGVsZXRlOwogICAgICAgIChNQVNLX1pWTDIwNDhCKTogRGVsZXRl OwogICAgICAgIChNQVNLX1pWTDQwOTZCKTogRGVsZXRlOwogICAgICAgIChN QVNLX1pWTDgxOTJCKTogRGVsZXRlOwogICAgICAgIChNQVNLX1pWTDE2Mzg0 Qik6IERlbGV0ZTsKICAgICAgICAoTUFTS19aVkwzMjc2OEIpOiBEZWxldGU7 CiAgICAgICAgKE1BU0tfWlZMNjU1MzZCKTogRGVsZXRlOwogICAgICAgIChU QVJHRVRfWlZMMzJCKTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWlZMNjRC KTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWlZMMTI4Qik6IERlbGV0ZTsK ICAgICAgICAoVEFSR0VUX1pWTDI1NkIpOiBEZWxldGU7CiAgICAgICAgKFRB UkdFVF9aVkw1MTJCKTogRGVsZXRlOwogICAgICAgIChUQVJHRVRfWlZMMTAy NEIpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aVkwyMDQ4Qik6IERlbGV0 ZTsKICAgICAgICAoVEFSR0VUX1pWTDQwOTZCKTogRGVsZXRlOwogICAgICAg IChUQVJHRVRfWlZMODE5MkIpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9a VkwxNjM4NEIpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aVkwzMjc2OEIp OiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aVkw2NTUzNkIpOiBEZWxldGU7 CiAgICAgICAgKE1BU0tfWklDQk9aKTogRGVsZXRlOwogICAgICAgIChNQVNL X1pJQ0JPTSk6IERlbGV0ZTsKICAgICAgICAoTUFTS19aSUNCT1ApOiBEZWxl dGU7CiAgICAgICAgKFRBUkdFVF9aSUNCT1opOiBEZWxldGU7CiAgICAgICAg KFRBUkdFVF9aSUNCT00pOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9aSUNC T1ApOiBEZWxldGU7CiAgICAgICAgKE1BU0tfWkZITUlOKTogRGVsZXRlOwog ICAgICAgIChNQVNLX1pGSCk6IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pG SE1JTik6IERlbGV0ZTsKICAgICAgICAoVEFSR0VUX1pGSCk6IERlbGV0ZTsK ICAgICAgICAoTUFTS19aTU1VTCk6IERlbGV0ZTsKICAgICAgICAoVEFSR0VU X1pNTVVMKTogRGVsZXRlOwogICAgICAgIChNQVNLX1NWSU5WQUwpOiBEZWxl dGU7CiAgICAgICAgKE1BU0tfU1ZOQVBPVCk6IERlbGV0ZTsKICAgICAgICAo VEFSR0VUX1NWSU5WQUwpOiBEZWxldGU7CiAgICAgICAgKFRBUkdFVF9TVk5B UE9UKTogRGVsZXRlOwogICAgICAgICogY29uZmlnL3Jpc2N2L3Jpc2N2Lm9w dDogQWRkIG5ldyBNYXNrIGRlZmluYXRpb24uCiAgICAgICAgKiBvcHQtZnVu Y3Rpb25zLmF3azogICAgICBBZGQgbmV3IGZ1bmN0aW9uIHRvIGZpbmQgdGhl IGluZGV4CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0 YXJnZXQgdmFyaWFibGUgZnJvbSBleHRyYV90YXJnZXRfdmFycy4KICAgICAg ICAqIG9wdC1yZWFkLmF3azogICAgICAgICAgIEFkZCBuZXcgZnVuY3Rpb24g dG8gc3RvcmUgdGhlIE1hc2sgZmxhZ3MuCiAgICAgICAgKiBvcHRoLWdlbi5h d2s6ICAgICAgICAgICBBZGQgbmV3IGZ1bmN0aW9uIHRvIG91dHB1dCB0aGUg ZGVmaW5hdGlvbiBvZgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTWFzayBNYWNybyBhbmQgVGFyZ2V0IE1hY3JvLgotLS0KIGdjYy9jb25m aWcvcmlzY3YvcmlzY3Ytb3B0cy5oIHwgMTE1IC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIGdjYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0 ICAgIHwgIDkwICsrKysrKysrKysrKysrKysrKysrKysrKysrCiBnY2Mvb3B0 LWZ1bmN0aW9ucy5hd2sgICAgICAgICB8ICAxMSArKysrCiBnY2Mvb3B0LXJl YWQuYXdrICAgICAgICAgICAgICB8ICAxNiArKysrLQogZ2NjL29wdGgtZ2Vu LmF3ayAgICAgICAgICAgICAgfCAgMjIgKysrKysrKwogNSBmaWxlcyBjaGFu Z2VkLCAxMzggaW5zZXJ0aW9ucygrKSwgMTE2IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oIGIvZ2Nj L2NvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmgKaW5kZXggMjVmZDg1YjA5YjEu LjdjZjI4ODM4Y2I1IDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jp c2N2LW9wdHMuaAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMu aApAQCAtNjYsMTIxICs2Niw2IEBAIGVudW0gc3RhY2tfcHJvdGVjdG9yX2d1 YXJkIHsKICAgU1NQX1RMUywJCQkvKiBwZXItdGhyZWFkIGNhbmFyeSBpbiBU TFMgYmxvY2sgKi8KICAgU1NQX0dMT0JBTAkJCS8qIGdsb2JhbCBjYW5hcnkg Ki8KIH07Ci0KLSNkZWZpbmUgTUFTS19aSUNTUiAgICAoMSA8PCAwKQotI2Rl ZmluZSBNQVNLX1pJRkVOQ0VJICgxIDw8IDEpCi0KLSNkZWZpbmUgVEFSR0VU X1pJQ1NSICAgICgocmlzY3Zfemlfc3ViZXh0ICYgTUFTS19aSUNTUikgIT0g MCkKLSNkZWZpbmUgVEFSR0VUX1pJRkVOQ0VJICgocmlzY3Zfemlfc3ViZXh0 ICYgTUFTS19aSUZFTkNFSSkgIT0gMCkKLQotI2RlZmluZSBNQVNLX1pBV1JT ICAgKDEgPDwgMCkKLSNkZWZpbmUgVEFSR0VUX1pBV1JTICgocmlzY3ZfemFf c3ViZXh0ICYgTUFTS19aQVdSUykgIT0gMCkKLQotI2RlZmluZSBNQVNLX1pC QSAgICAgICgxIDw8IDApCi0jZGVmaW5lIE1BU0tfWkJCICAgICAgKDEgPDwg MSkKLSNkZWZpbmUgTUFTS19aQkMgICAgICAoMSA8PCAyKQotI2RlZmluZSBN QVNLX1pCUyAgICAgICgxIDw8IDMpCi0KLSNkZWZpbmUgVEFSR0VUX1pCQSAg ICAoKHJpc2N2X3piX3N1YmV4dCAmIE1BU0tfWkJBKSAhPSAwKQotI2RlZmlu ZSBUQVJHRVRfWkJCICAgICgocmlzY3ZfemJfc3ViZXh0ICYgTUFTS19aQkIp ICE9IDApCi0jZGVmaW5lIFRBUkdFVF9aQkMgICAgKChyaXNjdl96Yl9zdWJl eHQgJiBNQVNLX1pCQykgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pCUyAgICAo KHJpc2N2X3piX3N1YmV4dCAmIE1BU0tfWkJTKSAhPSAwKQotCi0jZGVmaW5l IE1BU0tfWkZJTlggICAgICAoMSA8PCAwKQotI2RlZmluZSBNQVNLX1pESU5Y ICAgICAgKDEgPDwgMSkKLSNkZWZpbmUgTUFTS19aSElOWCAgICAgICgxIDw8 IDIpCi0jZGVmaW5lIE1BU0tfWkhJTlhNSU4gICAoMSA8PCAzKQotCi0jZGVm aW5lIFRBUkdFVF9aRklOWCAgICAoKHJpc2N2X3ppbnhfc3ViZXh0ICYgTUFT S19aRklOWCkgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pESU5YICAgICgocmlz Y3ZfemlueF9zdWJleHQgJiBNQVNLX1pESU5YKSAhPSAwKQotI2RlZmluZSBU QVJHRVRfWkhJTlggICAgKChyaXNjdl96aW54X3N1YmV4dCAmIE1BU0tfWkhJ TlgpICE9IDApCi0jZGVmaW5lIFRBUkdFVF9aSElOWE1JTiAoKHJpc2N2X3pp bnhfc3ViZXh0ICYgTUFTS19aSElOWE1JTikgIT0gMCkKLQotI2RlZmluZSBN QVNLX1pCS0IgICAgICgxIDw8IDApCi0jZGVmaW5lIE1BU0tfWkJLQyAgICAg KDEgPDwgMSkKLSNkZWZpbmUgTUFTS19aQktYICAgICAoMSA8PCAyKQotI2Rl ZmluZSBNQVNLX1pLTkUgICAgICgxIDw8IDMpCi0jZGVmaW5lIE1BU0tfWktO RCAgICAgKDEgPDwgNCkKLSNkZWZpbmUgTUFTS19aS05IICAgICAoMSA8PCA1 KQotI2RlZmluZSBNQVNLX1pLUiAgICAgICgxIDw8IDYpCi0jZGVmaW5lIE1B U0tfWktTRUQgICAgKDEgPDwgNykKLSNkZWZpbmUgTUFTS19aS1NIICAgICAo MSA8PCA4KQotI2RlZmluZSBNQVNLX1pLVCAgICAgICgxIDw8IDkpCi0KLSNk ZWZpbmUgVEFSR0VUX1pCS0IgICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tf WkJLQikgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pCS0MgICAoKHJpc2N2X3pr X3N1YmV4dCAmIE1BU0tfWkJLQykgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pC S1ggICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tfWkJLWCkgIT0gMCkKLSNk ZWZpbmUgVEFSR0VUX1pLTkUgICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tf WktORSkgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pLTkQgICAoKHJpc2N2X3pr X3N1YmV4dCAmIE1BU0tfWktORCkgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pL TkggICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tfWktOSCkgIT0gMCkKLSNk ZWZpbmUgVEFSR0VUX1pLUiAgICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tf WktSKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWktTRUQgICgocmlzY3Zfemtf c3ViZXh0ICYgTUFTS19aS1NFRCkgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pL U0ggICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tfWktTSCkgIT0gMCkKLSNk ZWZpbmUgVEFSR0VUX1pLVCAgICAoKHJpc2N2X3prX3N1YmV4dCAmIE1BU0tf WktUKSAhPSAwKQotCi0jZGVmaW5lIE1BU0tfVkVDVE9SX0VMRU5fMzIgICAg KDEgPDwgMCkKLSNkZWZpbmUgTUFTS19WRUNUT1JfRUxFTl82NCAgICAoMSA8 PCAxKQotI2RlZmluZSBNQVNLX1ZFQ1RPUl9FTEVOX0ZQXzMyICgxIDw8IDIp Ci0jZGVmaW5lIE1BU0tfVkVDVE9SX0VMRU5fRlBfNjQgKDEgPDwgMykKLQot I2RlZmluZSBUQVJHRVRfVkVDVE9SX0VMRU5fMzIgXAotICAoKHJpc2N2X3Zl Y3Rvcl9lbGVuX2ZsYWdzICYgTUFTS19WRUNUT1JfRUxFTl8zMikgIT0gMCkK LSNkZWZpbmUgVEFSR0VUX1ZFQ1RPUl9FTEVOXzY0IFwKLSAgKChyaXNjdl92 ZWN0b3JfZWxlbl9mbGFncyAmIE1BU0tfVkVDVE9SX0VMRU5fNjQpICE9IDAp Ci0jZGVmaW5lIFRBUkdFVF9WRUNUT1JfRUxFTl9GUF8zMiBcCi0gICgocmlz Y3ZfdmVjdG9yX2VsZW5fZmxhZ3MgJiBNQVNLX1ZFQ1RPUl9FTEVOX0ZQXzMy KSAhPSAwKQotI2RlZmluZSBUQVJHRVRfVkVDVE9SX0VMRU5fRlBfNjQgXAot ICAoKHJpc2N2X3ZlY3Rvcl9lbGVuX2ZsYWdzICYgTUFTS19WRUNUT1JfRUxF Tl9GUF82NCkgIT0gMCkKLQotI2RlZmluZSBNQVNLX1pWTDMyQiAgICAoMSA8 PCAgMCkKLSNkZWZpbmUgTUFTS19aVkw2NEIgICAgKDEgPDwgIDEpCi0jZGVm aW5lIE1BU0tfWlZMMTI4QiAgICgxIDw8ICAyKQotI2RlZmluZSBNQVNLX1pW TDI1NkIgICAoMSA8PCAgMykKLSNkZWZpbmUgTUFTS19aVkw1MTJCICAgKDEg PDwgIDQpCi0jZGVmaW5lIE1BU0tfWlZMMTAyNEIgICgxIDw8ICA1KQotI2Rl ZmluZSBNQVNLX1pWTDIwNDhCICAoMSA8PCAgNikKLSNkZWZpbmUgTUFTS19a Vkw0MDk2QiAgKDEgPDwgIDcpCi0jZGVmaW5lIE1BU0tfWlZMODE5MkIgICgx IDw8ICA4KQotI2RlZmluZSBNQVNLX1pWTDE2Mzg0QiAoMSA8PCAgOSkKLSNk ZWZpbmUgTUFTS19aVkwzMjc2OEIgKDEgPDwgMTApCi0jZGVmaW5lIE1BU0tf WlZMNjU1MzZCICgxIDw8IDExKQotCi0jZGVmaW5lIFRBUkdFVF9aVkwzMkIg ICAgKChyaXNjdl96dmxfZmxhZ3MgJiBNQVNLX1pWTDMyQikgIT0gMCkKLSNk ZWZpbmUgVEFSR0VUX1pWTDY0QiAgICAoKHJpc2N2X3p2bF9mbGFncyAmIE1B U0tfWlZMNjRCKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWlZMMTI4QiAgICgo cmlzY3ZfenZsX2ZsYWdzICYgTUFTS19aVkwxMjhCKSAhPSAwKQotI2RlZmlu ZSBUQVJHRVRfWlZMMjU2QiAgICgocmlzY3ZfenZsX2ZsYWdzICYgTUFTS19a VkwyNTZCKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWlZMNTEyQiAgICgocmlz Y3ZfenZsX2ZsYWdzICYgTUFTS19aVkw1MTJCKSAhPSAwKQotI2RlZmluZSBU QVJHRVRfWlZMMTAyNEIgICgocmlzY3ZfenZsX2ZsYWdzICYgTUFTS19aVkwx MDI0QikgIT0gMCkKLSNkZWZpbmUgVEFSR0VUX1pWTDIwNDhCICAoKHJpc2N2 X3p2bF9mbGFncyAmIE1BU0tfWlZMMjA0OEIpICE9IDApCi0jZGVmaW5lIFRB UkdFVF9aVkw0MDk2QiAgKChyaXNjdl96dmxfZmxhZ3MgJiBNQVNLX1pWTDQw OTZCKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWlZMODE5MkIgICgocmlzY3Zf enZsX2ZsYWdzICYgTUFTS19aVkw4MTkyQikgIT0gMCkKLSNkZWZpbmUgVEFS R0VUX1pWTDE2Mzg0QiAoKHJpc2N2X3p2bF9mbGFncyAmIE1BU0tfWlZMMTYz ODRCKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWlZMMzI3NjhCICgocmlzY3Zf enZsX2ZsYWdzICYgTUFTS19aVkwzMjc2OEIpICE9IDApCi0jZGVmaW5lIFRB UkdFVF9aVkw2NTUzNkIgKChyaXNjdl96dmxfZmxhZ3MgJiBNQVNLX1pWTDY1 NTM2QikgIT0gMCkKLQotI2RlZmluZSBNQVNLX1pJQ0JPWiAgICgxIDw8IDAp Ci0jZGVmaW5lIE1BU0tfWklDQk9NICAgKDEgPDwgMSkKLSNkZWZpbmUgTUFT S19aSUNCT1AgICAoMSA8PCAyKQotCi0jZGVmaW5lIFRBUkdFVF9aSUNCT1og KChyaXNjdl96aWNtb19zdWJleHQgJiBNQVNLX1pJQ0JPWikgIT0gMCkKLSNk ZWZpbmUgVEFSR0VUX1pJQ0JPTSAoKHJpc2N2X3ppY21vX3N1YmV4dCAmIE1B U0tfWklDQk9NKSAhPSAwKQotI2RlZmluZSBUQVJHRVRfWklDQk9QICgocmlz Y3ZfemljbW9fc3ViZXh0ICYgTUFTS19aSUNCT1ApICE9IDApCi0KLSNkZWZp bmUgTUFTS19aRkhNSU4gICAoMSA8PCAwKQotI2RlZmluZSBNQVNLX1pGSCAg ICAgICgxIDw8IDEpCi0KLSNkZWZpbmUgVEFSR0VUX1pGSE1JTiAoKHJpc2N2 X3pmX3N1YmV4dCAmIE1BU0tfWkZITUlOKSAhPSAwKQotI2RlZmluZSBUQVJH RVRfWkZIICAgICgocmlzY3ZfemZfc3ViZXh0ICYgTUFTS19aRkgpICE9IDAp Ci0KLSNkZWZpbmUgTUFTS19aTU1VTCAgICAgICgxIDw8IDApCi0jZGVmaW5l IFRBUkdFVF9aTU1VTCAgICAoKHJpc2N2X3ptX3N1YmV4dCAmIE1BU0tfWk1N VUwpICE9IDApCi0KLSNkZWZpbmUgTUFTS19TVklOVkFMICgxIDw8IDApCi0j ZGVmaW5lIE1BU0tfU1ZOQVBPVCAoMSA8PCAxKQotCi0jZGVmaW5lIFRBUkdF VF9TVklOVkFMICgocmlzY3Zfc3Zfc3ViZXh0ICYgTUFTS19TVklOVkFMKSAh PSAwKQotI2RlZmluZSBUQVJHRVRfU1ZOQVBPVCAoKHJpc2N2X3N2X3N1YmV4 dCAmIE1BU0tfU1ZOQVBPVCkgIT0gMCkKLQogLyogQml0IG9mIHJpc2N2X3p2 bF9mbGFncyB3aWxsIHNldCBjb250aW50dWx5LCBOLTEgYml0IHdpbGwgc2V0 IGlmIE4tYml0IGlzCiAgICBzZXQsIGUuZy4gTUFTS19aVkw2NEIgaGFzIHNl dCB0aGVuIE1BU0tfWlZMMzJCIGlzIHNldCwgc28gd2UgY2FuIHVzZQogICAg cG9wY291bnQgdG8gY2FjbHVsYXRlIHRoZSBtaW5pbWFsIFZMRU4uICAqLwpk aWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQgYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2Lm9wdAppbmRleCA3YzNjYTQ4ZDFjYy4uNzdm NTUzMzU2YjEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvcmlzY3YvcmlzY3Yu b3B0CisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0CkBAIC0yMDMs MzYgKzIwMywxMjYgQEAgbG9uZyByaXNjdl9zdGFja19wcm90ZWN0b3JfZ3Vh cmRfb2Zmc2V0ID0gMAogVGFyZ2V0VmFyaWFibGUKIGludCByaXNjdl96aV9z dWJleHQKCitNYXNrKFpJQ1NSKSBpbiBUYXJnZXRWYXJpYWJsZShyaXNjdl96 aV9zdWJleHQpCisKK01hc2soWklGRU5DRUkpIGluIFRhcmdldFZhcmlhYmxl KHJpc2N2X3ppX3N1YmV4dCkKKwogVGFyZ2V0VmFyaWFibGUKIGludCByaXNj dl96YV9zdWJleHQKCitNYXNrKFpBV1JTKSBpbiBUYXJnZXRWYXJpYWJsZShy aXNjdl96YV9zdWJleHQpCisKIFRhcmdldFZhcmlhYmxlCiBpbnQgcmlzY3Zf emJfc3ViZXh0CgorTWFzayhaQkEpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2 X3piX3N1YmV4dCkKKworTWFzayhaQkIpIGluIFRhcmdldFZhcmlhYmxlKHJp c2N2X3piX3N1YmV4dCkKKworTWFzayhaQkMpIGluIFRhcmdldFZhcmlhYmxl KHJpc2N2X3piX3N1YmV4dCkKKworTWFzayhaQlMpIGluIFRhcmdldFZhcmlh YmxlKHJpc2N2X3piX3N1YmV4dCkKKwogVGFyZ2V0VmFyaWFibGUKIGludCBy aXNjdl96aW54X3N1YmV4dAoKK01hc2soWkZJTlgpIGluIFRhcmdldFZhcmlh YmxlKHJpc2N2X3ppbnhfc3ViZXh0KQorCitNYXNrKFpESU5YKSBpbiBUYXJn ZXRWYXJpYWJsZShyaXNjdl96aW54X3N1YmV4dCkKKworTWFzayhaSElOWCkg aW4gVGFyZ2V0VmFyaWFibGUocmlzY3ZfemlueF9zdWJleHQpCisKK01hc2so WkhJTlhNSU4pIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3ppbnhfc3ViZXh0 KQorCiBUYXJnZXRWYXJpYWJsZQogaW50IHJpc2N2X3prX3N1YmV4dAoKK01h c2soWkJLQikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3Zfemtfc3ViZXh0KQor CitNYXNrKFpCS0MpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3prX3N1YmV4 dCkKKworTWFzayhaQktYKSBpbiBUYXJnZXRWYXJpYWJsZShyaXNjdl96a19z dWJleHQpCisKK01hc2soWktORSkgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3Zf emtfc3ViZXh0KQorCitNYXNrKFpLTkQpIGluIFRhcmdldFZhcmlhYmxlKHJp c2N2X3prX3N1YmV4dCkKKworTWFzayhaS05IKSBpbiBUYXJnZXRWYXJpYWJs ZShyaXNjdl96a19zdWJleHQpCisKK01hc2soWktSKSBpbiBUYXJnZXRWYXJp YWJsZShyaXNjdl96a19zdWJleHQpCisKK01hc2soWktTRUQpIGluIFRhcmdl dFZhcmlhYmxlKHJpc2N2X3prX3N1YmV4dCkKKworTWFzayhaS1NIKSBpbiBU YXJnZXRWYXJpYWJsZShyaXNjdl96a19zdWJleHQpCisKK01hc2soWktUKSBp biBUYXJnZXRWYXJpYWJsZShyaXNjdl96a19zdWJleHQpCisKIFRhcmdldFZh cmlhYmxlCiBpbnQgcmlzY3ZfdmVjdG9yX2VsZW5fZmxhZ3MKCitNYXNrKFZF Q1RPUl9FTEVOXzMyKSBpbiBUYXJnZXRWYXJpYWJsZShyaXNjdl92ZWN0b3Jf ZWxlbl9mbGFncykKKworTWFzayhWRUNUT1JfRUxFTl82NCkgaW4gVGFyZ2V0 VmFyaWFibGUocmlzY3ZfdmVjdG9yX2VsZW5fZmxhZ3MpCisKK01hc2soVkVD VE9SX0VMRU5fRlBfMzIpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3ZlY3Rv cl9lbGVuX2ZsYWdzKQorCitNYXNrKFZFQ1RPUl9FTEVOX0ZQXzY0KSBpbiBU YXJnZXRWYXJpYWJsZShyaXNjdl92ZWN0b3JfZWxlbl9mbGFncykKKwogVGFy Z2V0VmFyaWFibGUKIGludCByaXNjdl96dmxfZmxhZ3MKCitNYXNrKFpWTDMy QikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3ZfenZsX2ZsYWdzKQorCitNYXNr KFpWTDY0QikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3ZfenZsX2ZsYWdzKQor CitNYXNrKFpWTDEyOEIpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3p2bF9m bGFncykKKworTWFzayhaVkwyNTZCKSBpbiBUYXJnZXRWYXJpYWJsZShyaXNj dl96dmxfZmxhZ3MpCisKK01hc2soWlZMNTEyQikgaW4gVGFyZ2V0VmFyaWFi bGUocmlzY3ZfenZsX2ZsYWdzKQorCitNYXNrKFpWTDEwMjRCKSBpbiBUYXJn ZXRWYXJpYWJsZShyaXNjdl96dmxfZmxhZ3MpCisKK01hc2soWlZMMjA0OEIp IGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3p2bF9mbGFncykKKworTWFzayha Vkw0MDk2QikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3ZfenZsX2ZsYWdzKQor CitNYXNrKFpWTDgxOTJCKSBpbiBUYXJnZXRWYXJpYWJsZShyaXNjdl96dmxf ZmxhZ3MpCisKK01hc2soWlZMMTYzODRCKSBpbiBUYXJnZXRWYXJpYWJsZShy aXNjdl96dmxfZmxhZ3MpCisKK01hc2soWlZMMzI3NjhCKSBpbiBUYXJnZXRW YXJpYWJsZShyaXNjdl96dmxfZmxhZ3MpCisKK01hc2soWlZMNjU1MzZCKSBp biBUYXJnZXRWYXJpYWJsZShyaXNjdl96dmxfZmxhZ3MpCisKIFRhcmdldFZh cmlhYmxlCiBpbnQgcmlzY3ZfemljbW9fc3ViZXh0CgorTWFzayhaSUNCT1op IGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3ppY21vX3N1YmV4dCkKKworTWFz ayhaSUNCT00pIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3ppY21vX3N1YmV4 dCkKKworTWFzayhaSUNCT1ApIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2X3pp Y21vX3N1YmV4dCkKKwogVGFyZ2V0VmFyaWFibGUKIGludCByaXNjdl96Zl9z dWJleHQKCitNYXNrKFpGSE1JTikgaW4gVGFyZ2V0VmFyaWFibGUocmlzY3Zf emZfc3ViZXh0KQorCitNYXNrKFpGSCkgaW4gVGFyZ2V0VmFyaWFibGUocmlz Y3ZfemZfc3ViZXh0KQorCiBUYXJnZXRWYXJpYWJsZQogaW50IHJpc2N2X3pt X3N1YmV4dAoKK01hc2soWk1NVUwpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2 X3ptX3N1YmV4dCkKKwogVGFyZ2V0VmFyaWFibGUKIGludCByaXNjdl9zdl9z dWJleHQKCitNYXNrKFNWSU5WQUwpIGluIFRhcmdldFZhcmlhYmxlKHJpc2N2 X3N2X3N1YmV4dCkKKworTWFzayhTVk5BUE9UKSBpbiBUYXJnZXRWYXJpYWJs ZShyaXNjdl9zdl9zdWJleHQpCitJdCBsb29rcyBsaWtlIGEgZ29vZCBpZGVh LiBIb3dldmVyLCB0aGVyZSBhcmUgc3RpbGwgbWFueSBtb2R1bGVzIHRoYXQg bG9vayB2ZXJ5IHNpbWlsYXIsIGNhbiB3ZSBmdXJ0aGVyIG9wdGltaXplIHRo ZXNlIGNvZGVzLkJSLEppYXdlaQoKIEVudW0KIE5hbWUoaXNhX3NwZWNfY2xh c3MpIFR5cGUoZW51bSByaXNjdl9pc2Ffc3BlY19jbGFzcykKIFN1cHBvcnRl ZCBJU0Egc3BlY3MgKGZvciB1c2Ugd2l0aCB0aGUgLW1pc2Etc3BlYz0gb3B0 aW9uKToKZGlmZiAtLWdpdCBhL2djYy9vcHQtZnVuY3Rpb25zLmF3ayBiL2dj Yy9vcHQtZnVuY3Rpb25zLmF3awppbmRleCAyYWVlMGI5ZjFjMy4uOWQ2MDgw ZDY0YTggMTAwNjQ0Ci0tLSBhL2djYy9vcHQtZnVuY3Rpb25zLmF3aworKysg Yi9nY2Mvb3B0LWZ1bmN0aW9ucy5hd2sKQEAgLTM4NywzICszODcsMTQgQEAg ZnVuY3Rpb24gaW50ZWdlcl9yYW5nZV9pbmZvKHJhbmdlX29wdGlvbiwgaW5p dCwgb3B0aW9uLCB1aW50ZWdlcl91c2VkKQogICAgIGVsc2UKICAgICAgICAg cmV0dXJuICItMSwgLTEiCiB9CisKKyMgRmluZCB0aGUgaW5kZXggb2YgdGFy Z2V0IHZhcmlhYmxlIGZyb20gZXh0cmFfdGFyZ2V0X3ZhcnMKK2Z1bmN0aW9u IGZpbmRfaW5kZXgodmFyLCB2YXJfYXJyeSwgbl92YXJfYXJyeSkKK3sKKyAg ICBmb3IgKHZhcl9pbmRleCA9IDA7IHZhcl9pbmRleCA8IG5fdmFyX2Fycnk7 IHZhcl9pbmRleCsrKQorICAgIHsKKyAgICAgICAgaWYgKHZhcl9hcnJ5W3Zh cl9pbmRleF0gPT0gdmFyKQorICAgICAgICAgICAgYnJlYWsKKyAgICB9Cisg ICAgcmV0dXJuIHZhcl9pbmRleAorfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL2djYy9vcHQtcmVhZC5hd2sgYi9nY2Mvb3B0 LXJlYWQuYXdrCmluZGV4IGNlMzYxN2M4ZDRhLi5lYmU0OGRiOTY4YiAxMDA2 NDQKLS0tIGEvZ2NjL29wdC1yZWFkLmF3aworKysgYi9nY2Mvb3B0LXJlYWQu YXdrCkBAIC0yMiw2ICsyMiw3IEBAIEJFR0lOIHsKIAluX29wdHMgPSAwCiAJ bl9sYW5ncyA9IDAKIAluX3RhcmdldF9zYXZlID0gMAorCW5fdGFyZ2V0X3Zh cnMgPSAwCiAJbl9leHRyYV92YXJzID0gMAogCW5fZXh0cmFfdGFyZ2V0X3Zh cnMgPSAwCiAJbl9leHRyYV9tYXNrcyA9IDAKQEAgLTEyMSw3ICsxMjIsMjAg QEAgQkVHSU4gewogCQkJCW5fb3B0cysrOwogCQkJfQogCQkJZWxzZSB7Ci0J CQkJZXh0cmFfbWFza3Nbbl9leHRyYV9tYXNrcysrXSA9IG5hbWUKKwkJCQlp ZigkMCB+ICJpbiIpCisJCQkJeworCQkJCQl0YXJnZXRfdmFyID0gb3B0X2Fy Z3MoIlRhcmdldFZhcmlhYmxlIiwgJDEpCisJCQkJCXZhcl9pbmRleCA9IGZp bmRfaW5kZXgodGFyZ2V0X3ZhciwgdGFyZ2V0X3ZhcnMsIG5fdGFyZ2V0X3Zh cnMpCisJCQkJCWlmICh2YXJfaW5kZXggPT0gbl90YXJnZXRfdmFycykKKwkJ CQkJeworCQkJCQkJdGFyZ2V0X3ZhcnNbbl90YXJnZXRfdmFycysrXSA9IHRh cmdldF92YXIKKwkJCQkJfQorCQkJCQlvdGhlcl9tYXNrc1t2YXJfaW5kZXhd W25fb3RoZXJfbWFza1t2YXJfaW5kZXhdKytdID0gbmFtZQorCQkJCX0KKwkJ CQllbHNlCisJCQkJeworCQkJCQlleHRyYV9tYXNrc1tuX2V4dHJhX21hc2tz KytdID0gbmFtZQorCQkJCX0KIAkJCX0KIAkJfQogCX0KZGlmZiAtLWdpdCBh L2djYy9vcHRoLWdlbi5hd2sgYi9nY2Mvb3B0aC1nZW4uYXdrCmluZGV4IDhi YmE4ZWM0NTQ5Li4yNDdhOWZiODk0NCAxMDA2NDQKLS0tIGEvZ2NjL29wdGgt Z2VuLmF3aworKysgYi9nY2Mvb3B0aC1nZW4uYXdrCkBAIC00MDYsNiArNDA2 LDE4IEBAIGZvciAoaSA9IDA7IGkgPCBuX2V4dHJhX21hc2tzOyBpKyspIHsK IAkJcHJpbnQgIiNkZWZpbmUgTUFTS18iIGV4dHJhX21hc2tzW2ldICIgKDFV IDw8ICIgbWFza251bVsiIl0rKyAiKSIKIH0KCitmb3IgKGkgPSAwOyBpIDwg bl90YXJnZXRfdmFyczsgaSsrKQoreworCWlmIChmaW5kX2luZGV4KHRhcmdl dF92YXJzW2ldLCBleHRyYV90YXJnZXRfdmFycywgbl9leHRyYV90YXJnZXRf dmFycykgPT0gbl9leHRyYV90YXJnZXRfdmFycykKKwkJY29udGludWUKKwlm b3IgKGogPSAwOyBqIDwgbl9vdGhlcl9tYXNrW2ldOyBqKyspCisJeworCQlw cmludCAiI2RlZmluZSBNQVNLXyIgb3RoZXJfbWFza3NbaV1bal0gIiAoMVUg PDwgIiBvdGhlcl9tYXNrbnVtW2ldWyIiXSsrICIpIgorCX0KKwlpZiAob3Ro ZXJfbWFza251bVtpXVsiIl0gPiAzMikKKwkJcHJpbnQgIiNlcnJvciB0b28g bWFueSB0YXJnZXQgbWFza3MgZm9yIiBleHRyYV90YXJnZXRfdmFyc1tpXQor fQorCiBmb3IgKHZhciBpbiBtYXNrbnVtKSB7CiAJaWYgKHZhciAhPSAiIiAm JiBob3N0X3dpZGVfaW50W3Zhcl0gPT0gInllcyIpIHsKIAkJcHJpbnQgIiNp ZiBkZWZpbmVkKEhPU1RfQklUU19QRVJfV0lERV9JTlQpICYmICIgbWFza251 bVt2YXJdICIgPiBIT1NUX0JJVFNfUEVSX1dJREVfSU5UIgpAQCAtNDU3LDYg KzQ2OSwxNiBAQCBmb3IgKGkgPSAwOyBpIDwgbl9leHRyYV9tYXNrczsgaSsr KSB7CiAJCXByaW50ICIjZGVmaW5lIFRBUkdFVF8iIGV4dHJhX21hc2tzW2ld IFwKIAkJICAgICAgIiAoKHRhcmdldF9mbGFncyAmIE1BU0tfIiBleHRyYV9t YXNrc1tpXSAiKSAhPSAwKSIKIH0KK2ZvciAoaSA9IDA7IGkgPCBuX3Rhcmdl dF92YXJzOyBpKyspCit7CisJaWYgKGZpbmRfaW5kZXgodGFyZ2V0X3ZhcnNb aV0sIGV4dHJhX3RhcmdldF92YXJzLCBuX2V4dHJhX3RhcmdldF92YXJzKSA9 PSBuX2V4dHJhX3RhcmdldF92YXJzKQorCQljb250aW51ZQorCWZvciAoaiA9 IDA7IGogPCBuX290aGVyX21hc2tbaV07IGorKykKKwl7CisJCXByaW50ICIj ZGVmaW5lIFRBUkdFVF8iIG90aGVyX21hc2tzW2ldW2pdIFwKKwkJICAgICAg IiAoKCIgdGFyZ2V0X3ZhcnNbaV0gIiAmIE1BU0tfIiBvdGhlcl9tYXNrc1tp XVtqXSAiKSAhPSAwKSIKKwl9Cit9CiBwcmludCAiIgoKIGZvciAoaSA9IDA7 IGkgPCBuX29wdHM7IGkrKykgewotLQoyLjE3LjE= ------=_Part_176727_428170789.1677833689832--