RE: Something is missing in Component Pascal

From: Treutwein Bernhard <"Treutwein>
Date: Thu, 3 Jul 2003 09:02:24 +0200

----boundary-LibPST-iamunique-1614340453_-_-
Content-type: text/plain

Hi Wojtek,

lastly I have a quick answer:

Check Module Services, there you find:

        PROCEDURE AdrOf (IN rec: ANYREC): INTEGER;

and later:

        PROCEDURE AdrOf (IN rec: ANYREC): INTEGER
        Returns the address of a record variable.

I think this serves your wishes ...

--
	Bernhard Treutwein, IuK, Ref. III A 3
	Bernhard.Treutwein(at)verwaltung uni-muenchen de
> -----Original Message-----
> From: Wojtek Skulski [mailto:skulski{([at]})nowhere.xy> Sent: Thursday, July 03, 2003 8:41 AM
> To: BlackBox
> Cc: gmeunier{([at]})nowhere.xy> Subject: Something is missing in Component Pascal
> 
> 
> Hello:
> 
>   I have been strugling with BlackBox during the last few days,
> and I have come to the conclusion that something is missing in
> Component Pascal. Really. Perhaps I am missing something in the
> language manual, in which case I apologise.
> 
> This something is well known in C as an address operator, which
> we also need in a type-safe version. I searched the language report
> for the word "address" and it is not there. I propose the following.
> 
> Imagine there is a function which only takes pointers. Imagine
> the name of the function is Join. (Now you can feel the blues,
> do not you?) Imagine that for some reason I am working with
> statically declared records. This has been possible for the last
> 50 years, and it should still be possible with CP. So OK, let's
> assume I have this fancy. So I declare the bunch of records,
> and now I want to write these to a file. This also used to be
> possible for the last 50 years. So I am writing to a file using
> Stores.Writer and I am getting what? You bet. TRAP 21. Everybody
> still with me?
> 
> OK, so I start reading Stores documentation and I find the following
> remedy which is supposed to help with TRAP 21.
> 
> IF ~Stores.Joined(s1, s2) THEN
>    IF ~Stores.Unattached(s2) THEN
>        s2 := Stores.CopyOf(s2)
>    END;
>    Stores.Join(s1, s2)
> END;
> 
> Wonderful. So I start using it and I get what? You bet. Compilation
> error. My stores are records, not pointers.
> 
> So now I have a question. How do I call the function Join 
> which expects
> a pointer, if I have a statically declared record, either 
> global variable
> or a stack variable?
> 
> In case this is trivial, I will really appreciate your telling me.
> We have an experiment next week and I do need this software to work
> without TRAP 21.
> 
> In case there is no trivial solution, I will temporarily dump 
> BB and start
> using C++ for the time being, where such stupid traps do not happen.
> I would also propose the following syntax to be added to the language:
> 
> (*declaration*)
> VAR r1, r2: RECORD (Stores.Store) (*some data*) END;
>     s: Stores.Store;
> 
> BEGIN
> IF ~Stores.Joined(POINTER TO r1, POINTER TO r2) THEN
>    IF ~Stores.Unattached  (POINTER TO r2) THEN
>        s := Stores.CopyOf (POINTER TO r2)
>    END;
>    Stores.Join(POINTER TO r1, s)
> END;
> 
> You feel the blues? The "POINTER TO r" is the opposite to 
> dereferencing,
> that is the "address of" operator. It should be possible 
> anywhere where
> the opposite could be used, that is
> 
> VAR p: POINTER TO r;
> 
> BEGIN NEW(p); (* now we can use p^ *)
> 
> If I can use p^ to fill it with data, and p to pass to a function,
> then it should be possible to use r to fill with data, and 
> "POINTER TO r"
> to be passed to functions.
> 
> In case you do not like my syntax, let it be ^r as the opposite to p^,
> or &r if you like C style, or POINTER(r), or whatever. I do not care.
> All that I want is to be able to use the framework, where functions
> are defined with pointers, and they do not want to be called 
> with records.
> 
> In case I am missing something obvious, I stand corrected and 
> I apologize.
> 
> I wish everybody a good 4-th July.
> 
> Wojtek Skulski skulski{([at]})nowhere.xy> 
> 
> PS1: I hope the proposed solution will not be as follows, but 
> I will use
>      this if nothing else helps, because we have the 
> experiment next week.
> 
>             SYSTEM.VAL(ptrType, SYSTEM.ADR(record))
> 
> 
> PS2: Gerard, I do not think you are there yet. The traps 
> happen when I am
>      dealing with histograms which are pointed to from the tree nodes.
>      Once I display such a histogram, it gets joined to some viev, and
>      thus its domain gets dirty. Now I cannot store these dirty histos
>      anymore. This problem is hidden deep in the dungeons of BlackBox.
>      You do not see it yet unless you have some pointers to stores
>      attached to your trees. The tree itself does not have 
> this problem.
>      The Dialog tree is not a store anyway. The collection of stores
>      develops the collective problem when some stores get 
> their domains
>      attached to something else than other stores. So it is all pretty
>      nonobvious.
> 
> 
> 
> --------------------------------------------
> 
> To unsubscribe from this mailing list, send a message 
> containing the word "unsubscribe" to:
>    blackbox-request{([at]})nowhere.xy> 
> To get a list of valid e-mail commands and instructions on 
> their usage, send a message containing the word "help" to the 
> above address.
> 
> Send any problem reports or questions related to this email 
> list to the list owner at
>    owner-blackbox{([at]})nowhere.xy> 
> Current posting policy:
> 
> a) To post you should use the same address by which you are 
> subscribed to the mailing list. That way, the list server 
> will recognize you as subscriber and forward your posting 
> immediately, without creating any overhead.
> 
> b) If, for some reason, you cannot post from the address, by 
> which you are subscribed, your message will be moderated to 
> avoid spam. Please understand that moderation will often 
> cause some delay, in particular over weekends or holydays.
> 
--------------------------------------------
To unsubscribe from this mailing list, send a message containing the word "unsubscribe" to:
   blackbox-request{([at]})nowhere.xyTo get a list of valid e-mail commands and instructions on their usage, send a message containing the word "help" to the above address.
