[Handel] Customising Handel

Christopher H. Laco claco at chrislaco.com
Thu Dec 13 14:11:46 GMT 2007


TWFydGluIEVsbGlzb24gd3JvdGU6Cj4gSSBoYXZlIGEgZmV3IHF1ZXN0aW9ucyBhYm91dCBjdXN0
b21pc2luZyBIYW5kZWwsIHNwZWNpZmljYWxseSB0aGUgY2hlY2tvdXQKPiBwcm9jZXNzLiBJJ20g
bm90IHN1cmUgaG93IHRvIGRvIHRoaXMuCj4gCj4gU3BlY2lmaWNhbGx5IEkgd2FudCB0byB1c2Ug
dGhlIFBheXBhbCBTdGFuZGFyZCBwcm9jZXNzICh3aGVyZSBQYXlwYWwgaGFuZGxlcwo+IHRoZSBj
cmVkaXQgY2FyZHMgZXRjKS4KPiAKPiBJIGhhdmUgc2V0IHVwIHRoZSBIYW5kZWwtY2FydCAib3V0
IG9mIHRoZSBib3giIHdpdGggaGVscCBmcm9tIENsYWNvIGFuZCB0aGF0Cj4gc2VlbXMgdG8gYmUg
d29ya2luZy4KPiAKPiBIb3dldmVyLCB3aGF0IEkgd2FudCB0byBoYXBwZW4sIHdoZW4gdGhlIGN1
c3RvbWVyIGNsaWNrcyBvbiB0aGUgY2hlY2tvdXQKPiBidXR0b24sIGlzIHRoYXQgdGhlIHByb2Nl
c3MgY3JlYXRlcyBhbiBvcmRlciBzdW1tYXJ5IHBhZ2UsIHRoYXQgYWxzbwo+IGdlbmVyYXRlcyBh
IGZvcm0gd2l0aCBhICJwYXkgd2l0aCBQYXlwYWwiIGJ1dHRvbiB3aXRoIGxvdHMgb2YgaGlkZGVu
IGZpZWxkcy4KPiBBbGwgb2YgdGhpcyBpcyBkb2N1bWVudGVkIG9uIHBheXBhbC5jb20sIGJ1dCBl
c3NlbnRpYWxseSBpdCBhcnRpY3VsYXRlcyB0aGUKPiBjdXN0b21lcidzIG9yZGVyLiBJIGRvbid0
IGFudGljaXBhdGUgYW55IHByb2JsZW0gZ2VuZXJhdGluZyB0aGlzIGZvcm0gYXMgaXQKPiBzaG91
bGQganVzdCBiZSBhIGpvYiBmb3IgdGhlIHRlbXBsYXRlIHRvb2xraXQuCj4gCj4gSG93ZXZlciwg
SSdtIG5vdCBzdXJlIHdoYXQgY2hhbmdlcyBJIG5lZWQgdG8gbWFrZSB0byBteSBIYW5kZWwgaW5z
dGFsbGF0aW9uCj4gc28gdGhhdCBpdCBza2lwcyB0aGUgZW50ZXItYmlsbGluZy1hZGRyZXNzIGFu
ZCBlbnRlci1jcmVkaXQtY2FyZC1kZXRhaWxzCj4gcGFnZXMuIEkgcHJlc3VtZSBJIGRvIHNvbWV0
aGluZyB3aXRoIEhhbmRlbDo6Q2hlY2tvdXQgYW5kIG1ldGhvZHMgc3VjaCBhcwo+IGFkZF9oYW5k
bGVyLCBhZGRfcGhhc2UgYW5kIHBoYXNlcy4gSG93ZXZlciwgSSBjYW5ub3QgZmluZCBlbm91Z2gK
PiBkb2N1bWVudGF0aW9uIHRvIGV4cGxhaW4gd2hhdCBJIG5lZWQgdG8gZG8gdGhlcmUuCj4gCj4g
UGF5cGFsIHdpbGwgY2FsbCBiYWNrIChyZWZlciB0aGUgY3VzdG9tZXIgYnJvd3NlcikgdG8gb25l
IG9mIHNldmVyYWwgcGFnZXMKPiBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgY3VzdG9tZXIgY291
Z2hzIHVwIG9yIGhhcyBzZWNvbmQgdGhvdWdodHMsIHNvIEkKPiB3YW50IHRvIGVpdGhlciBtYXJr
IHRoZSBvcmRlciBhcyBwYWlkLWZvciBvciBnbyBiYWNrIHRvIHRoZSBzaG9wcGluZyBjYXJ0Cj4g
KGFuZCBwcmVzdW1hYmx5IGFiYW5kb24gdGhhdCBvcmRlcik7IGRvZXMgSGFuZGVsIGRvIHRoZXNl
IG9yIHNob3VsZCBJIHVzZQo+IHNvbWUgbWVjaGFuaXNtIG91dHNpZGUgSGFuZGVsPwoKU29tZXRp
bWVzIEkgd2lzaCBJIG5ldmVyIGFkZGVkIENhdCBoZWxwZXIgY29kZSB0byB0aGlzIGRpc3QuIEl0
IGltcGxpZXMKdGhhdCB0aGluZ3Mgd2lsbCBhbHdheXMgYmUgZG9uZSBmb3IgeW91LCBvciB0aGF0
IHRoaW5ncyBtdXN0IGJlIGRvbmUgYnkKY3JhbW1pbmcgY29kZSBpbnRvIHRoZSBnZW5lcmF0ZWQg
Y29kZS4gTXkgYWR2aWNlIHdpbGwgYWx3YXlzIGJlOiBsb29rIGF0CndoYXQgaXQgZG9lcywgdGhl
biB3cml0ZSB5b3VyIG93bi4KClRoZSBmaXJzdCB0aGluZyB0byBrZWVwIGluIG1pbmQgYWJvdXQg
SGFuZGVsOjpDaGVja291dCBpcyB0aGF0CkhhbmRlbDo6Q2hlY2tvdXQgZG9lcyBub3RoaW5nIGZv
ciB5b3UuIFRoYXQncyByaWdodC4gSGFuZGVsOjpDaGVja291dApkb2VzIG5vdGhpbmcuIEhhbmRl
bDo6Q2hlY2tvdXQgaXMgc2ltcGx5IGEgcGlwZWxpbmUgcnVubmVyLiBZb3UgdGVsbCBpdAp3aGF0
IHBsdWdpbnMgdG8gYXBwbHkgdG8gYW4gb3JkZXIvb3JkZXJzLCBncm91cCB0aGUgcGx1Z2lucyBi
eSBuYW1lCihwaGFzZXMpIGFuZCB0ZWxsIHRoZSBjaGVja291dCBwcm9jZXNzIHRvIHJ1biB0aGVt
IFthbGwsIG9yIGp1c3QgcGx1Z3NpbgppbiBhIHNwZWNpZmljIHBoYXNlXSwgcGFzc2luZyB0aGUg
b3JkZXIgdG8gZWFjaCBwbHVnaW4uCgpTbywgbXkgYWR2aWNlIHdvdWxkIGJlOgoKMS4gRGV0ZXJt
aW5lIHdoYXQgcGhhc2VzIHlvdXIgY2hlY2tvdXQgd2lsbCBoYXZlLgoKTGV0J3Mgc2F5IGZvciB0
aGUgc2FrZSBvZiB2ZXJib3NpdHkgdGhhdCB5b3VyIHdvcmtmbG93IGlzOgogICAgLSBpbml0IG9y
ZGVyICh3aGVuICJjaGVja291dCIgaXMgcHJlc3NlZAogICAgLSBwcmV2aWV3IHBhZ2UgIC0gZ2V0
cyBzaGlwcGluZyBlc3RpbWF0ZXMKICAgIC0gcGF5bWVudCAtIGF1dGhvcml6ZSBmdW5kcyBhZ2Fp
bnN0IHBheXBhbAogICAgLSBjb25maXJtYXRpb24gcGFnZSAtIHNlbmQgb3JkZXIgY29uZmlybWF0
aW9uIGVtYWlsCgpUaGlzIG1lYW5zIHlvdSBjb3VsZCBoYXZlIHRoZSBmb2xsb3dpbmcgcGhhc2Vz
OgogICAgLSBJTklUSUFMSVpFCiAgICAtIFBSRVZJRVcKICAgIC0gQVVUSE9SSVpFCiAgICAtIERF
TElWRVIKCkFkZCBhbnkgbm9uIHN0YW5kYXJkIHBoYXNlcyB0byB5b3VyIGNoZWNrb3V0IG1vZHVs
ZToKCiAgICBIYW5kZWw6OkNoZWNrb3V0LT5hZGRfcGhhc2UoJ0NIRUNLT1VUX1BIQVNFX1BSRVZJ
RVcnLCA0MiwgMSk7CgoKMi4gV3JpdGUgcGx1Z2lucyB0byBkbyBzbWFsbCBiaXRzIG9mIHdvcmss
IGFuZCBhc3NpZ24gdGhlbSB0byB0aGUKYXBwcm9wcmlhdGUgcGhhc2VzOgoKPiBwYWNrYWdlIE15
QXBwOjpDaGVja291dDo6UGx1Z2luOjpHZXRTaGlwcGluZ09wdGlvbnM7Cj4gdXNlIHN0cmljdDsK
PiB1c2Ugd2FybmluZ3M7Cj4gCj4gQkVHSU4gewo+ICAgICB1c2UgYmFzZSBxdy9IYW5kZWw6OkNo
ZWNrb3V0OjpQbHVnaW4vOwo+ICAgICB1c2UgSGFuZGVsOjpDb25zdGFudHMgcXcvOmNoZWNrb3V0
LzsKPiAgICAgdXNlIE5ldDo6VVBTOwo+IH07Cj4gCj4gc3ViIHJlZ2lzdGVyIHsKPiAgICAgbXkg
KCRzZWxmLCAkY3R4KSA9IEBfOwo+IAo+ICAgICAkY3R4LT5hZGRfaGFuZGxlcihDSEVDS09VVF9Q
SEFTRV9QUkVWSUVXLCBcJmhhbmRsZXIpOwo+IAo+ICAgICByZXR1cm47Cj4gfTsKPiAKPiBzdWIg
aGFuZGxlciB7Cj4gICAgIG15ICgkc2VsZiwgJGN0eCkgPSBAXzsKPiAgICAgbXkgJHVwcyA9IE5l
dDo6VVBTLT5uZXcoJHVzZXJpZCwgJHBhc3N3b3JkLCAkYWNjZXNza2V5KTsKPiAgICAgbXkgJHNl
cnZpY2VzID0gJHVwcy0+c2hvcF9mb3JfcmF0ZXMoMTUyMjgsIDE1MjQxLCAkcGFja2FnZSk7Cj4g
CQo+ICAgICAkY3R4LT5vcmRlci0+c2hpcHBpbmdfbWV0aG9kcygkc2VydmljZXMpOwo+IAo+ICAg
ICByZXR1cm4gQ0hFQ0tPVVRfSEFORExFUl9PSzsKPiB9Owo+IAo+IDE7CgozLiBSdW4gdGhlIGFw
cHJvcHJpYXRlIHBoYXNlcyBvbiB0aGUgYXBwcm9wcmlhdGUgcGFnZXMvY29udHJvbGxlcnMKCj4g
c3ViIHByZXZpZXcgOiBMb2NhbCB7Cj4gICAgIG15ICgkc2VsZiwgJGMpID0gQF87Cj4gICAgICRj
LT5zdGFzaC0+eyd0ZW1wbGF0ZSd9ID0gJ1slIGFjdGlvbiAlXS9wcmV2aWV3JzsKPiAKPiAgICAg
aWYgKG15ICRvcmRlciA9ICRjLT5mb3J3YXJkKCdsb2FkJykpIHsKPiAgICAgICAgICRjLT5zdGFz
aC0+eydvcmRlcid9ID0gJG9yZGVyOwo+IAo+IAlteSAkY2hlY2tvdXQgPSBIYW5kZWw6OkNoZWNr
b3V0LT5uZXcoewo+IAkgICAgb3JkZXIgID0+ICRvcmRlciwKPiAJICAgIHBoYXNlcyA9PiAnQ0hF
Q0tPVVRfUEhBU0VfUFJFVklFVycKPiAJfSk7Cj4gCj4gCWlmICgkY2hlY2tvdXQtPnByb2Nlc3Mg
IT0gQ0hFQ0tPVVRfU1RBVFVTX09LKSB7Cj4gCSAgICAkYy0+c3Rhc2gtPnsnZXJyb3JzJ30gPSAk
Y2hlY2tvdXQtPm1lc3NhZ2VzOwo+IAl9Owo+ICAgICB9Owo+IAo+ICAgICByZXR1cm47Cj4gfTsK
PiBbJSBtZXRob2RzID0gb3JkZXIuc2hpcHBpbmdfbWV0aG9kcyAlXQo+IAoKPiAjIyBpbiBwcmV2
aWV3LnR0Cj4gPHNlbGVjdCBuYW1lPSJzaGlwcGluZ19tZXRob2QiPgo+IFslIEZPUkVBQ0ggbWV0
aG9kID0gbWV0aG9kcyAlXQo+ICAgICA8b3B0aW9uIHZhbHVlPSJbJSBtZXRob2QuY29kZSAlXSI+
WyUgbWV0aG9kLmxhYmVsICVdIC0gWyUgbWV0aG9kLnRvdGFsX2NoYXJnZXMgJV08L29wdGlvbj4K
PiBbJSBFTkQgJV0KPiA8L3NlbGVjdD4KClRoaXMgaXMgYSB2ZXJ5IHJvdWdoIG92ZXJ2aWV3LCBi
dXQgSSBob3BlIHlvdSBnZXQgdGhlIGlkZWEgb2YgdGhpbmdzLgpCZWNhdXNlIGV2ZXJ5b25lIGNo
ZWNrb3V0IGlzIGRpZmZlcmVudCwgSSBtYWRlIGhhbmRlbCBjaGVja291dCBkbwpub3RoaW5nIHNw
ZWNpZmljLiBUaGUgaGVscGVyIGdlbmVyYXRlZCBjb2RlIGlzIG1vcmUgb2YgYW4gZXhhbXBsZSBv
ZiBob3cKdGhpbmdzIGFyZSBwdXQgdG9nZXRoZXIuLi5ub3QgaG93IHRoaW5ncyBoYXZlIHRvIGJl
IGRvbmUuCgotPUNocmlzCgotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0K
QSBub24tdGV4dCBhdHRhY2htZW50IHdhcyBzY3J1YmJlZC4uLgpOYW1lOiBzaWduYXR1cmUuYXNj
ClR5cGU6IGFwcGxpY2F0aW9uL3BncC1zaWduYXR1cmUKU2l6ZTogMTg3IGJ5dGVzCkRlc2M6IE9w
ZW5QR1AgZGlnaXRhbCBzaWduYXR1cmUKVXJsIDogaHR0cDovL2xpc3RzLnNjc3lzLmNvLnVrL3Bp
cGVybWFpbC9oYW5kZWwvYXR0YWNobWVudHMvMjAwNzEyMTMvOTVjYjA3NTkvc2lnbmF0dXJlLnBn
cAo=


More information about the Handel mailing list