Ok - what should the jira issue contain? Also my source code? What else? Kind regards, Daniel
-----Ursprüngliche Nachricht----- Von: Francesco Furfari [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 24. Juli 2008 17:27 An: users@felix.apache.org Betreff: Re: AW: AW: bug in felix upnp basedriver 0.8 ;-) I would say also that 17 is a very unlucky number here in Italy :). seriously, remember to open a JIRA issue and we will try to fix it ASAP. thank you for reporting it. regards, francesco Daniel Felsing wrote: > I really dont know how to progress now :( > > The only thing i can say for SURE ist hat only the INITIAL event delivery is > bugged sometimes when registering a new listener on the server. > When i change the state (e.g. by pressing a switch) for the device that was > bugged before i get the notification. > > Well thats it :-(((((( > > I also assured that the "unregistering" oft he devices by the bridgedriver > (which bridges the x10 like devices tot he network) on shutdown works > properly > Really everything ok there....the upnpeventnotifiers get destroyed by > "destroy".... > > I'm now really frustrated and dont know what to do > > Kind regards, > Daniel > > > -----Ursprüngliche Nachricht----- > Von: Daniel Felsing [mailto:[EMAIL PROTECTED] > Gesendet: Donnerstag, 24. Juli 2008 16:19 > An: users@felix.apache.org > Betreff: AW: AW: bug in felix upnp basedriver 0.8 > > Hi again, > > hmm > > Overall Environment Setup: > -------------------------- > - yes, connected by a switch > - the first computer is a UPnP Bridge for a X10 "like" system..i wrote a > basedriver and upnpbridgedriver (bridgedriver is creating upnp devices for > every x10 base device). It is using felix + upnpbasedriver > - the second computer acts as a server (central control point for a smart > home system implementation) it's using felix also (but for developing > eclipse equinox since it's more comfortable to develop) > This second computer uses basedriver to import the devices xposed by the > first computer...and a refinement driver is creating new objects for every > upnp device found (e.g. a light device and so on) > > > Issues: > ------ > - all the devices on the server (so the central smart home controller) that > get imported get refined. They subscribe to the upnp device it refines to > get notified on event change. > Problem is: not all devices get notified on INITIAL subscription...when a > notification is missed and i actually change the state of a sensor the > notification works OK. > > Question & Tests: > ----------------- > - yes i can :) > - yes - every device exported by the upnpsensorbridge (=Felix Computer) gets > found by the central server (=equinox computer) > It is really just an issue with single "upnpservices". Here i saw something > strange. When i restart the bridgeDriver on Felix computer (exporting my > upnp devices) > The "getCurrentValue()" methods get called more and more often the more > often i restart the "bridgeDriver". Is this a normal behavior? It seems to > me as state variables > Of the services get mixed up or not cancelled when unregistering or > something. > - i have only one computer where i test the notification -> on the central > equinox server computer. > On the felix computer exporting my upnp devices i am justwondering about the > strange calls to "getCurrentValue" i described you > > > > Kind regards, > Daniel > > -----Ursprüngliche Nachricht----- > Von: Stefano Lenzi [mailto:[EMAIL PROTECTED] > Gesendet: Donnerstag, 24. Juli 2008 16:01 > An: users@felix.apache.org > Betreff: Re: AW: bug in felix upnp basedriver 0.8 > > Hi Daniel, > > let's try to summarize this long thread, so that we can get a clear > vision on what is going on, and you can correct my wrong understanding > > Overall Environment Setup > ------------------------- > - You have two computer connected togheter by means of a switch. And > they are the only two computer on the network > - The first computer runs Felix + UPnP Base Driver > - The second computer runs Equinox + UPnP Base Driver + *your* Sensor > Base Driver + Sensor2UPnP Bridge > > > Issues > ------ > - If you subscribe from the PC running Felix to all the UPnP Device > exported by the UPnP Base Driver running on Equinox and created by your > Sensor2UPnP bridge you miss some of the notification. > > > Questions & Tests > ----------------- > - Can you create a JIRA issue for your issue, so that it will easy to > track and you will be able to post your code as zip file, instead of > copy & paste > - During your testing have you always discovered all the device > exported by the Equinox computer in the Felix computer? > - Do you miss notification even on the Equinox computer? > > Ciao, > Stefano "Kismet" Lenzi > > > > > > Francesco Furfari wrote: >> Hi Daniel, >> >> it seems that two are the devices that whose events are not captured by >> your tester code: >> uuid:AT-SM-FHZ1-simplelight1 urn:upnp-org:serviceId:SwitchDevice:1Status >> uuid:AT-SM-FHZ1-switch3 urn:upnp-org:serviceId:GetStatus:1Status >> >> please, check the code generating the events for such devices, may be >> you send the event only if their status assume a specific value. >> >> I think you should run the tester at least 5 times more. >> If you experience the same problem always with different devices then we >> will try to repeat a similar test. >> >> regards, >> francesco >> >> >> Daniel Felsing wrote: >>> Ah - one more update... >>> >>> I think event change propagation of single devices is ok :) >>> Hm.... >>> >>> >>> Well - hoping for a solution! >>> >>> Kind regards, >>> Daniel >>> >>> -----Ursprüngliche Nachricht----- >>> Von: Daniel Felsing [mailto:[EMAIL PROTECTED] Gesendet: >>> Mittwoch, 23. Juli 2008 19:43 >>> An: users@felix.apache.org >>> Betreff: bug in felix upnp basedriver 0.8 >>> >>> Hello. >>> >>> >>> >>> It seems there is a bug in event notification in the actual release of >>> the >>> upnp basedriver 0.8. >>> >>> >>> >>> I have exported exactly 17 devices to the upnp network. >>> >>> After "UPnP Event" subscription i should get informed about all device >>> stati. >>> >>> So the number of actual devices by which i should get informed should >>> be 17. >>> >>> >>> >>> This is not always true..and the behavior by which device status i >>> dont get >>> informed is random. >>> >>> >>> >>> Here an example: >>> >>> >>> >>> First run: >>> >>> >>> >>> osgi> info 20080723 19:38:20 bid#39 - BundleEvent STARTED >>> >>> info 20080723 19:38:21 bid#44 - device found, UPnP71/39 >>> >>> info 20080723 19:38:21 bid#44 - no driver for UPnP71/39 >>> >>> info 20080723 19:38:21 bid#39 - >>> [71;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:1 >>> >>> info 20080723 19:38:22 bid#44 - device found, UPnP72/39 >>> >>> info 20080723 19:38:22 bid#44 - no driver for UPnP72/39 >>> >>> info 20080723 19:38:22 bid#39 - >>> [72;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:2 >>> >>> info 20080723 19:38:22 bid#44 - device found, UPnP73/39 >>> >>> info 20080723 19:38:22 bid#44 - no driver for UPnP73/39 >>> >>> info 20080723 19:38:22 bid#39 - >>> [73;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:3 >>> >>> uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:3 >>> >>> info 20080723 19:38:23 bid#44 - device found, UPnP74/39 >>> >>> info 20080723 19:38:23 bid#44 - no driver for UPnP74/39 >>> >>> info 20080723 19:38:23 bid#39 - >>> [74;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:4 >>> >>> info 20080723 19:38:23 bid#44 - device found, UPnP75/39 >>> >>> info 20080723 19:38:23 bid#44 - no driver for UPnP75/39 >>> >>> info 20080723 19:38:23 bid#39 - >>> [75;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:4 >>> >>> uuid:AT-SM-FHZ1-switch3 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:5 >>> >>> info 20080723 19:38:24 bid#44 - device found, UPnP76/39 >>> >>> info 20080723 19:38:24 bid#39 - >>> [76;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> info 20080723 19:38:24 bid#44 - no driver for UPnP76/39 >>> >>> uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:6 >>> >>> info 20080723 19:38:24 bid#44 - device found, UPnP77/39 >>> >>> info 20080723 19:38:24 bid#44 - no driver for UPnP77/39 >>> >>> info 20080723 19:38:24 bid#39 - >>> [77;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event >>> #diff Devices:7 >>> >>> info 20080723 19:38:25 bid#44 - device found, UPnP78/39 >>> >>> info 20080723 19:38:25 bid#44 - no driver for UPnP78/39 >>> >>> info 20080723 19:38:25 bid#39 - >>> [78;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> info 20080723 19:38:25 bid#44 - device found, UPnP79/39 >>> >>> info 20080723 19:38:25 bid#39 - >>> [79;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> info 20080723 19:38:25 bid#44 - no driver for UPnP79/39 >>> >>> uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on >>> >>> #diff Devices:8 >>> >>> uuid:AT-SM-FHZ1-motionsensor1 >>> urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0 >>> >>> #diff Devices:8 >>> >>> uuid:AT-SM-FHZ1-simplelight1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status on >>> >>> #diff Devices:9 >>> >>> info 20080723 19:38:26 bid#44 - device found, UPnP80/39 >>> >>> info 20080723 19:38:26 bid#44 - no driver for UPnP80/39 >>> >>> info 20080723 19:38:26 bid#39 - >>> [80;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:10 >>> >>> info 20080723 19:38:26 bid#44 - device found, UPnP81/39 >>> >>> info 20080723 19:38:26 bid#44 - no driver for UPnP81/39 >>> >>> info 20080723 19:38:26 bid#39 - >>> [81;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:11 >>> >>> info 20080723 19:38:27 bid#44 - device found, UPnP82/39 >>> >>> info 20080723 19:38:27 bid#44 - no driver for UPnP82/39 >>> >>> info 20080723 19:38:27 bid#39 - >>> [82;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:11 >>> >>> uuid:AT-SM-FHZ1-funksteckdose1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:12 >>> >>> info 20080723 19:38:27 bid#44 - device found, UPnP83/39 >>> >>> info 20080723 19:38:27 bid#44 - no driver for UPnP83/39 >>> >>> info 20080723 19:38:27 bid#39 - >>> [83;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:13 >>> >>> uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:13 >>> >>> info 20080723 19:38:28 bid#44 - device found, UPnP84/39 >>> >>> info 20080723 19:38:28 bid#44 - no driver for UPnP84/39 >>> >>> info 20080723 19:38:28 bid#39 - >>> [84;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36 >>> >>> #diff Devices:14 >>> >>> info 20080723 19:38:29 bid#44 - device found, UPnP85/39 >>> >>> info 20080723 19:38:29 bid#44 - no driver for UPnP85/39 >>> >>> info 20080723 19:38:29 bid#39 - >>> [85;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:15 >>> >>> uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetLevel:1Level 0 >>> >>> #diff Devices:15 >>> >>> info 20080723 19:38:29 bid#44 - device found, UPnP86/39 >>> >>> info 20080723 19:38:29 bid#44 - no driver for UPnP86/39 >>> >>> info 20080723 19:38:29 bid#39 - >>> [86;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:16 >>> >>> info 20080723 19:38:30 bid#44 - device found, UPnP87/39 >>> >>> info 20080723 19:38:30 bid#44 - no driver for UPnP87/39 >>> >>> info 20080723 19:38:30 bid#39 - >>> [87;org.osgi.service.upnp.UPnPDevice] ServiceEvent REGISTERED >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100 >>> >>> #diff Devices:16 >>> >>> uuid:AT-SM-FHZ1-dimmablelight1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:17 >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> Device count is 17 >>> >>> >>> >>> >>> >>> Then i restarted the "tester bundle" >>> >>> >>> >>> uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:1 >>> >>> uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:2 >>> >>> uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:2 >>> >>> uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:3 >>> >>> uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:3 >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:4 >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:4 >>> >>> uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:5 >>> >>> uuid:AT-SM-FHZ1-motionsensor1 >>> urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0 >>> >>> #diff Devices:6 >>> >>> uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event >>> #diff Devices:6 >>> >>> uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on >>> >>> #diff Devices:7 >>> >>> uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:8 >>> >>> uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:8 >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:9 >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:9 >>> >>> uuid:AT-SM-FHZ1-funksteckdose1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:10 >>> >>> uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:11 >>> >>> uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36 >>> >>> #diff Devices:12 >>> >>> uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:13 >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:14 >>> >>> uuid:AT-SM-FHZ1-dimmablelight1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:15 >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100 >>> >>> #diff Devices:15 >>> >>> >>> >>> >>> >>> I get informed by only 15 devices?... >>> >>> >>> >>> >>> >>> Third run: >>> >>> >>> >>> uuid:AT-SM-FHZ1-dawnsensor2 urn:upnp-org:serviceId:GetStatus:1Status off >>> >>> #diff Devices:1 >>> >>> uuid:AT-SM-FHZ1-S20_Switch6 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:2 >>> >>> uuid:AT-SM-FHZ1-S20_Switch5 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:3 >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:4 >>> >>> uuid:AT-SM-FHZ1-S20_Switch8 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:4 >>> >>> uuid:AT-SM-FHZ1-rainsensor1 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:5 >>> >>> uuid:AT-SM-FHZ1-motionsensor1 >>> urn:upnp-org:serviceId:GetEstimate:1EstimatedValue 0 >>> >>> #diff Devices:6 >>> >>> uuid:AT-SM-FHZ1-shutter1 urn:upnp-org:serviceId:SwitchDevice:1Status on >>> >>> #diff Devices:7 >>> >>> uuid:AT-SM-FHZ1-motionsensor1 urn:upnp-org:serviceId:GetEvent:1Event >>> #diff Devices:7 >>> >>> uuid:AT-SM-FHZ1-simplelight1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status on >>> >>> #diff Devices:8 >>> >>> uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:9 >>> >>> uuid:AT-SM-FHZ1-S20_Switch2 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:9 >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:10 >>> >>> uuid:AT-SM-FHZ1-S20_Switch3 urn:upnp-org:serviceId:GetLevel:1Level 70 >>> >>> #diff Devices:10 >>> >>> uuid:AT-SM-FHZ1-funksteckdose1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:11 >>> >>> uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:12 >>> >>> uuid:AT-SM-FHZ1-S20_Switch7 urn:upnp-org:serviceId:GetLevel:1Level 82 >>> >>> #diff Devices:12 >>> >>> uuid:AT-SM-FHZ1-S20_Switch1 urn:upnp-org:serviceId:GetLevel:1Level 36 >>> >>> #diff Devices:13 >>> >>> uuid:AT-SM-FHZ1-dimswitch4 urn:upnp-org:serviceId:GetLevel:1Level 0 >>> >>> #diff Devices:14 >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetStatus:1Status on >>> >>> #diff Devices:15 >>> >>> uuid:AT-SM-FHZ1-S20_Switch4 urn:upnp-org:serviceId:GetLevel:1Level 100 >>> >>> #diff Devices:15 >>> >>> uuid:AT-SM-FHZ1-dimmablelight1 >>> urn:upnp-org:serviceId:SwitchDevice:1Status >>> off >>> >>> #diff Devices:16 >>> >>> >>> >>> Informed by 16 devices. >>> >>> >>> >>> >>> >>> >>> >>> The code for testing was: >>> >>> >>> >>> public class EventListener implements UPnPEventListener { >>> >>> >>> >>> private ArrayList<String> knownDevs = new ArrayList<String>(); >>> >>> >>> @Override >>> >>> public synchronized void notifyUPnPEvent(String deviceId, String >>> serviceId, Dictionary events) { >>> >>> String output = ""; >>> >>> output += deviceId + " " + serviceId; >>> >>> >>> Enumeration eventit = events.keys(); >>> >>> >>> while (eventit.hasMoreElements()) { >>> >>> String key = (String) eventit.nextElement(); >>> >>> output += key + " " + events.get(key) + "\n"; >>> >>> } >>> >>> >>> if (!knownDevs.contains(deviceId)) { >>> >>> knownDevs.add(deviceId); >>> >>> } >>> >>> System.err.println(output + "#diff Devices:" + >>> knownDevs.size()); >>> >>> System.err.flush(); >>> >>> >>> } >>> >>> >>> >>> } >>> >>> >>> >>> >>> >>> >>> >>> I think it should be free from errors :-) >>> >>> Please help me! Since i really need the upnp driver for my master thesis. >>> >>> >>> >>> >>> >>> >>> >>> Kind regards, >>> >>> Daniel >>> >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>> For additional commands, e-mail: [EMAIL PROTECTED] >>> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]