From: Geoff R. <gcr...@si...> - 2006-02-26 21:46:28
|
SWYgSSB1c2UgdGhlIGNvZGUgdGhhdCB5b3Ugc2hvd2VkLiAgSSBjYW4gcnVuIHN3aWcgb24gaXQg ZmluZS4gIEl0J3Mgd2hlbiBJCnRyeSB0byBjYWxsIGl0IGZyb20gcnVieSB0aGF0IGl0IGZhaWxz LiAgSGVyZSBpcyB0aGUgaW50ZXJmYWNlIGZpbGUgYW5kIHRoZQpydWJ5IGNvZGUgdGhhdCBjYWxs cyBpdC4KLS0tLXRlc3QuaS0tLS0tCiVtb2R1bGUgYXJnX3Rlc3QKCiVpbmxpbmUKewogIGNsYXNz IENsYXNzQgogIHsKICBwdWJsaWM6CiAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplQXBwKGludCBh cmdjLCBjaGFyICoqYXJndiwgYm9vbCBzZXRQR2lkID0gdHJ1ZSwKYm9vbCBpc01ha2VsaW5lID0g ZmFsc2UpCiAgICAvL3N0YXRpYyB2b2lkIGluaXRpYWxpemVBcHAoaW50IGFyZ2MsIGNoYXIgKiph cmd2KQogICAgewogICAgfQoKICB9Owp9CgoKCi0tLS1ydW4ucmItLS0tLQojIS91c3IvYmluL3J1 YnkgLXcKCnJlcXVpcmUgJ2FyZ190ZXN0JwoKYSA9IFsiYXNkZiIsICJhc2RmMiJdCkFyZ190ZXN0 OjpDbGFzc0I6OmluaXRpYWxpemVBcHAoYS5zaXplLCBhKTsKCgoKTm90ZTogbXkgTWFrZWZpbGUg d2FzIGF1dG9nZW5lcmF0ZWQgZnJvbSBhIHNpbXBsZSBydWJ5IG1rbWYgY29tbWFuZCBleGNlcHQg SQphZGRlZCBDT05GSUdbIkNDIl0gPSAiZysrIgoKVGhlbiBJIGRvOgpzd2lnIC1jKysgLXJ1Ynkg dGVzdC5pCm1ha2UKcnVieSBydW4ucmIKCi4vcnVuLnJiOjY6aW4gYGluaXRpYWxpemVBcHAnOiBO byBtYXRjaGluZyBmdW5jdGlvbiBmb3Igb3ZlcmxvYWRlZAonQ2xhc3NCX2luaXRpYWxpemVBcHAn IChBcmd1bWVudEVycm9yKQogICAgICAgIGZyb20gLi9ydW4ucmI6NgoKCk5vdGU6IGlmIEkgc3dp dGNoIHdoaWNoIGxpbmUgaXMgY29tbWVudGVkIEkgZ2V0IHRoZSBmb2xsb3dpbmcgZXJyb3IgdW5s ZXNzIEkKaW5jbHVkZSB0aGUgY2hhciAqKiBmaXggbWVudGlvbmVkIGJlZm9yZToKCi4vcnVuLnJi OjY6aW4gYGluaXRpYWxpemVBcHAnOiBpbiBtZXRob2QgJ0NsYXNzQjo6aW5pdGlhbGl6ZUFwcCcs IGFyZ3VtZW50IDIKb2YgdHlwZSAnY2hhciAqKicgKFR5cGVFcnJvcikKICAgICAgICBmcm9tIC4v cnVuLnJiOjYKCgpTbyBpZiBJIGFkZCB0aGUgY2hhcioqIGJsdXJiIGFuZCBjaGFuZ2Ugd2hpY2gg b25lIGlzIGNvbW1lbnRlZCBvdXQgaXQgd29ya3MuCgpIZXJlIGlzIHRoZSB3b3JraW5nIHZlcnNp b24uCgotLS0tLXRlc3QuaS0tLS0tLS0tCiVtb2R1bGUgYXJnX3Rlc3QKCiV0eXBlbWFwKGluKSBj aGFyICoqIHsKICBpbnQgc2l6ZSA9IFJBUlJBWSgkaW5wdXQpLT5sZW47CiAgaW50IGk7CiAgJDEg PSAoY2hhciAqKikgbWFsbG9jKChzaXplKzEpKnNpemVvZihjaGFyICopKTsKICBWQUxVRSAqcHRy ID0gUkFSUkFZKCRpbnB1dCktPnB0cjsKICBmb3IgKGk9MDsgaSA8IHNpemU7IGkrKywgcHRyKysp CiAgJDFbaV09IFNUUjJDU1RSKCpwdHIpOwogICQxW2ldPU5VTEw7Cn0KCiV0eXBlbWFwKGZyZWVh cmcpIGNoYXIgKiogewogIGZyZWUoKGNoYXIgKikgJDEpOwp9CgolaW5saW5lCnsKICBjbGFzcyBD bGFzc0IKICB7CiAgcHVibGljOgogICAgLy9zdGF0aWMgdm9pZCBpbml0aWFsaXplQXBwKGludCBh cmdjLCBjaGFyICoqYXJndiwgYm9vbCBzZXRQR2lkID0gdHJ1ZSwKYm9vbCBpc01ha2VsaW5lID0g ZmFsc2UpCiAgICBzdGF0aWMgdm9pZCBpbml0aWFsaXplQXBwKGludCBhcmdjLCBjaGFyICoqYXJn dikKICAgIHsKICAgIH0KCiAgfTsKfQoKClRoYW5rcyBhZ2FpbiBmb3IgeW91ciBoZWxwLgotR2Vv ZmYKCgpPbiAyLzI2LzA2LCBNYXJjZWxvIE1hdHVzIDxtbWF0dXNAYWNtcy5hcml6b25hLmVkdT4g d3JvdGU6Cj4KPgo+IE9rLCBJIHRyaWVkIHRoaXMgc21hbGwgZXhhbXBsZToKPgo+IC0tLS0gdGVz dC5pIC0tLS0KPiAlbW9kdWxlIHRlc3QKPgo+ICVpbmxpbmUKPiB7Cj4gICBjbGFzcyBDbGFzc0IK PiAgIHsKPiAgIHB1YmxpYzoKPiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZUFwcChpbnQgYXJn YywgY2hhciAqKmFyZ3YsIGJvb2wgc2V0UEdpZCA9Cj4gdHJ1ZSwgYm9vbCBpc01ha2VsaW5lID0g ZmFsc2UpCj4gICAgIHsKPiAgICAgfQo+Cj4gICB9Owo+IH0KPiAtLS0tCj4KPiBhbmQgaXQgd29y a3MsIHNvIHRoZXJlIGFyZSBtaXNzaW5nIHRoaW5ncyBpbiB0aGlzIGV4YW1wbGUgdGhhdCBhcmUK PiBwcm9kdWNpbmcgdGhlIGVycm9yIG92ZXIgdGhlcmUuCj4KPiBMZXQgdHJ5IHRoZSBmb2xsb3dp bmcKPgo+IDEuLSBjb3B5IHBhc3RlIHRoZSBlbnRpcmUgZXJyb3IgbWVzc2FnZSBmcm9tIHN3aWcu Cj4gMi4tIGNoZWNrIGlmIHRoZXJlIGlzIChvciBub3QpIGFueSBvdGhlciBtZXRob2QgY2FsbGVk ICdpbml0aWFsaXplQXBwJwo+IGluIHRoZSBjbGFzcywgZXZlbgo+IGlmIG5vdCBzdGF0aWMuCj4g My4tIGtlZXAgYXVtZW50aW5nIHRoZSBleGFtcGxlIHVudGlsIHlvdSByZXByb2R1Y2UgdGhlIGVy cm9yIGFuZCBzZW5kIGl0Cj4gYmFjay4KPgo+IE1hcmNlbG8KPgo+IEdlb2ZmIFJ1c2NvZSB3cm90 ZToKPgo+ID4gSSdtIHNvcnJ5IGFib3V0IHRoYXQ6Cj4gPiAxLjMuMjgKPiA+IFJ1YnkgKEkgc2hv dWxkIGhhdmUgY2xlYXJseSBpbmRpY2F0ZWQgdGhpcyByYXRoZXIgdGhhbiBpbmNsdWRpbmcgaXQg aW4KPiA+IHRoZSBtaWRkbGUgb2YgdGhlIHBhcmFncmFwaCBhdCB0aGUgYm90dG9tIC0tIHNpbGx5 IG1lIDotKSkKPiA+Cj4gPiBIZXJlIGFyZSB0aGUgdGhyZWUgbWV0aG9kIHNpZ25hdHVyZXMgSSB1 c2VkICh0aGUgZmlyc3QgdHdvIGRpZG4ndAo+ID4gd29yaykgYW5kIHRoZW4gdGhlIGxhc3Qgb25l IGlzIGZpbmUuICBBcyB5b3UgY2FuIHNlZSB0aGV5IGFyZSB1c2luZwo+ID4gc3RhbmRhcmQgaW50 IGFyZ2MsIGNoYXIgKiphcmd2IHN0dWZmIHBsdXMgaW4gdGhlIGZhaWxpbmcgY2FzZXMgc29tZQo+ ID4gb3RoZXIgb3ZlcmxvYWRlZCBjaGFyYWN0ZXJpc3RpY3MuCj4gPgo+ID4gRmlyc3QgKGZhaWxl ZCAtLSB0aGUgd2F5IHRoZSBjb2RlIHdhcykKPiA+IHN0YXRpYyB2b2lkIGluaXRpYWxpemVBcHAo aW50IGFyZ2MsIGNoYXIgKiphcmd2LCBib29sIHNldFBHaWQgPSB0cnVlLAo+ID4gYm9vbCBpc01h a2VsaW5lID0gZmFsc2UpOwo+ID4KPiA+IEJ5IHRoZSB3YXkgSSBqdXN0IG5vdGljZWQgdGhhdCBJ IGZhaWxlZCB0byBtZW50aW9uIGl0IHdhcyBhIHN0YXRpYwo+ID4gbWV0aG9kIDotKQo+ID4KPiA+ IFNlY29uZCAoZmFpbGVkIC0tIEkgdHJpZWQgdHdvIG1ldGhvZHMpCj4gPiBzdGF0aWMgdm9pZCBp bml0aWFsaXplQXBwKGludCBhcmdjLCBjaGFyICoqYXJndik7Cj4gPiBzdGF0aWMgdm9pZCBpbml0 aWFsaXplQXBwKGludCBhcmdjLCBjaGFyICoqYXJndiwgYm9vbCBzZXRQR2lkLCBib29sCj4gPiBp c01ha2VsaW5lKTsKPiA+Cj4gPiBUaGlyZCAod29ya2VkIC0tIEkgc2V0dGxlZCBvbiBnZXR0aW5n IHJpZCBvZiB0aG9zZSBleHRyYSB2YXJpYWJsZXMgZm9yCj4gPiB0ZXN0IHB1cnBvc2VzLi4uXwo+ ID4KPiA+IHN0YXRpYyB2b2lkIGluaXRpYWxpemVBcHAoaW50IGFyZ2MsIGNoYXIgKiphcmd2KTsK PiA+Cj4gPgo+ID4gd2hpY2ggd29ya3MgZmluZSAoYmVzdCBJIGNhbiB0ZWxsKQo+ID4KPiA+IEkg dHJpZWQgdG8gdXNlIHRoZSBjb3VyaWVyIGZvciByZWFkYWJpbGl0eSBhbmQgdG9wIHBvc3RlZCBi ZWNhdXNlIG15Cj4gPiBnbWFpbCBzaG91bGQgdGhhdCB5b3UgZGlkLiAgSSBob3BlIHRoaXMgd2Fz IGFsbCBva2F5LiAgSSBndWVzcyBJJ2xsIGJlCj4gPiBhYmxlIHRvIHRlbGwgb24gdGhlIGxpc3Qu Cj4gPgo+ID4gVGhhbmtzIGFnYWluLAo+ID4gR2VvZmYKPiA+Cj4gPiBPbiAyLzI1LzA2LCAqTWFy Y2VsbyBNYXR1cyogPG1tYXR1c0BhY21zLmFyaXpvbmEuZWR1Cj4gPiA8bWFpbHRvOm1tYXR1c0Bh Y21zLmFyaXpvbmEuZWR1Pj4gd3JvdGU6Cj4gPgo+ID4gICAgIHNvbWUgcXVlc3Rpb25zOgo+ID4K PiA+ICAgICAtd2hhdCBzd2lnIHZlcnNpb24gYXJlIHlvdSB1c2luZz8KPiA+ICAgICAtIHdoYXQg aXMgeW91ciB0YXJnZXQgbGFuZ3VhZ2UgKHB5dGhvbiwgcGVybCwgZXRjKT8KPiA+ICAgICAtY291 bGQgeW91IHByb3ZpZGUgdGhlIGRlY2xhcmF0aW9ucyB0aGF0IG92ZXJsb2FkIHdpdGggZWFjaCBv dGhlcgo+IGFuZAo+ID4gICAgIHByb2R1Y2UgdGhlIHByb2JsZW0/LAo+ID4KPiA+ICAgICB0aGFu a3MsCj4gPgo+ID4gICAgIG1hcmNlbG8KPiA+Cj4gPiAgICAgR2VvZmYgUnVzY29lIHdyb3RlOgo+ ID4KPiA+ICAgICA+IEknbSBoYXZpbmcgc29tZSBkaWZmaWN1bHR5IHVzaW5nIGNoYXIgKiogd2l0 aCBhbiBvdmVybG9hZGRlZAo+IG1ldGhvZC4KPiA+ICAgICA+Cj4gPiAgICAgPiBJIGhhdmUgYWRk ZWQgdGhlIGJ1cmIgdG8gdGhlIGludGVyZmFjZSBmaWxlIHRoYXQgbWFrZXMgdGhpcyB3b3JrCj4g Zm9yCj4gPiAgICAgPiBzdGFuZGFyZCBtZXRob2RzIChubyBkZWZhdWx0IGFyZ3MsIG5vIG92ZXJs b2FkaW5nKS4gIEhvd2V2ZXIsIHdoZW4KPiA+ICAgICA+IHN3aWcgZ2VuZXJhdGVzIHRoZSBjb2Rl IGZvciBvdmVybG9hZGVkIG1ldGhvZHMgdGhhdCB1c2UgdGhpcyBkYXRhCj4gPiAgICAgPiB0eXBl LCBJIGdldCB0aGUgZm9sbG93aW5nIGVycm9yOgo+ID4gICAgID4KPiA+ICAgICA+IE5vIG1hdGNo aW5nIGZ1bmN0aW9uIGZvciBvdmVybG9hZGVkICdTb21lQ2xhc3Nfc29tZU1ldGhvZCcKPiA+ICAg ICAoQXJndW1lbnRFcnJvcikKPiA+ICAgICA+Cj4gPiAgICAgPiBJZiBJIGVkaXQgdGhlIGdlbmVy YXRlZCB3cmFwLmN4eCBmaWxlIEkgY2FuIG5hcnJvdyBpdCBkb3duIHRvCj4gPiAgICAgdGhlIGNo YXIKPiA+ICAgICA+ICogb3IgdGhlIGNoYXIgKiogcmV0dXJuaW5nIGEgLTEgdG8gdGhlIHJlcyB2 YXJpYWJsZSAoYW5kIHRodXMgYSAwCj4gdG8KPiA+ICAgICA+IHRoZSBfdiB2YXJpYWJsZSkuCj4g PiAgICAgPgo+ID4gICAgID4gSSBoYXZlIGh1bnRlZCB0aHJvdWdoIHRoZSBkb2NzLCBnb29nbGUg YW5kIHRoZSBtYWlsaW5nIGxpc3QgYnV0Cj4gPiAgICAgY2Fubm90Cj4gPiAgICAgPiBmaW5kIHRo aXMgc2NlbmFyaW8gYmVpbmcgZGlzY3Vzc2VkLiAgSSBhcG9sb2dpemUgSWYgSSBtaXNzZWQKPiA+ ICAgICBpdC4gIEFueQo+ID4gICAgID4gZ3VpZGFuY2Ugd291bGQgYmUgYXBwcmVjaWF0ZWQuCj4g PiAgICAgPgo+ID4gICAgID4gSW5jaWRlbnRhbGx5LCBzbyBmYXIgSSBoYXZlIGFib3V0IDkyMDAw IGxpbmVzIG9mIEMrKyB3LyBRVCBjb2RlCj4gPiAgICAgPiB3cmFwcGVkIGFuZCBzdGFyaW5nIHRv IHdvcmsgdy8gbXkgcnVieSBjb2RlLCBleGNlcHQgZm9yIHRoZXNlCj4gY2FsbHMuCj4gPiAgICAg PiBUaGUgZmlyc3QgY291cGxlIEkgY3JlYXRlZCB3YXlzIHRvIG5vdCB1c2UgYW4gb3ZlcmxvYWRl ZAo+ID4gICAgIGZ1bmN0aW9uIGFuZAo+ID4gICAgID4gdGhpcyBmaXhlcyB0aGUgcHJvYmxlbSwg YnV0IHRoaXMgaXMgb2J2aW91c2x5IG5vdCBhIGdvb2QKPiA+ICAgICBzb2x1dGlvbiBmb3IKPiA+ ICAgICA+IDkyMDAwIGxpbmVzIG9mIGNvZGUgOi0pLgo+ID4gICAgID4KPiA+ICAgICA+IFRoYW5r cywKPiA+ICAgICA+IEdlb2ZmCj4gPgo+ID4KPiA+Cj4KPgo= |