From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <13426df10611201155v2266fe4fya406e45c2874cbfa@mail.gmail.com> Date: Mon, 20 Nov 2006 12:55:37 -0700 From: "ron minnich" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_4068_19904291.1164052537953" Subject: [9fans] for your viewing pleasure: pbslba with comments Topicbox-Message-UUID: e2b981bc-ead1-11e9-9d60-3106f5b1d025 ------=_Part_4068_19904291.1164052537953 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline I thought some folks out there might enjoy this, I am just messing around with pbs a bit, and wanted to make sure I understood it. Corrections weclome. I hope this 13K value-add to your inbox is acceptable :-) I just figure this early ugly stuff is something we need to really know about. Sorry if this annoys anyone, but I hope some of you enjoy it. thanks ron ------=_Part_4068_19904291.1164052537953 X-Attachment-Id: f_eurb944p Content-Type: multipart/mixed; boundary="upas-wbobgppsrnubzplstcymuazhqp" Content-Disposition: inline This is a multi-part message in MIME format. --upas-wbobgppsrnubzplstcymuazhqp Content-Disposition: inline Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit from postmaster@ethel: The following attachment had content that we can't prove to be harmless. To avoid possible automatic execution, we changed the content headers. The original header was: Content-Type: application/octet-stream; name=newpbslba.s Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="newpbslba.s" --upas-wbobgppsrnubzplstcymuazhqp Content-Type: application/octet-stream Content-Disposition: attachment; filename="newpbslba.s.suspect" Content-Transfer-Encoding: base64 LyoKICogRkFUIFBhcnRpdGlvbiBCb290IFNlY3Rvci4gTG9hZGVkIGF0IDB4N0MwMDoKICoJOGEg bmV3cGJzbGJhLnM7IDhsIC1vIG5ld3Bic2xiYSAtbCAtSDMgLVQweDdDMDAgbmV3cGJzbGJhLjgK ICogV2lsbCBsb2FkIHRoZSB0YXJnZXQgYXQgTE9BRFNFRyoxNitMT0FET0ZGLCBzbyB0aGUgdGFy Z2V0CiAqIHNob3VsZCBiZSBwcm9iYWJseSBiZSBsb2FkZWQgd2l0aCBMT0FET0ZGIGFkZGVkIHRv IHRoZQogKiAtVGFkZHJlc3MuCiAqIElmIExPQURTRUcgaXMgYSBtdWx0aXBsZSBvZiA2NEtCIGFu ZCBMT0FET0ZGIGlzIDAgdGhlbgogKiB0YXJnZXRzIGxhcmdlciB0aGFuIDY0S0IgY2FuIGJlIGxv YWRlZC4KICoKICogVGhpcyBjb2RlIGlzIHVzZXMgRW5oYW5jZWQgQklPUyBTZXJ2aWNlcyBmb3Ig RGlzYyBEcml2ZXMgYW5kCiAqIGNhbiBiZSB1c2VkIHdpdGggZGlzY3MgdXAgdG8gMTM3R0IgaW4g Y2FwYWNpdHkuCiAqCiAqIEl0IHJlbGllcyBvbiB0aGUgX3ZvbGlkIGZpZWxkIGluIHRoZSBGQVQg aGVhZGVyIGNvbnRhaW5pbmcKICogdGhlIExCQSBvZiB0aGUgcm9vdCBkaXJlY3RvcnkuCiAqLwoj aW5jbHVkZSAieDE2LmgiCiNpbmNsdWRlICJtZW0uaCIKCiNkZWZpbmUgTE9BRFNFRwkJKDB4MTAw MDAvMTYpCS8qIHdoZXJlIHRvIGxvYWQgY29kZSAoNjRLQikgKi8KI2RlZmluZSBMT0FET0ZGCQkw CiNkZWZpbmUgRElST0ZGCQkweDAyMDAJCS8qIHdoZXJlIHRvIHJlYWQgdGhlIHJvb3QgZGlyZWN0 b3J5ICovCgovKgogKiBGQVQgZGlyZWN0b3J5IGVudHJ5LgogKi8KI2RlZmluZSBEbmFtZQkJMHgw MAojZGVmaW5lIERleHQJCTB4MDgKI2RlZmluZSBEYXR0cgkJMHgwQgojZGVmaW5lIER0aW1lCQkw eDE2CiNkZWZpbmUgRGRhdGUJCTB4MTgKI2RlZmluZSBEc3RhcnQJCTB4MUEKI2RlZmluZSBEbGVu Z3RobG8JMHgxQwojZGVmaW5lIERsZW5ndGhoaQkweDFFCgojZGVmaW5lIERpcnN6CQkweDIwCgov KgogKiBEYXRhIGlzIGtlcHQgb24gdGhlIHN0YWNrLCBpbmRleGVkIGJ5IHJCUC4gTm90ZSB0aGF0 IERBUCBpcyAxNiBieXRlcy4gCiAqLwojZGVmaW5lIFhkYXAJCTB4MDAJCS8qIGRpc2MgYWRkcmVz cyBwYWNrZXQgKi8KI2RlZmluZSBYcm9vdHN6CQkweDEwCQkvKiBmaWxlIGRhdGEgYXJlYSAqLwoj ZGVmaW5lIFhkcml2ZQkJMHgxMgkJLyogYm9vdCBkcml2ZSwgcGFzc2VkIGJ5IEJJT1Mgb3IgTUJS ICovCiNkZWZpbmUgWHRvdGFsCQkweDE0CQkvKiBzdW0gb2YgYWxsb2NhdGVkIGRhdGEgYWJvdmUg Ki8KCiNpZmRlZiBDT01NRU5UIApJQk0vTVMgSU5UIDEzIEV4dGVuc2lvbnMgLSBFWFRFTkRFRCBS RUFECgpBSCA9IDQyaApETCA9IGRyaXZlIG51bWJlcgpEUzpTSSAtPiBkaXNrIGFkZHJlc3MgcGFj a2V0IChzZWUgIzAwMjcyKQoKUmV0dXJuOgpDRiBjbGVhciBpZiBzdWNjZXNzZnVsIEFIID0gMDBo IApDRiBzZXQgb24gZXJyb3IgQUggPSBlcnJvciBjb2RlIChzZWUgIzAwMjM0KSBkaXNrIGFkZHJl c3MgcGFja2V0J3MgYmxvY2sgY291bnQgZmllbGQgc2V0IHRvIG51bWJlciBvZiBibG9ja3Mgc3Vj Y2Vzc2Z1bGx5IHRyYW5zZmVycmVkCgpTZWUgQWxzbzogQUg9MDJoIC0gQUg9NDFoIklOVCAxMyBF eHQiIC0gQUg9NDNoIklOVCAxMyBFeHQiCgpGb3JtYXQgb2YgZGlzayBhZGRyZXNzIHBhY2tldDog Ck9mZnNldCBTaXplIERlc2NyaXB0aW9uIChUYWJsZSAwMDI3MikgCjAwaCBCWVRFIHNpemUgb2Yg cGFja2V0ICgxMGggb3IgMThoKSAKMDFoIEJZVEUgcmVzZXJ2ZWQgKDApIAowMmggV09SRCBudW1i ZXIgb2YgYmxvY2tzIHRvIHRyYW5zZmVyIChtYXggMDA3RmggZm9yIFBob2VuaXggRUREKSAKMDRo IERXT1JEIC0+IHRyYW5zZmVyIGJ1ZmZlciAKMDhoIFFXT1JEIHN0YXJ0aW5nIGFic29sdXRlIGJs b2NrIG51bWJlciAoZm9yIG5vbi1MQkEgZGV2aWNlcywgY29tcHV0ZSBhcyAoQ3lsaW5kZXIqTnVt SGVhZHMgKyBTZWxlY3RlZEhlYWQpICogU2VjdG9yUGVyVHJhY2sgKyBTZWxlY3RlZFNlY3RvciAt IDEgCjEwaCBRV09SRCAoRURELTMuMCwgb3B0aW9uYWwpIDY0LWJpdCBmbGF0IGFkZHJlc3Mgb2Yg dHJhbnNmZXIgYnVmZmVyOyB1c2VkIGlmIERXT1JEIGF0IDA0aCBpcyBGRkZGaDpGRkZGaCAKI2Vu ZGlmCgpURVhUIF9tYWdpYyhTQiksICQwCglCWVRFICQweEVCOyBCWVRFICQweDNDOwkJLyogam1w IC4rIDB4M0MgIChfc3RhcnQweDNFKSAqLwoJQllURSAkMHg5MAkJCS8qIG5vcCAqLwpURVhUIF92 ZXJzaW9uKFNCKSwgJDAKCUJZVEUgJDB4MDA7IEJZVEUgJDB4MDA7IEJZVEUgJDB4MDA7IEJZVEUg JDB4MDA7CglCWVRFICQweDAwOyBCWVRFICQweDAwOyBCWVRFICQweDAwOyBCWVRFICQweDAwClRF WFQgX3NlY3RzaXplKFNCKSwgJDAKCUJZVEUgJDB4MDA7IEJZVEUgJDB4MDAKVEVYVCBfY2x1c3Rz aXplKFNCKSwgJDAKCUJZVEUgJDB4MDAKVEVYVCBfbnJlc3J2KFNCKSwgJDAKCUJZVEUgJDB4MDA7 IEJZVEUgJDB4MDAKVEVYVCBfbmZhdHMoU0IpLCAkMAoJQllURSAkMHgwMApURVhUIF9yb290c2l6 ZShTQiksICQwCglCWVRFICQweDAwOyBCWVRFICQweDAwClRFWFQgX3ZvbHNpemUoU0IpLCAkMAoJ QllURSAkMHgwMDsgQllURSAkMHgwMApURVhUIF9tZWRpYWRlc2MoU0IpLCAkMAoJQllURSAkMHgw MApURVhUIF9mYXRzaXplKFNCKSwgJDAKCUJZVEUgJDB4MDA7IEJZVEUgJDB4MDAKVEVYVCBfdHJr c2l6ZShTQiksICQwCglCWVRFICQweDAwOyBCWVRFICQweDAwClRFWFQgX25oZWFkcyhTQiksICQw CglCWVRFICQweDAwOyBCWVRFICQweDAwClRFWFQgX25oaWRkZW5sbyhTQiksICQwCglCWVRFICQw eDAwOyBCWVRFICQweDAwClRFWFQgX25oaWRkZW5oaShTQiksICQwCglCWVRFICQweDAwOyBCWVRF ICQweDAwOwpURVhUIF9iaWd2b2xzaXplKFNCKSwgJDAKCUJZVEUgJDB4MDA7IEJZVEUgJDB4MDA7 IEJZVEUgJDB4MDA7IEJZVEUgJDB4MDA7ClRFWFQgX2RyaXZlbm8oU0IpLCAkMAoJQllURSAkMHgw MApURVhUIF9yZXNlcnZlZDAoU0IpLCAkMAoJQllURSAkMHgwMApURVhUIF9ib290c2lnKFNCKSwg JDAKCUJZVEUgJDB4MDAKVEVYVCBfdm9saWQoU0IpLCAkMAoJQllURSAkMHgwMDsgQllURSAkMHgw MDsgQllURSAkMHgwMDsgQllURSAkMHgwMDsKVEVYVCBfbGFiZWwoU0IpLCAkMAoJQllURSAkMHgw MDsgQllURSAkMHgwMDsgQllURSAkMHgwMDsgQllURSAkMHgwMDsKCUJZVEUgJDB4MDA7IEJZVEUg JDB4MDA7IEJZVEUgJDB4MDA7IEJZVEUgJDB4MDAKCUJZVEUgJDB4MDA7IEJZVEUgJDB4MDA7IEJZ VEUgJDB4MDAKVEVYVCBfdHlwZShTQiksICQwCglCWVRFICQweDAwOyBCWVRFICQweDAwOyBCWVRF ICQweDAwOyBCWVRFICQweDAwOwoJQllURSAkMHgwMDsgQllURSAkMHgwMDsgQllURSAkMHgwMDsg QllURSAkMHgwMDsKCl9zdGFydDB4M0U6CgkvKiBkaXNhYmxlIGludGVycnVwdHMgKi8KCUNMSQoJ LyogbmljZSB0byBoYXZlIDAgaW4gcjAgKi8KCUNMUihyQVgpCgkvKiBzdGFjayB3aWxsIGJlIGlu IGxvdyBtZW1vcnkuICAoZmlyc3QgNjRrKSAqLwoJTVRTUihyQVgsIHJTUykJCQkvKiAwMDAwIC0+ IHJTUyAqLwoJLyogZGF0YSB3aWxsIGJlIGluIGxvdyBtZW1vcnkgKGZpcnN0IDY0aykgKi8KCU1U U1IockFYLCByRFMpCQkJLyogMDAwMCAtPiByRFMsIHNvdXJjZSBzZWdtZW50ICovCgkvKiBleHRy YSB3aWxsIGJlIGluIGxvdyBtZW1vcnkgKGZpcnN0IDY0aykgICovCglNVFNSKHJBWCwgckVTKQoJ Lyogc3AgbGl2ZXMgYXQgdG9wIG9mIHNlZyAwLCBhbmQgdGhlIHN0YWNrIHN0YXJ0cyBhdCBvZiB0 aGlzIHNlZ21lbnQuIE5vdGUgdGhhdCBfbWFnaWMgc3RhcnRzIGF0IDdjMDAgKi8KCUxXSShfbWFn aWMtWHRvdGFsKFNCKSwgclNQKQoJTVcoclNQLCByQlApCQkJLyogc2V0IHRoZSBpbmRleGVkLWRh dGEgcG9pbnRlciAqLwoKCS8qIGJvb3QgZHJpdmUgaXMgcGFzc2VkIGluIHJETCBmcm9tIE1CUiAq LwoJU0JQQihyREwsIFhkcml2ZSkJCS8qIHNhdmUgdGhlIGJvb3QgZHJpdmUgKi8KCgkvKiBJIHdv bmRlciB3aHkgdGhpcyBoYXBwZW5zPyBNYXR0ZXJzIG5vdC4gR29hbCBpcyB0byBnZXQgQ1MgKGNv ZGUgc2VnKSB0byBiZSAwICovCgkvKiBib290aW5nIGZyb20gYSBDRCBzdGFydHMgdXMgYXQgN0Mw OjAuICBNb3ZlIHRvIDA6N0MwMCAqLwoJLyogcHVzaCBDUywgd2hpY2ggd2Ugd2FudCB0byBiZSB6 ZXJvLCBhbmQgckFYIGlzIDAgKi8KCVBVU0hSKHJBWCkKCS8qIGNvbXB1dGUgIG9mZnNldCwgd2hp Y2ggaXMgX254dCwgbG9hZCBpbnRvIHJBWCAqLwoJTFdJKF9ueHQoU0IpLCByQVgpCgkvKiBwdXNo IG9mZnNldCAqLwoJUFVTSFIockFYKQoJLyogdGhpcyByZXQgd2lsbCBsb2FkIGNzOmlwIHdoaWNo IHdlIGp1c3QgcHVzaGVkLiAqLwoJQllURSAkMHhDQgkvKiBGQVIgUkVUICovCgpURVhUIF9ueHQo U0IpLCAkMAoJLyogd29uZGVyIHdoeSB3ZSBlbmFibGUgaW50ZXJydXB0cz8gRm9yIGVycm9ycyA/ ICovCglTVEkKCS8qIHByaW50IG91dCB0aGUgY3V0ZSBtZXNzYWdlIHVzaW5nIEJJT1MgaW50ZXJy dXB0ICovCglMV0koY29uZmlkZW5jZShTQiksIHJTSSkJLyogZm9yIHRoYXQgd2FybSwgZnV6enkg ZmVlbGluZyAqLwoJQ0FMTDE2KEJJT1NwdXRzKFNCKSkKCiNpZmRlZiBDT01NRU5UCnNlZSBodHRw Oi8vd3d3LmN0eW1lLmNvbS9pbnRyL3JiLTA3MDYuaHRtLiByZWFkIGV4dGVuc2lvbnMuIAojZW5k aWYKCUxCSSgweDQxLCByQUgpCQkJLyogY2hlY2sgZXh0ZW5zaW9ucyBwcmVzZW50ICovCglMV0ko MHg1NUFBLCByQlgpCglMWEIoWGRyaXZlLCB4QlAsIHJETCkJCS8qIGRyaXZlICovCglCSU9TQ0FM TCgweDEzKQkJCS8qIENGIHNldCBvbiBmYWlsdXJlICovCgkvKiBjYXJyeSBzZXQgbWVhbnMgd2Un cmUgc2NyZXdlZCwgYmlvcyBpbnQgZmFpbGVkIGZvciBzb21lIHJlYXNvbiAqLwoJSkNTIF9qbXAw MQoJLyogYWE1NSBtZWFucyBpbnN0YWxsZWQ7IGlmIG5vdCBpbnN0YWxsZWQsIHdlJ3JlIHNjcmV3 ZWQgKi8KCUNNUEkoMHhBQTU1LCByQlgpCglKTkUgX2ptcDAxCgkvKiBpZiBiaXQgMCBub3Qgc2V0 LCB0aGVyZSBhcmUgbm8gZXh0ZW5kIGRpc2sgYWNjZXNzIGluc3RydWN0aW9ucywgd2UncmUgc2Ny ZXdlZCAqLwoJQU5ESSgweDAwMDEsIHJDWCkKCUpFUSBfam1wMDEKCgkvKiBpZiB3ZSBhcmUgaGVy ZTogdGhlIGludCAxMyB3b3JrZWQsIHRoZSBleHRlbnNpb25zIGFyZSBpbnN0YWxsZWQsIGFuZCBl eHRlbmRlZCBkaXNrIGFjY2VzcyBpcyBpbnN0YWxsZWQgKi8KCgkJCQkJLyogckNYIGNvbnRhaW5z IDB4MDAwMSB0aGFua3MgdG8gQU5EIGFib3ZlKi8KCQoJLyogdGhpcyBpcyBqdXN0IHNldHRpbmcg dXAgc3R1ZmYgdXNlZCBsYXRlciwgaXMgbm90IHJlbGF0ZWQgdG8gdGhlIGRyZXNldCBiZWxvdyAq LwoJLyogRm9ybSB1cCB0aGUgaW52YXJpYW50IHBhcnRzIG9mIFhkYXAgLS0gZGF0YSBwYWNrZXQg LS0gdG8gYmUgdXNlZCBmb3IgdGhlIEkvTyovCgkvKiBzZXQgdGhlIEFUQSBwYWNrZXQgc2l6ZSAt LSBOT1QgdGhlIEkvTyBzaXplLCB0aGUgUEFDS0VUIHNpemUgMHgxMCBvciAweDE4ICovCglTQlBX SSgweDAwMTAsIFhkYXArMCkJCS8qIHJlc2VydmVkICsgcGFja2V0IHNpemUgKi8KCS8qIHdlIGFs d2F5cyB0cmFuc2ZlciBvbmUgYmxvY2sgKi8KCVNCUFdJKHJDWCwgWGRhcCsyKQkJLyogcmVzZXJ2 ZWQgKyAjIG9mIGJsb2NrcyB0byB0cmFuc2ZlciAqLwoKCS8qIGNsZWFyIHJDWCBjaGVhcGx5ICov CglERUMockNYKQoJLyogemVybyBvdXQgbW9yZSBvZiB0aGUgZGF0YSBwYWNrZXQgLS0gdGhpcyBp cyBoaWdoLW9yZGVyIDMyIGJpdHMgb2YgYWRkcmVzcyAqLwoJU0JQVyhyQ1gsIFhkYXArMTIpCglT QlBXKHJDWCwgWGRhcCsxNCkKCglDQUxMMTYoZHJlc2V0KFNCKSkKCl9qbXAwMDoKCS8qIHRoaXMg d2FzLCB3ZSBhc3N1bWUsIHNldCBpbiBtYnIgLi4uIG9yIGJ5IGZvcm1hdCAqLwoJTFcoX3ZvbGlk KFNCKSwgckFYKQkJLyogWHJvb3RsbyAqLwoJTFcoX3ZvbGlkKzIoU0IpLCByRFgpCQkvKiBYcm9v dGhpICovCgoJTFdJKF9tYWdpYytESVJPRkYoU0IpLCByQlgpCglDQUxMMTYoQklPU3JlYWQoU0Ip KQkJLyogcmVhZCB0aGUgcm9vdCBkaXJlY3RvcnkgKi8KCgkvKiBub3RlIHRoZSBhc3N1bXB0aW9u IGhlcmUsIGRpciBpcyBvbmUgNTEyLWJ5dGUgYmxvY2ssIHNvIHlvdSBvbmx5IGdldCAxNiBlbnRy aWVzIHRvIHNlYXJjaCBmb3IgKi8KCUxXSSgoNTEyL0RpcnN6KSwgckJYKQoKCUxXSShfbWFnaWMr RElST0ZGKFNCKSwgckRJKQkvKiBjb21wYXJlIGZpcnN0IGRpcmVjdG9yeSBlbnRyeSAqLwoKX2Nt cDAwOgoJUFVTSFIockRJKQkJCS8qIHNhdmUgZm9yIGxhdGVyIGlmIGl0IG1hdGNoZXMgKi8KCUxX SShib290ZmlsZShTQiksIHJTSSkJCS8qIGUuZy4gJzlsb2FkJyAqLwoJTFdJKERhdHRyLCByQ1gp CQkJLyogdGhpcyBpcyAweCdCJywgb3IgLi4gOC4zICovCgkvKiBzdHJuY21wICovCglSRVAKCUNN UFNCCgkvKiBwb3AgdGhlIERJLCB5b3UgdHJhc2hlZCBpdCBpbiB0aGUgQ01QU0IgKi8KCVBPUFIo ckRJKQoJLyogbWF0Y2ggKi8KCUpFUSBfam1wMDIKCgkvKiBubyBtYXRjaDsgYW55dGhpbmcgbGVm dD8gKi8KCURFQyhyQlgpCglKRVEgX2ptcDAxCgoJLyogc2VhcmNoIG5leHQgLi4uIGluY3JlbWVu dCBkaSAqLwoJQURESShEaXJzeiwgckRJKQoJSk1QIF9jbXAwMApfam1wMDE6CglDQUxMMTYoYnVn Z2VyeShTQikpCgpfam1wMDI6CglDTFIockJYKQkJCS8qIGEgaGFuZHkgdmFsdWUgKi8KCUxXKF9y b290c2l6ZShTQiksIHJBWCkJCS8qIGNhbGN1bGF0ZSBhbmQgc2F2ZSBYcm9vdHN6ICovCgkvKiBh eCA9IHJvb3RzaXplIChJIGFzc3VtZSBpbiBlbnRyaWVzICkgKi8KCUxXSShEaXJzeiwgckNYKQoJ LyogY3ggID0gZGlyc3ogKGEgY29uc3RhbnQpICovCglNVUwockNYKQoJLyogcm9vdGJ5dGVzID0g ZGlyc3ogKiByb290c2l6ZSAocmVzdWx0IGluIHJkeDpyYXggKHJheCBsb3cpKi8KCUxXKF9zZWN0 c2l6ZShTQiksIHJDWCkKCS8qIGN4ID0gc2VjdHNpemUsIGZyb20gTUJSICovCglQVVNIUihyQ1gp CQoJREVDKHJDWCkKCS8qIGN4LS07Ki8KCUFERChyQ1gsIHJBWCkKCS8qIHJvb3RieXRlcyArPSBz ZWN0c2l6ZSAtIDEgKGZyb20gY3gpICovCgkvKiBwcm9wYWdhdGUgaGlnaCBiaXQgdG8gZ2V0IDMy LWJpdCBhZGQgKi8KCUFEQyhyQlgsIHJEWCkKCS8qIChzZWNvbmQgaGFsZikgcm9vdGJ5dGVzICs9 IHNlY3RzaXplIChub3RlIGJ4IGlzIDAgc28gd2UganVzdCBhZGQgQyBiaXQgKi8KCVBPUFIockNY KQkJCS8qIF9zZWN0c2l6ZShTQikgKi8KCS8qIHJlc3RvcmUgdGhlIHNlY3RzaXplICovCglESVYo ckNYKQoJLyogZGl2aWRlICovCgkvKiBzbyB3aGF0IGlzIHRoaXM/IEJhc2ljYWxseSwgaXQncyBh IHdheSBvZiBmaW5kaW5nIGZpcnN0IGNsdXN0ZXIgYWZ0ZXIgZGlyZWN0b3J5ICovCgkvKiBmaXJz dGNsdXN0ID0gKChyb290c2l6ZSAqIGRpcmVudHNpemUpICsgKGNsdXN0c2l6ZSAtIDEpKS9jbHVz dHNpemUgPT0+IGNsdXN0bm8gaW4gcmR4OnJheCAqLwoJLyogaXQgaXMgYWxzbyB0aGUgcm9vdHN6 IGluIGNsdXN0ZXJzICovCgkvKiBhbmQgdGhlbiBzYXZlIHJheCwgSSBndWVzcyB3ZSBkb24ndCBz YXZlIHJkeCAqLwoJLyogaXQgaXMgMCBhdCB0aGlzIHBvaW50IGFueXdheSAqLwoJUFVTSFIockFY KQkJCS8qIFhyb290c3ogKi8KCgkvKgoJICogckRJIHBvaW50cyB0byB0aGUgbWF0Y2hpbmcgZGly ZWN0b3J5IGVudHJ5LgoJICovCgkvKiBzbyB3ZSBpbmRleCBpbnRvIHRoZSBGQVQgZW50cnkgcG9p bnRlZCB0byBieSBESSwgYW5kIGdldCBzdGFydGluZyBjbHVzdGVyICovCgkvKiBhbmQsIGZvciBy ZWFzb25zIHVua25vd24gdG8gdXMsIGl0IGlzIGRlY3JlbWVudGVkICovCglMWFcoRHN0YXJ0LCB4 REksIHJBWCkJCS8qIHN0YXJ0aW5nIGNsdXN0ZXIgYWRkcmVzcyAqLwoJREVDKHJBWCkJCQkvKiB0 aGF0J3MganVzdCB0aGUgd2F5IGl0IGlzICovCglERUMockFYKQoKI2lmZGVmIENPTU1FTlQKaHR0 cDovL3d3dy5jdHltZS5jb20vaW50ci9yYi0wNjA3Lmh0bQpBSCA9IDAyaApBTCA9IG51bWJlciBv ZiBzZWN0b3JzIHRvIHJlYWQgKG11c3QgYmUgbm9uemVybykKQ0ggPSBsb3cgZWlnaHQgYml0cyBv ZiBjeWxpbmRlciBudW1iZXIKQ0wgPSBzZWN0b3IgbnVtYmVyIDEtNjMgKGJpdHMgMC01KSAsIGhp Z2ggdHdvIGJpdHMgb2YgY3lsaW5kZXIgKGJpdHMgNi03LCBoYXJkIGRpc2sgb25seSkKREggPSBo ZWFkIG51bWJlcgpETCA9IGRyaXZlIG51bWJlciAoYml0IDcgc2V0IGZvciBoYXJkIGRpc2spCkVT OkJYIC0+IGRhdGEgYnVmZmVyCiNlbmRpZgoJLyogc2V0IGNsdXN0ZXJzaXplIGluIHJDTCAqLwoJ TEIoX2NsdXN0c2l6ZShTQiksIHJDTCkKCUNMUkIockNIKQoJLyogckNYIG5vdyBoYXMgdGhlIGNs dXN0ZXJzaXplICovCgkvKiByQVggaGFzIHRoZSBjbHVzdGVyICMgKi8KCU1VTChyQ1gpCgkvKiBy RFg6ckFYIG5vdyBoYXMgc2VjdG9yLCB3ZSBnZXQgdGhpcyBmcm9tIG11bHRpcGx5aW5nIHRoZSBj bHVzdGVyIHNpemUgKiBjbHVzdGVyICMqLwoJLyogcm9vdCBpcyB0aGUgc2VjdG9yIG9mIHRoZSBy b290ICovCgkvKiB3ZSBvZmZzZXQgdGhlIGNvbXB1dGVkIHNlY3RvciBieSB0aGUgc3RhcnQgb2Yg dGhlIHJvb3QgKi8KCUxXKF92b2xpZChTQiksIHJDWCkJCS8qIFhyb290bG8gKi8KCUFERChyQ1gs IHJBWCkKCUxXKF92b2xpZCsyKFNCKSwgckNYKQkJLyogWHJvb3RoaSAqLwoJQURDKHJDWCwgckRY KQoJLyogdGhlbiB3ZSBvZmZzZXQgYnkgdGhlIHNpemUgb2YgdGhlIHJvb3QgKi8KCVBPUFIockNY KQkJCS8qIFhyb290c3ogKi8KCUFERChyQ1gsIHJBWCkKCUFEQyhyQlgsIHJEWCkKCgkvKiBzYXZl IG91ciBjb21wdXRlZCBzZWN0b3IgIyAqLwoJUFVTSFIockFYKQkJCS8qIGNhbGN1bGF0ZSBob3cg bWFueSBzZWN0b3JzIHRvIHJlYWQgKi8KCVBVU0hSKHJEWCkKCS8qIGdldCBvdXIgbGVuZ3RoIHRv IHJlYWQgKi8KCUxYVyhEbGVuZ3RobG8sIHhESSwgckFYKQoJTFhXKERsZW5ndGhoaSwgeERJLCBy RFgpCgkvKiBzZWN0c2l6ZSBpcyBzZWN0b3Igc2l6ZSBpbiBieXRlcyAqLwoJTFcoX3NlY3RzaXpl KFNCKSwgckNYKQoJUFVTSFIockNYKQoJLyogc2VjdHNpemUgLS0gKi8KCURFQyhyQ1gpCglBREQo ckNYLCByQVgpCglBREMockJYLCByRFgpCgkvKiBsZW5ndGggKyBzZWN0c2l6ZSAgLTEgKi8KCVBP UFIockNYKQkJCS8qIF9zZWN0c2l6ZShTQikgKi8KCS8qIChsZW5ndGggKyBzZWN0c2l6ZSAtLSkg LyBzZWN0c2l6ZSAqLwoJRElWKHJDWCkKCS8qIHJlc3VsdCBpbiByRFg6UkFYLCByRFggaXMgemVy bywgc3RvcmUgaW4gckNYICovCglNVyhyQVgsIHJDWCkKCS8qIHJlc3RvcmUgY29tcHV0ZWQgc2Vj dG9yICovCglQT1BSKHJEWCkKCVBPUFIockFYKQoKCS8qIHNldCB1cyB1cCB0byByZWFkIHRoZSBk YXRhIGluIGF0IExPQURTRUc6TE9BRE9GRiAqLwoJTFdJKExPQURTRUcsIHJCWCkJCS8qIGFkZHJl c3MgdG8gbG9hZCBpbnRvIChzZWcrb2Zmc2V0KSAqLwoJTVRTUihyQlgsIHJFUykJCQkvKiAgc2Vn ICovCglMV0koTE9BRE9GRiwgckJYKQkJLyogIG9mZnNldCAqLwoKCS8qIHB1bGwgaXQgaW4sIG9u ZSBjbHVzdGVyc2l6ZSAgdGhpbmcgYXQgYSB0aW1lICovCl9yZWFkYm9vdDoKCUNBTEwxNihCSU9T cmVhZChTQikpCQkvKiByZWFkIHRoZSBzZWN0b3IocykgKi8KCS8qIHN1Y2Nlc3MgaWYgd2UgaGF2 ZSByZXR1cm5lZCAqLwoJLyogbG9hZCBzZWN0c2l6ZSBpbnRvIHJESSAqLwoJTFcoX3NlY3RzaXpl KFNCKSwgckRJKQkJLyogYnVtcCBhZGRyZXNzZXMvY291bnRzICovCgkvKiB3ZSBidW1wIHRoZSBv ZmZzZXQsIGlmIGl0IHdyYXBzIHRvIHRoZSBuZXh0IHNlZ21lbnQgd2UgaGF2ZSB0byBhY2NvbW9k YXRlIHRoYXQgKi8KCS8qIGNhcnJ5IGNsZWFyIG1lYW5zIGl0IGRpZCBub3Qgd3JhcCAqLwoJLyog c28gYnVtcCB0aGUgb2Zmc2V0ICovCglBREQockRJLCByQlgpCgkvKiBpZiB3ZSBkb24ndCB3cmFw IG9mZiB0aGUgZW5kIG9mIHRoZSBzZWdtZW50LCBqdXN0IG5lZWQgdG8gZ3JvdyBzZWNubyAqLwoJ SkNDIF9pbmNzZWNubwoKCU1GU1IockVTLCByREkpCQkJLyogbmV4dCA2NEtCIHNlZ21lbnQgKi8K CUFEREkoMHgxMDAwLCByREkpCglNVFNSKHJESSwgckVTKQoKX2luY3NlY25vOgoJLyogd2UncmUg aGVyZSBiZWNhdXNlIHdlIERJRCBub3Qgd3JhcCAqLwoJLyogdGhpcyBpcyBhIDMyLWJpdCBhZGQs IG5vdGUgd2UgY2xlYXIgUkRJIHRvIG1ha2UgaXQgZ28gKi8KCUNMUihyREkpCglJTkMockFYKQoJ QURDKHJESSwgckRYKQoJLyogTE9PUCBsb3BzIHVudGlsIGN4IGlzIHplcm8gSUlSQyAqLwoJTE9P UCBfcmVhZGJvb3QKCgkvKiBzbyB3ZSdyZSBoZXJlOyBib290c3RyYXAgcmVhZCBpbiBPSyAqLwoJ TFdJKExPQURTRUcsIHJESSkJCS8qIHNldCByRFMgZm9yIGxvYWRlZCBjb2RlICovCglNVFNSKHJE SSwgckRTKQoJRkFSSlVNUDE2KExPQURTRUcsIExPQURPRkYpCS8qIG5vIGRlcG9zaXQsIG5vIHJl dHVybiAqLwoKVEVYVCBidWdnZXJ5KFNCKSwgJDAKCUxXSShlcnJvcihTQiksIHJTSSkKCUNBTEwx NihCSU9TcHV0cyhTQikpCgpfd2FpdDoKCUNMUihyQVgpCQkJLyogd2FpdCBmb3IgYWxtb3N0IGFu eSBrZXkgKi8KCUJJT1NDQUxMKDB4MTYpCgpfcmVzZXQ6CglDTFIockJYKQkJCS8qIHNldCBFUyBz ZWdtZW50IGZvciBCSU9TIGFyZWEgKi8KCU1UU1IockJYLCByRVMpCgoJTFdJKDB4MDQ3MiwgckJY KQkJLyogd2FybS1zdGFydCBjb2RlIGFkZHJlc3MgKi8KCUxXSSgweDEyMzQsIHJBWCkJCS8qIHdh cm0tc3RhcnQgY29kZSAqLwoJUE9LRVcJCQkJLyogTU9WVwlBWCwgRVM6W0JYXSAqLwoKCUZBUkpV TVAxNigweEZGRkYsIDB4MDAwMCkJLyogcmVzZXQgKi8KCgovKgogKiBSZWFkIGEgc2VjdG9yIGZy b20gYSBkaXNjLiBPbiBlbnRyeToKICogICByRFg6ckFYCXNlY3RvciBudW1iZXIKICogICByRVM6 ckJYCWJ1ZmZlciBhZGRyZXNzCiAqLwpURVhUIEJJT1NyZWFkKFNCKSwgJDAKCUxXSSg1LCByREkp CQkJLyogcmV0cnkgY291bnQgKEFUQVBJIFpJUHMgc3VjaykgKi8KX3JldHJ5OgoJUFVTSEEJCQkJ LyogbWF5IGJlIHRyYXNoZWQgYnkgQklPU0NBTEwgKi8KCgkvKiBzZXQgdXAgdGhlIHBhY2tldC4g VGhpcyBpcyB1c2luZyB0aGUgaW5kZXhlZCBCUCByZWdpc3RlciBmb3IgbG9hZHMgZXRjLiAqLwoJ U0JQVyhyQlgsIFhkYXArNCkJCS8qIHRyYW5zZmVyIGJ1ZmZlciA6b2Zmc2V0ICovCglNRlNSKHJF UywgckRJKQkJCS8qIHRyYW5zZmVyIGJ1ZmZlciBzZWc6ICovCglTQlBXKHJESSwgWGRhcCs2KQoJ U0JQVyhyQVgsIFhkYXArOCkJCS8qIExCQSAoNjQtYml0cykgKi8KCVNCUFcockRYLCBYZGFwKzEw KQoKCU1XKHJCUCwgclNJKQkJCS8qIGRpc2sgYWRkcmVzcyBwYWNrZXQgKi8KCUxCSSgweDQyLCBy QUgpCQkJLyogZXh0ZW5kZWQgcmVhZCAqLwoJTEJQQihYZHJpdmUsIHJETCkJCS8qIGZvcm0gZHJp dmUgKi8KCUJJT1NDQUxMKDB4MTMpCQkJLyogQ0Ygc2V0IG9uIGZhaWx1cmUgKi8KCUpDQyBfQklP U3JlYWRyZXQKCglQT1BBCglERUMockRJKQkJCS8qIHRvbyBtYW55IHJldHJpZXM/ICovCglKRVEg X2lvZXJyb3IKCglDQUxMMTYoZHJlc2V0KFNCKSkKCUpNUCBfcmV0cnkKCl9pb2Vycm9yOgoJTFdJ KGlvZXJyb3IoU0IpLCByU0kpCglDQUxMMTYoQklPU3B1dHMoU0IpKQoJSk1QIF93YWl0CgpfQklP U3JlYWRyZXQ6CglQT1BBCglSRVQKClRFWFQgZHJlc2V0KFNCKSwgJDAKCVBVU0hBCglDTFIockFY KQkJCS8qIHJBSCA9PSAwID09IHJlc2V0IGRpc2Mgc3lzdGVtICovCglMQlBCKFhkcml2ZSwgckRM KQoJQklPU0NBTEwoMHgxMykKCU9SQihyQUgsIHJBSCkJCQkvKiBzdGF0dXMgKDAgPT0gc3VjY2Vz cykgKi8KCVBPUEEKCUpORSBfaW9lcnJvcgoJUkVUCgovKgogKiBPdXRwdXQgYSBzdHJpbmcgdG8g dGhlIGRpc3BsYXkuCiAqIFN0cmluZyBhcmd1bWVudCBpcyBpbiByU0kuCiAqLwpURVhUIEJJT1Nw dXRzKFNCKSwgJDAKCVBVU0hBCglDTFIockJYKQpfQklPU3B1dHM6CglMT0RTQgoJT1JCKHJBTCwg ckFMKQoJSkVRIF9CSU9TcHV0c3JldAoKCUxCSSgweDBFLCByQUgpCglCSU9TQ0FMTCgweDEwKQoJ Sk1QIF9CSU9TcHV0cwoKX0JJT1NwdXRzcmV0OgoJUE9QQQoJUkVUCgovKiAiQmFkIGZvcm1hdCBv ciBJL08gZXJyb3JcclxuUHJlc3MgYWxtb3N0IGFueSBrZXkgdG8gcmVib290Li4uIiAqLwpURVhU IGVycm9yKFNCKSwgJDAKCUJZVEUgJCdCJzsgQllURSAkJ2EnOyBCWVRFICQnZCc7IEJZVEUgJCcg JzsKCUJZVEUgJCdmJzsgQllURSAkJ28nOyBCWVRFICQncic7IEJZVEUgJCdtJzsKCUJZVEUgJCdh JzsgQllURSAkJ3QnOyBCWVRFICQnICc7IEJZVEUgJCdvJzsKCUJZVEUgJCdyJzsgQllURSAkJyAn OwovKiAiSS9PIGVycm9yXHJcblByZXNzIGFsbW9zdCBhbnkga2V5IHRvIHJlYm9vdC4uLiIgKi8K VEVYVCBpb2Vycm9yKFNCKSwgJDAKCUJZVEUgJCdJJzsgQllURSAkJy8nOyBCWVRFICQnTyc7IEJZ VEUgJCcgJzsKCUJZVEUgJCdlJzsgQllURSAkJ3InOyBCWVRFICQncic7IEJZVEUgJCdvJzsKCUJZ VEUgJCdyJzsgQllURSAkJ1xyJztCWVRFICQnXG4nOwoJQllURSAkJ1AnOyBCWVRFICQncic7IEJZ VEUgJCdlJzsgQllURSAkJ3MnOwoJQllURSAkJ3MnOyBCWVRFICQnICc7IEJZVEUgJCdhJzsgQllU RSAkJyAnOwoJQllURSAkJ2snOyBCWVRFICQnZSc7IEJZVEUgJCd5JzsKCUJZVEUgJCcgJzsgQllU RSAkJ3QnOyBCWVRFICQnbyc7IEJZVEUgJCcgJzsKCUJZVEUgJCdyJzsgQllURSAkJ2UnOyBCWVRF ICQnYic7IEJZVEUgJCdvJzsKCUJZVEUgJCdvJzsgQllURSAkJ3QnOwoJQllURSAkJy4nOyBCWVRF ICQnLic7IEJZVEUgJCcuJzsKCUJZVEUgJCdceic7CgojaWZkZWYgVVNFQkNPTQovKiAiQiAgICAg ICBDT00iICovClRFWFQgYm9vdGZpbGUoU0IpLCAkMAoJQllURSAkJ0InOyBCWVRFICQnICc7IEJZ VEUgJCcgJzsgQllURSAkJyAnOwoJQllURSAkJyAnOyBCWVRFICQnICc7IEJZVEUgJCcgJzsgQllU RSAkJyAnOwoJQllURSAkJ0MnOyBCWVRFICQnTyc7IEJZVEUgJCdNJzsKCUJZVEUgJCdceic7CiNl bHNlCi8qICI5TE9BRCAgICAgICIgKi8KVEVYVCBib290ZmlsZShTQiksICQwCglCWVRFICQnOSc7 IEJZVEUgJCdMJzsgQllURSAkJ08nOyBCWVRFICQnQSc7CglCWVRFICQnRCc7IEJZVEUgJCcgJzsg QllURSAkJyAnOyBCWVRFICQnICc7CglCWVRFICQnICc7IEJZVEUgJCcgJzsgQllURSAkJyAnOwoJ QllURSAkJ1x6JzsKI2VuZGlmIC8qIFVTRUJDT00gKi8KCi8qICJQQlMuLi4iICovClRFWFQgY29u ZmlkZW5jZShTQiksICQwCglCWVRFICQnUCc7IEJZVEUgJCdCJzsgQllURSAkJ1MnOyBCWVRFICQn Lic7CglCWVRFICQnLic7IEJZVEUgJCcuJzsKCUJZVEUgJCdceic7Cg== --upas-wbobgppsrnubzplstcymuazhqp--