Re: Patching latest TORCS changes in CVS
David Savinkoff <[email protected]> Tue, 28 Feb 2017 21:32:08 -0700 (MST)
| Newsgroups | gmane.games.torcs.general |
|---|---|
| Message-ID | <1432838956.57972581.1488342728404.JavaMail.zimbra@mailid.telus.net> |
------=_Part_57972578_240015899.1488342728400 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit ----- David Savinkoff wrote: > Here is a patch to play with. > Correctly combined longitudinal, lateral, and yaw tire friction forces. > (realistic and predictable vehicular response where the rubber meets the road) The latest improvements for CVS --> torcs-1.3.8.contact.2.patch The latest improvements for torcs 1.3.7 --> torcs-1.3.7.contact.3.patch ------=_Part_57972578_240015899.1488342728400 Content-Type: text/x-patch; name=torcs-1.3.8.contact.2.patch Content-Disposition: attachment; filename=torcs-1.3.8.contact.2.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzL3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRhLmNwcAky MDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3Mvc3JjL21vZHVsZXMv Z3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTctMDItMjQgMjA6Mzc6MjEuMjEy MDc1NTU4IC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQogCisvLyBDYWxjdWxh dGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4gZWZmaWNpZW50IGZv cm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwgdG8gYXogW2luIHJh ZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4wIGZvciBtb2RlcmF0 ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNoIGlzIGJlbmVhdGgg R0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXItPl95YXc7CiAgICAg Zm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBjYXItPl95YXc7Ci0g ICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBDb3N6ID0gY29zKGF6 KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+cHJpdi53aGVlbFtp XS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVlbFtpXS5yZWxQb3Mu eTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICogQ29zeiAtIHkgKiBT aW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7CisgICAgICAgIHRk YmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQorICAgICAgICB0ZGJs ZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0ZGJsZSBkdXggPSAt Y2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXItPl95YXdfcmF0ZSAq IHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENvc3ogLSBkdXkgKiBT aW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsKKyAgICAgICAgZHV4 ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7CiAgICAgICAgICAg ICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnggKyBk dXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLnkgKyBkdXk7 CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVsLno7CiAgICAgICAg IHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsKICAgICAgICAgd2hl ZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAgICAgICB3aGVlbFtp XS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVlbFtpXS5wWzJdID0g Y2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0tIHRvcmNzL3NyYy9t b2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3BwCTIwMTQtMDItMTAgMDM6MDk6 MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBo L2dyc2tpZG1hcmtzLmNwcAkyMDE3LTAyLTI0IDIwOjM3OjIxLjIxMzA3NTU3MCAtMDgwMApAQCAt MTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJaWYgKGNhci0+X3NraWRbaV0gPiAwLjFm KSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3NlbnNpdGl2aXR5KmNhci0+X3NraWRbaV0p OwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAuMGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9 IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsgLy8gbGluZWFyICh0YW5oIHJlbW92ZWQs IHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRk YmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5za2lkbWFya3MtPnN0cmlwc1tpXS5zbW9v dGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBACiAJCX0KIAogCQlpZiAoY2FyLT5wdWIu c3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2NsclszXSA+IDAuMWYpIHsKKwkgICAgCWlm IChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdvcmtzIGJldHRlciB0aGFuIDAuMSAvLyBz b21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/IQogICAgICAgICAgICAgICAgIAogCQkJ CWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAqIDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGlu Z19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNy0wMi0xMiAwOTo0NTo1Ny4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVz L3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNy0wMi0yNCAyMDozNzoyMS4yMTQwNzU1ODcgLTA4MDAK QEAgLTY0LDcgKzY0LDcgQEAKIAl9CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoY2FyLT5kaW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXIt PmRpbWVuc2lvbi56ICogY2FyLT5kaW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAv IChjYXItPm1hc3MgKiAoayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsg Y2FyLT5kaW1lbnNpb24ueiAqIGNhci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEy LjAgLyAoY2FyLT5tYXNzICogKGNhci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsg ayAqIGNhci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmln dXJlIGNvbXBvbmVudHMgKi8KQEAgLTE0NSwxMCArMTQ1LDcgQEAKIAl0Rm9yY2VzCUY7CiAJaW50 CQlpOwogCXRkYmxlCW0sIHcsIG1pbnY7Ci0JdGRibGUJdiwgUiwgUnYsIFJtLCBSeCwgUnksIFJ6 OwogCi0JY2FyLT5wcmVEeW5HQyA9IGNhci0+RHluR0NnOwotCQogCS8qIHRvdGFsIG1hc3MgKi8K IAltID0gY2FyLT5tYXNzICsgY2FyLT5mdWVsOwogCW1pbnYgPSAxLjAgLyBtOwpAQCAtMjAwLDM0 ICsxOTcsMTAgQEAKIAkJRi5NLnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ld Lnhwb3MgLSBjYXItPnN0YXRHQy54KTsKIAl9CiAJCQotCS8qIFJvbGxpbmcgUmVzaXN0YW5jZSAq LwotCXYgPSBjYXItPnNwZWVkOwotCVIgPSAwLjBmOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKysp IHsKLQkJUiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMWYp IHsKLQkJUnYgPSBSIC8gdjsKLQkJaWYgKChSdiAqIG1pbnYgKiBTaW1EZWx0YVRpbWUpID4gdikg ewotCQkJUnYgPSB2ICogbSAvIFNpbURlbHRhVGltZTsKLQkJfQotCX0gZWxzZSB7Ci0JCVJ2ID0g MC4wZjsKLQl9Ci0JUnggPSBSdiAqIGNhci0+RHluR0MudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+ RHluR0MudmVsLnk7Ci0JUnogPSBSdiAqIGNhci0+RHluR0MudmVsLno7Ci0JCi0JaWYgKChSICog Y2FyLT53aGVlbGJhc2UgLyAyLjAgKiBjYXItPklpbnYueikgPiBmYWJzKGNhci0+RHluR0NnLnZl bC5heikpIHsKLQkJUm0gPSBjYXItPkR5bkdDZy52ZWwuYXogLyBjYXItPklpbnYuejsKLQl9IGVs c2UgewotCQlSbSA9IFNJR04oY2FyLT5EeW5HQ2cudmVsLmF6KSAqIFIgKiBjYXItPndoZWVsYmFz ZSAvIDIuMDsKLQl9Ci0JCiAJLyogY29tcHV0ZSBhY2NlbGVyYXRpb25zICovCi0JY2FyLT5EeW5H Qy5hY2MueCA9IChGLkYueCAtIFJ4KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueSA9IChGLkYu eSAtIFJ5KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQy5hY2MueiA9IChGLkYueiAtIFJ6KSAqIG1pbnY7 CisJY2FyLT5EeW5HQy5hY2MueCA9IEYuRi54ICogbWludjsKKwljYXItPkR5bkdDLmFjYy55ID0g Ri5GLnkgKiBtaW52OworCWNhci0+RHluR0MuYWNjLnogPSBGLkYueiAqIG1pbnY7CiAJCiAJc2dW ZWMzIGFjY2VsID0ge2Nhci0+RHluR0MuYWNjLngsIGNhci0+RHluR0MuYWNjLnksIGNhci0+RHlu R0MuYWNjLnp9OwogCXNnWGZvcm1WZWMzKGFjY2VsLCBkc3QpOwpAQCAtMjM4LDcgKzIxMSw3IEBA CiAKIAljYXItPkR5bkdDZy5hY2MuYXggPSBjYXItPkR5bkdDLmFjYy5heCA9IEYuTS54ICogY2Fy LT5JaW52Lng7CiAJY2FyLT5EeW5HQ2cuYWNjLmF5ID0gY2FyLT5EeW5HQy5hY2MuYXkgPSBGLk0u eSAqIGNhci0+SWludi55OwotCWNhci0+RHluR0NnLmFjYy5heiA9IGNhci0+RHluR0MuYWNjLmF6 ID0gKEYuTS56IC0gUm0pICogY2FyLT5JaW52Lno7CisJY2FyLT5EeW5HQ2cuYWNjLmF6ID0gY2Fy LT5EeW5HQy5hY2MuYXogKz0gRi5NLnogKiBjYXItPklpbnYuejsgLy8gKz0gc2VlIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVwZGF0ZSgpCiB9CiAKIHN0YXRp YyB2b2lkCkBAIC0yNTYsNyArMjI5LDE1IEBACiAJaWYgKGZhYnMoY2FyLT5EeW5HQ2cudmVsLmF6 KSA+IDkuMCkgewogCQljYXItPkR5bkdDZy52ZWwuYXogPSBTSUdOKGNhci0+RHluR0NnLnZlbC5h eikgKiA5LjA7CiAJfQotCQkKKworCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3RhdGlvbmFyeSBj YXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNhci0+RHluR0Nn LnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkgKworCQljYXIt PkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJeworCQljYXItPkR5 bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52ZWwuYXogPSAw LjBmOworCX0KKwogCWNhci0+RHluR0MudmVsLmF4ID0gY2FyLT5EeW5HQ2cudmVsLmF4OwogCWNh ci0+RHluR0MudmVsLmF5ID0gY2FyLT5EeW5HQ2cudmVsLmF5OwogCWNhci0+RHluR0MudmVsLmF6 ID0gY2FyLT5EeW5HQ2cudmVsLmF6OwotLS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv c2ltdS5jcHAJMjAxNy0wMi0xOSAwNTowOTowMC4wMDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwCTIwMTctMDItMjQgMjA6Mzc6MjEuMjE1MDc1 NjAwIC0wODAwCkBAIC0zODUsNiArMzg1LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7 CiAJCQl9CiAJCQlDSEVDSyhjYXIpOworCQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBz ZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBk YXRlRm9yY2UoKQogCQkJZm9yIChpID0gMDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRh dGVGb3JjZShjYXIsIGkpOwogCQkJCVNpbVdoZWVsVXBkYXRlVGlyZShjYXIsIGkpOwotLS0gdG9y Y3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNy0wMS0xNSAwNDo1MjoxNi4w MDAwMDAwMDAgLTA4MDAKKysrIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3N1c3AuY3Bw CTIwMTctMDItMjQgMjA6Mzc6MjEuMjE2MDc1NjE4IC0wODAwCkBAIC0xMDcsOSArMTA3LDkgQEAK IAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNyYW5rOwotCWlmIChzdXNwLT54 ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+PSBzdXNwLT5zcHJpbmcueE1h eCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkKIAkJc3VzcC0+eCA9IHN1c3At PnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQX0VYVDsKKwkJc3VzcC0+c3Rh dGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0ZWQgYWxzbwogCX0KIH0KIAot LS0gdG9yY3Mvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvd2hlZWwuY3BwCTIwMTctMDItMTMgMTU6 NTE6MDcuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93 aGVlbC5jcHAJMjAxNy0wMi0yNCAyMDozNzoyMS4yMTcwNzU2MTkgLTA4MDAKQEAgLTQ3LDkgKzQ3 LDkgQEAKIAlDYSAgICAgICAgICAgICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxT ZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciopTlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAg ICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RP UiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdl dE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAu N2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNl Y3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZN aW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xP QURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7Ci0Jd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQ YXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxM LCB3aGVlbC0+d2VpZ2h0MCAqIDEuMmYpOworCXdoZWVsLT5sZk1heCAgICAgICAgICA9IEdmUGFy bUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChjaGFyKilOVUxM LCAxLjRmKTsKKwl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hl ZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMS4wZik7CisJd2hlZWwt Pm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVlbC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwt Pm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBS TV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYpOwogCQogCXdoZWVsLT5sZk1pbiA9IE1JTigwLjhm LCB3aGVlbC0+bGZNaW4pOwpAQCAtMjEzLDEyICsyMTMsMTIgQEAKIHsKIAl0V2hlZWwgKndoZWVs ID0gJihjYXItPndoZWVsW2luZGV4XSk7CiAJdGRibGUgYXhsZUZ6ID0gd2hlZWwtPmF4bGVGejsK LQl0ZGJsZSB2dCwgdiwgdjIsIHdybDsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxvY2l0eQorCXRkYmxl IHZ0LCB2biwgdiwgdjIsIHdybCwgc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMGY7IC8vIHdoZWVs IHJlbGF0ZWQgdmVsb2NpdHkKIAl0ZGJsZSBGbiwgRnQ7CiAJdGRibGUgd2F6OwotCXRkYmxlIENv c0EsIFNpbkE7Ci0JdGRibGUgcywgc2EsIHN4LCBzeTsgLy8gc2xpcCB2ZWN0b3IKLQl0ZGJsZSBz dG1wLCBGLCBCeDsKKwlkb3VibGUgQ29zQSwgU2luQTsKKwl0ZGJsZSBzLCBzeCwgc3ksIHNhejsg Ly8gc2xpcCB2ZWN0b3IKKwl0ZGJsZSBGLCBCeDsKIAl0ZGJsZSBtdTsKIAl3aGVlbC0+c3RhdGUg PSAwOwogCkBAIC0yNDgsNDQgKzI0OCw0NSBAQAogCX0KIAogCS8vIEhPUklaT05UQUwgRk9SQ0VT Ci0Jd2F6ID0gd2hlZWwtPnN0ZWVyICsgd2hlZWwtPnN0YXRpY1Bvcy5hejsKKwl3YXogPSB3aGVl bC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6IC0gKFNpbURlbHRhVGltZSpjYXItPkR5bkdD LnZlbC5heiAvKiBhY2NvdW50IGZvciB5YXcgaW5kdWNlZCB3aGVlbCBkaXJlY3Rpb24gKi8pOwog CUNvc0EgPSBjb3Mod2F6KTsKIAlTaW5BID0gc2luKHdheik7CiAKIAkvLyB0YW5nZW50IHZlbG9j aXR5LgogCXZ0ID0gd2hlZWwtPmJvZHlWZWwueCAqIENvc0EgKyB3aGVlbC0+Ym9keVZlbC55ICog U2luQTsKKwl2biA9IHdoZWVsLT5ib2R5VmVsLnkgKiBDb3NBIC0gd2hlZWwtPmJvZHlWZWwueCAq IFNpbkE7CiAJdjIgPSB3aGVlbC0+Ym9keVZlbC54ICogd2hlZWwtPmJvZHlWZWwueCArIHdoZWVs LT5ib2R5VmVsLnkgKiB3aGVlbC0+Ym9keVZlbC55OwotCXYgPSBzcXJ0KHYyKTsKKwl2ID0gc3Fy dGYodjIpOwogCi0JLy8gc2xpcCBhbmdsZQotCWlmICh2IDwgMC4wMDAwMDFmKSB7Ci0JCXNhID0g MC4wZjsKLQl9IGVsc2UgewotCQlzYSA9IGF0YW4yKHdoZWVsLT5ib2R5VmVsLnksIHdoZWVsLT5i b2R5VmVsLngpIC0gd2F6OworCXdybCA9IHdoZWVsLT5zcGluVmVsICogd2hlZWwtPnJhZGl1czsK KworCWlmIChmYWJzZih2dCAtIHdybCkgPD0gMC4xZikgeyAvLyBBZGRzIG51bWVyaWNhbCBzdGFi aWxpdHkgYnkgY2F0Y2hpbmcgYWRoZXNpb24KKwkJdnQgPSB3cmw7CiAJfQotCU5PUk1fUElfUEko c2EpOwogCi0Jd3JsID0gd2hlZWwtPnNwaW5WZWwgKiB3aGVlbC0+cmFkaXVzOwogCWlmICgod2hl ZWwtPnN0YXRlICYgU0lNX1dIX09OQUlSKSAhPSAwKSB7Ci0JCXN4ID0gc3kgPSAwLjBmOwotCX0g ZWxzZSBpZiAodiA8IDAuMDAwMDAxZikgewotCQlzeCA9IHdybDsKLQkJc3kgPSAwLjBmOworCQlz eCA9IHN5ID0gc2F6ID0gMC4wZjsKIAl9IGVsc2UgewotCQlzeCA9ICh2dCAtIHdybCkgLyBmYWJz KHZ0KTsKLQkJc3kgPSBzaW4oc2EpOworCQkvLyBDT01CSU5FRCBMT05HSVRVRElOQUwsIExBVEVS QUwsIGFuZCBZQVdJTkcgVElSRSBTTElQIEZPUkNFUzoKKwkJLy8gTm9ybWFsaXplIHRoZSBmcmlj dGlvbiBjaXJjbGUgdG8gZ2V0IG5vcm1hbGl6ZWQgdmVjdG9yIGNvbXBvbmVudHMgKHN4LCBzeSkg d2hpbGUKKwkJLy8gYnJha2luZyAodnQpLCBhY2NlbGVyYXRpbmcgKHdybCksIG9yIHdoZWVsIGNv dW50ZXIgc3BpbiAodnQgLSB3cmwpIGZvciBhbnkgYW5nbGUuCisJCS8vIHNheiBzbGlwIHNwZWVk IGFjY291bnRzIGZvciByb3RhdGluZyB0aGUgY29udGFjdCBwYXRjaCAoeWF3KS4gKiBhZGQgc3Rl ZXJpbmcgc3BlZWQgYW5kIHNlbGYgYWxpZ25pbmcgdG9ycXVlLgorCQlzYXogPSAoMS4xZiozLjE0 MTZmKSAqIGNhci0+RHluR0MudmVsLmF6ICogY2FyLT5jYXJFbHQtPl90aXJlV2lkdGgoaW5kZXgp OyAvLyB5YXcgc2xpcCBzcGVlZC4KKwkJc2xpcF9tYWduaXR1ZGUgPSAwLjAwMDAwMWYgKyAvKiBT b2Z0ZW5pbmcgZmFjdG9yIDAuMDAwMDAxIHByZXZlbnRzIGRpdmlkZSBieSB6ZXJvICovCisJCQkJ c3FydCggTUFYKE1BWCgodjIgKyBzYXoqc2F6KSwgKHZuKnZuICsgd3JsKndybCArIHNheipzYXop KSwgKHZuKnZuICsgKHZ0IC0gd3JsKSoodnQgLSB3cmwpICsgc2F6KnNheikpICk7CisJCXN4ID0g KHZ0IC0gd3JsKSAvIHNsaXBfbWFnbml0dWRlOworCQlzeSA9IHZuIC8gc2xpcF9tYWduaXR1ZGU7 CisJCXNheiAvPSBzbGlwX21hZ25pdHVkZTsKIAl9Ci0JCi0JRnQgPSAwLjBmOwotCUZuID0gMC4w ZjsKLQlzID0gc3FydChzeCpzeCtzeSpzeSk7CisKKwlzID0gc3FydGYoc3gqc3grc3kqc3krc2F6 KnNheik7CiAKIAl7Ci0JCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9uIGZvciBzb3Vu ZC4KLQkJaWYgKHYgPCAyLjBmKSB7CisJCS8vIGNhbGN1bGF0ZSBfc2tpZCBhbmQgX3JlYWN0aW9u IGZvciBzb3VuZCAoc3VzcGljaW91c2x5OyBhZmZlY3RzIHRyYWN0aW9uIGFsc28pLgorCQlpZiAo KHYgPCAwLjAxZikgfHwgKHpmb3JjZSA8IDAuMDAyZikpIHsKIAkJCWNhci0+Y2FyRWx0LT5fc2tp ZFtpbmRleF0gPSAwLjBmOwogCQl9IGVsc2UgewotCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4 XSA9ICBNSU4oMS4wZiwgKHMqemZvcmNlKjAuMDAwMmYpKTsKKwkJCWNhci0+Y2FyRWx0LT5fc2tp ZFtpbmRleF0gPSBzOyAvLyBsaW5lYXIgKHRhbmggcmVtb3ZlZCBpbiBncnNraWRtYXJrcy5jcHAp CiAJCX0KIAl9CiAKQEAgLTI5OSw0NyArMzAwLDQ4IEBACiAJCWNhbWJlckRlbHRhID0gY2FzdGVy Q2FtYmVyOwogCX0KIAotCXN0bXAgPSBNSU4ocywgMS41Zik7Ci0JCi0JLy8gTUFHSUMgRk9STVVM QQotCUJ4ID0gd2hlZWwtPm1mQiAqIHN0bXA7Ci0JRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihC eCAqICgxLjBmIC0gd2hlZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBm ICsgc3RtcCAqIHNpbVNraWRGYWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CisJLy8g TUFHSUMgRk9STVVMQSAvLyBOb3RlOiBGID0gc2luKC4uLikgYmVsb3cgcmV0dXJucyBub3JtYWxp emVkIGZvcmNlIQorCUJ4ID0gd2hlZWwtPm1mQiAqIHM7CisJRiA9IHNpbih3aGVlbC0+bWZDICog YXRhbihCeCAqICgxLjBmIC0gd2hlZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAq ICgxLjBmICsgcyAqIHNpbVNraWRGYWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CiAK IAkvLyBsb2FkIHNlbnNpdGl2aXR5CiAJbXUgPSB3aGVlbC0+bXUgKiAod2hlZWwtPmxmTWluICsg KHdoZWVsLT5sZk1heCAtIHdoZWVsLT5sZk1pbikgKiBleHAod2hlZWwtPmxmSyAqIHpmb3JjZSAv IHdoZWVsLT5vcExvYWQpKTsKIAogCUYgKj0gemZvcmNlICogbXUgKiB3aGVlbC0+dHJrUG9zLnNl Zy0+c3VyZmFjZS0+a0ZyaWN0aW9uICogKDEuMGYgKyAwLjA1ZiAqIHNpbigoLXdoZWVsLT5zdGF0 aWNQb3MuYXggKyBjYW1iZXJEZWx0YSkgKiAxOC4wZikpOwkvKiBjb2VmZiAqLwogCUYgKj0gd2hl ZWwtPmN1cnJlbnRHcmlwRmFjdG9yOwotCQorCiAJd2hlZWwtPnJvbGxSZXMgPSB6Zm9yY2UgKiB3 aGVlbC0+dHJrUG9zLnNlZy0+c3VyZmFjZS0+a1JvbGxSZXM7Ci0gICAgY2FyLT5jYXJFbHQtPnBy aXYud2hlZWxbaW5kZXhdLnJvbGxSZXMgPSB3aGVlbC0+cm9sbFJlczsKKwkvLyB3aGVlbCBheGlz IGJhc2VkCisJcyArPSAwLjAwMDAwMWY7IC8vIGFkZCAwLjAwMDAwMSB0byBhdm9pZCBkaXZpZGUg YnkgemVybyBsYXRlci4KKwlGdCA9IC0oRiAtIHdoZWVsLT5yb2xsUmVzKSAqIHN4L3M7IC8vIHJv bGxpbmcgcmVzaXN0YW5jZSBpcyB0aGUgcm9sbGluZyB2ZWN0b3IgY29tcG9uZW50IG9ubHkuCisJ Rm4gPSAtRiAqIHN5L3M7CiAKLQlpZiAocyA+IDAuMDAwMDAxZikgewotCQkvLyB3aGVlbCBheGlz IGJhc2VkCi0JCUZ0IC09IEYgKiBzeCAvIHM7Ci0JCUZuIC09IEYgKiBzeSAvIHM7Ci0JfQorCWNh ci0+RHluR0MuYWNjLmF6ICs9IC1GICogc2F6L3MgKiBTaW1EZWx0YVRpbWUgKiBjYXItPklpbnYu ejsgLy8gc2VlIHRvcmNzL3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3NpbXUuY3BwIDo6IFNpbVVw ZGF0ZSgpCiAKLQlSRUxBWEFUSU9OMihGbiwgd2hlZWwtPnByZUZuLCA1MC4wZik7Ci0JUkVMQVhB VElPTjIoRnQsIHdoZWVsLT5wcmVGdCwgNTAuMGYpOworCXdoZWVsLT5yb2xsUmVzICo9IGZhYnNm KHN4L3MpOyAvLyBub3QgdXNlZCAocmVtb3ZlZCBmcm9tIC9zcmMvbW9kdWxlcy9zaW11L3NpbXV2 Mi9jYXIuY3BwKQorCWNhci0+Y2FyRWx0LT5wcml2LndoZWVsW2luZGV4XS5yb2xsUmVzID0gd2hl ZWwtPnJvbGxSZXM7IC8vIG5vdCB1c2VkIGluIC9zcmMvbW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBo L0NhclNvdW5kRGF0YS5jcHAKKworCXdheiA9IHdoZWVsLT5zdGVlciArIHdoZWVsLT5zdGF0aWNQ b3MuYXo7IC8qIGRvbid0IGluY2x1ZGUgeWF3IGluZHVjZWQgd2hlZWwgZGlyZWN0aW9uIGhlcmUg Ki8KKwlDb3NBID0gY29zKHdheik7CisJU2luQSA9IHNpbih3YXopOwogCiAJd2hlZWwtPnJlbFBv cy5heiA9IHdhejsKIAkKIAl3aGVlbC0+Zm9yY2VzLnggPSBGdCAqIENvc0EgLSBGbiAqIFNpbkE7 CiAJd2hlZWwtPmZvcmNlcy55ID0gRnQgKiBTaW5BICsgRm4gKiBDb3NBOwogCXdoZWVsLT5zcGlu VHEgPSBGdCAqIHdoZWVsLT5yYWRpdXM7Ci0Jd2hlZWwtPnNhID0gc2E7CisJd2hlZWwtPnNhID0g YXRhbjIod2hlZWwtPmJvZHlWZWwueSwgd2hlZWwtPmJvZHlWZWwueCkgLSB3YXo7CiAJd2hlZWwt PnN4ID0gc3g7CiAKIAl3aGVlbC0+dGlyZVpGb3JjZSA9IHpmb3JjZTsKLQl3aGVlbC0+dGlyZVNs aXAgPSBzdG1wOworCXdoZWVsLT50aXJlU2xpcCA9IHM7CiAKIAl3aGVlbC0+ZmVlZEJhY2suc3Bp blZlbCA9IHdoZWVsLT5zcGluVmVsOwogCXdoZWVsLT5mZWVkQmFjay5UcSA9IHdoZWVsLT5zcGlu VHE7CiAJd2hlZWwtPmZlZWRCYWNrLmJya1RxID0gd2hlZWwtPmJyYWtlLlRxOwogCi0JY2FyLT5j YXJFbHQtPl93aGVlbFNsaXBTaWRlKGluZGV4KSA9IHN5KnY7Ci0JY2FyLT5jYXJFbHQtPl93aGVl bFNsaXBBY2NlbChpbmRleCkgPSBzeCp2OworCWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwU2lkZShp bmRleCkgPSB2biooMS4wZi1zeSk7IC8vIHdoZWVsIG5vcm1hbCBhZGhlc2lvbiB2ZWxvY2l0eQor CWNhci0+Y2FyRWx0LT5fd2hlZWxTbGlwQWNjZWwoaW5kZXgpID0gdnQqKDEuMGYtc3gpOyAvLyB3 aGVlbCB0YW5nZW50IGFkaGVzaW9uIHZlbG9jaXR5CiAJY2FyLT5jYXJFbHQtPl9yZWFjdGlvbltp bmRleF0gPSB6Zm9yY2U7CiB9CiAKQEAgLTM1NCw4ICszNTYsNiBAQAogCQl3aGVlbCA9ICYoY2Fy LT53aGVlbFtpXSk7CiAJCXdoZWVsLT5zcGluVmVsID0gd2hlZWwtPmluLnNwaW5WZWw7CiAKLQkJ UkVMQVhBVElPTjIod2hlZWwtPnNwaW5WZWwsIHdoZWVsLT5wcmVzcGluVmVsLCA1MC4wZik7Ci0K IAkJd2hlZWwtPnJlbFBvcy5heSArPSB3aGVlbC0+c3BpblZlbCAqIFNpbURlbHRhVGltZTsKIAkJ Tk9STV9QSV9QSSh3aGVlbC0+cmVsUG9zLmF5KTsKIAkJY2FyLT5jYXJFbHQtPl93aGVlbFNwaW5W ZWwoaSkgPSB3aGVlbC0+c3BpblZlbDsK ------=_Part_57972578_240015899.1488342728400 Content-Type: text/x-patch; name=torcs-1.3.7.contact.3.patch Content-Disposition: attachment; filename=torcs-1.3.7.contact.3.patch Content-Transfer-Encoding: base64 LS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvQ2FyU291bmREYXRh LmNwcAkyMDE0LTAyLTEwIDAzOjE2OjE4LjAwMDAwMDAwMCAtMDgwMAorKysgdG9yY3MtMS4zLjcv c3JjL21vZHVsZXMvZ3JhcGhpYy9zc2dncmFwaC9DYXJTb3VuZERhdGEuY3BwCTIwMTYtMTEtMjMg MTE6MTg6MTQuNjM3NDAyNjIxIC0wODAwCkBAIC0zMTUsMjkgKzMxNSwzMCBAQAogCiAgICAgfQog CisvLyBDYWxjdWxhdGUgcm9hZC10aXJlIGNvbnRhY3Qgbm9pc2UgcG9zaXRpb25zIHdpdGggYW4g ZWZmaWNpZW50IGZvcm11bGEuCisvLyBub3RlIHRoYXQgc2luKGF6KSBpcyBuZWFybHkgZXF1YWwg dG8gYXogW2luIHJhZGlhbnNdLgorLy8gbm90ZSB0aGF0IGNvcyhheikgaXMgY2xvc2UgdG8gMS4w IGZvciBtb2RlcmF0ZSB5YXcgYW5nbGVzLgorLy8gbm90ZSB0aGF0IHRoZSBjb250YWN0IHBhdGNo IGlzIGJlbmVhdGggR0MgKGFwcHJveCAtMC4zIG1ldHJlcykuCisgICAgdGRibGUgYXogPSBjYXIt Pl95YXc7CiAgICAgZm9yIChpID0gMDsgaTw0OyBpKyspIHsKLSAgICAgICAgdGRibGUgYXogPSBj YXItPl95YXc7Ci0gICAgICAgIHRkYmxlIFNpbnogPSBzaW4oYXopOwotICAgICAgICB0ZGJsZSBD b3N6ID0gY29zKGF6KTsKLSAgICAgICAgICAgICAgICAKICAgICAgICAgdGRibGUgeCA9IGNhci0+ cHJpdi53aGVlbFtpXS5yZWxQb3MueDsKICAgICAgICAgdGRibGUgeSA9IGNhci0+cHJpdi53aGVl bFtpXS5yZWxQb3MueTsKICAgICAgICAgICAgICAgICAKLSAgICAgICAgdGRibGUgZHggPSB4ICog Q29zeiAtIHkgKiBTaW56OwotICAgICAgICB0ZGJsZSBkeSA9IHggKiBTaW56ICsgeSAqIENvc3o7 CisgICAgICAgIHRkYmxlIGR4ID0geCAtIHkqYXo7IC8vIHgqY29zKGF6KSAtIHkqc2luKGF6KQor ICAgICAgICB0ZGJsZSBkeSA9IHgqYXogKyB5OwogICAgICAgICAgICAgICAgIAogICAgICAgICB0 ZGJsZSBkdXggPSAtY2FyLT5feWF3X3JhdGUgKiB5OwogICAgICAgICB0ZGJsZSBkdXkgPSBjYXIt Pl95YXdfcmF0ZSAqIHg7CiAgICAgICAgICAgICAgICAgCi0gICAgICAgIGR1eCA9IGR1eCAqIENv c3ogLSBkdXkgKiBTaW56OwotICAgICAgICBkdXkgPSBkdXggKiBTaW56ICsgZHV5ICogQ29zejsK KyAgICAgICAgZHV4ID0gZHV4IC0gZHV5KmF6OworICAgICAgICBkdXkgPSBkdXgqYXogKyBkdXk7 CiAgICAgICAgICAgICAgICAgCiAgICAgICAgIHdoZWVsW2ldLnVbMF0gPSBjYXItPnB1Yi5EeW5H Q2cudmVsLnggKyBkdXg7CiAgICAgICAgIHdoZWVsW2ldLnVbMV0gPSBjYXItPnB1Yi5EeW5HQ2cu dmVsLnkgKyBkdXk7CiAgICAgICAgIHdoZWVsW2ldLnVbMl0gPSBjYXItPnB1Yi5EeW5HQ2cudmVs Lno7CiAgICAgICAgIHdoZWVsW2ldLnBbMF0gPSBjYXItPnB1Yi5EeW5HQ2cucG9zLnggKyBkeDsK ICAgICAgICAgd2hlZWxbaV0ucFsxXSA9IGNhci0+cHViLkR5bkdDZy5wb3MueSArIGR5OwotICAg ICAgICB3aGVlbFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56OworICAgICAgICB3aGVl bFtpXS5wWzJdID0gY2FyLT5wdWIuRHluR0NnLnBvcy56IC0gMC4zZjsKICAgICB9CiB9CiAKLS0t IHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL2dyYXBoaWMvc3NnZ3JhcGgvZ3Jza2lkbWFya3MuY3Bw CTIwMTQtMDItMTAgMDM6MDk6MzYuMDAwMDAwMDAwIC0wODAwCisrKyB0b3Jjcy0xLjMuNy9zcmMv bW9kdWxlcy9ncmFwaGljL3NzZ2dyYXBoL2dyc2tpZG1hcmtzLmNwcAkyMDE2LTExLTIzIDExOjE4 OjE0LjYzODQwMjYwMyAtMDgwMApAQCAtMTk5LDExICsxOTksNyBAQAogCQkJfQogCQl9CiAKLQkJ aWYgKGNhci0+X3NraWRbaV0gPiAwLjFmKSB7Ci0JCQljdXJfY2xyWzNdID0gdGFuaChza2lkX3Nl bnNpdGl2aXR5KmNhci0+X3NraWRbaV0pOwotCQl9IGVsc2UgewotCQkJY3VyX2NsclszXSA9IDAu MGY7Ci0JCX0KKwkJY3VyX2NsclszXSA9IHNraWRfc2Vuc2l0aXZpdHkqY2FyLT5fc2tpZFtpXTsg Ly8gbGluZWFyICh0YW5oIHJlbW92ZWQsIHNlZSB3aGVlbC5jcHApCiAKIAkJZm9yIChpbnQgYyA9 IDA7IGMgPCAzOyBjKyspIHsKIAkJCXRkYmxlIHRtcCA9IGdyQ2FySW5mb1tjYXItPmluZGV4XS5z a2lkbWFya3MtPnN0cmlwc1tpXS5zbW9vdGhfY29sb3VyW2NdOwpAQCAtMjE2LDcgKzIxMiw3IEBA CiAJCX0KIAogCQlpZiAoY2FyLT5wdWIuc3BlZWQgPiAxLjBmKSB7Ci0JICAgIAlpZiAoY3VyX2Ns clszXSA+IDAuMWYpIHsKKwkgICAgCWlmIChjdXJfY2xyWzNdID4gMC4xZikgeyAvLyAwLjA2IHdv cmtzIGJldHRlciB0aGFuIDAuMSAvLyBzb21ldGhpbmcgaGVyZSBpbXByb3ZlcyB0cmFjdGlvbiA/ IQogICAgICAgICAgICAgICAgIAogCQkJCWJhc2V2dHggPSBuZXcgc3NnVmVydGV4QXJyYXkoNCAq IDIgKyAxKTsKIAkJCQl0ZGJsZSBzbGluZ19sZWZ0ID0gMC4wZjsKLS0tIHRvcmNzLTEuMy43L3Ny Yy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJMjAxNi0wNS0xNiAxNTo1MzowNy4wMDAwMDAw MDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL2Nhci5jcHAJ MjAxNi0xMS0yMyAxMToxODoxNC42NDQ0MDI1MDMgLTA4MDAKQEAgLTY0LDcgKzY0LDcgQEAKIAl9 CiAJayA9IGsgKiBrOwogCWNhci0+SWludi54ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueSAqIGNhci0+ZGltZW5zaW9uLnkgKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOwotCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoY2FyLT5k aW1lbnNpb24ueCAqIGNhci0+ZGltZW5zaW9uLnggKyBjYXItPmRpbWVuc2lvbi56ICogY2FyLT5k aW1lbnNpb24ueikpOworCWNhci0+SWludi55ID0gMTIuMCAvIChjYXItPm1hc3MgKiAoayAqIGNh ci0+ZGltZW5zaW9uLnggKiBjYXItPmRpbWVuc2lvbi54ICsgY2FyLT5kaW1lbnNpb24ueiAqIGNh ci0+ZGltZW5zaW9uLnopKTsKIAljYXItPklpbnYueiA9IDEyLjAgLyAoY2FyLT5tYXNzICogKGNh ci0+ZGltZW5zaW9uLnkgKiBjYXItPmRpbWVuc2lvbi55ICsgayAqIGNhci0+ZGltZW5zaW9uLngg KiBjYXItPmRpbWVuc2lvbi54KSk7CiAJCiAJLyogY29uZmlndXJlIGNvbXBvbmVudHMgKi8KQEAg LTE0Niw3ICsxNDYsNiBAQAogCXRkYmxlCW0sIHcsIG1pbnY7CiAJdGRibGUJU2luVGhldGE7CiAJ dGRibGUJQ29zeiwgU2luejsKLQl0ZGJsZQl2LCBSLCBSdiwgUm0sIFJ4LCBSeTsKIAkKIAlDb3N6 ID0gY2FyLT5Db3N6ID0gY29zKGNhci0+RHluR0NnLnBvcy5heik7CiAJU2lueiA9IGNhci0+U2lu eiA9IHNpbihjYXItPkR5bkdDZy5wb3MuYXopOwpAQCAtMTk5LDQxICsxOTgsMTggQEAKIAkJRi5N LnkgLT0gY2FyLT5hZXJvLmxpZnRbaV0gKiAoY2FyLT5heGxlW2ldLnhwb3MgLSBjYXItPnN0YXRH Qy54KTsKIAl9CiAJCi0JLyogUm9sbGluZyBSZXNpc3RhbmNlICovCi0JdiA9IHNxcnQoY2FyLT5E eW5HQ2cudmVsLnggKiBjYXItPkR5bkdDZy52ZWwueCArIGNhci0+RHluR0NnLnZlbC55ICogY2Fy LT5EeW5HQ2cudmVsLnkpOwotCVIgPSAwOwotCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKLQkJ UiArPSBjYXItPndoZWVsW2ldLnJvbGxSZXM7Ci0JfQotCWlmICh2ID4gMC4wMDAwMSkgewotCQlS diA9IFIgLyB2OwotCQlpZiAoKFJ2ICogbWludiAqIFNpbURlbHRhVGltZSkgPiB2KSB7Ci0JCQlS diA9IHYgKiBtIC8gU2ltRGVsdGFUaW1lOwotCQl9Ci0JfSBlbHNlIHsKLQkJUnYgPSAwOwotCX0K LQlSeCA9IFJ2ICogY2FyLT5EeW5HQ2cudmVsLng7Ci0JUnkgPSBSdiAqIGNhci0+RHluR0NnLnZl bC55OwotCQotCWlmICgoUiAqIGNhci0+d2hlZWxiYXNlIC8gMi4wICogY2FyLT5JaW52LnopID4g ZmFicyhjYXItPkR5bkdDZy52ZWwuYXopKSB7Ci0JCVJtID0gY2FyLT5EeW5HQ2cudmVsLmF6IC8g Y2FyLT5JaW52Lno7Ci0JfSBlbHNlIHsKLQkJUm0gPSBTSUdOKGNhci0+RHluR0NnLnZlbC5heikg KiBSICogY2FyLT53aGVlbGJhc2UgLyAyLjA7Ci0JfQotCQogCS8qIGNvbXB1dGUgYWNjZWxlcmF0 aW9ucyAqLwogCWNhci0+RHluR0MuYWNjLnggPSBGLkYueCAqIG1pbnY7CiAJY2FyLT5EeW5HQy5h Y2MueSA9IEYuRi55ICogbWludjsKIAljYXItPkR5bkdDLmFjYy56ID0gRi5GLnogKiBtaW52Owog CQotCWNhci0+RHluR0NnLmFjYy54ID0gKEYuRi54ICogQ29zeiAtIEYuRi55ICogU2lueiAtIFJ4 KSAqIG1pbnY7Ci0JY2FyLT5EeW5HQ2cuYWNjLnkgPSAoRi5GLnggKiBTaW56ICsgRi5GLnkgKiBD b3N6IC0gUnkpICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueCA9IChGLkYueCAqIENvc3ogLSBG LkYueSAqIFNpbnopICogbWludjsKKwljYXItPkR5bkdDZy5hY2MueSA9IChGLkYueCAqIFNpbnog KyBGLkYueSAqIENvc3opICogbWludjsKIAljYXItPkR5bkdDZy5hY2MueiA9IGNhci0+RHluR0Mu YWNjLno7CiAJCiAJY2FyLT5EeW5HQ2cuYWNjLmF4ID0gY2FyLT5EeW5HQy5hY2MuYXggPSBGLk0u eCAqIGNhci0+SWludi54OwogCWNhci0+RHluR0NnLmFjYy5heSA9IGNhci0+RHluR0MuYWNjLmF5 ID0gRi5NLnkgKiBjYXItPklpbnYueTsKLQljYXItPkR5bkdDZy5hY2MuYXogPSBjYXItPkR5bkdD LmFjYy5heiA9IChGLk0ueiAtIFJtKSAqIGNhci0+SWludi56OworCWNhci0+RHluR0NnLmFjYy5h eiA9IGNhci0+RHluR0MuYWNjLmF6ICs9IEYuTS56ICogY2FyLT5JaW52Lno7IC8vICs9IHNlZSB0 b3Jjcy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9zaW11LmNwcCA6OiBTaW1VcGRhdGUoKSAKIH0K IAogc3RhdGljIHZvaWQKQEAgLTI1Niw3ICsyMzIsMTUgQEAKIAlpZiAoZmFicyhjYXItPkR5bkdD Zy52ZWwuYXopID4gOS4wKSB7CiAJCWNhci0+RHluR0NnLnZlbC5heiA9IFNJR04oY2FyLT5EeW5H Q2cudmVsLmF6KSAqIDkuMDsKIAl9Ci0JCQorCQorCS8qIEZJWE1FOiBIYWNrIHRvIHN0b3Agc3Rh dGlvbmFyeSBjYXIgZnJvbSByb3RhdGluZyAqLworCWlmICgoCWNhci0+RHluR0NnLnZlbC54KmNh ci0+RHluR0NnLnZlbC54ICsKKwkJY2FyLT5EeW5HQ2cudmVsLnkqY2FyLT5EeW5HQ2cudmVsLnkg KworCQljYXItPkR5bkdDZy52ZWwueipjYXItPkR5bkdDZy52ZWwueikgPCAwLjAxZiApCisJewor CQljYXItPkR5bkdDZy52ZWwuYXggPSBjYXItPkR5bkdDZy52ZWwuYXkgPSBjYXItPkR5bkdDZy52 ZWwuYXogPSAwLjBmOworCX0KKwkKIAljYXItPkR5bkdDLnZlbC5heCA9IGNhci0+RHluR0NnLnZl bC5heDsKIAljYXItPkR5bkdDLnZlbC5heSA9IGNhci0+RHluR0NnLnZlbC5heTsKIAljYXItPkR5 bkdDLnZlbC5heiA9IGNhci0+RHluR0NnLnZlbC5hejsKLS0tIHRvcmNzLTEuMy43L3NyYy9tb2R1 bGVzL3NpbXUvc2ltdXYyL2NvbGxpZGUuY3BwCTIwMTQtMDQtMTIgMDY6NTU6MjkuMDAwMDAwMDAw IC0wNzAwCisrKyB0b3Jjcy0xLjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi9jb2xsaWRlLmNw cAkyMDE2LTExLTIzIDExOjE4OjE0LjY0NjQwMjQ0MiAtMDgwMApAQCAtMzcsNyArMzcsNyBAQAog CWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKIAkJd2hlZWwgPSAmKGNhci0+d2hlZWxbaV0pOwog CQlpZiAod2hlZWwtPnN0YXRlICYgU0lNX1NVU1BfQ09NUCkgewotCQkJY2FyLT5EeW5HQ2cucG9z LnogKz0gd2hlZWwtPnN1c3Auc3ByaW5nLnBhY2tlcnMgLSB3aGVlbC0+cmlkZUhlaWdodDsKKwkJ CWNhci0+RHluR0NnLnBvcy56ICs9IDAuMjVmKih3aGVlbC0+c3VzcC5zcHJpbmcucGFja2VycyAt IHdoZWVsLT5yaWRlSGVpZ2h0KTsgLy8gbGV2ZXJhZ2Ugb2YgNCB3aGVlbHMKIAkJCVJ0VHJhY2tT dXJmYWNlTm9ybWFsTCgmKHdoZWVsLT50cmtQb3MpLCAmbm9ybWFsKTsKIAkJCWRvdFByb2QgPSAo Y2FyLT5EeW5HQ2cudmVsLnggKiBub3JtYWwueCArIGNhci0+RHluR0NnLnZlbC55ICogbm9ybWFs LnkgKyBjYXItPkR5bkdDZy52ZWwueiAqIG5vcm1hbC56KSAqIHdoZWVsLT50cmtQb3Muc2VnLT5z dXJmYWNlLT5rUmVib3VuZDsKIAkJCWlmIChkb3RQcm9kIDwgMC4wZikgewotLS0gdG9yY3MtMS4z Ljcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc2ltdS5jcHAJMjAxNi0xMC0xNCAyMTo1MDoxMS4w MDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3NpbXUvc2ltdXYyL3Np bXUuY3BwCTIwMTYtMTEtMjMgMTE6MTg6MTQuNjQ3NDAyNDEzIC0wODAwCkBAIC0zODAsNiArMzgw LDcgQEAKIAkJCQlTaW1BeGxlVXBkYXRlKGNhciwgaSk7CiAJCQl9CiAJCQlDSEVDSyhjYXIpOwor CQkJY2FyLT5EeW5HQy5hY2MuYXogPSAwLjBmOyAvLyBzZWUgdG9yY3Mvc3JjL21vZHVsZXMvc2lt dS9zaW11djIvd2hlZWwuY3BwIDo6IFNpbVdoZWVsVXBkYXRlRm9yY2UoKQogCQkJZm9yIChpID0g MDsgaSA8IDQ7IGkrKyl7CiAJCQkJU2ltV2hlZWxVcGRhdGVGb3JjZShjYXIsIGkpOwogCQkJfQot LS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIvc3VzcC5jcHAJMjAxNi0wMy0x OSAwNzo0NzowNS4wMDAwMDAwMDAgLTA3MDAKKysrIHRvcmNzLTEuMy43L3NyYy9tb2R1bGVzL3Np bXUvc2ltdXYyL3N1c3AuY3BwCTIwMTYtMTEtMjMgMTE6MTg6MTQuNjQ4NDAyMzg2IC0wODAwCkBA IC0xMDcsOSArMTA3LDkgQEAKIAl9CiAJCiAJc3VzcC0+eCAqPSBzdXNwLT5zcHJpbmcuYmVsbGNy YW5rOwotCWlmIChzdXNwLT54ID4gc3VzcC0+c3ByaW5nLnhNYXgpIHsKKwlpZiAoc3VzcC0+eCA+ PSBzdXNwLT5zcHJpbmcueE1heCkgeyAvLyBUZXN0ZWQgT0sgd2l0aCAnPj0nIChTRCByNjAyMCkK IAkJc3VzcC0+eCA9IHN1c3AtPnNwcmluZy54TWF4OwotCQlzdXNwLT5zdGF0ZSA9IFNJTV9TVVNQ X0VYVDsKKwkJc3VzcC0+c3RhdGUgPSBTSU1fU1VTUF9FWFQ7IC8vIHN1c3AtPnN0YXRlIHVwZGF0 ZWQgYWxzbwogCX0KIH0KIAotLS0gdG9yY3MtMS4zLjcvc3JjL21vZHVsZXMvc2ltdS9zaW11djIv d2hlZWwuY3BwCTIwMTYtMDUtMTYgMTU6NTM6MDcuMDAwMDAwMDAwIC0wNzAwCisrKyB0b3Jjcy0x LjMuNy9zcmMvbW9kdWxlcy9zaW11L3NpbXV2Mi93aGVlbC5jcHAJMjAxNi0xMS0yMyAxMToxODox NC42NDk0MDIzNjEgLTA4MDAKQEAgLTQ2LDggKzQ2LDggQEAKIAlDYSAgICAgICAgICAgICAgICAg ICAgPSBHZlBhcm1HZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0NBLCAoY2hhciop TlVMTCwgMzAuMGYpOwogCVJGYWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxl LCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fUkZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuOGYpOwogCUVG YWN0b3IgICAgICAgICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhd LCBQUk1fRUZBQ1RPUiwgKGNoYXIqKU5VTEwsIDAuN2YpOwotCXdoZWVsLT5sZk1heCAgICAgICAg ICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZNQVgsIChj aGFyKilOVUxMLCAxLjZmKTsKLQl3aGVlbC0+bGZNaW4gICAgICAgICAgPSBHZlBhcm1HZXROdW0o aGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX0xPQURGTUlOLCAoY2hhciopTlVMTCwgMC44Zik7 CisJd2hlZWwtPmxmTWF4ICAgICAgICAgID0gR2ZQYXJtR2V0TnVtKGhkbGUsIFdoZWVsU2VjdFtp bmRleF0sIFBSTV9MT0FERk1BWCwgKGNoYXIqKU5VTEwsIDEuNGYpOworCXdoZWVsLT5sZk1pbiAg ICAgICAgICA9IEdmUGFybUdldE51bShoZGxlLCBXaGVlbFNlY3RbaW5kZXhdLCBQUk1fTE9BREZN SU4sIChjaGFyKilOVUxMLCAxLjBmKTsKLQl3aGVlbC0+b3BMb2FkICAgICAgICAgPSBHZlBhcm1H ZXROdW0oaGRsZSwgV2hlZWxTZWN0W2luZGV4XSwgUFJNX09QTE9BRCwgKGNoYXIqKU5VTEwsIHdo ZWVsLT53ZWlnaHQwICogMS4yZik7CisJd2hlZWwtPm9wTG9hZCAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9PUExPQUQsIChjaGFyKilOVUxMLCB3aGVl bC0+d2VpZ2h0MCAqIDEuNjE4Zik7CiAJd2hlZWwtPm1hc3MgICAgICAgICAgID0gR2ZQYXJtR2V0 TnVtKGhkbGUsIFdoZWVsU2VjdFtpbmRleF0sIFBSTV9NQVNTLCAoY2hhciopTlVMTCwgMjAuMGYp OwogCkBAIC0xNzQsMTIgKzE3NCwxMiBAQAogewogCXRXaGVlbCAqd2hlZWwgPSAmKGNhci0+d2hl ZWxbaW5kZXhdKTsKIAl0ZGJsZSBheGxlRnogPSB3aGVlbC0+YXhsZUZ6OwotCXRkYmxlIHZ0LCB2 LCB2Miwgd3JsOyAvLyB3aGVlbCByZWxhdGVkIHZlbG9jaXR5CisJdGRibGUgdnQsIHZuLCB2LCB2 Miwgd3JsLCBzbGlwX21hZ25pdHVkZSA9IDAuMDAwMDAwZjsgLy8gd2hlZWwgcmVsYXRlZCB2ZWxv Y2l0eQogCXRkYmxlIEZuLCBGdDsKIAl0ZGJsZSB3YXo7Ci0JdGRibGUgQ29zQSwgU2luQTsKLQl0 ZGJsZSBzLCBzYSwgc3gsIHN5OyAvLyBzbGlwIHZlY3RvcgotCXRkYmxlIHN0bXAsIEYsIEJ4Owor CWRvdWJsZSBDb3NBLCBTaW5BOworCXRkYmxlIHMsIHN4LCBzeSwgc2F6OyAvLyBzbGlwIHZlY3Rv cgorCXRkYmxlIEYsIEJ4OwogCXRkYmxlIG11OwogCXdoZWVsLT5zdGF0ZSA9IDA7CiAKQEAgLTIw OSw1MiArMjA5LDUxIEBACiAJfQogCiAJLy8gSE9SSVpPTlRBTCBGT1JDRVMKLQl3YXogPSB3aGVl bC0+c3RlZXIgKyB3aGVlbC0+c3RhdGljUG9zLmF6OworCXdheiA9IHdoZWVsLT5zdGVlciArIHdo ZWVsLT5zdGF0aWNQb3MuYXogLSAoU2ltRGVsdGFUaW1lKmNhci0+RHluR0MudmVsLmF6IC8qIGFj Y291bnQgZm9yIHlhdyBpbmR1Y2VkIHdoZWVsIGRpcmVjdGlvbiAqLyk7CiAJQ29zQSA9IGNvcyh3 YXopOwogCVNpbkEgPSBzaW4od2F6KTsKIAogCS8vIHRhbmdlbnQgdmVsb2NpdHkuCiAJdnQgPSB3 aGVlbC0+Ym9keVZlbC54ICogQ29zQSArIHdoZWVsLT5ib2R5VmVsLnkgKiBTaW5BOworCXZuID0g d2hlZWwtPmJvZHlWZWwueSAqIENvc0EgLSB3aGVlbC0+Ym9keVZlbC54ICogU2luQTsKIAl2MiA9 IHdoZWVsLT5ib2R5VmVsLnggKiB3aGVlbC0+Ym9keVZlbC54ICsgd2hlZWwtPmJvZHlWZWwueSAq IHdoZWVsLT5ib2R5VmVsLnk7Ci0JdiA9IHNxcnQodjIpOworCXYgPSBzcXJ0Zih2Mik7CiAKLQkv LyBzbGlwIGFuZ2xlCi0JaWYgKHYgPCAwLjAwMDAwMWYpIHsKLQkJc2EgPSAwLjBmOwotCX0gZWxz ZSB7Ci0JCXNhID0gYXRhbjIod2hlZWwtPmJvZHlWZWwueSwgd2hlZWwtPmJvZHlWZWwueCkgLSB3 YXo7CisJd3JsID0gd2hlZWwtPnNwaW5WZWwgKiB3aGVlbC0+cmFkaXVzOworCisJaWYgKGZhYnNm KHZ0IC0gd3JsKSA8PSAwLjFmKSB7IC8vIEFkZHMgbnVtZXJpY2FsIHN0YWJpbGl0eSBieSBjYXRj aGluZyBhZGhlc2lvbgorCQl2dCA9IHdybDsKIAl9Ci0JTk9STV9QSV9QSShzYSk7CiAKLQl3cmwg PSB3aGVlbC0+c3BpblZlbCAqIHdoZWVsLT5yYWRpdXM7CiAJaWYgKCh3aGVlbC0+c3RhdGUgJiBT SU1fV0hfT05BSVIpICE9IDApIHsKLQkJc3ggPSBzeSA9IDAuMGY7Ci0JfSBlbHNlIGlmICh2IDwg MC4wMDAwMDFmKSB7Ci0JCXN4ID0gd3JsOwotCQlzeSA9IDAuMGY7CisJCXN4ID0gc3kgPSBzYXog PSAwLjBmOwogCX0gZWxzZSB7Ci0JCXN4ID0gKHZ0IC0gd3JsKSAvIGZhYnModnQpOwotCQlzeSA9 IHNpbihzYSk7CisJCS8vIENPTUJJTkVEIExPTkdJVFVESU5BTCwgTEFURVJBTCwgYW5kIFlBV0lO RyBUSVJFIFNMSVAgRk9SQ0VTOgorCQkvLyBOb3JtYWxpemUgdGhlIGZyaWN0aW9uIGNpcmNsZSB0 byBnZXQgbm9ybWFsaXplZCB2ZWN0b3IgY29tcG9uZW50cyAoc3gsIHN5KSB3aGlsZQorCQkvLyBi cmFraW5nICh2dCksIGFjY2VsZXJhdGluZyAod3JsKSwgb3Igd2hlZWwgY291bnRlciBzcGluICh2 dCAtIHdybCkgZm9yIGFueSBhbmdsZS4KKwkJLy8gc2F6IHNsaXAgc3BlZWQgYWNjb3VudHMgZm9y IHJvdGF0aW5nIHRoZSBjb250YWN0IHBhdGNoICh5YXcpLiAqIGFkZCBzdGVlcmluZyBzcGVlZCBh bmQgc2VsZiBhbGlnbmluZyB0b3JxdWUuCisJCXNheiA9ICgxLjFmKjMuMTQxNmYpICogY2FyLT5E eW5HQy52ZWwuYXogKiBjYXItPmNhckVsdC0+X3RpcmVXaWR0aChpbmRleCk7IC8vIHlhd2luZyBz bGlwIHNwZWVkLgorCQlzbGlwX21hZ25pdHVkZSA9IDAuMDAwMDAxZiArIC8qIFNvZnRlbmluZyBm YWN0b3IgMC4wMDAwMDEgcHJldmVudHMgZGl2aWRlIGJ5IHplcm8gKi8KKwkJCQlzcXJ0KCBNQVgo TUFYKCh2MiArIHNheipzYXopLCAodm4qdm4gKyB3cmwqd3JsICsgc2F6KnNheikpLCAodm4qdm4g KyAodnQgLSB3cmwpKih2dCAtIHdybCkgKyBzYXoqc2F6KSkgKTsKKwkJc3ggPSAodnQgLSB3cmwp IC8gc2xpcF9tYWduaXR1ZGU7CisJCXN5ID0gdm4gLyBzbGlwX21hZ25pdHVkZTsKKwkJc2F6IC89 IHNsaXBfbWFnbml0dWRlOwogCX0KIAotCUZ0ID0gMC4wZjsKLQlGbiA9IDAuMGY7Ci0JcyA9IHNx cnQoc3gqc3grc3kqc3kpOworCXMgPSBzcXJ0ZihzeCpzeCtzeSpzeStzYXoqc2F6KTsKIAogCXsK LQkJLy8gY2FsY3VsYXRlIF9za2lkIGFuZCBfcmVhY3Rpb24gZm9yIHNvdW5kLgotCQlpZiAodiA8 IDIuMGYpIHsKKwkJLy8gY2FsY3VsYXRlIF9za2lkIGFuZCBfcmVhY3Rpb24gZm9yIHNvdW5kIChz dXNwaWNpb3VzbHk7IGFmZmVjdHMgdHJhY3Rpb24gYWxzbykuCisJCWlmICgodiA8IDAuMDFmKSB8 fCAoemZvcmNlIDwgMC4wMDJmKSkgewogCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9IDAu MGY7CiAJCX0gZWxzZSB7Ci0JCQljYXItPmNhckVsdC0+X3NraWRbaW5kZXhdID0gIE1JTigxLjBm LCAocyp6Zm9yY2UqMC4wMDAyZikpOworCQkJY2FyLT5jYXJFbHQtPl9za2lkW2luZGV4XSA9IHM7 IC8vIGxpbmVhciAodGFuaCByZW1vdmVkIGluIGdyc2tpZG1hcmtzLmNwcCkKIAkJfQogCX0KIAot CXN0bXAgPSBNSU4ocywgMS41Zik7Ci0JCi0JLy8gTUFHSUMgRk9STVVMQQotCUJ4ID0gd2hlZWwt Pm1mQiAqIHN0bXA7Ci0JRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBmIC0gd2hl ZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgc3RtcCAqIHNpbVNr aWRGYWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CisJLy8gTUFHSUMgRk9STVVMQSAv LyBOb3RlOiBGID0gc2luKC4uLikgYmVsb3cgcmV0dXJucyBub3JtYWxpemVkIGZvcmNlIQorCUJ4 ID0gd2hlZWwtPm1mQiAqIHM7CisJRiA9IHNpbih3aGVlbC0+bWZDICogYXRhbihCeCAqICgxLjBm IC0gd2hlZWwtPm1mRSkgKyB3aGVlbC0+bWZFICogYXRhbihCeCkpKSAqICgxLjBmICsgcyAqIHNp bVNraWRGYWN0b3JbY2FyLT5jYXJFbHQtPl9za2lsbExldmVsXSk7CiAKIAkvLyBsb2FkIHNlbnNp dGl2aXR5CiAJbXUgPSB3aGVlbC0+bXUgKiAod2hlZWwtPmxmTWluICsgKHdoZWVsLT5sZk1heCAt IHdoZWVsLT5sZk1pbikgKiBleHAod2hlZWwtPmxmSyAqIHpmb3JjZSAvIHdoZWVsLT5vcExvYWQp KTsKQEAgLTI2MiwzMSArMjYxLDM1IEBACiAJRiAqPSB6Zm9yY2UgKiBtdSAqIHdoZWVsLT50cmtQ b3Muc2VnLT5zdXJmYWNlLT5rRnJpY3Rpb24gKiAoMS4wZiArIDAuMDVmICogc2luKC13aGVlbC0+ c3RhdGljUG9zLmF4ICogMTguMGYpKTsJLyogY29lZmYgKi8KIAogCXdoZWVsLT5yb2xsUmVzID0g emZvcmNlICogd2hlZWwtPnRya1Bvcy5zZWctPnN1cmZhY2UtPmtSb2xsUmVzOwotICAgIGNhci0+ Y2FyRWx0LT5wcml2LndoZWVsW2luZGV4XS5yb2xsUmVzID0gd2hlZWwtPnJvbGxSZXM7CiAKLQlp ZiAocyA+IDAuMDAwMDAxZikgewotCQkvLyB3aGVlbCBheGlzIGJhc2VkCi0JCUZ0IC09IEYgKiBz eCAvIHM7Ci0JCUZuIC09IEYgKiBzeSAvIHM7Ci0JfQorCS8vIHdoZWVsIGF4aXMgYmFzZWQKKwlz ICs9IDAuMDAwMDAxZjsgLy8gYWRkIDAuMDAwMDAxIHRvIGF2b2lkIGRpdmlkZSBieSB6ZXJvIGxh dGVyLgorCUZ0ID0gLShGIC0gd2hlZWwtPnJvbGxSZXMpICogc3gvczsgLy8gcm9sbGluZyByZXNp c3RhbmNlIGlzIHRoZSByb2xsaW5nIHZlY3RvciBjb21wb25lbnQgb25seS4KKwlGbiA9IC1GICog c3kvczsKIAotCVJFTEFYQVRJT04yKEZuLCB3aGVlbC0+cHJlRm4sIDUwLjBmKTsKLQlSRUxBWEFU SU9OMihGdCwgd2hlZWwtPnByZUZ0LCA1MC4wZik7CisJY2FyLT5EeW5HQy5hY2MuYXogKz0gLUYg KiBzYXovcyAqIFNpbURlbHRhVGltZSAqIGNhci0+SWludi56OyAvLyBzZWUgdG9yY3Mvc3JjL21v ZHVsZXMvc2ltdS9zaW11djIvc2ltdS5jcHAgOjogU2ltVXBkYXRlKCkKKworCXdoZWVsLT5yb2xs UmVzICo9IGZhYnNmKHN4L3MpOyAvLyBub3QgdXNlZCAocmVtb3ZlZCBmcm9tIC9zcmMvbW9kdWxl cy9zaW11L3NpbXV2Mi9jYXIuY3BwKQorCWNhci0+Y2FyRWx0LT5wcml2LndoZWVsW2luZGV4XS5y b2xsUmVzID0gd2hlZWwtPnJvbGxSZXM7IC8vIG5vdCB1c2VkIGluIC9zcmMvbW9kdWxlcy9ncmFw aGljL3NzZ2dyYXBoL0NhclNvdW5kRGF0YS5jcHAKKworCXdheiA9IHdoZWVsLT5zdGVlciArIHdo ZWVsLT5zdGF0aWNQb3MuYXo7IC8qIGRvbid0IGluY2x1ZGUgeWF3IGluZHVjZWQgd2hlZWwgZGly ZWN0aW9uIGhlcmUgKi8KKwlDb3NBID0gY29zKHdheik7CisJU2luQSA9IHNpbih3YXopOwogCiAJ d2hlZWwtPnJlbFBvcy5heiA9IHdhejsKIAogCXdoZWVsLT5mb3JjZXMueCA9IEZ0ICogQ29zQSAt IEZuICogU2luQTsKIAl3aGVlbC0+Zm9yY2VzLnkgPSBGdCAqIFNpbkEgKyBGbiAqIENvc0E7CiAJ d2hlZWwtPnNwaW5UcSA9IEZ0ICogd2hlZWwtPnJhZGl1czsKLQl3aGVlbC0+c2EgPSBzYTsKKwl3 aGVlbC0+c2EgPSBhdGFuMih3aGVlbC0+Ym9keVZlbC55LCB3aGVlbC0+Ym9keVZlbC54KSAtIHdh ejsKIAl3aGVlbC0+c3ggPSBzeDsKIAogCXdoZWVsLT5mZWVkQmFjay5zcGluVmVsID0gd2hlZWwt PnNwaW5WZWw7CiAJd2hlZWwtPmZlZWRCYWNrLlRxID0gd2hlZWwtPnNwaW5UcTsKIAl3aGVlbC0+ ZmVlZEJhY2suYnJrVHEgPSB3aGVlbC0+YnJha2UuVHE7CiAKLQljYXItPmNhckVsdC0+X3doZWVs U2xpcFNpZGUoaW5kZXgpID0gc3kqdjsKLQljYXItPmNhckVsdC0+X3doZWVsU2xpcEFjY2VsKGlu ZGV4KSA9IHN4KnY7CisJY2FyLT5jYXJFbHQtPl93aGVlbFNsaXBTaWRlKGluZGV4KSA9IHZuKigx LjBmLXN5KTsgLy8gd2hlZWwgbm9ybWFsIGFkaGVzaW9uIHZlbG9jaXR5CisJY2FyLT5jYXJFbHQt Pl93aGVlbFNsaXBBY2NlbChpbmRleCkgPSB2dCooMS4wZi1zeCk7IC8vIHdoZWVsIHRhbmdlbnQg YWRoZXNpb24gdmVsb2NpdHkKIAljYXItPmNhckVsdC0+X3JlYWN0aW9uW2luZGV4XSA9IHpmb3Jj ZTsKIH0KIApAQCAtMzAxLDggKzMwNCw2IEBACiAJCXdoZWVsID0gJihjYXItPndoZWVsW2ldKTsK IAkJd2hlZWwtPnNwaW5WZWwgPSB3aGVlbC0+aW4uc3BpblZlbDsKIAotCQlSRUxBWEFUSU9OMih3 aGVlbC0+c3BpblZlbCwgd2hlZWwtPnByZXNwaW5WZWwsIDUwLjBmKTsKLQogCQl3aGVlbC0+cmVs UG9zLmF5ICs9IHdoZWVsLT5zcGluVmVsICogU2ltRGVsdGFUaW1lOwogCQlOT1JNX1BJX1BJKHdo ZWVsLT5yZWxQb3MuYXkpOwogCQljYXItPmNhckVsdC0+X3doZWVsU3BpblZlbChpKSA9IHdoZWVs LT5zcGluVmVsOwo= ------=_Part_57972578_240015899.1488342728400 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot ------=_Part_57972578_240015899.1488342728400 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Torcs-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/torcs-users ------=_Part_57972578_240015899.1488342728400--