From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750894AbVKIOVq (ORCPT ); Wed, 9 Nov 2005 09:21:46 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750888AbVKIOVq (ORCPT ); Wed, 9 Nov 2005 09:21:46 -0500 Received: from public.id2-vpn.continvity.gns.novell.com ([195.33.99.129]:36402 "EHLO emea1-mh.id2.novell.com") by vger.kernel.org with ESMTP id S1750894AbVKIOVi (ORCPT ); Wed, 9 Nov 2005 09:21:38 -0500 Message-Id: <4372143F.76F0.0078.0@novell.com> X-Mailer: Novell GroupWise Internet Agent 7.0 Date: Wed, 09 Nov 2005 15:22:39 +0100 From: "Jan Beulich" To: Subject: [PATCH 26/39] NLKD - run time library References: <43720DAE.76F0.0078.0@novell.com> <43720E2E.76F0.0078.0@novell.com> <43720E72.76F0.0078.0@novell.com> <43720EAF.76F0.0078.0@novell.com> <43720F5E.76F0.0078.0@novell.com> <43720F95.76F0.0078.0@novell.com> <43720FBA.76F0.0078.0@novell.com> <43720FF6.76F0.0078.0@novell.com> <43721024.76F0.0078.0@novell.com> <4372105B.76F0.0078.0@novell.com> <43721119.76F0.0078.0@novell.com> <43721142.76F0.0078.0@novell.com> <43721184.76F0.0078.0@novell.com> <4372135F.76F0.0078.0@novell.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=__Part60425C3F.0__=" Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org This is a MIME message. If you are reading this text, you may want to consider changing to a mail reader or gateway that understands how to properly handle MIME multipart messages. --=__Part60425C3F.0__= Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Content-Disposition: inline Some support definitions and routines of NLKD, the latter primarily to isolate the debugger code from the rest of the kernel. Signed-Off-By: Jan Beulich (actual patch attached) --=__Part60425C3F.0__= Content-Type: application/octet-stream; name="nlkd-rtl.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="nlkd-rtl.patch" U29tZSBzdXBwb3J0IGRlZmluaXRpb25zIGFuZCByb3V0aW5lcyBvZiBOTEtELCB0aGUgbGF0dGVy IHByaW1hcmlseSB0bwppc29sYXRlIHRoZSBkZWJ1Z2dlciBjb2RlIGZyb20gdGhlIHJlc3Qgb2Yg dGhlIGtlcm5lbC4KClNpZ25lZC1PZmYtQnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBub3ZlbGwu Y29tPgoKSW5kZXg6IDIuNi4xNC1ubGtkL2RlYnVnL25sa2QvZGJndXRpbC5jCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIC9kZXYvbnVsbAkxOTcwLTAxLTAxIDAwOjAwOjAwLjAwMDAwMDAwMCArMDAwMAorKysgMi42 LjE0LW5sa2QvZGVidWcvbmxrZC9kYmd1dGlsLmMJMjAwNS0wNi0yNyAxMTo1Nzo1NS4wMDAwMDAw MDAgKzAyMDAKQEAgLTAsMCArMSw4OSBAQAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICog ICBGaWxlIE5hbWU6ICAgICAgZGJndXRpbC5jCisgKiAgIENyZWF0ZWQgYnk6ICAgICBKYW4gQmV1 bGljaAorICogICBEYXRlIGNyZWF0ZWQ6ICAgMjFKdWwxOTk5CisgKgorICogICAldmVyc2lvbjog ICAgICAgNSAlCisgKiAgICVkZXJpdmVkX2J5OiAgICBqYmV1bGljaCAlCisgKiAgICVkYXRlX21v ZGlmaWVkOiBNb24gSnVuIDI3IDAzOjU3OjQ0IDIwMDUgJQorICoKKyAqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKi8KKy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKgorICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBD b3B5cmlnaHQgKGMpIDE5OTktMjAwNSBOb3ZlbGwsIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4g ICAgICAgICAgICAgICAgICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciAgICAgICAg ICAgICAqCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHZlcnNpb24gMiBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgICoKKyAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgICAgICAgICAgICoKKyAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mICAgICAg ICAgICAgKgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiBTZWUgdGhlICAgICAgICAgICAgICAqCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAq ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgICAgICAgICAqCisgKiBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbTsgaWYgbm90LCBjb250YWN0IE5vdmVsbCwgSW5jLiAgICAgICAgICAgICAg ICAgICAgICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICogVG8gY29udGFjdCBOb3ZlbGwgYWJv dXQgdGhpcyBmaWxlIGJ5IHBoeXNpY2FsIG9yIGVsZWN0cm9uaWMgbWFpbCwgICAgICAgICAqCisg KiB5b3UgbWF5IGZpbmQgY3VycmVudCBjb250YWN0IGluZm9ybWF0aW9uIGF0IHd3dy5ub3ZlbGwu Y29tLiAgICAgICAgICAgICAgICoKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorICoqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKgorICoJRmlsZSBEZXNjcmlwdGlv bjoKKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisKKyNpbmNsdWRlIDxsaW51eC9kZWJ1Z3J0 bC5oPgorCisjaWYgIWRlZmluZWQoX01fSUE2NCkgJiYgIWRlZmluZWQoX19pYTY0X18pIFwKKyAm JiAhZGVmaW5lZChfTV9JWDg2KSAmJiAhZGVmaW5lZChfX2kzODZfXykgXAorICYmICFkZWZpbmVk KF9NX0FNRDY0KSAmJiAhZGVmaW5lZChfX3g4Nl82NF9fKQorYXNtbGlua2FnZSBEYmdRdW90UmVt UyBkYmdEaXZpZGVTKG5pbnRfdCBudW1lciwgbmludF90IGRlbm9tKSB7CisJRGJnUXVvdFJlbVMg c2Q7CisKKwlpZiAoZGVub20gPT0gMSkKKwl7CisJCXNkLnF1b3QgPSBudW1lcjsKKwkJc2QucmVt ICA9IDA7CisJfQorCWVsc2UgaWYgKGRlbm9tID09IC0xKQorCXsKKwkJc2QucXVvdCA9IC1udW1l cjsKKwkJc2QucmVtICA9IDA7CisJfQorCWVsc2UKKwl7CisJCXNkLnF1b3QgPSBudW1lciAvIGRl bm9tOworCQlzZC5yZW0gID0gbnVtZXIgJSBkZW5vbTsKKwl9CisKKwlyZXR1cm4gc2Q7Cit9CisK K2FzbWxpbmthZ2UgRGJnUXVvdFJlbVUgZGJnRGl2aWRlVShudWludF90IG51bWVyLCBudWludF90 IGRlbm9tKSB7CisJRGJnUXVvdFJlbVUgdWQ7CisKKwlpZiAoZGVub20gPT0gMSkKKwl7CisJCXVk LnF1b3QgPSBudW1lcjsKKwkJdWQucmVtICA9IDA7CisJfQorCWVsc2UKKwl7CisJCXVkLnF1b3Qg PSBudW1lciAvIGRlbm9tOworCQl1ZC5yZW0gID0gbnVtZXIgJSBkZW5vbTsKKwl9CisJcmV0dXJu IHVkOworfQorI2VuZGlmCisKK2FzbWxpbmthZ2UgY2hhcipkYmdDYXRTdHIoY2hhcipkc3QsIGNv bnN0IGNoYXIqc3JjKSB7CisJZGJnQ29weVN0cihkc3QgKyBkYmdDb3VudFN0cihkc3QpLCBzcmMp OworCXJldHVybiBkc3Q7Cit9CisKKyNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNkZWZpbmUg REVCVUdSVExfRVhQT1JUKHR5cGUsIG5hbWUsIC4uLikgRVhQT1JUX1NZTUJPTChuYW1lKQorI2lu Y2x1ZGUgPGxpbnV4L2RlYnVncnRsLmg+CkluZGV4OiAyLjYuMTQtbmxrZC9pbmNsdWRlL2xpbnV4 L2RlYnVncnRsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQotLS0gL2Rldi9udWxsCTE5NzAtMDEtMDEgMDA6MDA6MDAu MDAwMDAwMDAwICswMDAwCisrKyAyLjYuMTQtbmxrZC9pbmNsdWRlL2xpbnV4L2RlYnVncnRsLmgJ MjAwNS0xMS0wMyAxMjowMzowNC4wMDAwMDAwMDAgKzAxMDAKQEAgLTAsMCArMSwxNzAgQEAKKy8q KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKgorICoKKyAqICAgRmlsZSBOYW1lOiAgICAgIGRlYnVncnRsLmgK KyAqICAgQ3JlYXRlZCBieTogICAgIEphbiBCZXVsaWNoCisgKiAgIERhdGUgY3JlYXRlZDogICAy MUp1bDE5OTkKKyAqCisgKiAgICV2ZXJzaW9uOiAgICAgICA5ICUKKyAqICAgJWRlcml2ZWRfYnk6 ICAgIGpiZXVsaWNoICUKKyAqICAgJWRhdGVfbW9kaWZpZWQ6IFRodSBOb3YgMDMgMDQ6MDI6NTEg MjAwNSAlCisgKgorICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLworLyoqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICoKKyAqIENvcHlyaWdodCAoYykgMTk5OS0yMDA1IE5vdmVs bCwgSW5jLiBBbGwgUmlnaHRzIFJlc2VydmVkLiAgICAgICAgICAgICAgICAgKgorICogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yICAgICAgICAgICAgICoKKyAqIG1vZGlmeSBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdmVyc2lvbiAyIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAg KgorICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LCAgICAgICAgICAgKgorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YgICAgICAgICAgICAqCisgKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgICAgICAgICAgICAg ICoKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisgKiBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSAgICAgICAgICoKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIGNvbnRh Y3QgTm92ZWxsLCBJbmMuICAgICAgICAgICAgICAgICAgICAgKgorICogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqCisgKiBUbyBjb250YWN0IE5vdmVsbCBhYm91dCB0aGlzIGZpbGUgYnkgcGh5c2ljYWwgb3Ig ZWxlY3Ryb25pYyBtYWlsLCAgICAgICAgICoKKyAqIHlvdSBtYXkgZmluZCBjdXJyZW50IGNvbnRh Y3QgaW5mb3JtYXRpb24gYXQgd3d3Lm5vdmVsbC5jb20uICAgICAgICAgICAgICAgKgorICogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovCisvKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioKKyAqCisgKglGaWxlIERlc2NyaXB0aW9uOgorICoKKyAqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq Ki8KKyNpZiAhZGVmaW5lZChfTElOVVhfREVCVUdSVExfSCkgfHwgZGVmaW5lZChERUJVR1JUTF9F WFBPUlQpCisKKyNpZm5kZWYgX0xJTlVYX0RFQlVHUlRMX0gKKworIyBpbmNsdWRlIDxsaW51eC9j b25maWcuaD4KKyMgaW5jbHVkZSA8bGludXgvbGlua2FnZS5oPgorIyBpbmNsdWRlIDxsaW51eC9u aW50Lmg+CisKKyMgZGVmaW5lIG1rYWxpZ24oZCwgYSkgKCgoZCkgKyAoKGEpIC0gMSkpICYgfigo YSkgLSAxKSkKKyMgZGVmaW5lIGNvdW50b2YoYSkgKHNpemVvZihhKSAvIHNpemVvZigqYSkpCisj IGRlZmluZSBmaWVsZF9zaXplb2YodCwgZikgKHNpemVvZigoKHQqKTApLT5mKSkKKyMgZGVmaW5l IGZpZWxkX2NvdW50b2YodCwgYSkgKGNvdW50b2YoKCh0KikwKS0+YSkpCisjIGRlZmluZSBmaWVs ZF9lbmQodCwgZikgKG9mZnNldG9mKHQsIGYpICsgZmllbGRfc2l6ZW9mKHQsIGYpKQorIyBkZWZp bmUgZmllbGRfdHlwZW9mKHQsIGYpIF9fdHlwZW9mX18oKCh0KikwKS0+ZikKKworIyBpZmRlZiBD T05GSUdfNjRCSVQKK3R5cGVkZWYgdWludDY0X3QgYml0dmVjX3Q7CisjICBkZWZpbmUgQklUVkVD X0lOREVYX1NISUZUIDYKKyMgZWxzZQordHlwZWRlZiB1aW50MzJfdCBiaXR2ZWNfdDsKKyMgIGRl ZmluZSBCSVRWRUNfSU5ERVhfU0hJRlQgNQorIyBlbmRpZgorCisjIGRlZmluZSBCSVRWRUNfSU5E RVhfTUFTSyAoKDFVIDw8IEJJVFZFQ19JTkRFWF9TSElGVCkgLSAxKQorCisjIGRlZmluZSBCSVRW RUNfU1oobikJKCgobikgKyBCSVRWRUNfSU5ERVhfTUFTSykgPj4gQklUVkVDX0lOREVYX1NISUZU KQorIyBkZWZpbmUgQklUVkVDX0NMUihwLCBuKQkoKChiaXR2ZWNfdCopKHApKVsobikgPj4gQklU VkVDX0lOREVYX1NISUZUXSAmPSB+KChiaXR2ZWNfdCkxIDw8ICgobikgJiBCSVRWRUNfSU5ERVhf TUFTSykpKQorIyBkZWZpbmUgQklUVkVDX1NFVChwLCBuKQkoKChiaXR2ZWNfdCopKHApKVsobikg Pj4gQklUVkVDX0lOREVYX1NISUZUXSB8PSAgKChiaXR2ZWNfdCkxIDw8ICgobikgJiBCSVRWRUNf SU5ERVhfTUFTSykpKQorIyBkZWZpbmUgQklUVkVDX1RTVChwLCBuKQkoKCgoYml0dmVjX3QqKShw KSlbKG4pID4+IEJJVFZFQ19JTkRFWF9TSElGVF0gPj4gKChuKSAmIEJJVFZFQ19JTkRFWF9NQVNL KSkgJiAxKQorCit0eXBlZGVmIHN0cnVjdCB7CisJbmludF90IHF1b3Q7CisJbmludF90IHJlbTsK K30gRGJnUXVvdFJlbVM7CisKK3R5cGVkZWYgc3RydWN0IHsKKwludWludF90IHF1b3Q7CisJbnVp bnRfdCByZW07Cit9IERiZ1F1b3RSZW1VOworCisjIGRlZmluZSBERUJVR1JUTF9FWFBPUlQodHlw ZSwgbmFtZSwgLi4uKSB0eXBlIG5hbWUoX19WQV9BUkdTX18pCisKKyMgaWZkZWYgX19jcGx1c3Bs dXMKK2V4dGVybiAiQyIgeworIyBlbmRpZgorCisjZW5kaWYgLyogX0xJTlVYX0RFQlVHUlRMX0gg Ki8KKworREVCVUdSVExfRVhQT1JUKGFzbWxpbmthZ2UgY2hhciosIGRiZ0NhdFN0ciwgY2hhcios IGNvbnN0IGNoYXIqKTsKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIGludCwgZGJnQ29tcGFy ZU1lbSwgY29uc3Qgdm9pZCosIGNvbnN0IHZvaWQqLCBzaXplX3QpOworREVCVUdSVExfRVhQT1JU KGFzbWxpbmthZ2UgaW50LCBkYmdDb21wYXJlU3RyLCBjb25zdCBjaGFyKiwgY29uc3QgY2hhciop OworREVCVUdSVExfRVhQT1JUKCAgICAgICAgICAgdm9pZCosIGRiZ0NvcHlNZW0sIHZvaWQqLCBj b25zdCB2b2lkKiwgc2l6ZV90KTsKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIGNoYXIqLCBk YmdDb3B5U3RyLCBjaGFyKiwgY29uc3QgY2hhciopOworREVCVUdSVExfRVhQT1JUKGFzbWxpbmth Z2UgY2hhciosIGRiZ0NvcHlTdHJQLCBjaGFyKiwgY29uc3QgY2hhciopOworREVCVUdSVExfRVhQ T1JUKGFzbWxpbmthZ2UgdW5zaWduZWQsIGRiZ0NvdW50Qml0cywgdWludDY0X3QpOworREVCVUdS VExfRVhQT1JUKGFzbWxpbmthZ2Ugc2l6ZV90LCBkYmdDb3VudFN0ciwgY29uc3QgY2hhciopOwor REVCVUdSVExfRVhQT1JUKGFzbWxpbmthZ2Ugc2l6ZV90LCBkYmdDb3VudFdzdHIsIGNvbnN0IHdj aGFyX3QqKTsKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIERiZ1F1b3RSZW1TLCBkYmdEaXZp ZGVTLCBuaW50X3QsIG5pbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSBEYmdRdW90 UmVtVSwgZGJnRGl2aWRlVSwgbnVpbnRfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoICAg ICAgICAgICB2b2lkKiwgZGJnRmlsbE1lbSwgdm9pZCosIGludCwgc2l6ZV90KTsKK0RFQlVHUlRM X0VYUE9SVChhc21saW5rYWdlIHZvaWQqLCBkYmdGaW5kQnl0ZSwgY29uc3Qgdm9pZCosIGludCwg c2l6ZV90KTsKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIGNoYXIqLCBkYmdGaW5kQ2hhciwg Y29uc3QgY2hhciosIGludCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50OF90Kiwg ZGJnRmluZEludDgsIGNvbnN0IHVpbnQ4X3QqLCB1aW50OF90LCBzaXplX3QpOworREVCVUdSVExf RVhQT1JUKGFzbWxpbmthZ2UgdWludDE2X3QqLCBkYmdGaW5kSW50MTYsIGNvbnN0IHVpbnQxNl90 KiwgdWludDE2X3QsIHNpemVfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50MzJf dCosIGRiZ0ZpbmRJbnQzMiwgY29uc3QgdWludDMyX3QqLCB1aW50MzJfdCwgc2l6ZV90KTsKKyNp ZmRlZiBDT05GSUdfNjRCSVQKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIHVpbnQ2NF90Kiwg ZGJnRmluZEludDY0LCBjb25zdCB1aW50NjRfdCosIHVpbnQ2NF90LCBzaXplX3QpOworI2VuZGlm CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSBudWludF90KiwgZGJnRmluZEludE4sIGNvbnN0 IG51aW50X3QqLCBudWludF90LCBzaXplX3QpOworREVCVUdSVExfRVhQT1JUKGFzbWxpbmthZ2Ug dm9pZCoqLCBkYmdGaW5kUHRyLCBjb25zdCB2b2lkKmNvbnN0KiwgY29uc3Qgdm9pZCosIHNpemVf dCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB3Y2hhcl90KiwgZGJnRmluZFdjaGFyLCBj b25zdCB3Y2hhcl90Kiwgd2NoYXJfdCk7CisjdW5kZWYgZGJnTG93ZXIKK0RFQlVHUlRMX0VYUE9S VChhc21saW5rYWdlIGludCwgZGJnTG93ZXIsIGludCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlu a2FnZSBuaW50X3QsIGRiZ0xvZzIsIHVpbnQ2NF90KTsKK0RFQlVHUlRMX0VYUE9SVChhc21saW5r YWdlIHVpbnQ2NF90LCBkYmdNdWx0aXBseSwgdWludDY0X3QsIHVpbnQ2NF90LCB1aW50NjRfdCpv dmVyZmxvdyk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50OF90LCBkYmdSb3RsOCwg dWludDhfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50MTZfdCwg ZGJnUm90bDE2LCB1aW50MTZfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2Fn ZSB1aW50MzJfdCwgZGJnUm90bDMyLCB1aW50MzJfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBP UlQoYXNtbGlua2FnZSB1aW50NjRfdCwgZGJnUm90bDY0LCB1aW50NjRfdCwgbnVpbnRfdCk7CitE RUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50OF90LCBkYmdSb3RyOCwgdWludDhfdCwgbnVp bnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50MTZfdCwgZGJnUm90cjE2LCB1 aW50MTZfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2FnZSB1aW50MzJfdCwg ZGJnUm90cjMyLCB1aW50MzJfdCwgbnVpbnRfdCk7CitERUJVR1JUTF9FWFBPUlQoYXNtbGlua2Fn ZSB1aW50NjRfdCwgZGJnUm90cjY0LCB1aW50NjRfdCwgbnVpbnRfdCk7CisjdW5kZWYgZGJnVXBw ZXIKK0RFQlVHUlRMX0VYUE9SVChhc21saW5rYWdlIGludCwgZGJnVXBwZXIsIGludCk7CitERUJV R1JUTF9FWFBPUlQoYXNtbGlua2FnZSBjaGFyKiwgZGJnV3N0cjJTdHIsIGNoYXIqLCBjb25zdCB3 Y2hhcl90Kik7CitERUJVR1JUTF9FWFBPUlQoICAgICAgICAgICB2b2lkKiwgZGJnWmVyb01lbSwg dm9pZCosIHNpemVfdCk7CisKKyNpZm5kZWYgX0xJTlVYX0RFQlVHUlRMX0gKKworIyBpZmRlZiBf X2NwbHVzcGx1cworCitpbmxpbmUgaW50IGRiZ0xvd2VyKGludCBjKSB7IHJldHVybiBjID49ICdB JyAmJiBjIDw9ICdaJyA/IGMgKyAnYScgLSAnQScgOiBjOyB9CitpbmxpbmUgaW50IGRiZ1VwcGVy KGludCBjKSB7IHJldHVybiBjID49ICdhJyAmJiBjIDw9ICd6JyA/IGMgKyAnQScgLSAnYScgOiBj OyB9CisKK30KKworIyBlbmRpZgorCisvL3RvZG8gVGhlIC5nbG9iYWwgaW4gdGhlIGZvbGxvd2lu ZyBjb25zdHJ1Y3RzIGlzIGp1c3QgYSB3b3JrYXJvdW5kIGZvciBhIGJ1ZworLy8gICAgIGluIGJp bnV0aWxzIHNoaXBwZWQgd2l0aCBTTCAxMC4wLiBUaGlzIHdpbGwgKk9OTFkqIHdvcmsgaWYgdGhl IHByb2R1Y2VyCisvLyAgICAgZG9lc24ndCBpbmNsdWRlIHRoaXMgZmlsZSAod2hpY2ggY3VycmVu dGx5IGlzIHRoZSBjYXNlIGJlY2F1c2UgYWxsCisvLyAgICAgcHJvZHVjZXJzIGFyZSBhc3NlbWJs eSBmaWxlcykgLSBvdGhlcndpc2Ugd2UnbGwgZW5kIHVwIHdpdGgsIHNheSwgYQorLy8gICAgIGds b2JhbCBtZW1jcHkgZGVmaW5lZCB0aGVyZSBhbmQgY29sbGlkaW5nIHdpdGggb3Igb3ZlcnJpZGlu ZyB0aGUgcmVhbAorLy8gICAgIG9uZSBmcm9tIHRoZSBrZXJuZWwncyBzdHJpbmdzIGxpYnJhcnkg Y29kZS4KK19fYXNtX18oIi5lcXVpdiBtZW1jcHksIGRiZ0NvcHlNZW1cblx0Lmdsb2JhbCBtZW1j cHkiKTsKK19fYXNtX18oIi5lcXVpdiBtZW1zZXQsIGRiZ0ZpbGxNZW1cblx0Lmdsb2JhbCBtZW1z ZXQiKTsKKworIyBkZWZpbmUgREVCVUdSVExfQUxJQVMobmFtZSkgX19hc21fXygiLmVxdWl2ICIg I25hbWUgIiwgZGJnIiAjbmFtZSAiXG5cdC5nbG9iYWwgIiAjbmFtZSkKKworIyBkZWZpbmUgX0xJ TlVYX0RFQlVHUlRMX0gKKworI2Vsc2UKKworIyBkZWZpbmUgREVCVUdSVExfQUxJQVMobmFtZSkg dm9pZCBkYmcjI25hbWUodm9pZCk7IERFQlVHUlRMX0VYUE9SVCh2b2lkLCBkYmcjI25hbWUsIHZv aWQpCisKKyNlbmRpZiAvKiBfTElOVVhfREVCVUdSVExfSCAqLworCisjaWZuZGVmIF9fY3BsdXNw bHVzCisjIGRlZmluZSBkYmdMb3dlcihjKSAoKGMpID49ICdBJyAmJiAoYykgPD0gJ1onID8gKGMp ICsgJ2EnIC0gJ0EnIDogKGMpKQorIyBkZWZpbmUgZGJnVXBwZXIoYykgKChjKSA+PSAnYScgJiYg KGMpIDw9ICd6JyA/IChjKSArICdBJyAtICdhJyA6IChjKSkKKyNlbmRpZgorCisjaWYgZGVmaW5l ZChfX2kzODZfXykKK0RFQlVHUlRMX0FMSUFTKF9fZGl2ZGkzKTsKK0RFQlVHUlRMX0FMSUFTKF9f bW9kZGkzKTsKK0RFQlVHUlRMX0FMSUFTKF9fdWRpdmRpMyk7CitERUJVR1JUTF9BTElBUyhfX3Vt b2RkaTMpOworI2VuZGlmCisKKyN1bmRlZiBERUJVR1JUTF9BTElBUworI3VuZGVmIERFQlVHUlRM X0VYUE9SVAorCisjZW5kaWYgLyogIV9MSU5VWF9ERUJVR1JUTF9IIHx8IERFQlVHUlRMX0VYUE9S VCAqLwo= --=__Part60425C3F.0__=--