Send any problem reports or questions related to this email list to the list owner at
   owner-blackbox{([at]})nowhere.xyCurrent posting policy:
a) To post you should use the same address by which you are subscribed to the mailing list. That way, the list server will recognize you as subscriber and forward your posting immediately, without creating any overhead.
b) If, for some reason, you cannot post from the address, by which you are subscribed, your message will be moderated to avoid spam. Please understand that moderation will often cause some delay, in particular over weekends or holydays.
----boundary-LibPST-iamunique-1614340453_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"
e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGRlZmYwe1xmb250dGJsDQp7XGYwXGZz
d2lzcyBBcmlhbDt9DQp7XGYxXGZtb2Rlcm4gQ291cmllciBOZXc7fQ0Ke1xmMlxmbmlsXGZjaGFy
c2V0MiBTeW1ib2w7fQ0Ke1xmM1xmbW9kZXJuXGZjaGFyc2V0MCBDb3VyaWVyIE5ldzt9fQ0Ke1xj
b2xvcnRibFxyZWQwXGdyZWVuMFxibHVlMDtccmVkMFxncmVlbjBcYmx1ZTI1NTt9DQpcdWMxXHBh
cmRccGxhaW5cZGVmdGFiMzYwIFxmMFxmczIwIEhpIFdvanRlayxccGFyDQpccGFyDQpsYXN0bHkg
SSBoYXZlIGEgcXVpY2sgYW5zd2VyOlxwYXINClxwYXINCkNoZWNrIE1vZHVsZSBTZXJ2aWNlcywg
dGhlcmUgeW91IGZpbmQ6XHBhcg0KXHBhcg0KXHRhYiBQUk9DRURVUkUgQWRyT2YgKElOIHJlYzog
QU5ZUkVDKTogSU5URUdFUjtccGFyDQpccGFyDQphbmQgbGF0ZXI6XHBhcg0KXHBhcg0KXHRhYiBQ
Uk9DRURVUkUgQWRyT2YgKElOIHJlYzogQU5ZUkVDKTogSU5URUdFUlxwYXINClx0YWIgUmV0dXJu
cyB0aGUgYWRkcmVzcyBvZiBhIHJlY29yZCB2YXJpYWJsZS5ccGFyDQpccGFyDQpJIHRoaW5rIHRo
aXMgc2VydmVzIHlvdXIgd2lzaGVzIC4uLlxwYXINClxwYXINCi0tXHBhcg0KXHRhYiBCZXJuaGFy
ZCBUcmV1dHdlaW4sIEl1SywgUmVmLiBJSUkgQSAzXHBhcg0KXHRhYiBCZXJuaGFyZC5UcmV1dHdl
aW4oYXQpdmVyd2FsdHVuZyB1bmktbXVlbmNoZW4gZGVccGFyDQpccGFyDQo+IC0tLS0tT3JpZ2lu
YWwgTWVzc2FnZS0tLS0tXHBhcg0KPiBGcm9tOiBXb2p0ZWsgU2t1bHNraSBbbWFpbHRvOnNrdWxz
a2lAcGFzLnJvY2hlc3Rlci5lZHVdIFxwYXINCj4gU2VudDogVGh1cnNkYXksIEp1bHkgMDMsIDIw
MDMgODo0MSBBTVxwYXINCj4gVG86IEJsYWNrQm94XHBhcg0KPiBDYzogZ21ldW5pZXJAY2x1Yi1p
bnRlcm5ldC5mcjsgV29qdGVrIFNrdWxza2lccGFyDQo+IFN1YmplY3Q6IFNvbWV0aGluZyBpcyBt
aXNzaW5nIGluIENvbXBvbmVudCBQYXNjYWxccGFyDQo+IFxwYXINCj4gXHBhcg0KPiBIZWxsbzpc
cGFyDQo+IFxwYXINCj4gICBJIGhhdmUgYmVlbiBzdHJ1Z2xpbmcgd2l0aCBCbGFja0JveCBkdXJp
bmcgdGhlIGxhc3QgZmV3IGRheXMsXHBhcg0KPiBhbmQgSSBoYXZlIGNvbWUgdG8gdGhlIGNvbmNs
dXNpb24gdGhhdCBzb21ldGhpbmcgaXMgbWlzc2luZyBpblxwYXINCj4gQ29tcG9uZW50IFBhc2Nh
bC4gUmVhbGx5LiBQZXJoYXBzIEkgYW0gbWlzc2luZyBzb21ldGhpbmcgaW4gdGhlXHBhcg0KPiBs
YW5ndWFnZSBtYW51YWwsIGluIHdoaWNoIGNhc2UgSSBhcG9sb2dpc2UuXHBhcg0KPiBccGFyDQo+
IFRoaXMgc29tZXRoaW5nIGlzIHdlbGwga25vd24gaW4gQyBhcyBhbiBhZGRyZXNzIG9wZXJhdG9y
LCB3aGljaFxwYXINCj4gd2UgYWxzbyBuZWVkIGluIGEgdHlwZS1zYWZlIHZlcnNpb24uIEkgc2Vh
cmNoZWQgdGhlIGxhbmd1YWdlIHJlcG9ydFxwYXINCj4gZm9yIHRoZSB3b3JkICJhZGRyZXNzIiBh
bmQgaXQgaXMgbm90IHRoZXJlLiBJIHByb3Bvc2UgdGhlIGZvbGxvd2luZy5ccGFyDQo+IFxwYXIN
Cj4gSW1hZ2luZSB0aGVyZSBpcyBhIGZ1bmN0aW9uIHdoaWNoIG9ubHkgdGFrZXMgcG9pbnRlcnMu
IEltYWdpbmVccGFyDQo+IHRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiBpcyBKb2luLiAoTm93IHlv
dSBjYW4gZmVlbCB0aGUgYmx1ZXMsXHBhcg0KPiBkbyBub3QgeW91PykgSW1hZ2luZSB0aGF0IGZv
ciBzb21lIHJlYXNvbiBJIGFtIHdvcmtpbmcgd2l0aFxwYXINCj4gc3RhdGljYWxseSBkZWNsYXJl
ZCByZWNvcmRzLiBUaGlzIGhhcyBiZWVuIHBvc3NpYmxlIGZvciB0aGUgbGFzdFxwYXINCj4gNTAg
eWVhcnMsIGFuZCBpdCBzaG91bGQgc3RpbGwgYmUgcG9zc2libGUgd2l0aCBDUC4gU28gT0ssIGxl
dCdzXHBhcg0KPiBhc3N1bWUgSSBoYXZlIHRoaXMgZmFuY3kuIFNvIEkgZGVjbGFyZSB0aGUgYnVu
Y2ggb2YgcmVjb3JkcyxccGFyDQo+IGFuZCBub3cgSSB3YW50IHRvIHdyaXRlIHRoZXNlIHRvIGEg
ZmlsZS4gVGhpcyBhbHNvIHVzZWQgdG8gYmVccGFyDQo+IHBvc3NpYmxlIGZvciB0aGUgbGFzdCA1
MCB5ZWFycy4gU28gSSBhbSB3cml0aW5nIHRvIGEgZmlsZSB1c2luZ1xwYXINCj4gU3RvcmVzLldy
aXRlciBhbmQgSSBhbSBnZXR0aW5nIHdoYXQ/IFlvdSBiZXQuIFRSQVAgMjEuIEV2ZXJ5Ym9keVxw
YXINCj4gc3RpbGwgd2l0aCBtZT9ccGFyDQo+IFxwYXINCj4gT0ssIHNvIEkgc3RhcnQgcmVhZGlu
ZyBTdG9yZXMgZG9jdW1lbnRhdGlvbiBhbmQgSSBmaW5kIHRoZSBmb2xsb3dpbmdccGFyDQo+IHJl
bWVkeSB3aGljaCBpcyBzdXBwb3NlZCB0byBoZWxwIHdpdGggVFJBUCAyMS5ccGFyDQo+IFxwYXIN
Cj4gSUYgflN0b3Jlcy5Kb2luZWQoczEsIHMyKSBUSEVOXHBhcg0KPiAgICBJRiB+U3RvcmVzLlVu
YXR0YWNoZWQoczIpIFRIRU5ccGFyDQo+ICAgICAgICBzMiA6PSBTdG9yZXMuQ29weU9mKHMyKVxw
YXINCj4gICAgRU5EO1xwYXINCj4gICAgU3RvcmVzLkpvaW4oczEsIHMyKVxwYXINCj4gRU5EO1xw
YXINCj4gXHBhcg0KPiBXb25kZXJmdWwuIFNvIEkgc3RhcnQgdXNpbmcgaXQgYW5kIEkgZ2V0IHdo
YXQ/IFlvdSBiZXQuIENvbXBpbGF0aW9uXHBhcg0KPiBlcnJvci4gTXkgc3RvcmVzIGFyZSByZWNv
cmRzLCBub3QgcG9pbnRlcnMuXHBhcg0KPiBccGFyDQo+IFNvIG5vdyBJIGhhdmUgYSBxdWVzdGlv
bi4gSG93IGRvIEkgY2FsbCB0aGUgZnVuY3Rpb24gSm9pbiBccGFyDQo+IHdoaWNoIGV4cGVjdHNc
cGFyDQo+IGEgcG9pbnRlciwgaWYgSSBoYXZlIGEgc3RhdGljYWxseSBkZWNsYXJlZCByZWNvcmQs
IGVpdGhlciBccGFyDQo+IGdsb2JhbCB2YXJpYWJsZVxwYXINCj4gb3IgYSBzdGFjayB2YXJpYWJs
ZT9ccGFyDQo+IFxwYXINCj4gSW4gY2FzZSB0aGlzIGlzIHRyaXZpYWwsIEkgd2lsbCByZWFsbHkg
YXBwcmVjaWF0ZSB5b3VyIHRlbGxpbmcgbWUuXHBhcg0KPiBXZSBoYXZlIGFuIGV4cGVyaW1lbnQg
bmV4dCB3ZWVrIGFuZCBJIGRvIG5lZWQgdGhpcyBzb2Z0d2FyZSB0byB3b3JrXHBhcg0KPiB3aXRo
b3V0IFRSQVAgMjEuXHBhcg0KPiBccGFyDQo+IEluIGNhc2UgdGhlcmUgaXMgbm8gdHJpdmlhbCBz
b2x1dGlvbiwgSSB3aWxsIHRlbXBvcmFyaWx5IGR1bXAgXHBhcg0KPiBCQiBhbmQgc3RhcnRccGFy
DQo+IHVzaW5nIEMrKyBmb3IgdGhlIHRpbWUgYmVpbmcsIHdoZXJlIHN1Y2ggc3R1cGlkIHRyYXBz
IGRvIG5vdCBoYXBwZW4uXHBhcg0KPiBJIHdvdWxkIGFsc28gcHJvcG9zZSB0aGUgZm9sbG93aW5n
IHN5bnRheCB0byBiZSBhZGRlZCB0byB0aGUgbGFuZ3VhZ2U6XHBhcg0KPiBccGFyDQo+ICgqZGVj
bGFyYXRpb24qKVxwYXINCj4gVkFSIHIxLCByMjogUkVDT1JEIChTdG9yZXMuU3RvcmUpICgqc29t
ZSBkYXRhKikgRU5EO1xwYXINCj4gICAgIHM6IFN0b3Jlcy5TdG9yZTtccGFyDQo+IFxwYXINCj4g
QkVHSU5ccGFyDQo+IElGIH5TdG9yZXMuSm9pbmVkKFBPSU5URVIgVE8gcjEsIFBPSU5URVIgVE8g
cjIpIFRIRU5ccGFyDQo+ICAgIElGIH5TdG9yZXMuVW5hdHRhY2hlZCAgKFBPSU5URVIgVE8gcjIp
IFRIRU5ccGFyDQo+ICAgICAgICBzIDo9IFN0b3Jlcy5Db3B5T2YgKFBPSU5URVIgVE8gcjIpXHBh
cg0KPiAgICBFTkQ7XHBhcg0KPiAgICBTdG9yZXMuSm9pbihQT0lOVEVSIFRPIHIxLCBzKVxwYXIN
Cj4gRU5EO1xwYXINCj4gXHBhcg0KPiBZb3UgZmVlbCB0aGUgYmx1ZXM/IFRoZSAiUE9JTlRFUiBU
TyByIiBpcyB0aGUgb3Bwb3NpdGUgdG8gXHBhcg0KPiBkZXJlZmVyZW5jaW5nLFxwYXINCj4gdGhh
dCBpcyB0aGUgImFkZHJlc3Mgb2YiIG9wZXJhdG9yLiBJdCBzaG91bGQgYmUgcG9zc2libGUgXHBh
cg0KPiBhbnl3aGVyZSB3aGVyZVxwYXINCj4gdGhlIG9wcG9zaXRlIGNvdWxkIGJlIHVzZWQsIHRo
YXQgaXNccGFyDQo+IFxwYXINCj4gVkFSIHA6IFBPSU5URVIgVE8gcjtccGFyDQo+IFxwYXINCj4g
QkVHSU4gTkVXKHApOyAoKiBub3cgd2UgY2FuIHVzZSBwXiAqKVxwYXINCj4gXHBhcg0KPiBJZiBJ
IGNhbiB1c2UgcF4gdG8gZmlsbCBpdCB3aXRoIGRhdGEsIGFuZCBwIHRvIHBhc3MgdG8gYSBmdW5j
dGlvbixccGFyDQo+IHRoZW4gaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHVzZSByIHRvIGZpbGwg
d2l0aCBkYXRhLCBhbmQgXHBhcg0KPiAiUE9JTlRFUiBUTyByIlxwYXINCj4gdG8gYmUgcGFzc2Vk
IHRvIGZ1bmN0aW9ucy5ccGFyDQo+IFxwYXINCj4gSW4gY2FzZSB5b3UgZG8gbm90IGxpa2UgbXkg
c3ludGF4LCBsZXQgaXQgYmUgXnIgYXMgdGhlIG9wcG9zaXRlIHRvIHBeLFxwYXINCj4gb3IgJnIg
aWYgeW91IGxpa2UgQyBzdHlsZSwgb3IgUE9JTlRFUihyKSwgb3Igd2hhdGV2ZXIuIEkgZG8gbm90
IGNhcmUuXHBhcg0KPiBBbGwgdGhhdCBJIHdhbnQgaXMgdG8gYmUgYWJsZSB0byB1c2UgdGhlIGZy
YW1ld29yaywgd2hlcmUgZnVuY3Rpb25zXHBhcg0KPiBhcmUgZGVmaW5lZCB3aXRoIHBvaW50ZXJz
LCBhbmQgdGhleSBkbyBub3Qgd2FudCB0byBiZSBjYWxsZWQgXHBhcg0KPiB3aXRoIHJlY29yZHMu
XHBhcg0KPiBccGFyDQo+IEluIGNhc2UgSSBhbSBtaXNzaW5nIHNvbWV0aGluZyBvYnZpb3VzLCBJ
IHN0YW5kIGNvcnJlY3RlZCBhbmQgXHBhcg0KPiBJIGFwb2xvZ2l6ZS5ccGFyDQo+IFxwYXINCj4g
SSB3aXNoIGV2ZXJ5Ym9keSBhIGdvb2QgNC10aCBKdWx5LlxwYXINCj4gXHBhcg0KPiBXb2p0ZWsg
U2t1bHNraSBza3Vsc2tpQHBhcy5yb2NoZXN0ZXIuZWR1XHBhcg0KPiBccGFyDQo+IFxwYXINCj4g
UFMxOiBJIGhvcGUgdGhlIHByb3Bvc2VkIHNvbHV0aW9uIHdpbGwgbm90IGJlIGFzIGZvbGxvd3Ms
IGJ1dCBccGFyDQo+IEkgd2lsbCB1c2VccGFyDQo+ICAgICAgdGhpcyBpZiBub3RoaW5nIGVsc2Ug
aGVscHMsIGJlY2F1c2Ugd2UgaGF2ZSB0aGUgXHBhcg0KPiBleHBlcmltZW50IG5leHQgd2Vlay5c
cGFyDQo+IFxwYXINCj4gICAgICAgICAgICAgU1lTVEVNLlZBTChwdHJUeXBlLCBTWVNURU0uQURS
KHJlY29yZCkpXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gUFMyOiBHZXJhcmQsIEkgZG8gbm90IHRo
aW5rIHlvdSBhcmUgdGhlcmUgeWV0LiBUaGUgdHJhcHMgXHBhcg0KPiBoYXBwZW4gd2hlbiBJIGFt
XHBhcg0KPiAgICAgIGRlYWxpbmcgd2l0aCBoaXN0b2dyYW1zIHdoaWNoIGFyZSBwb2ludGVkIHRv
IGZyb20gdGhlIHRyZWUgbm9kZXMuXHBhcg0KPiAgICAgIE9uY2UgSSBkaXNwbGF5IHN1Y2ggYSBo
aXN0b2dyYW0sIGl0IGdldHMgam9pbmVkIHRvIHNvbWUgdmlldiwgYW5kXHBhcg0KPiAgICAgIHRo
dXMgaXRzIGRvbWFpbiBnZXRzIGRpcnR5LiBOb3cgSSBjYW5ub3Qgc3RvcmUgdGhlc2UgZGlydHkg
aGlzdG9zXHBhcg0KPiAgICAgIGFueW1vcmUuIFRoaXMgcHJvYmxlbSBpcyBoaWRkZW4gZGVlcCBp
biB0aGUgZHVuZ2VvbnMgb2YgQmxhY2tCb3guXHBhcg0KPiAgICAgIFlvdSBkbyBub3Qgc2VlIGl0
IHlldCB1bmxlc3MgeW91IGhhdmUgc29tZSBwb2ludGVycyB0byBzdG9yZXNccGFyDQo+ICAgICAg
YXR0YWNoZWQgdG8geW91ciB0cmVlcy4gVGhlIHRyZWUgaXRzZWxmIGRvZXMgbm90IGhhdmUgXHBh
cg0KPiB0aGlzIHByb2JsZW0uXHBhcg0KPiAgICAgIFRoZSBEaWFsb2cgdHJlZSBpcyBub3QgYSBz
dG9yZSBhbnl3YXkuIFRoZSBjb2xsZWN0aW9uIG9mIHN0b3Jlc1xwYXINCj4gICAgICBkZXZlbG9w
cyB0aGUgY29sbGVjdGl2ZSBwcm9ibGVtIHdoZW4gc29tZSBzdG9yZXMgZ2V0IFxwYXINCj4gdGhl
aXIgZG9tYWluc1xwYXINCj4gICAgICBhdHRhY2hlZCB0byBzb21ldGhpbmcgZWxzZSB0aGFuIG90
aGVyIHN0b3Jlcy4gU28gaXQgaXMgYWxsIHByZXR0eVxwYXINCj4gICAgICBub25vYnZpb3VzLlxw
YXINCj4gXHBhcg0KPiBccGFyDQo+IFxwYXINCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS1ccGFyDQo+IFxwYXINCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlz
IG1haWxpbmcgbGlzdCwgc2VuZCBhIG1lc3NhZ2UgXHBhcg0KPiBjb250YWluaW5nIHRoZSB3b3Jk
ICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KPiAgICBibGFja2JveC1yZXF1ZXN0QG9iZXJvbi5jaFxw
YXINCj4gXHBhcg0KPiBUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQg
aW5zdHJ1Y3Rpb25zIG9uIFxwYXINCj4gdGhlaXIgdXNhZ2UsIHNlbmQgYSBtZXNzYWdlIGNvbnRh
aW5pbmcgdGhlIHdvcmQgImhlbHAiIHRvIHRoZSBccGFyDQo+IGFib3ZlIGFkZHJlc3MuXHBhcg0K
PiBccGFyDQo+IFNlbmQgYW55IHByb2JsZW0gcmVwb3J0cyBvciBxdWVzdGlvbnMgcmVsYXRlZCB0
byB0aGlzIGVtYWlsIFxwYXINCj4gbGlzdCB0byB0aGUgbGlzdCBvd25lciBhdFxwYXINCj4gICAg
b3duZXItYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KPiBccGFyDQo+IEN1cnJlbnQgcG9zdGluZyBw
b2xpY3k6XHBhcg0KPiBccGFyDQo+IGEpIFRvIHBvc3QgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUg
YWRkcmVzcyBieSB3aGljaCB5b3UgYXJlIFxwYXINCj4gc3Vic2NyaWJlZCB0byB0aGUgbWFpbGlu
ZyBsaXN0LiBUaGF0IHdheSwgdGhlIGxpc3Qgc2VydmVyIFxwYXINCj4gd2lsbCByZWNvZ25pemUg
eW91IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIFxwYXINCj4gaW1tZWRp
YXRlbHksIHdpdGhvdXQgY3JlYXRpbmcgYW55IG92ZXJoZWFkLlxwYXINCj4gXHBhcg0KPiBiKSBJ
ZiwgZm9yIHNvbWUgcmVhc29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkg
XHBhcg0KPiB3aGljaCB5b3UgYXJlIHN1YnNjcmliZWQsIHlvdXIgbWVzc2FnZSB3aWxsIGJlIG1v
ZGVyYXRlZCB0byBccGFyDQo+IGF2b2lkIHNwYW0uIFBsZWFzZSB1bmRlcnN0YW5kIHRoYXQgbW9k
ZXJhdGlvbiB3aWxsIG9mdGVuIFxwYXINCj4gY2F1c2Ugc29tZSBkZWxheSwgaW4gcGFydGljdWxh
ciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlkYXlzLlxwYXINCj4gXHBhcg0KLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1ccGFyDQpccGFyDQpUbyB1bnN1YnNjcmliZSBm
cm9tIHRoaXMgbWFpbGluZyBsaXN0LCBzZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3Jk
ICJ1bnN1YnNjcmliZSIgdG86XHBhcg0KICAgYmxhY2tib3gtcmVxdWVzdEBvYmVyb24uY2hccGFy
DQpccGFyDQpUbyBnZXQgYSBsaXN0IG9mIHZhbGlkIGUtbWFpbCBjb21tYW5kcyBhbmQgaW5zdHJ1
Y3Rpb25zIG9uIHRoZWlyIHVzYWdlLCBzZW5kIGEgbWVzc2FnZSBjb250YWluaW5nIHRoZSB3b3Jk
ICJoZWxwIiB0byB0aGUgYWJvdmUgYWRkcmVzcy5ccGFyDQpccGFyDQpTZW5kIGFueSBwcm9ibGVt
IHJlcG9ydHMgb3IgcXVlc3Rpb25zIHJlbGF0ZWQgdG8gdGhpcyBlbWFpbCBsaXN0IHRvIHRoZSBs
aXN0IG93bmVyIGF0XHBhcg0KICAgb3duZXItYmxhY2tib3hAb2Jlcm9uLmNoXHBhcg0KXHBhcg0K
Q3VycmVudCBwb3N0aW5nIHBvbGljeTpccGFyDQpccGFyDQphKSBUbyBwb3N0IHlvdSBzaG91bGQg
dXNlIHRoZSBzYW1lIGFkZHJlc3MgYnkgd2hpY2ggeW91IGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBt
YWlsaW5nIGxpc3QuIFRoYXQgd2F5LCB0aGUgbGlzdCBzZXJ2ZXIgd2lsbCByZWNvZ25pemUgeW91
IGFzIHN1YnNjcmliZXIgYW5kIGZvcndhcmQgeW91ciBwb3N0aW5nIGltbWVkaWF0ZWx5LCB3aXRo
b3V0IGNyZWF0aW5nIGFueSBvdmVyaGVhZC5ccGFyDQpccGFyDQpiKSBJZiwgZm9yIHNvbWUgcmVh
c29uLCB5b3UgY2Fubm90IHBvc3QgZnJvbSB0aGUgYWRkcmVzcywgYnkgd2hpY2ggeW91IGFyZSBz
dWJzY3JpYmVkLCB5b3VyIG1lc3NhZ2Ugd2lsbCBiZSBtb2RlcmF0ZWQgdG8gYXZvaWQgc3BhbS4g
UGxlYXNlIHVuZGVyc3RhbmQgdGhhdCBtb2RlcmF0aW9uIHdpbGwgb2Z0ZW4gY2F1c2Ugc29tZSBk
ZWxheSwgaW4gcGFydGljdWxhciBvdmVyIHdlZWtlbmRzIG9yIGhvbHlkYXlzLlxwYXINCn0
----boundary-LibPST-iamunique-1614340453_-_---
Received on Thu Jul 03 2003 - 09:02:24 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:29:09 UTC