From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1SkqT6-0001mO-CB for mharc-grub-devel@gnu.org; Sat, 30 Jun 2012 01:43:40 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SkqT1-0001hK-1o for grub-devel@gnu.org; Sat, 30 Jun 2012 01:43:36 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SkqSz-0004ma-8r for grub-devel@gnu.org; Sat, 30 Jun 2012 01:43:34 -0400 Received: from mail.38.de ([81.209.249.38]:56418) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SkqSy-0004mO-OI for grub-devel@gnu.org; Sat, 30 Jun 2012 01:43:33 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=38.de; s=mail; h=Message-ID:From:MIME-Version:Cc:Date:To:Subject:Content-Type; bh=9DziUEcaYLsQl3SmLO3aw4yB5yjZYJY7lBJshcWjt9g=; b=lPM++TpXzuJvfAT7jhRy6zuCkPCFhC90QXDj1OocNZAoSw+A9k0I2KyL1wk1C/KyJYBKaFlOOqxPASaIBFjjTS20cu4JFOYBy77gevNLWANxc0LsOog33xU+/kolGd4KdvKKTWETruAGx6E7JGhQTER6qmkZoqlgAg3Z1Qhiq8Q=; Received: from dslb-084-062-059-007.pools.arcor-ip.net ([84.62.59.7] helo=isor) by mail.38.de with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.76) (envelope-from ) id 1SkqSv-0001ZA-N6; Sat, 30 Jun 2012 07:43:30 +0200 Content-Type: multipart/mixed; boundary=----------LPWSDpKRoAogWtUWPdBsaJ Subject: [PATCH] Improve FreeDOS direct loading support compatibility. To: grub-devel@gnu.org Date: Sat, 30 Jun 2012 07:43:30 +0200 MIME-Version: 1.0 From: "C. Masloch" Message-ID: User-Agent: Opera Mail/12.00 (Win32) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 81.209.249.38 Cc: freedos-kernel@lists.sourceforge.net X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Jun 2012 05:43:36 -0000 ------------LPWSDpKRoAogWtUWPdBsaJ Content-Type: text/plain; charset=utf-8; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit Hello, A bit about me first; feel free to skip this paragraph. I know 86 assembly language well and have been involved in FreeDOS kernel development. On the freedos-user list I read that GRUB 2.00 added FreeDOS direct loading support. I have reviewed GRUB's implementation of the FreeDOS load protocol. The attached patch improves compatibility to the FreeDOS kernel and its original loader as well as potential compatibility to other DOS-like kernels and loaders. In particular, some requirements of the current EDR-DOS load protocol are implemented by this as well (though possibly not all of them) without harming the loading of FreeDOS kernels. Regards, Chris Masloch ------------LPWSDpKRoAogWtUWPdBsaJ Content-Disposition: attachment; filename=improve-freedos-compatibility.diff Content-Type: application/octet-stream; name="improve-freedos-compatibility.diff" Content-Transfer-Encoding: Base64 U3ViamVjdDogW1BBVENIXSBJbXByb3ZlIEZyZWVET1MgZGlyZWN0IGxvYWRpbmcg c3VwcG9ydCBjb21wYXRpYmlsaXR5LgpGcm9tOiAiQy4gTWFzbG9jaCIgPHB1c2hi eEAzOC5kZT4KRGF0ZTogU2F0IEp1biAzMCAwNjo0NjowOCAyMDEyICswMjAwCgog Q2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxNSArKysrKysK IGdydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3IuYyAgICAgfCAgIDIgKwogZ3J1 Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvcjE2LlMgICB8ICAgNSArKwogZ3J1Yi1j b3JlL2xvYWRlci9pMzg2L3BjL2ZyZWVkb3MuYyB8ICA4MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0tCiBpbmNsdWRlL2dydWIvaTM4Ni9yZWxv Y2F0b3IuaCAgICAgIHwgICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2Vy dGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgojIEhHIGNoYW5nZXNldCBwYXRjaAoj IFVzZXIgQy4gTWFzbG9jaCA8cHVzaGJ4QDM4LmRlPgojIERhdGUgMTM0MTAzMTU2 OCAtNzIwMAojIE5vZGUgSUQgMTAwZDg3YWVmYjliMTAxZDA1ZGM2MTRlYWQzNmNi Y2JjZDVmNDY5MgojIFBhcmVudCAgY2Q0MDYwMDg1NTRjODQxMTk2OWI4YjVhYjEz ZTdiNThkM2YwODRhOApJbXByb3ZlIEZyZWVET1MgZGlyZWN0IGxvYWRpbmcgc3Vw cG9ydCBjb21wYXRpYmlsaXR5LgoKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0No YW5nZUxvZwotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg KzEsMTggQEAKKzIwMTItMDYtMzAgIEMuIE1hc2xvY2ggIDxwdXNoYnhAMzguZGU+ CisKKwlJbXByb3ZlIEZyZWVET1MgZGlyZWN0IGxvYWRpbmcgc3VwcG9ydCBjb21w YXRpYmlsaXR5LgorCisJKiBpbmNsdWRlL2dydWIvaTM4Ni9yZWxvY2F0b3IuaCAo Z3J1Yl9yZWxvY2F0b3IxNl9zdGF0ZSk6CisJTmV3IG1lbWJlciBlYnAuCisJKiBn cnViLWNvcmUvbGliL2kzODYvcmVsb2NhdG9yLmMgKGdydWJfcmVsb2NhdG9yMTZf ZWJwKTogTmV3IGV4dGVybgorCXZhcmlhYmxlLgorCShncnViX3JlbG9jYXRvcjE2 X2Jvb3QpOiBIYW5kbGUgJWVicC4KKwkqIGdydWItY29yZS9saWIvaTM4Ni9yZWxv Y2F0b3IxNi5TOiBMaWtld2lzZS4KKwkqIGdydWItY29yZS9sb2FkZXIvaTM4Ni9w Yy9mcmVlZG9zLmM6CisJTG9hZCBCUEIgdG8gcGFzcyBrZXJuZWwgd2hpY2ggcGFy dGl0aW9uIHRvIGxvYWQgZnJvbS4KKwlDaGVjayB0aGF0IGtlcm5lbCBmaWxlIGlz IG5vdCB0b28gbGFyZ2UuCisJU2V0IHJlZ2lzdGVyIGRsIHRvIEJJT1MgdW5pdCBu dW1iZXIgYXMgd2VsbC4KKwogMjAxMi0wNi0yNyAgVmxhZGltaXIgU2VyYmluZW5r byAgPHBoY29kZXJAZ21haWwuY29tPgogCiAJKiBjb25maWd1cmUuYWM6IEJ1bXAg dmVyc2lvbiB0byAyLjAwLgpkaWZmIC0tZ2l0IGEvZ3J1Yi1jb3JlL2xpYi9pMzg2 L3JlbG9jYXRvci5jIGIvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRvci5jCi0t LSBhL2dydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3IuYworKysgYi9ncnViLWNv cmUvbGliL2kzODYvcmVsb2NhdG9yLmMKQEAgLTU0LDYgKzU0LDcgQEAKIGV4dGVy biBncnViX3VpbnQzMl90IGdydWJfcmVsb2NhdG9yMTZfZWR4OwogZXh0ZXJuIGdy dWJfdWludDMyX3QgZ3J1Yl9yZWxvY2F0b3IxNl9lYng7CiBleHRlcm4gZ3J1Yl91 aW50MzJfdCBncnViX3JlbG9jYXRvcjE2X2VzaTsKK2V4dGVybiBncnViX3VpbnQz Ml90IGdydWJfcmVsb2NhdG9yMTZfZWJwOwogCiBleHRlcm4gZ3J1Yl91aW50MTZf dCBncnViX3JlbG9jYXRvcjE2X2tlZXBfYTIwX2VuYWJsZWQ7CiAKQEAgLTIyNSw2 ICsyMjYsNyBAQAogICBncnViX3JlbG9jYXRvcjE2X3NzID0gc3RhdGUuc3M7CiAg IGdydWJfcmVsb2NhdG9yMTZfc3AgPSBzdGF0ZS5zcDsKIAorICBncnViX3JlbG9j YXRvcjE2X2VicCA9IHN0YXRlLmVicDsKICAgZ3J1Yl9yZWxvY2F0b3IxNl9lYngg PSBzdGF0ZS5lYng7CiAgIGdydWJfcmVsb2NhdG9yMTZfZWR4ID0gc3RhdGUuZWR4 OwogICBncnViX3JlbG9jYXRvcjE2X2VzaSA9IHN0YXRlLmVzaTsKZGlmZiAtLWdp dCBhL2dydWItY29yZS9saWIvaTM4Ni9yZWxvY2F0b3IxNi5TIGIvZ3J1Yi1jb3Jl L2xpYi9pMzg2L3JlbG9jYXRvcjE2LlMKLS0tIGEvZ3J1Yi1jb3JlL2xpYi9pMzg2 L3JlbG9jYXRvcjE2LlMKKysrIGIvZ3J1Yi1jb3JlL2xpYi9pMzg2L3JlbG9jYXRv cjE2LlMKQEAgLTI1OSw2ICsyNTksMTEgQEAKIFZBUklBQkxFKGdydWJfcmVsb2Nh dG9yMTZfZWJ4KQogCS5sb25nCTAKIAorCS8qIG1vdmwgaW1tMzIsICVlYnAuICAq LworCS5ieXRlCTB4NjYsIDB4YmQKK1ZBUklBQkxFKGdydWJfcmVsb2NhdG9yMTZf ZWJwKQorCS5sb25nCTAKKwogCS8qIENsZWFyZWQgZGlyZWN0aW9uIGZsYWcgaXMg b2Ygbm8gcHJvYmxlbSB3aXRoIGFueSBjdXJyZW50CiAJICAgcGF5bG9hZCBhbmQg bWFrZXMgdGhpcyBpbXBsZW1lbnRhdGlvbiBlYXNpZXIuICAqLwogCWNsZApkaWZm IC0tZ2l0IGEvZ3J1Yi1jb3JlL2xvYWRlci9pMzg2L3BjL2ZyZWVkb3MuYyBiL2dy dWItY29yZS9sb2FkZXIvaTM4Ni9wYy9mcmVlZG9zLmMKLS0tIGEvZ3J1Yi1jb3Jl L2xvYWRlci9pMzg2L3BjL2ZyZWVkb3MuYworKysgYi9ncnViLWNvcmUvbG9hZGVy L2kzODYvcGMvZnJlZWRvcy5jCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8 Z3J1Yi92aWRlby5oPgogI2luY2x1ZGUgPGdydWIvbW0uaD4KICNpbmNsdWRlIDxn cnViL2NwdS9yZWxvY2F0b3IuaD4KKyNpbmNsdWRlIDxncnViL21hY2hpbmUvY2hh aW5sb2FkZXIuaD4KIAogR1JVQl9NT0RfTElDRU5TRSAoIkdQTHYzKyIpOwogCkBA IC00MCw4ICs0MSwyMyBAQAogc3RhdGljIGdydWJfdWludDMyX3QgZWJ4ID0gMHhm ZmZmZmZmZjsKIAogI2RlZmluZSBHUlVCX0ZSRUVET1NfU0VHTUVOVCAgICAgICAg IDB4NjAKKyNkZWZpbmUgR1JVQl9GUkVFRE9TX0FERFIgICAgICAgICAgICAoR1JV Ql9GUkVFRE9TX1NFR01FTlQ8PDQpCiAjZGVmaW5lIEdSVUJfRlJFRURPU19TVEFD S19TRUdNRU5UICAgICAgICAgMHgxZmUwCi0jZGVmaW5lIEdSVUJfRlJFRURPU19T VEFDS19QT0lOVEVSICAgICAgICAgMHg4MDAwCisjZGVmaW5lIEdSVUJfRlJFRURP U19TVEFDS19CUEJfUE9JTlRFUiAgICAgMHg3YzAwCisjZGVmaW5lIEdSVUJfRlJF RURPU19CUEJfQUREUiAgICAgICAgKChHUlVCX0ZSRUVET1NfU1RBQ0tfU0VHTUVO VDw8NCkgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAr R1JVQl9GUkVFRE9TX1NUQUNLX0JQQl9QT0lOVEVSKQorCisvKiBGcmVlRE9TIGJv b3QuYXNtIHBhc3NlcyByZWdpc3RlciBzcCBhcyBleGFjdGx5IHRoaXMuIEltcG9y dGFudGx5LAorICAgaXQgbXVzdCBwb2ludCBiZWxvdyB0aGUgQlBCICh0byBhdm9p ZCBvdmVyd3JpdGluZyBhbnkgb2YgaXQpLiAqLworI2RlZmluZSBHUlVCX0ZSRUVE T1NfU1RBQ0tfUE9JTlRFUiAgICAgICAgIChHUlVCX0ZSRUVET1NfU1RBQ0tfQlBC X1BPSU5URVIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtMHg2MCkKKworLyogSW4gdGhpcywgdGhlIGFkZGl0aW9uYWwgODE5 MiBieXRlcyBhcmUgdGhlIHN0YWNrIHJlc2VydmF0aW9uOyB0aGUKKyAgIHJlbWFp bmluZyBwYXJ0cyB0cml2aWFsbHkgZ2l2ZSB0aGUgbWF4aW11bSBhbGxvd2VkIHNp emUuICovCisjZGVmaW5lIEdSVUJfRlJFRURPU19NQVhfU0laRSAgICAgICAgKChH UlVCX0ZSRUVET1NfU1RBQ0tfU0VHTUVOVDw8NCkgXAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICArR1JVQl9GUkVFRE9TX1NUQUNLX1BPSU5U RVIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtR1JV Ql9GUkVFRE9TX0FERFIgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAtODE5MikKIAogc3RhdGljIGdydWJfZXJyX3QKIGdydWJfZnJlZWRv c19ib290ICh2b2lkKQpAQCAtNDksMTQgKzY1LDMwIEBACiAgIHN0cnVjdCBncnVi X3JlbG9jYXRvcjE2X3N0YXRlIHN0YXRlID0geyAKICAgICAuY3MgPSBHUlVCX0ZS RUVET1NfU0VHTUVOVCwKICAgICAuaXAgPSAwLAotICAgIC5kcyA9IDAsCisKKyAg ICAvKiBUaGlzIGlzIG5vdCBzdHJpY3RseSBuZWNlc3NhcnkgZm9yIHRoZSBjdXJy ZW50IEZyZWVET1Mga2VybmVsCisgICAgICAgYnV0IGltcHJvdmVzIHBvdGVudGlh bCBjb21wYXRpYmlsaXR5IHdpdGggdGhlIGN1cnJlbnQgRURSLURPUworICAgICAg IGxvYWQgcHJvdG9jb2wuCisgICAgICAgVGhlcmUgaXMgbm8gaGFybSBpbiBzZXR0 aW5nIHRoaXMuICovCisgICAgLmRzID0gR1JVQl9GUkVFRE9TX1NUQUNLX1NFR01F TlQsCiAgICAgLmVzID0gMCwKICAgICAuZnMgPSAwLAogICAgIC5ncyA9IDAsCiAg ICAgLnNzID0gR1JVQl9GUkVFRE9TX1NUQUNLX1NFR01FTlQsCiAgICAgLnNwID0g R1JVQl9GUkVFRE9TX1NUQUNLX1BPSU5URVIsCisgICAgLmVicCA9IEdSVUJfRlJF RURPU19TVEFDS19CUEJfUE9JTlRFUiwKICAgICAuZWJ4ID0gZWJ4LAotICAgIC5l ZHggPSAwLAorCisgICAgLyogVGhpcyBpcyBub3Qgc3RyaWN0bHkgbmVjZXNzYXJ5 IGZvciB0aGUgY3VycmVudCBGcmVlRE9TIGtlcm5lbAorICAgICAgIGJ1dCBpcyBj cnVjaWFsIGZvciBwb3RlbnRpYWwgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBsb2Fk CisgICAgICAgcHJvdG9jb2xzIG9mIGVnIHRoZSBjdXJyZW50IEVEUi1ET1Mga2Vy bmVsLCBvciBvdGhlciBET1MtbGlrZQorICAgICAgIGtlcm5lbHMgYW5kIGxvYWRl cnMuCisgICAgICAgKEFtb25nIHRob3NlLCBGcmVlRE9TJ3MgbG9hZCBwcm90b2Nv bCBtdXN0IGJlIGNvbnNpZGVyZWQgYQorICAgICAgIHNwZWNpYWwgY2FzZSBpbiB0 aGF0IGl0IGRvZXNuJ3QgcmVxdWlyZSByZWdpc3RlciBkbCB0byBwYXNzCisgICAg ICAgdGhlIHVuaXQgbnVtYmVyLiBJbmNpZGVudGFsbHksIHRoZSBjdXJyZW50IEZy ZWVET1MgYm9vdC5hc20KKyAgICAgICBkb2VzIHBhc3MgaXQgaW4gYm90aCByZWdp c3RlcnMuKQorICAgICAgIFRoZXJlIGlzIG5vIGhhcm0gaW4gc2V0dGluZyB0aGlz LiAqLworICAgIC5lZHggPSBlYngsCiAgICAgLmEyMCA9IDEKICAgfTsKICAgZ3J1 Yl92aWRlb19zZXRfbW9kZSAoInRleHQiLCAwLCAwKTsKQEAgLTc5LDggKzExMSw5 IEBACiB7CiAgIGdydWJfZmlsZV90IGZpbGUgPSAwOwogICBncnViX2Vycl90IGVy cjsKLSAgdm9pZCAqa2VybmVsc3lzOworICB2b2lkICpicywgKmtlcm5lbHN5czsK ICAgZ3J1Yl9zaXplX3Qga2VybmVsc3lzc2l6ZTsKKyAgZ3J1Yl9kZXZpY2VfdCBk ZXY7CiAKICAgaWYgKGFyZ2MgPT0gMCkKICAgICByZXR1cm4gZ3J1Yl9lcnJvciAo R1JVQl9FUlJfQkFEX0FSR1VNRU5ULCBOXygiZmlsZW5hbWUgZXhwZWN0ZWQiKSk7 CkBAIC05NSwxMiArMTI4LDUyIEBACiAgIGlmICghIGZpbGUpCiAgICAgZ290byBm YWlsOwogCisgIHsKKyAgICBncnViX3JlbG9jYXRvcl9jaHVua190IGNoOworICAg IGVyciA9IGdydWJfcmVsb2NhdG9yX2FsbG9jX2NodW5rX2FkZHIgKHJlbCwgJmNo LCBHUlVCX0ZSRUVET1NfQlBCX0FERFIsCisJCQkJCSAgIEdSVUJfRElTS19TRUNU T1JfU0laRSk7CisgICAgaWYgKGVycikKKyAgICAgIGdvdG8gZmFpbDsKKyAgICBi cyA9IGdldF92aXJ0dWFsX2N1cnJlbnRfYWRkcmVzcyAoY2gpOworICB9CisKICAg ZWJ4ID0gZ3J1Yl9nZXRfcm9vdF9iaW9zbnVtYmVyICgpOworICBkZXYgPSBncnVi X2RldmljZV9vcGVuICgwKTsKKworICBpZiAoZGV2ICYmIGRldi0+ZGlzaykKKyAg ICB7CisgICAgICBlcnIgPSBncnViX2Rpc2tfcmVhZCAoZGV2LT5kaXNrLCAwLCAw LCBHUlVCX0RJU0tfU0VDVE9SX1NJWkUsIGJzKTsKKyAgICAgIGlmIChlcnIpCisJ eworCSAgZ3J1Yl9kZXZpY2VfY2xvc2UgKGRldik7CisJICBnb3RvIGZhaWw7CisJ fQorICAgICAgZ3J1Yl9jaGFpbmxvYWRlcl9wYXRjaF9icGIgKGJzLCBkZXYsIGVi eCk7CisgICAgfQorCisgIGlmIChkZXYpCisgICAgZ3J1Yl9kZXZpY2VfY2xvc2Ug KGRldik7CiAKICAga2VybmVsc3lzc2l6ZSA9IGdydWJfZmlsZV9zaXplIChmaWxl KTsKKworICAvKiBUaGlzIGNoZWNrIGNvdWxkIGJlIGNvbnNpZGVyZWQgb3B0aW9u YWwsIGJ1dCBpdCBwcm92aWRlcyBhIG1vcmUKKyAgICAgc3BlY2lmaWMgZXJyb3Ig bWVzc2FnZSB0aGFuIGdydWJfcmVsb2NhdG9yX2FsbG9jX2NodW5rX2FkZHIgd291 bGQsCisgICAgIGFuZCBhZGRpdGlvbmFsbHkgaXQgaW5zdXJlcyB0aGF0IGEgbGl0 dGxlIGlzIHNldCBhc2lkZSBmb3IgdGhlCisgICAgIGluaXRpYWwgc3RhY2sgYXMg d2VsbC4KKyAgICAgUXVpcmtpbHksIGJlY2F1c2Ugb2YgaXRzIHNpemUgY29uc3Ry YWludHMgRnJlZURPUydzIG9yaWdpbmFsIGxvYWRlcgorICAgICBkb2Vzbid0IHBl cmZvcm0gc3VjaCBhIGNoZWNrIGF0IGFsbCAoYW5kIGNyYXNoZXMgaW5zdGVhZCku IFRoZSBmaWxlCisgICAgIHNpemUgbGltaXQgaXMgZG9jdW1lbnRlZCB0aG91Z2gu ICovCisgIGlmIChrZXJuZWxzeXNzaXplID4gR1JVQl9GUkVFRE9TX01BWF9TSVpF KQorICAgIHsKKyAgICAgICh2b2lkKWdydWJfZXJyb3IgKEdSVUJfRVJSX0JBRF9P UywKKwkJICAgICAgICAiZmlsZSBgJXMnIGlzIHRvbyBsYXJnZSBmb3IgYSB2YWxp ZCIKKwkJICAgICAgICAiIEZyZWVET1Mga2VybmVsLnN5cyIsIGFyZ3ZbMF0pOwor ICAgICAgZ290byBmYWlsOworICAgIH0KKwogICB7CiAgICAgZ3J1Yl9yZWxvY2F0 b3JfY2h1bmtfdCBjaDsKLSAgICBlcnIgPSBncnViX3JlbG9jYXRvcl9hbGxvY19j aHVua19hZGRyIChyZWwsICZjaCwgR1JVQl9GUkVFRE9TX1NFR01FTlQgPDwgNCwK KyAgICBlcnIgPSBncnViX3JlbG9jYXRvcl9hbGxvY19jaHVua19hZGRyIChyZWws ICZjaCwgR1JVQl9GUkVFRE9TX0FERFIsCiAJCQkJCSAgIGtlcm5lbHN5c3NpemUp OwogICAgIGlmIChlcnIpCiAgICAgICBnb3RvIGZhaWw7CmRpZmYgLS1naXQgYS9p bmNsdWRlL2dydWIvaTM4Ni9yZWxvY2F0b3IuaCBiL2luY2x1ZGUvZ3J1Yi9pMzg2 L3JlbG9jYXRvci5oCi0tLSBhL2luY2x1ZGUvZ3J1Yi9pMzg2L3JlbG9jYXRvci5o CisrKyBiL2luY2x1ZGUvZ3J1Yi9pMzg2L3JlbG9jYXRvci5oCkBAIC00OSw2ICs0 OSw3IEBACiAgIGdydWJfdWludDMyX3QgZWJ4OwogICBncnViX3VpbnQzMl90IGVk eDsKICAgZ3J1Yl91aW50MzJfdCBlc2k7CisgIGdydWJfdWludDMyX3QgZWJwOwog ICBpbnQgYTIwOwogfTsKIAo= ------------LPWSDpKRoAogWtUWPdBsaJ--