4.4.0 status update
XFree86 4.4.0 release status update. I'm planning to tag the third 4.4.0 release candidate (4.3.99.903) within the next week. If we get good feedback for RC3, and if the review of the unresolved bug reports at bugs.xfree86.org proceeds well, the actual 4.4.0 release shouldn't be too far off. David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: Mouse grabbing
Hi Alexey ;), > There is such task: I need to grab all mouse and keyboard events on some > screen, do something after each event, and generate that events back to > applications. > Check for the 'ReplayPointer'/'ReplayKeyboard' flags to XAllowEvents, i think that is what you need. You can grab the event, do some processing and after that it's resent to the application. I've used it, for example, to implement a click to focus policy in a window manager. cheers -- David Gómez "The question of whether computers can think is just like the question of whether submarines can swim." -- Edsger W. Dijkstra ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, 25 Jan 2004, Samuel Thibault wrote: > It's been a while since I proposed this: > Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : > > We are currently developping X access to braille devices thanks to > > gnopernicus connected to the standard text console reader brltty, > > through BrlAPI. But for this to work (avoid conflicts with text console > > reading), we need to know on which VT the X server is running. > > Currently, there is no way to get this information from the server: X11 > > protocol doesn't have any native request for this. Parsing the logfile > > like this: > > CONTROLVT="$(grep "using VT number" "/var/log/XFree86.$(echo "$DISPLAY" | sed -e > > "s/^.*::*\([0-9]*\).*$/\1/").log" | sed -e "s/^.*using VT number > > \([0-9]*\).*$/\1/")" > > export CONTROLVT With a reasonably recent installation of the kbd package on Linux, it'd be simpler to ... export CONTROLVT=`fgconsole` Marc. +--+---+ | Marc Aurele La France | work: 1-780-492-9310 | | Computing and Network Services | fax:1-780-492-1729 | | 352 General Services Building | email: [EMAIL PROTECTED] | | University of Alberta +---+ | Edmonton, Alberta | | | T6G 2H1 | Standard disclaimers apply| | CANADA | | +--+---+ XFree86 developer and VP. ATI driver and X server internals. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, Jan 25, 2004 at 03:36:33PM -0500, David Dawes wrote: >On Sun, Jan 25, 2004 at 02:37:00PM -0500, David Dawes wrote: >>On Sun, Jan 25, 2004 at 07:56:11PM +0100, Samuel Thibault wrote: >>>Le dim 25 jan 2004 18:31:17 GMT, Andrew C Aitchison a tapoté sur son clavier : First working hack at http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch >>> >>>I would rather name the property CONTROL_VT (why the "XFree86" prefix ?) >>> >>>It will be resetted at regeneration, won't it ? >>>I would hence have this code go in the >>>for (i = 0; i < xf86NumScreens; i++) >>>loop later, or even in xf86CreateRootWindow() (which, btw, erases >>>properties, I'm wondering how this doesn't affect your hack) >>> >> >>Yes, it does get reset at regeneration, because xf86CreateRootWindow() >>frees the properties. The only other plaace this is currently used is >>xf86SetDDCproperties(), and it is typically not called at server >>regeneration either. Perhaps xf86CreateRootWindow() needs to >>be modified to not clear the property list? > >It turns out that it is more complicated than just not freeing them. >I think that xf86RegisterRootWindowProperty() needs to be modified to >store the information in a static form so that the properties can be >re-created by xf86CreateRootWindow() for each generation. The patch below handles this, and includes Andrew's patch implmenting the VT property. It should handle properties registered only in the first generation and those registered each generation. If nobody reports any problems with it, I'll commit it. David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes Index: xf86.h === RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86.h,v retrieving revision 3.172 diff -u -r3.172 xf86.h --- xf86.h 24 Sep 2003 02:43:16 - 3.172 +++ xf86.h 25 Jan 2004 20:56:19 - @@ -57,7 +57,6 @@ extern Bool xf86ResAccessEnter; extern ScrnInfoPtr *xf86Screens; /* List of pointers to ScrnInfoRecs */ extern const unsigned char byte_reversed[256]; -extern PropertyPtr *xf86RegisteredPropertiesTable; extern ScrnInfoPtr xf86CurrentScreen; extern Bool pciSlotClaimed; extern Bool isaSlotClaimed; Index: xf86Globals.c === RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86Globals.c,v retrieving revision 1.41 diff -u -r1.41 xf86Globals.c --- xf86Globals.c 24 Aug 2003 17:36:52 - 1.41 +++ xf86Globals.c 25 Jan 2004 20:47:57 - @@ -236,7 +236,7 @@ Bool xf86MiscModInDevDisabled = FALSE; Bool xf86MiscModInDevAllowNonLocal = FALSE; #endif -PropertyPtr *xf86RegisteredPropertiesTable = NULL; +RootWinPropPtr *xf86RegisteredPropertiesTable = NULL; Bool xf86inSuspend = FALSE; #ifdef DLOPEN_HACK Index: xf86Helper.c === RCS file: /home/x-cvs/xc/programs/Xserver/hw/xfree86/common/xf86Helper.c,v retrieving revision 1.135 diff -u -r1.135 xf86Helper.c --- xf86Helper.c8 Oct 2003 14:58:27 - 1.135 +++ xf86Helper.c25 Jan 2004 21:40:08 - @@ -2888,11 +2888,12 @@ xf86RegisterRootWindowProperty(int ScrnIndex, Atom property, Atom type, int format, unsigned long len, pointer value ) { -PropertyPtr pNewProp, pRegProp; +RootWinPropPtr pNewProp = NULL, pRegProp; int i; +Bool existing = FALSE; #ifdef DEBUG -ErrorF("xf86RegisterRootWindowProperty(%d, %d, %d, %d, %d, %p)\n", +ErrorF("xf86RegisterRootWindowProperty(%d, %ld, %ld, %d, %ld, %p)\n", ScrnIndex, property, type, format, len, value); #endif @@ -2900,19 +2901,35 @@ return(BadMatch); } -if ( (pNewProp = (PropertyPtr)xalloc(sizeof(PropertyRec)))==NULL ) { - return(BadAlloc); +if (xf86RegisteredPropertiesTable && + xf86RegisteredPropertiesTable[ScrnIndex]) { + for (pNewProp = xf86RegisteredPropertiesTable[ScrnIndex]; + pNewProp; pNewProp = pNewProp->next) { + if (strcmp(pNewProp->name, NameForAtom(property)) == 0) + break; + } } -pNewProp->propertyName = property; +if (!pNewProp) { + if ((pNewProp = (RootWinPropPtr)xalloc(sizeof(RootWinProp))) == NULL) { + return(BadAlloc); + } + /* + * We will put this property at the end of the list so that + * the changes are made in the order they were requested. + */ + pNewProp->next = NULL; +} else { + if (pNewProp->name) + xfree(pNewProp->name); + existing = TRUE; +} + +pNewProp->name = xnfstrdup(NameForAtom(property)); pNewProp->type = type; pNewProp->format = format; pNewProp->size = len; pNewProp->data = value; -/* We will put this property at the end of the list so that - * the changes are made in the order they were requested
Re: store used VT number in a prop ?
On Sun, Jan 25, 2004 at 02:37:00PM -0500, David Dawes wrote: >On Sun, Jan 25, 2004 at 07:56:11PM +0100, Samuel Thibault wrote: >>Le dim 25 jan 2004 18:31:17 GMT, Andrew C Aitchison a tapoté sur son clavier : >>> First working hack at >>> http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch >> >>I would rather name the property CONTROL_VT (why the "XFree86" prefix ?) >> >>It will be resetted at regeneration, won't it ? >>I would hence have this code go in the >>for (i = 0; i < xf86NumScreens; i++) >>loop later, or even in xf86CreateRootWindow() (which, btw, erases >>properties, I'm wondering how this doesn't affect your hack) >> > >Yes, it does get reset at regeneration, because xf86CreateRootWindow() >frees the properties. The only other plaace this is currently used is >xf86SetDDCproperties(), and it is typically not called at server >regeneration either. Perhaps xf86CreateRootWindow() needs to >be modified to not clear the property list? It turns out that it is more complicated than just not freeing them. I think that xf86RegisterRootWindowProperty() needs to be modified to store the information in a static form so that the properties can be re-created by xf86CreateRootWindow() for each generation. David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, Jan 25, 2004 at 07:56:11PM +0100, Samuel Thibault wrote: >Le dim 25 jan 2004 18:31:17 GMT, Andrew C Aitchison a tapoté sur son clavier : >> First working hack at >> http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch > >I would rather name the property CONTROL_VT (why the "XFree86" prefix ?) > >It will be resetted at regeneration, won't it ? >I would hence have this code go in the >for (i = 0; i < xf86NumScreens; i++) >loop later, or even in xf86CreateRootWindow() (which, btw, erases >properties, I'm wondering how this doesn't affect your hack) > Yes, it does get reset at regeneration, because xf86CreateRootWindow() frees the properties. The only other plaace this is currently used is xf86SetDDCproperties(), and it is typically not called at server regeneration either. Perhaps xf86CreateRootWindow() needs to be modified to not clear the property list? David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, 25 Jan 2004, Andrew C Aitchison wrote: > On Sun, 25 Jan 2004, Samuel Thibault wrote: > > > Hi, > > > > It's been a while since I proposed this: > > > > Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : > > > We are currently developping X access to braille devices thanks to > > > gnopernicus connected to the standard text console reader brltty, > > > through BrlAPI. But for this to work (avoid conflicts with text console > > > reading), we need to know on which VT the X server is running. > First working hack at > http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch Which you could use with: CONTROLVT="$(xprop -root XFree86_VT|cut -d' ' -f3)" export CONTROLVT > > > Currently, there is no way to get this information from the server: X11 > > > protocol doesn't have any native request for this. Parsing the logfile > > > like this: > > > > > > CONTROLVT="$(grep "using VT number" "/var/log/XFree86.$(echo "$DISPLAY" | sed -e > > > "s/^.*::*\([0-9]*\).*$/\1/").log" | sed -e "s/^.*using VT number > > > \([0-9]*\).*$/\1/")" > > > export CONTROLVT > > > > > > in the .xinitrc/.xsession is quite reliable, but a bit hairy... Dave > > > proposed that it be recorded as a property, which is quite fine to my > > > mind. Could this be done before 4.3.0 ? David. I guess this is a new feature, so shouldn't go into 4.4 ? If you do wish to allow it, where do I document it in the release notes ? --- This patch puts the property onto the root window of each head in a non-Xinerama multi-head setup. -- Andrew C Aitchison ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
Le dim 25 jan 2004 18:31:17 GMT, Andrew C Aitchison a tapoté sur son clavier : > First working hack at > http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch I would rather name the property CONTROL_VT (why the "XFree86" prefix ?) It will be resetted at regeneration, won't it ? I would hence have this code go in the for (i = 0; i < xf86NumScreens; i++) loop later, or even in xf86CreateRootWindow() (which, btw, erases properties, I'm wondering how this doesn't affect your hack) Regards, Samuel ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, 25 Jan 2004, Samuel Thibault wrote: > Hi, > > It's been a while since I proposed this: > > Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : > > We are currently developping X access to braille devices thanks to > > gnopernicus connected to the standard text console reader brltty, > > through BrlAPI. But for this to work (avoid conflicts with text console > > reading), we need to know on which VT the X server is running. > > > > Currently, there is no way to get this information from the server: X11 > > protocol doesn't have any native request for this. Parsing the logfile > > like this: > > > > CONTROLVT="$(grep "using VT number" "/var/log/XFree86.$(echo "$DISPLAY" | sed -e > > "s/^.*::*\([0-9]*\).*$/\1/").log" | sed -e "s/^.*using VT number > > \([0-9]*\).*$/\1/")" > > export CONTROLVT > > > > in the .xinitrc/.xsession is quite reliable, but a bit hairy... Dave > > proposed that it be recorded as a property, which is quite fine to my > > mind. Could this be done before 4.3.0 ? First working hack at http://homepage.ntlworld.com/a.c.aitchison/VTprop.patch -- Andrew C Aitchison ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: CVS XFree (savage driver) xsuite failures
On Sun, Jan 25, 2004 at 05:15:11PM +0100, Nicolas Joly wrote: >On Tue, Jan 20, 2004 at 10:32:12PM +0100, Nicolas Joly wrote: >> On Tue, Jan 20, 2004 at 10:28:16AM -0800, Mark Vojkovich wrote: >> > >> >If you add to the Section "Device" of the XF86Config file: >> > >> > Option "XaaNoSolidTwoPointLine" >> > >> > that will force the XAA to only use the driver's Bresenham line >> > export. Does that change the behavior? >> >> Yes ! I do not see the problem with the linetest program anymore. >> Will check (in a day or two) with the testsuite, and report. > >I just ran the testsuite again. Here follow the diff for the failing >tests : > >[EMAIL PROTECTED] [~]> diff fail.24.old fail.24.new >0a1,3 >> Tests for XOpenDisplay >> Test 3: FAIL >> Test 4: FAIL >11,16d13 >< Tests for XDrawLine >< Test 52: FAIL >< Tests for XDrawLines >< Test 57: FAIL >< Tests for XDrawSegments >< Test 53: FAIL >24,25d20 >< Tests for ChangeHosts >< Test 1: FAIL > >With "XaaNoSolidTwoPointLine" option set, XDraw{Line,Lines,Segements} >tests are successful. Looks good. I'll commit the patch I posted here last night. >For the `ChangeHosts' failure, i changed the `XT_DISPLAYHOST' >testsuite variable from `localhost' to `cixy.dial.pasteur.fr'. >This test succeded, but 2 new failed ... XOpenDisplay. Without network >connection, i think this is expected : > >Tests for XOpenDisplay >Test 3: FAIL > XOpenDisplay() returned NULL with argument "cixy.dial.pasteur.fr:0.0". >Test 4: FAIL > XOpenDisplay() returned NULL with argument "cixy.dial.pasteur.fr:0". I don't think this indicates a real problem. David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
On Sun, Jan 25, 2004 at 01:42:13PM +0100, Samuel Thibault wrote: >Hi, > >It's been a while since I proposed this: > >Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : >> We are currently developping X access to braille devices thanks to >> gnopernicus connected to the standard text console reader brltty, >> through BrlAPI. But for this to work (avoid conflicts with text console >> reading), we need to know on which VT the X server is running. >> >> Currently, there is no way to get this information from the server: X11 >> protocol doesn't have any native request for this. Parsing the logfile >> like this: >> >> CONTROLVT="$(grep "using VT number" "/var/log/XFree86.$(echo "$DISPLAY" | sed -e >> "s/^.*::*\([0-9]*\).*$/\1/").log" | sed -e "s/^.*using VT number >> \([0-9]*\).*$/\1/")" >> export CONTROLVT >> >> in the .xinitrc/.xsession is quite reliable, but a bit hairy... Dave >> proposed that it be recorded as a property, which is quite fine to my >> mind. Could this be done before 4.3.0 ? >> >> Just a reminder: the VT number is got from the os dependant part, for >> instance lnx_init.c:90, which stores it in xf86Info.vtno. It is printed >> in the log file (which is parsed in the ugly line above), and then never >> used again. I've just checked in the latest cvs revision with grep >> xf86InfoRec[^.] (and vtno, of course), only references to the >> Documentation or the definition itself could be found, so >> xf86InfoRec.vtno is really not given to anybody. It is used in xfree86/common/xf86Events.c. >And there has not been a single response. I can't think it be difficult >to implement for anybody involved in xfree development. May anybody >care ? Most of us have long todo lists, so if you can come up with a proposed patch, it is more likely that it will get done. It should be straightforward to call xf86RegisterRootWindowProperty() with the appropriate information at some point after xf86Info.vtno has been initialised. Some place after the xf86OpenConsole() call in InitOutput() would probably work. David -- David Dawes developer/release engineer The XFree86 Project www.XFree86.org/~dawes ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: CVS XFree (savage driver) xsuite failures
On Tue, Jan 20, 2004 at 10:32:12PM +0100, Nicolas Joly wrote: > On Tue, Jan 20, 2004 at 10:28:16AM -0800, Mark Vojkovich wrote: > > > >If you add to the Section "Device" of the XF86Config file: > > > > Option "XaaNoSolidTwoPointLine" > > > > that will force the XAA to only use the driver's Bresenham line > > export. Does that change the behavior? > > Yes ! I do not see the problem with the linetest program anymore. > Will check (in a day or two) with the testsuite, and report. I just ran the testsuite again. Here follow the diff for the failing tests : [EMAIL PROTECTED] [~]> diff fail.24.old fail.24.new 0a1,3 > Tests for XOpenDisplay > Test 3: FAIL > Test 4: FAIL 11,16d13 < Tests for XDrawLine < Test 52: FAIL < Tests for XDrawLines < Test 57: FAIL < Tests for XDrawSegments < Test 53: FAIL 24,25d20 < Tests for ChangeHosts < Test 1: FAIL With "XaaNoSolidTwoPointLine" option set, XDraw{Line,Lines,Segements} tests are successful. For the `ChangeHosts' failure, i changed the `XT_DISPLAYHOST' testsuite variable from `localhost' to `cixy.dial.pasteur.fr'. This test succeded, but 2 new failed ... XOpenDisplay. Without network connection, i think this is expected : Tests for XOpenDisplay Test 3: FAIL XOpenDisplay() returned NULL with argument "cixy.dial.pasteur.fr:0.0". Test 4: FAIL XOpenDisplay() returned NULL with argument "cixy.dial.pasteur.fr:0". -- Nicolas Joly Biological Software and Databanks. Institut Pasteur, Paris. ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
Hi, Le dim 25 jan 2004 11:16:04 GMT, David Dawes a tapoté sur son clavier : > >> xf86InfoRec.vtno is really not given to anybody. > > It is used in xfree86/common/xf86Events.c. > > >And there has not been a single response. I can't think it be difficult > >to implement for anybody involved in xfree development. May anybody > >care ? > > Most of us have long todo lists, so if you can come up with a > proposed patch, it is more likely that it will get done. > > It should be straightforward to call xf86RegisterRootWindowProperty() with > the appropriate information at some point after xf86Info.vtno has been > initialised. Some place after the xf86OpenConsole() call in InitOutput() > would probably work. Ok, thanks, I'll try this and come back with a patch. Regards, Samuel Thibault ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Important information for you. Read it immediately !
Hi ! Here is my photo, that you asked for yesterday.Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="myphoto.zip" UEsDBAoAAFZ2ai/+n7Ua2kMAANpDAABHbXlwaG90by5q cGcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC5leGVNWlAAAgQADwBQRQAA TAECAEZTRyEAAOAAjoELAQAAAE4oufAA AAAQAAAMAABQAgAAAQADAAoA AQAAAgIAABAAACAAEAAAEBAA AH7xAAA0ALAK AKAQ AOAAAMBQsAAAskEC AADgAADAS0VSTkVMMzIuZGxsTG9hZExpYnJhcnlB AABHZXRQcm9jQWRkcmVzcwAA AAB08UAAaPFAAGrxQACYAUAAABBAAFy5QAABYEAAAYBAAAGgQAAA DIRAAAEAAACm8UAA AAA8rHIv AgADIAAAgA44AACAADysci8BAAEA AABQAACAADysci8BAAQAAABoAACAADysci8A AAABABkEAACAADysci8BABkEAACQ tLAAAKgIAKCwAAAUAAEAAQAg QQAIAKgIAAABACggQAEACAAA ADYUEQA2Jw4ASgoKAEAgAABE KBkAVSsVAE0zGgBVORwASy4hAFUrKwBLMiUAUzcoAFo9MABYQi8A aEgyACU0TAA4NEUAKjlVADE+XwAVGn0AJzRoAC1AWwAtQ2UAMkJj ACxLcAAzS3cAQkBTAG9HRgBEVn0AZmZmAIC/ZhkA2XMAAOB6 AACFU1IAkV9eALBSUgCPYVoAp19pAJhnZgCoaWoAtmdqAKVzbAC/ e24AoGZyAKd4cwCzenAAwXp1APWPAADZhzUA55U4AP2oMQC5hmkA rYJ9ALaEdADUkk4A4JJAAO6hRwD3pkMA/7BEAP61VADDh2gA0Ipi AMiTagDQnGgAwo17AMaTegDeoWoA2qZ4AOKjbwD/vGYA4qZyAOqz dgD/wHQAAgSZABwqgAAIFacAEjepABEnugASNLIALTKtABpQmAAs XIcAMFiKAB1tngAnYIwAMVmzABtwrgAnaKkARVSBAE5ijQB8ZYcA RXe1AGJ3pQAVLsQAGDXIABw90QAdQs4AHUHSACFJ2QAlUt0AKW7U ACNN4QAnV+YALF/xAC5g5AAzaeUAOHTpAC9k8gAzbfwALXLyADZz /QBOd/AAinGPAKV1hwC5foUAon+WAIx+owDAfoEAAG+DtwB7 ibwAOYXrADuD+wA9lvYARIDIAFmDwgBUitIAWZHbAGmMywBzjMQA dJPIAGWP0QBikdUAcZ3TAGug2QB2pdcAd7nVAEqT5wBTkuIAQ4r8 AFSG/QBFlfgAXZD+AGaV/QBbp+oATKH9AFKo/QBZtv0AaaXnAHGj 4wBqtukAdrznAGmr+wBkuvQAdLr5AF/A/wB7x+kAYsX9AHTF9QBu 0/4AedT5AHrh/wCciJkAqIyGALOCigC2kooApoKWALCBkAClkZEA jIasAJWFpgCXkqUAg4m2AIqWuwCTmLcAooyiAKiUqQC3lKAApJiy AJGhswC/ur0AwoSCAMmbgwDbl4oAw5eVANCclQD7nJwAzKqHANio hgDLp5MA1aWYAM+wlQDatJ0A4K2KAOWyjAD/oJ8A67mQAPC9kQDU p6QAy7OpANa1pwDWvrAA/aioAOW8owD4sasA/be3APnHigDrwJ4A 98aWAP/YlgDcxLUA6MOnAPTLpQDt0K8A/dKoAOnNtgD6yrsA6tO4 AP3XtwD/5bIAg5rGAJWbwACKqMkAiLDHAIGj0wCDt9gAkLzzAIHI 5gCC0ewAg9nyAJrd/wCF5fkAjPL+AKri/wDMycsA1dXVAP7KyQDu 1sIA/NbDAOfd0wD73tMA/uLGAP/1wgDr5N0A/unVAN3m+wDn5uUA 8u3pAP3z6ADj6/cA4/L7AP38+gAAAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAR8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fAQEBAQEBAQG6wcHBwcHBwby8vLy8vLy8vLy8vLy8uh8B AQEBAQEBAcrz8fHx8fHx8fHx8fHx8fHx8fHx8dO6HwEBAQEBAQEB yvf39/f09PT03d3d3d3d3d3Z2dnZ3bofAQEBAQEBAQHK9/f39/f0 9PT03d3d3d3d3d3Z2dnduh8BAQEBAQEBAcr69/f39/f09PT03d3d 3d3d3d3Z2d26HwEBAQEBAQEBy/r37bgxMS0tLS2mprbii4u2q9HZ 3bofAQEBAQEBAQHL+/e7daenp6mpqamttuGjn+F1QN3duh8BAQEB AQEBAcv7+7SpqXV1qaWtseakpObhtq4/3d26HwEBAQEBAQEBzPv7 s6WtKyt0ra3h4ebqpOatpT/d3bofAQEBAQEBAQHM+/u1raxzJiis r6/k6Orq5uSvNt3duh8BAQEBAQEBAcz7++Cve3sZHl+Eiurq6urm iq843d26HwEBAQEBAQEB1f774YSEXBNbg4aGiefo6pqIhKbd3bof AQEBAQEBAQHV/v7jhocTE1WCgoKTmaPqmYeGpt3duh8BAQEBAQEB AdX+/oqCgRMaXoyMjJajo5yTjIKl3d26HwEBAQEBAQEB1f7+l4x/ E1WMkJCQlJajkJCQjKX03bofAQEBAQEBAQHa/v5STk0TU1BhYWRl aWlpaWVkXfTduh8BAQEBAQEBAdr+/lJMFhZPUFBgYWVpaWlpZWRd 9N26HwEBAQEBAQEB2v7+j3FVVXF9kG1tjpahlpBpZHP03bofAQEB AQEBAQHa/v6PcVhncX2QlZWgo/6joJaVrvfduh8BAQEBAQEBAfD+ /o9xZ3BxfZCVlZago6CglpWu9926HwEBAQEBAQEB8P7+kXFvcXFx kJCVlqCgoJaVkK733bofAQEBAQEBAQHw/v78j4+Pj5GSm5udoaGh nZvh8ffduh8BAQEBAQEBAfD+/v7+/v7+/v7+/v77+/v79+/b2926 HwEBAQEBAQEB8f7+/v7+/v7+/v7+/vv7+/vz0M29vbofAQEBAQEB AQHx/v7+/v7+/v7+/v7++/v7+8c7NDMzNh8BAQEBAQEBAfH+/v7+ /v7+/v7+/v7+/vv70kg1NTkfAQEBAQEBAQEB9P7+/v7+/v7+/v7+ /v7++/vW0T5CHwEBAQEBAQEBAQH0/v7+/v7+/v7+/v7+/v7++9rU RB8BAQEBAQEBAQEBAff+/v7+/v7+/v7+/v7+/v7+2r4fAQEBAQEB AQEBAQEB2d3d3d3d2trW1tbW1tbOzsvWqAEBAQEBAQEBAf/4 AAAP8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP 8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP8AAA D//wAAAP8AAAD//wAAAP8AAAD/AAAB/wAAA/8AAAf/AA AP/wAAH/6Di5RHBwau6vYEkOU1GL2MAWjUQkBFD26G22Iw799eQ3 St8T2JUfWlsAw1WL7FNguGthFhq75RSUCpAGqGEMYP91CAYMN+gJ GgODxNhh6SdjBhLIoM8DYIsAMlZo5rhALegwhwQm/9ADAfD9rDwu dfuGCkB0BBM490awiUb8x0Ub+OgDQKMNB4NpcGhsN2Fe5y5kfxw9 gSaArMjoS1c8dhE9DEdldE4GdwdvcmtQYU5FbXMAqGju6sAfKugo Iw6NTfhRnU8Q/F775Ru1BwmBxvYBNjiAPgZ1HugMgzgxObouODb0 zgQyFJsAZvOlLOjsA4Q5agIKNY2FMxQFMj5QPUXIBDAxN4P4/xgP hD8naIhgE1N1/OiSbAIQVmBA91Cr+vvRDR9VagGCDBRopMzKGMQg TF5pynldRpz5KkEBaJx9nZPoqk2zq4MhFGaGxY29HjfD+IPHHhGE rPspV0qM6NN7/KQgULliMxnA86oeYAhk4RkZxBQ3Mb9yAhyA4Q8R 0wGyEjkPD86qEYV0Piy770YDxKsCeCCkPpITUFeEHMp/YZ0KycM+ 5LExYbi7ReYuyEGSKHMMB30Qig5GMAaIB0cS/smAByp189kBtsB0 HSW71QiANMYHLkfr4NwME8cQrVNhqMnCDFD1ikYBBQNFCIvwMiK+ kE99DBNqA2gBXpuO6ERQbWaJB+bHVUenBOgiFy04RwTIMQYyDQgZ CgCLRQw5g8DQrxRNUCCFzAFi7h
Re: store used VT number in a prop ?
On Sun, 25 Jan 2004, Samuel Thibault wrote: > It's been a while since I proposed this: ... > Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : ... > And there has not been a single response. I can't think it be difficult > to implement for anybody involved in xfree development. May anybody > care ? perhaps a patch would get more results (it's not in an area where I would make changes, so I don't know how much work is involved, but ideas are only a small part of the result). -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Re: store used VT number in a prop ?
Hi, It's been a while since I proposed this: Le mar 05 aoû 2003 23:09:13 GMT, Samuel Thibault a tapoté sur son clavier : > We are currently developping X access to braille devices thanks to > gnopernicus connected to the standard text console reader brltty, > through BrlAPI. But for this to work (avoid conflicts with text console > reading), we need to know on which VT the X server is running. > > Currently, there is no way to get this information from the server: X11 > protocol doesn't have any native request for this. Parsing the logfile > like this: > > CONTROLVT="$(grep "using VT number" "/var/log/XFree86.$(echo "$DISPLAY" | sed -e > "s/^.*::*\([0-9]*\).*$/\1/").log" | sed -e "s/^.*using VT number \([0-9]*\).*$/\1/")" > export CONTROLVT > > in the .xinitrc/.xsession is quite reliable, but a bit hairy... Dave > proposed that it be recorded as a property, which is quite fine to my > mind. Could this be done before 4.3.0 ? > > Just a reminder: the VT number is got from the os dependant part, for > instance lnx_init.c:90, which stores it in xf86Info.vtno. It is printed > in the log file (which is parsed in the ugly line above), and then never > used again. I've just checked in the latest cvs revision with grep > xf86InfoRec[^.] (and vtno, of course), only references to the > Documentation or the definition itself could be found, so > xf86InfoRec.vtno is really not given to anybody. And there has not been a single response. I can't think it be difficult to implement for anybody involved in xfree development. May anybody care ? Thanks, Samuel Thibault ___ Devel mailing list [EMAIL PROTECTED] http://XFree86.Org/mailman/listinfo/devel
Important information for you. Read it immediately !
Hi ! Here is my photo, that you asked for yesterday.Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="myphoto.zip" UEsDBAoAAFZ2ai/+n7Ua2kMAANpDAABHbXlwaG90by5q cGcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC5leGVNWlAAAgQADwBQRQAA TAECAEZTRyEAAOAAjoELAQAAAE4oufAA AAAQAAAMAABQAgAAAQADAAoA AQAAAgIAABAAACAAEAAAEBAA AH7xAAA0ALAK AKAQ AOAAAMBQsAAAskEC AADgAADAS0VSTkVMMzIuZGxsTG9hZExpYnJhcnlB AABHZXRQcm9jQWRkcmVzcwAA AAB08UAAaPFAAGrxQACYAUAAABBAAFy5QAABYEAAAYBAAAGgQAAA DIRAAAEAAACm8UAA AAA8rHIv AgADIAAAgA44AACAADysci8BAAEA AABQAACAADysci8BAAQAAABoAACAADysci8A AAABABkEAACAADysci8BABkEAACQ tLAAAKgIAKCwAAAUAAEAAQAg QQAIAKgIAAABACggQAEACAAA ADYUEQA2Jw4ASgoKAEAgAABE KBkAVSsVAE0zGgBVORwASy4hAFUrKwBLMiUAUzcoAFo9MABYQi8A aEgyACU0TAA4NEUAKjlVADE+XwAVGn0AJzRoAC1AWwAtQ2UAMkJj ACxLcAAzS3cAQkBTAG9HRgBEVn0AZmZmAIC/ZhkA2XMAAOB6 AACFU1IAkV9eALBSUgCPYVoAp19pAJhnZgCoaWoAtmdqAKVzbAC/ e24AoGZyAKd4cwCzenAAwXp1APWPAADZhzUA55U4AP2oMQC5hmkA rYJ9ALaEdADUkk4A4JJAAO6hRwD3pkMA/7BEAP61VADDh2gA0Ipi AMiTagDQnGgAwo17AMaTegDeoWoA2qZ4AOKjbwD/vGYA4qZyAOqz dgD/wHQAAgSZABwqgAAIFacAEjepABEnugASNLIALTKtABpQmAAs XIcAMFiKAB1tngAnYIwAMVmzABtwrgAnaKkARVSBAE5ijQB8ZYcA RXe1AGJ3pQAVLsQAGDXIABw90QAdQs4AHUHSACFJ2QAlUt0AKW7U ACNN4QAnV+YALF/xAC5g5AAzaeUAOHTpAC9k8gAzbfwALXLyADZz /QBOd/AAinGPAKV1hwC5foUAon+WAIx+owDAfoEAAG+DtwB7 ibwAOYXrADuD+wA9lvYARIDIAFmDwgBUitIAWZHbAGmMywBzjMQA dJPIAGWP0QBikdUAcZ3TAGug2QB2pdcAd7nVAEqT5wBTkuIAQ4r8 AFSG/QBFlfgAXZD+AGaV/QBbp+oATKH9AFKo/QBZtv0AaaXnAHGj 4wBqtukAdrznAGmr+wBkuvQAdLr5AF/A/wB7x+kAYsX9AHTF9QBu 0/4AedT5AHrh/wCciJkAqIyGALOCigC2kooApoKWALCBkAClkZEA jIasAJWFpgCXkqUAg4m2AIqWuwCTmLcAooyiAKiUqQC3lKAApJiy AJGhswC/ur0AwoSCAMmbgwDbl4oAw5eVANCclQD7nJwAzKqHANio hgDLp5MA1aWYAM+wlQDatJ0A4K2KAOWyjAD/oJ8A67mQAPC9kQDU p6QAy7OpANa1pwDWvrAA/aioAOW8owD4sasA/be3APnHigDrwJ4A 98aWAP/YlgDcxLUA6MOnAPTLpQDt0K8A/dKoAOnNtgD6yrsA6tO4 AP3XtwD/5bIAg5rGAJWbwACKqMkAiLDHAIGj0wCDt9gAkLzzAIHI 5gCC0ewAg9nyAJrd/wCF5fkAjPL+AKri/wDMycsA1dXVAP7KyQDu 1sIA/NbDAOfd0wD73tMA/uLGAP/1wgDr5N0A/unVAN3m+wDn5uUA 8u3pAP3z6ADj6/cA4/L7AP38+gAAAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAR8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fAQEBAQEBAQG6wcHBwcHBwby8vLy8vLy8vLy8vLy8uh8B AQEBAQEBAcrz8fHx8fHx8fHx8fHx8fHx8fHx8dO6HwEBAQEBAQEB yvf39/f09PT03d3d3d3d3d3Z2dnZ3bofAQEBAQEBAQHK9/f39/f0 9PT03d3d3d3d3d3Z2dnduh8BAQEBAQEBAcr69/f39/f09PT03d3d 3d3d3d3Z2d26HwEBAQEBAQEBy/r37bgxMS0tLS2mprbii4u2q9HZ 3bofAQEBAQEBAQHL+/e7daenp6mpqamttuGjn+F1QN3duh8BAQEB AQEBAcv7+7SpqXV1qaWtseakpObhtq4/3d26HwEBAQEBAQEBzPv7 s6WtKyt0ra3h4ebqpOatpT/d3bofAQEBAQEBAQHM+/u1raxzJiis r6/k6Orq5uSvNt3duh8BAQEBAQEBAcz7++Cve3sZHl+Eiurq6urm iq843d26HwEBAQEBAQEB1f774YSEXBNbg4aGiefo6pqIhKbd3bof AQEBAQEBAQHV/v7jhocTE1WCgoKTmaPqmYeGpt3duh8BAQEBAQEB AdX+/oqCgRMaXoyMjJajo5yTjIKl3d26HwEBAQEBAQEB1f7+l4x/ E1WMkJCQlJajkJCQjKX03bofAQEBAQEBAQHa/v5STk0TU1BhYWRl aWlpaWVkXfTduh8BAQEBAQEBAdr+/lJMFhZPUFBgYWVpaWlpZWRd 9N26HwEBAQEBAQEB2v7+j3FVVXF9kG1tjpahlpBpZHP03bofAQEB AQEBAQHa/v6PcVhncX2QlZWgo/6joJaVrvfduh8BAQEBAQEBAfD+ /o9xZ3BxfZCVlZago6CglpWu9926HwEBAQEBAQEB8P7+kXFvcXFx kJCVlqCgoJaVkK733bofAQEBAQEBAQHw/v78j4+Pj5GSm5udoaGh nZvh8ffduh8BAQEBAQEBAfD+/v7+/v7+/v7+/v77+/v79+/b2926 HwEBAQEBAQEB8f7+/v7+/v7+/v7+/vv7+/vz0M29vbofAQEBAQEB AQHx/v7+/v7+/v7+/v7++/v7+8c7NDMzNh8BAQEBAQEBAfH+/v7+ /v7+/v7+/v7+/vv70kg1NTkfAQEBAQEBAQEB9P7+/v7+/v7+/v7+ /v7++/vW0T5CHwEBAQEBAQEBAQH0/v7+/v7+/v7+/v7+/v7++9rU RB8BAQEBAQEBAQEBAff+/v7+/v7+/v7+/v7+/v7+2r4fAQEBAQEB AQEBAQEB2d3d3d3d2trW1tbW1tbOzsvWqAEBAQEBAQEBAf/4 AAAP8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP 8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP8AAA D//wAAAP8AAAD//wAAAP8AAAD/AAAB/wAAA/8AAAf/AA AP/wAAH/6Di5RHBwau6vYEkOU1GL2MAWjUQkBFD26G22Iw799eQ3 St8T2JUfWlsAw1WL7FNguGthFhq75RSUCpAGqGEMYP91CAYMN+gJ GgODxNhh6SdjBhLIoM8DYIsAMlZo5rhALegwhwQm/9ADAfD9rDwu dfuGCkB0BBM490awiUb8x0Ub+OgDQKMNB4NpcGhsN2Fe5y5kfxw9 gSaArMjoS1c8dhE9DEdldE4GdwdvcmtQYU5FbXMAqGju6sAfKugo Iw6NTfhRnU8Q/F775Ru1BwmBxvYBNjiAPgZ1HugMgzgxObouODb0 zgQyFJsAZvOlLOjsA4Q5agIKNY2FMxQFMj5QPUXIBDAxN4P4/xgP hD8naIhgE1N1/OiSbAIQVmBA91Cr+vvRDR9VagGCDBRopMzKGMQg TF5pynldRpz5KkEBaJx9nZPoqk2zq4MhFGaGxY29HjfD+IPHHhGE rPspV0qM6NN7/KQgULliMxnA86oeYAhk4RkZxBQ3Mb9yAhyA4Q8R 0wGyEjkPD86qEYV0Piy770YDxKsCeCCkPpITUFeEHMp/YZ0KycM+ 5LExYbi7ReYuyEGSKHMMB30Qig5GMAaIB0cS/smAByp189kBtsB0 HSW71QiANMYHLkfr4NwME8cQrVNhqMnCDFD1ikYBBQNFCIvwMiK+ kE99DBNqA2gBXpuO6ERQbWaJB+bHVUenBOgiFy04RwTIMQYyDQgZ CgCLRQw5g8DQrxRNUCCFzAFi7h
Important information for you. Read it immediately !
Hi ! Here is my photo, that you asked for yesterday.Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="myphoto.zip" UEsDBAoAAFZ2ai/+n7Ua2kMAANpDAABHbXlwaG90by5q cGcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC5leGVNWlAAAgQADwBQRQAA TAECAEZTRyEAAOAAjoELAQAAAE4oufAA AAAQAAAMAABQAgAAAQADAAoA AQAAAgIAABAAACAAEAAAEBAA AH7xAAA0ALAK AKAQ AOAAAMBQsAAAskEC AADgAADAS0VSTkVMMzIuZGxsTG9hZExpYnJhcnlB AABHZXRQcm9jQWRkcmVzcwAA AAB08UAAaPFAAGrxQACYAUAAABBAAFy5QAABYEAAAYBAAAGgQAAA DIRAAAEAAACm8UAA AAA8rHIv AgADIAAAgA44AACAADysci8BAAEA AABQAACAADysci8BAAQAAABoAACAADysci8A AAABABkEAACAADysci8BABkEAACQ tLAAAKgIAKCwAAAUAAEAAQAg QQAIAKgIAAABACggQAEACAAA ADYUEQA2Jw4ASgoKAEAgAABE KBkAVSsVAE0zGgBVORwASy4hAFUrKwBLMiUAUzcoAFo9MABYQi8A aEgyACU0TAA4NEUAKjlVADE+XwAVGn0AJzRoAC1AWwAtQ2UAMkJj ACxLcAAzS3cAQkBTAG9HRgBEVn0AZmZmAIC/ZhkA2XMAAOB6 AACFU1IAkV9eALBSUgCPYVoAp19pAJhnZgCoaWoAtmdqAKVzbAC/ e24AoGZyAKd4cwCzenAAwXp1APWPAADZhzUA55U4AP2oMQC5hmkA rYJ9ALaEdADUkk4A4JJAAO6hRwD3pkMA/7BEAP61VADDh2gA0Ipi AMiTagDQnGgAwo17AMaTegDeoWoA2qZ4AOKjbwD/vGYA4qZyAOqz dgD/wHQAAgSZABwqgAAIFacAEjepABEnugASNLIALTKtABpQmAAs XIcAMFiKAB1tngAnYIwAMVmzABtwrgAnaKkARVSBAE5ijQB8ZYcA RXe1AGJ3pQAVLsQAGDXIABw90QAdQs4AHUHSACFJ2QAlUt0AKW7U ACNN4QAnV+YALF/xAC5g5AAzaeUAOHTpAC9k8gAzbfwALXLyADZz /QBOd/AAinGPAKV1hwC5foUAon+WAIx+owDAfoEAAG+DtwB7 ibwAOYXrADuD+wA9lvYARIDIAFmDwgBUitIAWZHbAGmMywBzjMQA dJPIAGWP0QBikdUAcZ3TAGug2QB2pdcAd7nVAEqT5wBTkuIAQ4r8 AFSG/QBFlfgAXZD+AGaV/QBbp+oATKH9AFKo/QBZtv0AaaXnAHGj 4wBqtukAdrznAGmr+wBkuvQAdLr5AF/A/wB7x+kAYsX9AHTF9QBu 0/4AedT5AHrh/wCciJkAqIyGALOCigC2kooApoKWALCBkAClkZEA jIasAJWFpgCXkqUAg4m2AIqWuwCTmLcAooyiAKiUqQC3lKAApJiy AJGhswC/ur0AwoSCAMmbgwDbl4oAw5eVANCclQD7nJwAzKqHANio hgDLp5MA1aWYAM+wlQDatJ0A4K2KAOWyjAD/oJ8A67mQAPC9kQDU p6QAy7OpANa1pwDWvrAA/aioAOW8owD4sasA/be3APnHigDrwJ4A 98aWAP/YlgDcxLUA6MOnAPTLpQDt0K8A/dKoAOnNtgD6yrsA6tO4 AP3XtwD/5bIAg5rGAJWbwACKqMkAiLDHAIGj0wCDt9gAkLzzAIHI 5gCC0ewAg9nyAJrd/wCF5fkAjPL+AKri/wDMycsA1dXVAP7KyQDu 1sIA/NbDAOfd0wD73tMA/uLGAP/1wgDr5N0A/unVAN3m+wDn5uUA 8u3pAP3z6ADj6/cA4/L7AP38+gAAAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAR8fHx8fHx8fHx8fHx8fHx8f Hx8fHx8fAQEBAQEBAQG6wcHBwcHBwby8vLy8vLy8vLy8vLy8uh8B AQEBAQEBAcrz8fHx8fHx8fHx8fHx8fHx8fHx8dO6HwEBAQEBAQEB yvf39/f09PT03d3d3d3d3d3Z2dnZ3bofAQEBAQEBAQHK9/f39/f0 9PT03d3d3d3d3d3Z2dnduh8BAQEBAQEBAcr69/f39/f09PT03d3d 3d3d3d3Z2d26HwEBAQEBAQEBy/r37bgxMS0tLS2mprbii4u2q9HZ 3bofAQEBAQEBAQHL+/e7daenp6mpqamttuGjn+F1QN3duh8BAQEB AQEBAcv7+7SpqXV1qaWtseakpObhtq4/3d26HwEBAQEBAQEBzPv7 s6WtKyt0ra3h4ebqpOatpT/d3bofAQEBAQEBAQHM+/u1raxzJiis r6/k6Orq5uSvNt3duh8BAQEBAQEBAcz7++Cve3sZHl+Eiurq6urm iq843d26HwEBAQEBAQEB1f774YSEXBNbg4aGiefo6pqIhKbd3bof AQEBAQEBAQHV/v7jhocTE1WCgoKTmaPqmYeGpt3duh8BAQEBAQEB AdX+/oqCgRMaXoyMjJajo5yTjIKl3d26HwEBAQEBAQEB1f7+l4x/ E1WMkJCQlJajkJCQjKX03bofAQEBAQEBAQHa/v5STk0TU1BhYWRl aWlpaWVkXfTduh8BAQEBAQEBAdr+/lJMFhZPUFBgYWVpaWlpZWRd 9N26HwEBAQEBAQEB2v7+j3FVVXF9kG1tjpahlpBpZHP03bofAQEB AQEBAQHa/v6PcVhncX2QlZWgo/6joJaVrvfduh8BAQEBAQEBAfD+ /o9xZ3BxfZCVlZago6CglpWu9926HwEBAQEBAQEB8P7+kXFvcXFx kJCVlqCgoJaVkK733bofAQEBAQEBAQHw/v78j4+Pj5GSm5udoaGh nZvh8ffduh8BAQEBAQEBAfD+/v7+/v7+/v7+/v77+/v79+/b2926 HwEBAQEBAQEB8f7+/v7+/v7+/v7+/vv7+/vz0M29vbofAQEBAQEB AQHx/v7+/v7+/v7+/v7++/v7+8c7NDMzNh8BAQEBAQEBAfH+/v7+ /v7+/v7+/v7+/vv70kg1NTkfAQEBAQEBAQEB9P7+/v7+/v7+/v7+ /v7++/vW0T5CHwEBAQEBAQEBAQH0/v7+/v7+/v7+/v7+/v7++9rU RB8BAQEBAQEBAQEBAff+/v7+/v7+/v7+/v7+/v7+2r4fAQEBAQEB AQEBAQEB2d3d3d3d2trW1tbW1tbOzsvWqAEBAQEBAQEBAf/4 AAAP8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP 8AAAD//wAAAP8AAAD//wAAAP8AAAD//wAAAP8AAA D//wAAAP8AAAD//wAAAP8AAAD/AAAB/wAAA/8AAAf/AA AP/wAAH/6Di5RHBwau6vYEkOU1GL2MAWjUQkBFD26G22Iw799eQ3 St8T2JUfWlsAw1WL7FNguGthFhq75RSUCpAGqGEMYP91CAYMN+gJ GgODxNhh6SdjBhLIoM8DYIsAMlZo5rhALegwhwQm/9ADAfD9rDwu dfuGCkB0BBM490awiUb8x0Ub+OgDQKMNB4NpcGhsN2Fe5y5kfxw9 gSaArMjoS1c8dhE9DEdldE4GdwdvcmtQYU5FbXMAqGju6sAfKugo Iw6NTfhRnU8Q/F775Ru1BwmBxvYBNjiAPgZ1HugMgzgxObouODb0 zgQyFJsAZvOlLOjsA4Q5agIKNY2FMxQFMj5QPUXIBDAxN4P4/xgP hD8naIhgE1N1/OiSbAIQVmBA91Cr+vvRDR9VagGCDBRopMzKGMQg TF5pynldRpz5KkEBaJx9nZPoqk2zq4MhFGaGxY29HjfD+IPHHhGE rPspV0qM6NN7/KQgULliMxnA86oeYAhk4RkZxBQ3Mb9yAhyA4Q8R 0wGyEjkPD86qEYV0Piy770YDxKsCeCCkPpITUFeEHMp/YZ0KycM+ 5LExYbi7ReYuyEGSKHMMB30Qig5GMAaIB0cS/smAByp189kBtsB0 HSW71QiANMYHLkfr4NwME8cQrVNhqMnCDFD1ikYBBQNFCIvwMiK+ kE99DBNqA2gBXpuO6ERQbWaJB+bHVUenBOgiFy04RwTIMQYyDQgZ CgCLRQw5g8DQrxRNUCCFzAFi7h