From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Antipov Newsgroups: gmane.emacs.devel Subject: Pseudovectors initialization Date: Tue, 26 Jun 2012 11:26:54 +0400 Message-ID: <4FE9643E.6080004@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080001070408040906070703" X-Trace: dough.gmane.org 1340695489 21169 80.91.229.3 (26 Jun 2012 07:24:49 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Tue, 26 Jun 2012 07:24:49 +0000 (UTC) To: Emacs development discussions Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Jun 26 09:24:49 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SjQ8m-0002Rw-0I for ged-emacs-devel@m.gmane.org; Tue, 26 Jun 2012 09:24:48 +0200 Original-Received: from localhost ([::1]:48957 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjQ8l-0001DW-UL for ged-emacs-devel@m.gmane.org; Tue, 26 Jun 2012 03:24:47 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:34893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjQ8d-0000sW-TC for emacs-devel@gnu.org; Tue, 26 Jun 2012 03:24:46 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SjQ8Y-0003dg-6j for emacs-devel@gnu.org; Tue, 26 Jun 2012 03:24:39 -0400 Original-Received: from forward7.mail.yandex.net ([77.88.61.37]:38257) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SjQ8X-0003dK-EK for emacs-devel@gnu.org; Tue, 26 Jun 2012 03:24:34 -0400 Original-Received: from smtp7.mail.yandex.net (smtp7.mail.yandex.net [77.88.61.55]) by forward7.mail.yandex.net (Yandex) with ESMTP id 290441C1304 for ; Tue, 26 Jun 2012 11:24:31 +0400 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1340695471; bh=bjQ98R2xDAiXH6mpFWZ2ei60nzswMLn/8KjmhqU4Vv8=; h=Message-ID:Date:From:MIME-Version:To:Subject:Content-Type; b=KxbTWx1kUe8Bo3eKOLtS7lTYdD4KNdujpa8LeFNrH3hGztkR1BMo2ScDeIfw55oaX JJrTOSMJxx/umlLhbMCXTV8IZjS3WHg5oXzu1NEWHYKAMt2qysPI8Nc0d/K8eHMV60 tnFCQw0ELyU9a4sbEMG1/Na1OMII3MkbAMghWvW4= Original-Received: from smtp7.mail.yandex.net (localhost [127.0.0.1]) by smtp7.mail.yandex.net (Yandex) with ESMTP id 1698115800BA for ; Tue, 26 Jun 2012 11:24:31 +0400 (MSK) Original-Received: from 213-148-21-55.gelicon.ru (213-148-21-55.gelicon.ru [213.148.21.55]) by smtp7.mail.yandex.net (nwsmtp/Yandex) with ESMTP id OUgWDRpb-OUgWFT1e; Tue, 26 Jun 2012 11:24:30 +0400 X-Yandex-Rcpt-Suid: emacs-devel@gnu.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1340695471; bh=bjQ98R2xDAiXH6mpFWZ2ei60nzswMLn/8KjmhqU4Vv8=; h=Message-ID:Date:From:User-Agent:MIME-Version:To:Subject: Content-Type; b=PCdRSm9crjfjU8o+C9AygJDqp51xZV/6nPqzWrduAU/4HT2CiRv9F5AHo+Ky9jk9Y z5m5zEk9dLsRvbSqVNuYLp+WZZgM2LHQll+0RSa8oTTQepPIIsCG9gOvH5RtwLpkyV 7xyWbyNfBG3++frgTO7xRdT3VYJAj5HjAGS9G8j4= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:13.0) Gecko/20120614 Thunderbird/13.0.1 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 77.88.61.37 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:151170 Archived-At: This is a multi-part message in MIME format. --------------080001070408040906070703 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Windows, frames, processes and terminals are created rarely and tends to have a long lifetime; so, IMHO, it's reasonable to pay a negligible performance penalty to simplify initialization, readability and maintenance. Any objections? Dmitry --------------080001070408040906070703 Content-Type: text/plain; charset=UTF-8; name="pseudovectors_init.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pseudovectors_init.patch" PT09IG1vZGlmaWVkIGZpbGUgJ3NyYy9hbGxvYy5jJwotLS0gc3JjL2FsbG9jLmMJMjAxMi0w Ni0yNiAwNTowMDozMCArMDAwMAorKysgc3JjL2FsbG9jLmMJMjAxMi0wNi0yNiAwNzowOTo0 MSArMDAwMApAQCAtMzI2OCw2ICszMjY4LDEyIEBACiAgIGZvciAoaSA9IDA7IGkgPCBsaXNw bGVuOyArK2kpCiAgICAgdi0+Y29udGVudHNbaV0gPSBRbmlsOwogCisgIC8qIElmIHRoZSBw c2V1ZG92ZWN0b3IgaXMgbm90IGEgTGlzcF9IYXNoX1RhYmxlIGFuZCBjb250YWlucworICAg ICBtZW1iZXJzIGJleW9uZCBMaXNwX09iamVjdHMgYXQgdGhlIGJlZ2lubmluZywgemVybyBv dXQgdGhlbS4gICovCisgIGlmICh0YWcgIT0gUFZFQ19IQVNIX1RBQkxFICYmIG1lbWxlbiA+ IGxpc3BsZW4pCisgICAgbWVtc2V0ICgoY2hhciAqKSB2ICsgaGVhZGVyX3NpemUgKyBsaXNw bGVuICogd29yZF9zaXplLAorCSAgICAwLCAobWVtbGVuIC0gbGlzcGxlbikgKiB3b3JkX3Np emUpOworCiAgIFhTRVRQVkVDVFlQRVNJWkUgKHYsIHRhZywgbGlzcGxlbik7CiAgIHJldHVy biB2OwogfQpAQCAtMzI4OSwyNCArMzI5NSwxNSBAQAogc3RydWN0IHRlcm1pbmFsICoKIGFs bG9jYXRlX3Rlcm1pbmFsICh2b2lkKQogewotICBzdHJ1Y3QgdGVybWluYWwgKnQgPSBBTExP Q0FURV9QU0VVRE9WRUNUT1IgKHN0cnVjdCB0ZXJtaW5hbCwKLQkJCQkJICAgICAgbmV4dF90 ZXJtaW5hbCwgUFZFQ19URVJNSU5BTCk7Ci0gIC8qIFplcm8gb3V0IHRoZSBub24tR0MnZCBm aWVsZHMuICBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWFkZSB1bm5lY2Vzc2FyeS4gICovCi0g IG1lbXNldCAoJnQtPm5leHRfdGVybWluYWwsIDAsCi0JICAoY2hhciopICh0ICsgMSkgLSAo Y2hhciopICZ0LT5uZXh0X3Rlcm1pbmFsKTsKLQotICByZXR1cm4gdDsKKyAgcmV0dXJuIEFM TE9DQVRFX1BTRVVET1ZFQ1RPUiAoc3RydWN0IHRlcm1pbmFsLAorCQkJCW5leHRfdGVybWlu YWwsIFBWRUNfVEVSTUlOQUwpOwogfQogCiBzdHJ1Y3QgZnJhbWUgKgogYWxsb2NhdGVfZnJh bWUgKHZvaWQpCiB7Ci0gIHN0cnVjdCBmcmFtZSAqZiA9IEFMTE9DQVRFX1BTRVVET1ZFQ1RP UiAoc3RydWN0IGZyYW1lLAotCQkJCQkgICBmYWNlX2NhY2hlLCBQVkVDX0ZSQU1FKTsKLSAg LyogWmVybyBvdXQgdGhlIG5vbi1HQydkIGZpZWxkcy4gIEZJWE1FOiBUaGlzIHNob3VsZCBi ZSBtYWRlIHVubmVjZXNzYXJ5LiAgKi8KLSAgbWVtc2V0ICgmZi0+ZmFjZV9jYWNoZSwgMCwK LQkgIChjaGFyICopIChmICsgMSkgLSAoY2hhciAqKSAmZi0+ZmFjZV9jYWNoZSk7Ci0gIHJl dHVybiBmOworICByZXR1cm4gQUxMT0NBVEVfUFNFVURPVkVDVE9SIChzdHJ1Y3QgZnJhbWUs CisJCQkJZmFjZV9jYWNoZSwgUFZFQ19GUkFNRSk7CiB9CiAKIAoKPT09IG1vZGlmaWVkIGZp bGUgJ3NyYy9mcmFtZS5jJwotLS0gc3JjL2ZyYW1lLmMJMjAxMi0wNi0xOSAwNjo0OTo1MCAr MDAwMAorKysgc3JjL2ZyYW1lLmMJMjAxMi0wNi0yNiAwNzowMDozOSArMDAwMApAQCAtMjY3 LDYzICsyNjcsMjMgQEAKICAgZiA9IGFsbG9jYXRlX2ZyYW1lICgpOwogICBYU0VURlJBTUUg KGZyYW1lLCBmKTsKIAotICBmLT5kZXNpcmVkX21hdHJpeCA9IDA7Ci0gIGYtPmN1cnJlbnRf bWF0cml4ID0gMDsKLSAgZi0+ZGVzaXJlZF9wb29sID0gMDsKLSAgZi0+Y3VycmVudF9wb29s ID0gMDsKLSAgZi0+Z2x5cGhzX2luaXRpYWxpemVkX3AgPSAwOwotICBmLT5kZWNvZGVfbW9k ZV9zcGVjX2J1ZmZlciA9IDA7Ci0gIGYtPnZpc2libGUgPSAwOwotICBmLT5hc3luY192aXNp YmxlID0gMDsKLSAgZi0+b3V0cHV0X2RhdGEubm90aGluZyA9IDA7Ci0gIGYtPmljb25pZmll ZCA9IDA7Ci0gIGYtPmFzeW5jX2ljb25pZmllZCA9IDA7CisgIC8qIEluaXRpYWxpemUgTGlz cCBkYXRhLiAgTm90ZSB0aGF0IGFsbG9jYXRlX2ZyYW1lIGluaXRpYWxpemVzIGFsbAorICAg ICBMaXNwIGRhdGEgdG8gbmlsLCBzbyBkbyBpdCBvbmx5IGZvciBzbG90cyB3aGljaCBzaG91 bGQgbm90IGJlIG5pbC4gICovCisgIGYtPnRvb2xfYmFyX3Bvc2l0aW9uID0gUXRvcDsKKwor ICAvKiBJbml0aWFsaXplIG5vbi1MaXNwIGRhdGEuICBOb3RlIHRoYXQgYWxsb2NhdGVfZnJh bWUgemVyb2VzIG91dCBhbGwKKyAgICAgbm9uLUxpc3AgZGF0YSwgc28gZG8gaXQgb25seSBm b3Igc2xvdHMgd2hpY2ggc2hvdWxkIG5vdCBiZSB6ZXJvLgorICAgICBUbyBhdm9pZCBzdWJ0 bGUgYnVncyBhbmQgZm9yIHRoZSBzYWtlIG9mIHJlYWRhYmlsaXR5LCBpdCdzIGJldHRlciB0 bworICAgICBpbml0aWFsaXplIGVudW0gbWVtYmVycyBleHBsaWNpdGx5IGV2ZW4gaWYgdGhl aXIgdmFsdWVzIGFyZSB6ZXJvLiAgKi8KICAgZi0+d2FudHNfbW9kZWxpbmUgPSAxOwotICBm LT5hdXRvX3JhaXNlID0gMDsKLSAgZi0+YXV0b19sb3dlciA9IDA7Ci0gIGYtPm5vX3NwbGl0 ID0gMDsKICAgZi0+Z2FyYmFnZWQgPSAxOwogICBmLT5oYXNfbWluaWJ1ZmZlciA9IG1pbmlf cDsKLSAgZi0+Zm9jdXNfZnJhbWUgPSBRbmlsOwotICBmLT5leHBsaWNpdF9uYW1lID0gMDsK LSAgZi0+Y2FuX2hhdmVfc2Nyb2xsX2JhcnMgPSAwOwogICBmLT52ZXJ0aWNhbF9zY3JvbGxf YmFyX3R5cGUgPSB2ZXJ0aWNhbF9zY3JvbGxfYmFyX25vbmU7Ci0gIGYtPnBhcmFtX2FsaXN0 ID0gUW5pbDsKLSAgZi0+c2Nyb2xsX2JhcnMgPSBRbmlsOwotICBmLT5jb25kZW1uZWRfc2Ny b2xsX2JhcnMgPSBRbmlsOwotICBmLT5mYWNlX2FsaXN0ID0gUW5pbDsKLSAgZi0+ZmFjZV9j YWNoZSA9IE5VTEw7Ci0gIGYtPm1lbnVfYmFyX2l0ZW1zID0gUW5pbDsKLSAgZi0+bWVudV9i YXJfdmVjdG9yID0gUW5pbDsKLSAgZi0+bWVudV9iYXJfaXRlbXNfdXNlZCA9IDA7Ci0gIGYt PmJ1ZmZlcl9wcmVkaWNhdGUgPSBRbmlsOwotICBmLT5idWZmZXJfbGlzdCA9IFFuaWw7Ci0g IGYtPmJ1cmllZF9idWZmZXJfbGlzdCA9IFFuaWw7Ci0gIGYtPm5hbWVidWYgPSAwOwotICBm LT50aXRsZSA9IFFuaWw7Ci0gIGYtPm1lbnVfYmFyX3dpbmRvdyA9IFFuaWw7Ci0gIGYtPnRv b2xfYmFyX3dpbmRvdyA9IFFuaWw7Ci0gIGYtPnRvb2xfYmFyX2l0ZW1zID0gUW5pbDsKLSAg Zi0+dG9vbF9iYXJfcG9zaXRpb24gPSBRdG9wOwotICBmLT5kZXNpcmVkX3Rvb2xfYmFyX3N0 cmluZyA9IGYtPmN1cnJlbnRfdG9vbF9iYXJfc3RyaW5nID0gUW5pbDsKLSAgZi0+bl90b29s X2Jhcl9pdGVtcyA9IDA7Ci0gIGYtPmxlZnRfZnJpbmdlX3dpZHRoID0gZi0+cmlnaHRfZnJp bmdlX3dpZHRoID0gMDsKLSAgZi0+ZnJpbmdlX2NvbHMgPSAwOwotICBmLT5tZW51X2Jhcl9s aW5lcyA9IDA7Ci0gIGYtPnRvb2xfYmFyX2xpbmVzID0gMDsKLSAgZi0+c2Nyb2xsX2Jhcl9h Y3R1YWxfd2lkdGggPSAwOwotICBmLT5ib3JkZXJfd2lkdGggPSAwOwotICBmLT5pbnRlcm5h bF9ib3JkZXJfd2lkdGggPSAwOwogICBmLT5jb2x1bW5fd2lkdGggPSAxOyAgLyogIUZSQU1F X1dJTkRPV19QIHZhbHVlICovCiAgIGYtPmxpbmVfaGVpZ2h0ID0gMTsgIC8qICFGUkFNRV9X SU5ET1dfUCB2YWx1ZSAqLwotICBmLT54X3BpeGVsc19kaWZmID0gZi0+eV9waXhlbHNfZGlm ZiA9IDA7CiAjaWZkZWYgSEFWRV9XSU5ET1dfU1lTVEVNCiAgIGYtPndhbnRfZnVsbHNjcmVl biA9IEZVTExTQ1JFRU5fTk9ORTsKICNlbmRpZgotICBmLT5zaXplX2hpbnRfZmxhZ3MgPSAw OwotICBmLT53aW5fZ3Jhdml0eSA9IDA7Ci0gIGYtPmZvbnRfZHJpdmVyX2xpc3QgPSBOVUxM OwotICBmLT5mb250X2RhdGFfbGlzdCA9IE5VTEw7CiAKICAgcm9vdF93aW5kb3cgPSBtYWtl X3dpbmRvdyAoKTsKICAgaWYgKG1pbmlfcCkKQEAgLTM5OSw4ICszNTksNiBAQAogICArK3dp bmRvd19zZWxlY3RfY291bnQ7CiAgIFhTRVRGQVNUSU5UIChYV0lORE9XIChmLT5zZWxlY3Rl ZF93aW5kb3cpLT51c2VfdGltZSwgd2luZG93X3NlbGVjdF9jb3VudCk7CiAKLSAgZi0+ZGVm YXVsdF9mYWNlX2RvbmVfcCA9IDA7Ci0KICAgcmV0dXJuIGY7CiB9CiAMCgo9PT0gbW9kaWZp ZWQgZmlsZSAnc3JjL3Byb2Nlc3MuYycKLS0tIHNyYy9wcm9jZXNzLmMJMjAxMi0wNi0yNCAy MDozNDo0OCArMDAwMAorKysgc3JjL3Byb2Nlc3MuYwkyMDEyLTA2LTI2IDA3OjE3OjU4ICsw MDAwCkBAIC02MjUsMzUgKzYyNSwxOCBAQAogICBwcmludG1heF90IGk7CiAKICAgcCA9IGFs bG9jYXRlX3Byb2Nlc3MgKCk7CisgIC8qIEluaXRpYWxpemUgTGlzcCBkYXRhLiAgTm90ZSB0 aGF0IGFsbG9jYXRlX3Byb2Nlc3MgaW5pdGlhbGl6ZXMgYWxsCisgICAgIExpc3AgZGF0YSB0 byBuaWwsIHNvIGRvIGl0IG9ubHkgZm9yIHNsb3RzIHdoaWNoIHNob3VsZCBub3QgYmUgbmls LiAgKi8KKyAgcC0+c3RhdHVzID0gUXJ1bjsKKyAgcC0+bWFyayA9IEZtYWtlX21hcmtlciAo KTsKIAorICAvKiBJbml0aWFsaXplIG5vbi1MaXNwIGRhdGEuICBOb3RlIHRoYXQgYWxsb2Nh dGVfcHJvY2VzcyB6ZXJvZXMgb3V0IGFsbAorICAgICBub24tTGlzcCBkYXRhLCBzbyBkbyBp dCBvbmx5IGZvciBzbG90cyB3aGljaCBzaG91bGQgbm90IGJlIHplcm8uICAqLwogICBwLT5p bmZkID0gLTE7CiAgIHAtPm91dGZkID0gLTE7Ci0gIHAtPnRpY2sgPSAwOwotICBwLT51cGRh dGVfdGljayA9IDA7Ci0gIHAtPnBpZCA9IDA7Ci0gIHAtPnB0eV9mbGFnID0gMDsKLSAgcC0+ cmF3X3N0YXR1c19uZXcgPSAwOwotICBwLT5zdGF0dXMgPSBRcnVuOwotICBwLT5tYXJrID0g Rm1ha2VfbWFya2VyICgpOwotICBwLT5raWxsX3dpdGhvdXRfcXVlcnkgPSAwOwotICBwLT53 cml0ZV9xdWV1ZSA9IFFuaWw7Ci0KLSNpZmRlZiBBREFQVElWRV9SRUFEX0JVRkZFUklORwot ICBwLT5hZGFwdGl2ZV9yZWFkX2J1ZmZlcmluZyA9IDA7Ci0gIHAtPnJlYWRfb3V0cHV0X2Rl bGF5ID0gMDsKLSAgcC0+cmVhZF9vdXRwdXRfc2tpcCA9IDA7Ci0jZW5kaWYKIAogI2lmZGVm IEhBVkVfR05VVExTCiAgIHAtPmdudXRsc19pbml0c3RhZ2UgPSBHTlVUTFNfU1RBR0VfRU1Q VFk7Ci0gIC8qIERlZmF1bHQgbG9nIGxldmVsLiAgKi8KLSAgcC0+Z251dGxzX2xvZ19sZXZl bCA9IDA7Ci0gIC8qIEdudVRMUyBoYW5kc2hha2VzIGF0dGVtcHRlZCBmb3IgdGhpcyBjb25u ZWN0aW9uLiAgKi8KLSAgcC0+Z251dGxzX2hhbmRzaGFrZXNfdHJpZWQgPSAwOwotICBwLT5n bnV0bHNfcCA9IDA7Ci0gIHAtPmdudXRsc19zdGF0ZSA9IE5VTEw7Ci0gIHAtPmdudXRsc194 NTA5X2NyZWQgPSBOVUxMOwotICBwLT5nbnV0bHNfYW5vbl9jcmVkID0gTlVMTDsKICNlbmRp ZgogCiAgIC8qIElmIG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UsIG1vZGlmeSBpdCB1bnRpbCBp dCBpcyB1bnVzZWQuICAqLwoKPT09IG1vZGlmaWVkIGZpbGUgJ3NyYy90ZXJtaW5hbC5jJwot LS0gc3JjL3Rlcm1pbmFsLmMJMjAxMi0wMS0xOSAwNzoyMToyNSArMDAwMAorKysgc3JjL3Rl cm1pbmFsLmMJMjAxMi0wNi0yNiAwNTo0Njo1MSArMDAwMApAQCAtMjI1LDcgKzIyNSw2IEBA CiAgIHN0cnVjdCB0ZXJtaW5hbCAqdGVybWluYWwgPSBhbGxvY2F0ZV90ZXJtaW5hbCAoKTsK ICAgTGlzcF9PYmplY3QgdGVybWluYWxfY29kaW5nLCBrZXlib2FyZF9jb2Rpbmc7CiAKLSAg dGVybWluYWwtPm5hbWUgPSBOVUxMOwogICB0ZXJtaW5hbC0+bmV4dF90ZXJtaW5hbCA9IHRl cm1pbmFsX2xpc3Q7CiAgIHRlcm1pbmFsX2xpc3QgPSB0ZXJtaW5hbDsKIApAQCAtMjU1LDkg KzI1NCw2IEBACiAgIHNldHVwX2NvZGluZ19zeXN0ZW0gKGtleWJvYXJkX2NvZGluZywgdGVy bWluYWwtPmtleWJvYXJkX2NvZGluZyk7CiAgIHNldHVwX2NvZGluZ19zeXN0ZW0gKHRlcm1p bmFsX2NvZGluZywgdGVybWluYWwtPnRlcm1pbmFsX2NvZGluZyk7CiAKLSAgdGVybWluYWwt PnBhcmFtX2FsaXN0ID0gUW5pbDsKLSAgdGVybWluYWwtPmNoYXJzZXRfbGlzdCA9IFFuaWw7 Ci0gIHRlcm1pbmFsLT5Wc2VsZWN0aW9uX2FsaXN0ID0gUW5pbDsKICAgcmV0dXJuIHRlcm1p bmFsOwogfQogCgo9PT0gbW9kaWZpZWQgZmlsZSAnc3JjL3dpbmRvdy5jJwotLS0gc3JjL3dp bmRvdy5jCTIwMTItMDYtMTkgMTY6NTY6MjggKzAwMDAKKysrIHNyYy93aW5kb3cuYwkyMDEy LTA2LTI2IDA3OjE3OjQwICswMDAwCkBAIC0zMjQyLDEzICszMjQyLDEyIEBACiB7CiAgIExp c3BfT2JqZWN0IHBhcmVudDsKICAgcmVnaXN0ZXIgc3RydWN0IHdpbmRvdyAqbywgKnA7Ci0g IGludCBpOwogCiAgIG8gPSBYV0lORE9XICh3aW5kb3cpOwogICBwID0gYWxsb2NhdGVfd2lu ZG93ICgpOwotICBmb3IgKGkgPSAwOyBpIDwgVkVDU0laRSAoc3RydWN0IHdpbmRvdyk7ICsr aSkKLSAgICAoKHN0cnVjdCBMaXNwX1ZlY3RvciAqKSBwKS0+Y29udGVudHNbaV0KLSAgICAg ID0gKChzdHJ1Y3QgTGlzcF9WZWN0b3IgKikgbyktPmNvbnRlbnRzW2ldOworICBtZW1jcHkg KChjaGFyICopIHAgKyBzaXplb2YgKHN0cnVjdCB2ZWN0b3JsaWtlX2hlYWRlciksIAorCSAg KGNoYXIgKikgbyArIHNpemVvZiAoc3RydWN0IHZlY3Rvcmxpa2VfaGVhZGVyKSwKKwkgIHNp emVvZiAoTGlzcF9PYmplY3QpICogVkVDU0laRSAoc3RydWN0IHdpbmRvdykpOwogICBYU0VU V0lORE9XIChwYXJlbnQsIHApOwogCiAgICsrc2VxdWVuY2VfbnVtYmVyOwpAQCAtMzI3Nywx MCArMzI3Niw4IEBACiAgIHJlZ2lzdGVyIHN0cnVjdCB3aW5kb3cgKnc7CiAKICAgdyA9IGFs bG9jYXRlX3dpbmRvdyAoKTsKLSAgLyogSW5pdGlhbGl6ZSBhbGwgTGlzcCBkYXRhLiAgKi8K LSAgdy0+ZnJhbWUgPSBRbmlsOwotICB3LT5taW5pID0gMDsKLSAgdy0+bmV4dCA9IHctPnBy ZXYgPSB3LT5oY2hpbGQgPSB3LT52Y2hpbGQgPSB3LT5wYXJlbnQgPSBRbmlsOworICAvKiBJ bml0aWFsaXplIExpc3AgZGF0YS4gIE5vdGUgdGhhdCBhbGxvY2F0ZV93aW5kb3cgaW5pdGlh bGl6ZXMgYWxsCisgICAgIExpc3AgZGF0YSB0byBuaWwsIHNvIGRvIGl0IG9ubHkgZm9yIHNs b3RzIHdoaWNoIHNob3VsZCBub3QgYmUgbmlsLiAgKi8KICAgWFNFVEZBU1RJTlQgKHctPmxl ZnRfY29sLCAwKTsKICAgWFNFVEZBU1RJTlQgKHctPnRvcF9saW5lLCAwKTsKICAgWFNFVEZB U1RJTlQgKHctPnRvdGFsX2xpbmVzLCAwKTsKQEAgLTMyODksNDcgKzMyODYsMjQgQEAKICAg dy0+bm9ybWFsX2NvbHMgPSBtYWtlX2Zsb2F0ICgxLjApOwogICBYU0VURkFTVElOVCAody0+ bmV3X3RvdGFsLCAwKTsKICAgWFNFVEZBU1RJTlQgKHctPm5ld19ub3JtYWwsIDApOwotICB3 LT5idWZmZXIgPSBRbmlsOwogICB3LT5zdGFydCA9IEZtYWtlX21hcmtlciAoKTsKICAgdy0+ cG9pbnRtID0gRm1ha2VfbWFya2VyICgpOwotICB3LT5mb3JjZV9zdGFydCA9IHctPm9wdGlv bmFsX25ld19zdGFydCA9IDA7CiAgIFhTRVRGQVNUSU5UICh3LT5oc2Nyb2xsLCAwKTsKICAg WFNFVEZBU1RJTlQgKHctPm1pbl9oc2Nyb2xsLCAwKTsKICAgWFNFVEZBU1RJTlQgKHctPnVz ZV90aW1lLCAwKTsKICAgKytzZXF1ZW5jZV9udW1iZXI7CiAgIFhTRVRGQVNUSU5UICh3LT5z ZXF1ZW5jZV9udW1iZXIsIHNlcXVlbmNlX251bWJlcik7Ci0gIHctPnRlbXNsb3QgPSB3LT5s YXN0X21vZGlmaWVkID0gdy0+bGFzdF9vdmVybGF5X21vZGlmaWVkID0gUW5pbDsKICAgWFNF VEZBU1RJTlQgKHctPmxhc3RfcG9pbnQsIDApOwotICB3LT5sYXN0X2hhZF9zdGFyID0gMDsK LSAgdy0+dmVydGljYWxfc2Nyb2xsX2JhciA9IFFuaWw7Ci0gIHctPmxlZnRfbWFyZ2luX2Nv bHMgPSB3LT5yaWdodF9tYXJnaW5fY29scyA9IFFuaWw7Ci0gIHctPmxlZnRfZnJpbmdlX3dp ZHRoID0gdy0+cmlnaHRfZnJpbmdlX3dpZHRoID0gUW5pbDsKLSAgdy0+ZnJpbmdlc19vdXRz aWRlX21hcmdpbnMgPSBRbmlsOwotICB3LT5zY3JvbGxfYmFyX3dpZHRoID0gUW5pbDsKICAg dy0+dmVydGljYWxfc2Nyb2xsX2Jhcl90eXBlID0gUXQ7CiAgIFhTRVRGQVNUSU5UICh3LT53 aW5kb3dfZW5kX3BvcywgMCk7CiAgIFhTRVRGQVNUSU5UICh3LT53aW5kb3dfZW5kX3Zwb3Ms IDApOwotICB3LT53aW5kb3dfZW5kX3ZhbGlkID0gdy0+ZGlzcGxheV90YWJsZSA9IFFuaWw7 Ci0gIHctPnVwZGF0ZV9tb2RlX2xpbmUgPSB3LT5zdGFydF9hdF9saW5lX2JlZyA9IDA7Ci0g IHctPmRlZGljYXRlZCA9IFFuaWw7Ci0gIHctPmJhc2VfbGluZV9udW1iZXIgPSB3LT5iYXNl X2xpbmVfcG9zID0gdy0+cmVnaW9uX3Nob3dpbmcgPSBRbmlsOwotICB3LT5jb2x1bW5fbnVt YmVyX2Rpc3BsYXllZCA9IHctPnJlZGlzcGxheV9lbmRfdHJpZ2dlciA9IFFuaWw7Ci0gIHct PmNvbWJpbmF0aW9uX2xpbWl0ID0gdy0+d2luZG93X3BhcmFtZXRlcnMgPSBRbmlsOwotICB3 LT5wcmV2X2J1ZmZlcnMgPSB3LT5uZXh0X2J1ZmZlcnMgPSBRbmlsOwotICAvKiBJbml0aWFs aXplIG5vbi1MaXNwIGRhdGEuICAqLwotICB3LT5kZXNpcmVkX21hdHJpeCA9IHctPmN1cnJl bnRfbWF0cml4ID0gMDsKKworICAvKiBJbml0aWFsaXplIG5vbi1MaXNwIGRhdGEuICBOb3Rl IHRoYXQgYWxsb2NhdGVfd2luZG93IHplcm9lcyBvdXQgYWxsCisgICAgIG5vbi1MaXNwIGRh dGEsIHNvIGRvIGl0IG9ubHkgZm9yIHNsb3RzIHdoaWNoIHNob3VsZCBub3QgYmUgemVyby4g ICovCiAgIHctPm5yb3dzX3NjYWxlX2ZhY3RvciA9IHctPm5jb2xzX3NjYWxlX2ZhY3RvciA9 IDE7Ci0gIG1lbXNldCAoJnctPmN1cnNvciwgMCwgc2l6ZW9mICh3LT5jdXJzb3IpKTsKLSAg bWVtc2V0ICgmdy0+bGFzdF9jdXJzb3IsIDAsIHNpemVvZiAody0+bGFzdF9jdXJzb3IpKTsK LSAgbWVtc2V0ICgmdy0+cGh5c19jdXJzb3IsIDAsIHNpemVvZiAody0+cGh5c19jdXJzb3Ip KTsKICAgdy0+cGh5c19jdXJzb3JfdHlwZSA9IC0xOwogICB3LT5waHlzX2N1cnNvcl93aWR0 aCA9IC0xOwotICB3LT5waHlzX2N1cnNvcl9vbl9wID0gMDsKLSAgdy0+bGFzdF9jdXJzb3Jf b2ZmX3AgPSB3LT5jdXJzb3Jfb2ZmX3AgPSAwOwotICB3LT5tdXN0X2JlX3VwZGF0ZWRfcCA9 IDA7Ci0gIHctPnBzZXVkb193aW5kb3dfcCA9IDA7Ci0gIHctPmZyb3plbl93aW5kb3dfc3Rh cnRfcCA9IDA7Ci0gIHctPnZzY3JvbGwgPSAwOworCiAgIC8qIFJlc2V0IHdpbmRvd19saXN0 LiAgKi8KICAgVndpbmRvd19saXN0ID0gUW5pbDsKICAgLyogUmV0dXJuIHdpbmRvdy4gICov Cgo= --------------080001070408040906070703--