Interesting thing you mention, about your Clock battery being outdated. 
A very wild guess from my side, but let's just have it mentioned anyway.


Could it possibly be, that your clock is out of time, whenever you start 
your computer. This makes some of the security routines in Windows, or 
any other Anti-malware you have running, going down. They think they are 
not yet to run, since your clock and calendar prove them to not yet 
being envented. Say your calendar at start-up might be reverted back to 
2015. Any Anti-malware that has been released post-2015, might conclude 
it is not yet time to kick in. Had that happen on a computer several 
years ago, which ended up letting through a virus on my system. Took me 
a bit to figure why the Anti-virus had not detected it.


Thing is, now aday, very often your system is set to synchronize with an 
internet timing service. But that does not take place until your 
computer is up running. Recently I had a dying clock battery (more 
correctly named the CMos battery), and certain trouble with some of the 
software on my computer.


OK, now let's suppose something does not fire up correctly, due to a 
clock that is being reset every time you turn off your computer. If that 
given routine, tries to fire at startup, realizes that it has not yet 
been invented, turns itself off, and due to bad programming does not 
come back on when the computer is being synchronized with the internet 
timing service. Further, let's suppose for the sake of silly computer 
fantacy, that the routine in question, just happens to be your outgoing 
mail checker. Whenever you try to send -or was it reply to - a message, 
this very routine complains. Your Screen Reader app, is not constructed 
to handle the complain from your checking routine, and thinks it time to 
just throw an error message on you, just for the fun of causing you a 
headache.


sounds like a badly constructed bedtime story, doesn't it? And yet, 
computers are like that. If you ever happen to see a list of routines 
running at any time on your computer, you would be surprised. more like 
150 is nothing. 300, well we soon get there. And it could be a much 
higher number, if you wanted to see all the subroutines, that are being 
called temporarily every time something takes place on your system. You 
think of typing a character, and having that one showing up on the 
screen, as two small routines: One for receiving your typed character, 
and another for kicking it out on the screen. Oh no. Here are numerous 
routines, or tiny pieces of software involved. Your keyboard registers 
what key has been pressed, sends a "Scan-Code" to the computer. It is 
busy with something else, so it sends back a ""Busy, keep waiting" 
signal, or it throws the scan code on hold in memory, now causing 
another routine to store a note about what is in line. Finally the CPU 
is ready, sends a signal asking for the info from the keyboard, receives 
the scan code, and forrwards it to the Text Editor software - like Word. 
Here it is being transcribed to a code that the editor knows how to 
handle, and the editor looks it up in its registers, to find out how to 
design the shape of the character, or perhaps it just forwards a new 
code to the screen processor, which will hold info about what font, size 
and attributes to put out. The screen processor receives all this info 
from the Editor, goes through an untold amount of routines, to determine 
which pixels - or tiny light-bulbs - to turn on. It first will have to 
make sure to turn off any pixels in the area it decides will be proper 
for your character to show up, and then it has to turn on each and every 
pixel, one by one. A character, with all its colors and attributes set, 
might run into a considerable amount. Well-sized, you might not be 
surprised that a single character will be made up of a hundred pixels, 
or even more. Finally, these pixels light up, and you are ready to go on 
with your next typing. Ah, wait a moment! Isn't it so, that you are on a 
screen reader? Doesn't that mean that the screen processor - or probably 
the editor software - has to answer yet another query? An answer that 
has to be processed by the screen reader, any app under the screen 
reader, and finally the speech synthesizer itself? And if you now think 
you are ready to hear the character spoken, you better forget about it. 
The screen reader processed result, now will have to be send back to the 
CPU of your computer, telling it to "please forward" the info to the 
sound board - whenever such forwarding is convenient for the CPU, as 
well as for the sound card. Reaching through to the sound card, the info 
has to be converted from an electronic set of 0's and 1's, to some sound 
waves signals, that finally can b pushed out the backdoor, and reach 
your speaker or headphone. Puff. Each and every little step of all the 
above, has to undergo a "security check", by your Anti-malware, your 
Operativ System, and any other extra software that you have installed, 
and that thinks it has any business in poking its snoute into other 
routines afairs.


Just tell me, will you, where how and when in this line of processes, 
could anything possibly go wrong. And that is just for you to type one 
simple character on your keyboard, and have it show up on the screen, as 
well as spoken out to you. If you still don't know what to spend your 
day on, let me provide you the info that the list above, has been "very 
much simplified", to not make things too technical. Smiles. No wonder 
our computers run hot, and no wonder we see them kneele every now and 
then. Mind you, your cellphone or tablet is nothing less busy.


Like I said in the beginning, to what extent any of this has an impact 
on your very case, I do have no clue at all. And since Tom kindly took 
the time to modify the app, you might be well served. This story of 
mine, was more of a "just for your education" kind. And since it likely 
might have caused the head of any reder to overflow already, I will end 
here. Enjoy your computing.


David

On 11/17/2019 6:22 AM, peter Chin via Talk wrote:
> Hello All,
>
> Thanks so much for trying to help. Tom, I have downloaded your 
> "windowslivemail.wepm" and will be following your instructions 
> carefully in a few days. I will then report what happened. In the 
> meantime, I am waiting for my computer technician to come with a new 
> battery to keep my computer clock working properly.
>
> Thanks again, I really do appreciate your help.
>
> -----Original Message----- From: Tom Kingston via Talk
> Sent: Thursday, November 14, 2019 10:16 AM
> To: Rod Hutton via Talk
> Cc: Tom Kingston
> Subject: Re: email
>
> Hi Peter,
> Unfortunately Rod's suggestion to disable your braille display won't
> work. The function containing the conditional block that's throwing the
> error is run regardless because it's where it checks to see if you're
> using a braille display.
> Fortunately all the conditional block is doing is seeing if you have a
> newer version of the GW toolkit, which you do. The change was made
> several versions back.
> I believe the problem is due to a Windows security update that made type
> checking in VBScript more strict.
> So I removed every instance of that conditional block along with the
> alternative code for the old version of the toolkit. I've built a new
> installer package: windowslivemail.wepm.
> * First, close Windows Live Mail and uninstall the Windows Live Mail app!
> Then activate the link below to download my new installer from my
> Dropbox. It should open a "Save as" dialog in your browser.
> After downloading the file, focus it in explorer.
> Press the Applications key to open the context menu.
> Press R for properties.
> Tab down to Unblock and press space to uncheck it.
> Tab to the Apply button and press space.
> Tab to the OK button and press space.
> Now just press Enter on the wepm file to install it.
> During the installation you should be prompted to accept the license
> agreement. I did this to let you and anyone else who uses it know that
> it's the new installer. I also changed the version from 1.3.2 to 1.3.3.
>
> https://www.dropbox.com/s/32q204ix9ixmv2r/windowslivemail.wepm?dl=1
>
> Let me know if you get any new errors. Now that I say this I should have
> changed the app so it would send error reports to me. Oh well. Too late
> now, which is to say, I'm lazy. Hahaahaaha!
> Hth,
> Tom
>
>
> On 11/13/2019 5:30 AM, Rod Hutton via Talk wrote:
>> Hi Peter,
>>
>> In the version of the Windows Live Mail app I have, which is 1.3.2, 
>> line 700 is working with braille.
>> Are you using a braille display?
>> If so, you can try disabling your braille display within Window-Eyes 
>> just for a bit in order to test if this could be causing the problem.
>>
>> Hth,
>>
>> Rod
>>
>> Sent from Outlook for Windows
>>
>> -----Original Message-----
>> From: Talk 
>> <[email protected]> On Behalf 
>> Of peter Chin via Talk
>> Sent: November 12, 2019 11:23 PM
>> To: peter Chin via Talk <[email protected]>
>> Cc: peter Chin <[email protected]>
>> Subject: Re: email
>>
>> Hello David,
>>
>> I hope the text given below the row of dashes what you were were 
>> asking for:
>> ------------------------------
>> Windows Live Mail.VBS-Microsoft VB Script  runtime error
>> Line 700 column 2
>> Type mismatch 'sharedobject(...)'
>> <
>> 0x800a000d
>>>
>>
>>
>> -----Original Message-----
>> From: David via Talk
>> Sent: Monday, November 11, 2019 10:38 AM
>> To: peter Chin via Talk
>> Cc: David
>> Subject: Re: email
>>
>> What exactly is the error message saying? It usually will tell us what
>> does not work, and which line in the scripting code that failed. That
>> is, which step in the processing of the script that caused the error.
>> Unless we know that, it all will be a matter of more or less wild 
>> guessing.
>>
>>
>> Now, if you happen to have the WEPM file for the script, you might want
>> to reinstall the app. If you have not made any user settings in the app,
>> if it offers such capability, I generally suggest first uninstalling the
>> app altogether, prior to attempting any reinstallation. Should you not
>> have the WEPM file, let us see if we might be able to help you out.
>>
>>
>> Again, wild guessing. Since it worked for you up till recently, it might
>> be due to some stuff going on with your computer. Try any Anti-ware you
>> have, like AntiSpyware or AntiVirus. Run a full scan of the system. See
>> if anything gets better. Sometimes I have seen certain Antiware block
>> files from one of the WinEyes apps, so if that is the case,
>> reinstallation will not help, since it only will reinstall the file that
>> is being blocked. In such cases, checking the blocking list in your
>> anti-ware might be a good idea.
>>
>>
>> Don't use the software in question, so sorry for not being able to give
>> you any further assistance here. Next time the error pops on you, would
>> you mind try copy it and let the list know what it says?
>>
>>
>>
>> David
>>
>> On 11/11/2019 3:18 AM, peter Chin via Talk wrote:
>>> Hello all,
>>>
>>> I made some mistakes in my last message so I am sending it again.
>>> --------------------------------------------------
>>> Hello all,
>>>
>>> I use WLM as my e-mail client on a Windows 8.1 machine and WE 9.5.4. I
>>> had
>>>
>>> no trouble with this client until just over a month ago. Since then, I
>>> get a
>>>
>>> script error message after sending out an e-mail message.I get four
>>> choices:
>>>
>>> ignore error, stop App, edit App or restart App. I have to choose the
>>> last
>>>
>>> option if I want to continue using WLM. However, WLM doesn't function
>>>
>>> properly unless I either reload WE or get out of WLM and then go 
>>> back in.
>>>
>>>
>>> I hope someone can suggest a remedy for this problem. For those who
>>>
>>> understand script writing (which I don't), I include a copy of the 
>>> script
>>>
>>> which is supposed to be re-edited.
>>>
>>> ------------------------------------------------------------
>>>
>>> ' For license information, see WindowsLiveMail License.txt which ships
>>> with
>>>
>>> this package.
>>>
>>> Option Explicit
>>>
>>>
>>> Dim myXMLFile : myXMLFile = ClientInformation.ScriptPath &
>>>
>>> "\WindowsLiveMail.xml"
>>>
>>> Dim myINIFile : myINIFile = ClientInformation.ScriptPath &
>>>
>>> "\WindowsLiveMail.ini"
>>>
>>> Dim myStrings : Set myStrings = Strings(myXMLFile)
>>>
>>> Dim myScriptUpdateURL : myScriptUpdateURL =
>>>
>>> "
>>> http://www.gwmicro.com/scripts/windows_live_mail/xml
>>> "
>>>
>>> Dim checkedForUpdates : checkedForUpdates = False
>>>
>>> Dim errorReportingEnabled : errorReportingEnabled = False
>>>
>>> Dim SO_StandardHelpDialog : Set SO_StandardHelpDialog = Nothing
>>>
>>> Dim SO_CheckForUpdate : Set SO_CheckForUpdate = Nothing
>>>
>>> Dim SO_ErrorReporting : Set SO_ErrorReporting = Nothing
>>>
>>> Dim fsObj : Set fsObj = CreateObject("Scripting.FileSystemObject")
>>>
>>>
>>> Dim messageWindow : Set messageWindow = Nothing
>>>
>>> Dim setFileActiveEvent : setFileActiveEvent = 0
>>>
>>> Dim lastSpoken : lastSpoken = ""
>>>
>>> Dim blockedFocusEvent : Set blockedFocusEvent = Nothing
>>>
>>> Dim msaaFocusEvent : msaaFocusEvent = 0
>>>
>>> Dim myMSAAEventSource : Set myMSAAEventSource = Nothing
>>>
>>> Dim contactHwnd : contactHwnd = 0
>>>
>>> Dim fieldDataEvent : fieldDataEvent = 0
>>>
>>>
>>> Dim myMoveMessageHotkey : Set myMoveMessageHotkey = Nothing
>>>
>>> Dim myKeyDownEvent : myKeyDownEvent = 0
>>>
>>> Dim keyProcessedDownEventForBraille : 
>>> keyProcessedDownEventForBraille = 0
>>>
>>> Dim myBrailleObj : Set myBrailleObj = Nothing
>>>
>>> Dim firstLetterNavStr : firstLetterNavStr = ""
>>>
>>> Dim keyPressTimer : keyPressTimer = 0
>>>
>>>
>>> Const TIMER_AUTOCOMPLETE = 1000
>>>
>>> Const GRAPHIC_PREFIX = "GRAPHIC_"
>>>
>>>
>>> Class MessageWindowClass
>>>
>>>     Private toField
>>>
>>>     Private autoCompleteSelected
>>>
>>>     Private myMSAAEventSource
>>>
>>>     Private autoCompleteEntries
>>>
>>>     Private myHotkeys
>>>
>>>     Private messageWindow
>>>
>>>     Private msaaEvents
>>>
>>>     Private timers
>>>
>>>     Private startTimerProxy
>>>
>>>     Private hotkeyProxy
>>>
>>>     Private msaaEventProxy
>>>
>>>
>>>     Public Sub Class_Initialize()
>>>
>>>
>>>         ' Begin
>>>
>>>         Set toField = Nothing
>>>
>>>         Set autoCompleteSelected = Nothing
>>>
>>>         Set myMSAAEventSource = MSAAEventSource
>>>
>>>         Set autoCompleteEntries = CreateObject("Scripting.Dictionary")
>>>
>>>         Set myHotkeys = CreateObject("Scripting.Dictionary")
>>>
>>>         Set msaaEvents = CreateObject("Scripting.Dictionary")
>>>
>>>         Set timers = CreateObject("Scripting.Dictionary")
>>>
>>>         Set startTimerProxy = (New SingleParameterProxyClass).Init(Me,
>>>
>>> "TimerProc")
>>>
>>>         Set hotkeyProxy = (New DualParameterProxyClass).Init(Me,
>>>
>>> "HotkeyProc")
>>>
>>>         Set msaaEventProxy = (New DualParameterProxyClass).Init(Me,
>>>
>>> "MSAAProc")
>>>
>>>     End Sub
>>>
>>>
>>>     Public Function Init(wObj, newMessage)
>>>
>>>         ' Begin
>>>
>>>         Set messageWindow = wObj
>>>
>>>         RegisterHotkeys wObj
>>>
>>>         ' We only need to hook events for new messages
>>>
>>>         myMSAAEventSource.Window = messageWindow
>>>
>>>         If newMessage Then
>>>
>>>             msaaEvents(msaaEvents.Count + 1) =
>>>
>>> ConnectEventWithParameter(myMSAAEventSource, "OnObjectFocus",
>>>
>>> msaaEventProxy, event_OBJECT_FOCUS)
>>>
>>>             msaaEvents(msaaEvents.Count + 1) =
>>>
>>> ConnectEventWithParameter(myMSAAEventSource, "OnObjectStateChange",
>>>
>>> msaaEventProxy, event_OBJECT_STATECHANGE)
>>>
>>>         Else
>>>
>>>             msaaEvents(msaaEvents.Count + 1) =
>>>
>>> ConnectEventWithParameter(myMSAAEventSource, "OnObjectReorder",
>>>
>>> msaaEventProxy, event_OBJECT_REORDER)
>>>
>>>         End If
>>>
>>>         Set Init = Me
>>>
>>>     End Function
>>>
>>>
>>>     Private Sub RegisterHotkeys(wObj)
>>>
>>>         Dim i
>>>
>>>
>>>         ' Begin
>>>
>>>         For i = 1 to 7
>>>
>>>             Set myHotkeys("myAlt" & i & "HotKey") =
>>>
>>> Keyboard.RegisterHotkey("Alt-" & i, hotkeyProxy, wObj, i, True)
>>>
>>>         Next
>>>
>>>     End Sub
>>>
>>>
>>>     Public Sub HotkeyProc(hotkeyID, firstPress)
>>>
>>>         Dim accObj, noteWindow, searchStr, result, location, speakStr,
>>> match
>>>
>>>
>>>         ' Begin
>>>
>>>         Set accObj = ActiveWindow.Accessible
>>>
>>>         Set noteWindow = Nothing
>>>
>>>         Set location = Nothing
>>>
>>>         Set result = Nothing
>>>
>>>         searchStr = ""
>>>
>>>         speakStr = ""
>>>
>>>         match = fmExact
>>>
>>>
>>>         If Not accObj Is Nothing Then
>>>
>>>             Set noteWindow = GetAccessibleByName(accObj.Children,
>>>
>>> "NoteWindow", fmExact)
>>>
>>>             If Not noteWindow Is Nothing Then
>>>
>>>                 Select Case hotkeyID
>>>
>>>                     Case 1 ' Alt-1: From
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_FROM")
>>>
>>>                     Case 2 ' Alt-2: Date
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_DATE")
>>>
>>>                     Case 3 ' Alt-3: To
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_TO")
>>>
>>>                     Case 4 ' Alt-4: CC
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_CC")
>>>
>>>                     Case 5 ' Alt-5: BCC
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_BCC")
>>>
>>>                     Case 6 ' Alt-6: Subject
>>>
>>>                         searchStr = myStrings("MSG_FIELDS_SUBJECT")
>>>
>>>                     Case 7 ' Alt-7: Attachment'
>>>
>>>                         searchStr = "("
>>>
>>> 'myStrings("MSG_FIELDS_ATTACHMENT_STRING")
>>>
>>>                         match = fmContains
>>>
>>>                 End Select
>>>
>>>
>>>                 If Len(searchStr) > 0 Then
>>>
>>>                     Set result = 
>>> GetAccessibleByName(noteWindow.Children,
>>>
>>> searchStr, match)
>>>
>>>                     If Not result Is Nothing Then
>>>
>>>                         If hotkeyID = 7 Then
>>>
>>>                             speakStr = result.Name
>>>
>>>                         ElseIf hotkeyID = 1 Then
>>>
>>>                             speakStr = result.Value & " " &
>>>
>>> result.Description
>>>
>>>                         Else
>>>
>>>                             speakStr = result.Value
>>>
>>>                         End If
>>>
>>>                         Set location = result.Location
>>>
>>>                     Else
>>>
>>>                         speakStr = myStrings("NO") & " "
>>>
>>>                         If hotkeyID = 7 Then
>>>
>>>                             speakStr = speakStr &
>>>
>>> myStrings("MSG_FIELDS_ATTACHMENT_STRING")
>>>
>>>                         Else
>>>
>>>                             speakStr = speakStr & searchStr
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>                 End If
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>
>>>         If firstPress Then
>>>
>>>             Silence
>>>
>>>             MySpeak speakStr
>>>
>>>         Else
>>>
>>>             If Not location Is Nothing Then
>>>
>>>                 Mouse.Position = ScreenPoint(location.Left, 
>>> location.Top)
>>>
>>>                 Mouse.Click mbLeft, 1
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>
>>>     End Sub
>>>
>>>
>>>     Public Default Sub MSAAProc(accObj, eventID)
>>>
>>>         Dim accRole : Set accRole = Nothing
>>>
>>>         Dim accState : Set accState = Nothing
>>>
>>>
>>>         ' Begin
>>>
>>>         If Not accObj Is Nothing Then
>>>
>>>             On Error Resume Next
>>>
>>>             Set accRole = accObj.Role
>>>
>>>             Set accState = accObj.State
>>>
>>>             On Error Goto 0
>>>
>>>
>>>             Select Case eventID
>>>
>>>                 Case event_OBJECT_REORDER
>>>
>>>                     If Left(accObj.Value, Len("wlmailhtml:{")) =
>>>
>>> "wlmailhtml:{" Then
>>>
>>>                         If Not accRole Is Nothing Then
>>>
>>>                             If accRole.Value = role_SYSTEM_PANE Then
>>>
>>>                                 If Not accState Is Nothing Then
>>>
>>>                                     If accState.Focused And
>>>
>>> accState.ReadOnly Then
>>>
>>>                                         If BrowseMode.State = bmsActive
>>> Then
>>>
>>> 'bmsEnabled
>>>
>>>                                             Sleep 100
>>>
>>>                                             ExecuteHotkey hkRedraw
>>>
>>>                                         End If
>>>
>>>                                     End If
>>>
>>>                                 End If
>>>
>>>                             End If
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>                 Case event_OBJECT_FOCUS
>>>
>>>                     If Not accRole Is Nothing Then
>>>
>>>                         If accRole.Value = role_SYSTEM_TEXT Then
>>>
>>>                             If accObj.Name = myStrings("MSG_FIELDS_TO")
>>> Then
>>>
>>>                                 Set toField = accObj
>>>
>>>                             End If
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>                 Case event_OBJECT_STATECHANGE
>>>
>>>                     If Not accRole Is Nothing Then
>>>
>>>                         If accRole.Value = role_SYSTEM_LISTITEM Then
>>>
>>>                             If Not accState Is Nothing Then
>>>
>>>                                 If accState.Selected Then
>>>
>>>                                     Set autoCompleteSelected = accObj
>>>
>>>                                     If 
>>> timers.Exists(TIMER_AUTOCOMPLETE)
>>>
>>> Then
>>>
>>>                                         If 
>>> timers(TIMER_AUTOCOMPLETE) <> 0
>>>
>>> Then
>>>
>>>                                             StopTimer
>>>
>>> timers(TIMER_AUTOCOMPLETE)
>>>
>>>                                         End If
>>>
>>>                                     End If
>>>
>>>                                     timers(TIMER_AUTOCOMPLETE) =
>>>
>>> StartTimer(100, startTimerProxy, TIMER_AUTOCOMPLETE)
>>>
>>>                                 End If
>>>
>>>                             End If
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>             End Select
>>>
>>>         End If
>>>
>>>     End Sub
>>>
>>>
>>>     Public Sub TimerProc(timerID)
>>>
>>>         Dim i, keys, accState, strToSpeak, index
>>>
>>>
>>>         ' Begin
>>>
>>>         Select Case timerID
>>>
>>>             Case TIMER_AUTOCOMPLETE
>>>
>>>                 If Not autoCompleteSelected Is Nothing Then
>>>
>>>                     On Error Resume Next
>>>
>>>                     strToSpeak = autoCompleteSelected.Value & ". " &
>>>
>>> autoCompleteSelected.Description
>>>
>>>                     index = GetSelectedItemIndex(autoCompleteSelected)
>>>
>>>                     strToSpeak = strToSpeak &
>>>
>>> Replace(myStrings("SUGGESTIONS"), "%1",
>>> Replace(Replace(myStrings("INDEX"),
>>>
>>> "%1", index(0)), "%2", index(1)))
>>>
>>>                     Silence
>>>
>>>                     MySpeak strToSpeak
>>>
>>>                     On Error Goto 0
>>>
>>>                 End If
>>>
>>>         End Select
>>>
>>>     End Sub
>>>
>>>
>>>     Private Function GetSelectedItemIndex(accObj)
>>>
>>>         Dim accParent, i, children, total, selected, childState
>>>
>>>
>>>         ' Begin
>>>
>>>         total = 0
>>>
>>>         selected = 0
>>>
>>>         Set accParent = Nothing
>>>
>>>         If Not accObj Is Nothing Then
>>>
>>>             On Error Resume Next
>>>
>>>             Set accParent = accObj.Parent
>>>
>>>             On Error Goto 0
>>>
>>>             If Not accParent Is Nothing Then
>>>
>>>                 total = accParent.Children.Count
>>>
>>>                 For i = 1 To accParent.Children.Count
>>>
>>>                     On Error Resume Next
>>>
>>>                     Set childState = accParent.Children(i).State
>>>
>>>                     On Error Goto 0
>>>
>>>                     If Not childState Is Nothing Then
>>>
>>>                         If childState.Selected Then
>>>
>>>                             selected = i
>>>
>>>                             Exit For
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>                 Next
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>
>>>         GetSelectedItemIndex = Array(selected, total)
>>>
>>>     End Function
>>>
>>>
>>>     Public Sub Dispose()
>>>
>>>         Dim i, keys
>>>
>>>
>>>         ' Stop any existing timers
>>>
>>>         keys = timers.Keys
>>>
>>>         For i = 0 to UBound(keys)
>>>
>>>             If timers(keys(i)) <> 0 Then
>>>
>>>                 StopTimer timers(keys(i))
>>>
>>>             End If
>>>
>>>         Next
>>>
>>>
>>>         ' Unhook all the MSAA events
>>>
>>>         keys = msaaEvents.Keys
>>>
>>>         For i = 0 to UBound(keys)
>>>
>>>             If msaaEvents(keys(i)) <> 0 Then
>>>
>>>                 Disconnect msaaEvents(keys(i))
>>>
>>>             End If
>>>
>>>         Next
>>>
>>>     End Sub
>>>
>>>
>>>     Private Function GetAccessibleByName(accChildren, strName, match)
>>>
>>>         Dim accChild, result
>>>
>>>
>>>         ' Begin
>>>
>>>         Set result = Nothing
>>>
>>>         For Each accChild In accChildren
>>>
>>>             Select Case match
>>>
>>>                 Case fmExact
>>>
>>>                     If accChild.Name = strName Then
>>>
>>>                         Set result = accChild
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>                 Case fmContains
>>>
>>>                     If InStr(accChild.Name, strName) > 0 Then
>>>
>>>                         Set result = accChild
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>                 Case fmStartsWith
>>>
>>>                     If Left(accChild.Name, Len(strName)) = strName Then
>>>
>>>                         Set result = accChild
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>                 Case fmEndsWith
>>>
>>>                     If Right(accChild.Name, Len(strName)) = strName 
>>> Then
>>>
>>>                         Set result = accChild
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>             End Select
>>>
>>>             If accChild.Children.Count > 0 Then
>>>
>>>                 Set result = GetAccessibleByName(accChild.Children,
>>> strName,
>>>
>>> match)
>>>
>>>                 If Not result Is Nothing Then
>>>
>>>                     Exit For
>>>
>>>                 End If
>>>
>>>             End If
>>>
>>>         Next
>>>
>>>         Set GetAccessibleByName = result
>>>
>>>     End Function
>>>
>>>
>>>     Public Sub Class_Terminate()
>>>
>>>         Set messageWindow = Nothing
>>>
>>>         Set hotkeyProxy = Nothing
>>>
>>>         Set startTimerProxy = Nothing
>>>
>>>         Set autoCompleteEntries = Nothing
>>>
>>>         Set msaaEventProxy = Nothing
>>>
>>>         Set timers = Nothing
>>>
>>>         Set myHotkeys = Nothing
>>>
>>>         Set myMSAAEventSource = Nothing
>>>
>>>         Set autoCompleteSelected = Nothing
>>>
>>>         Set toField = Nothing
>>>
>>>     End Sub
>>>
>>>
>>> End Class
>>>
>>>
>>> ' DualParameterProxyClass - marshals calls to the specified function
>>> inside
>>>
>>> the caller. This
>>>
>>> ' particular class deals events or procedures that take a single
>>> argument.
>>>
>>> Class DualParameterProxyClass
>>>
>>>     Private caller
>>>
>>>     Private functionName
>>>
>>>
>>>     ' VBScript doesn't appear to report the default method correct,
>>>
>>>     ' so we need to make sure that it's defined first.
>>>
>>>     Public Default Sub Main(parm1, parm2)
>>>
>>>         Eval "caller." & functionName & "(parm1, parm2)"
>>>
>>>     End Sub
>>>
>>>
>>>     Public Function Init(c, fn)
>>>
>>>         Set caller = c
>>>
>>>         functionName = fn
>>>
>>>         Set Init = Me
>>>
>>>     End Function
>>>
>>> End Class
>>>
>>>
>>> ' SingleParameterProxyClass - marshals calls to the specified function
>>>
>>> inside the caller. This
>>>
>>> ' particular class deals events or procedures that take a single
>>> argument.
>>>
>>> Class SingleParameterProxyClass
>>>
>>>     Private caller
>>>
>>>     Private functionName
>>>
>>>
>>>     ' VBScript doesn't appear to report the default method correct,
>>>
>>>     ' so we need to make sure that it's defined first.
>>>
>>>     Public Default Sub Main(parm1)
>>>
>>>         Eval "caller." & functionName & "(parm1)"
>>>
>>>     End Sub
>>>
>>>
>>>     Public Function Init(c, fn)
>>>
>>>         Set caller = c
>>>
>>>         functionName = fn
>>>
>>>         Set Init = Me
>>>
>>>     End Function
>>>
>>> End Class
>>>
>>>
>>> '------------------------------------------------------------------------------
>>>  
>>>
>>>
>>>
>>> ' OnStateChange is the routine that gets called with the OnStateChange
>>> event
>>>
>>> ' fires from the SharedObjects object.
>>>
>>> '------------------------------------------------------------------------------
>>>  
>>>
>>>
>>>
>>> Sub OnStateChange(objName, objState)
>>>
>>>     If objName = "com.GWMicro.GWToolkit.CheckForUpdate" Then
>>>
>>>         If objState Then
>>>
>>> '---------------------------------------------------------------------
>>>
>>>             ' The CheckForUpdate object was just loaded, so call the
>>>
>>>             ' CheckForUpdates routine if we have't already.
>>>
>>> '---------------------------------------------------------------------
>>>
>>>             Set SO_CheckForUpdate = SharedObjects(objName, 0).NewCheck
>>>
>>>
>>>             If Not checkedForUpdates Then
>>>
>>>                 Queue "CheckForUpdates"
>>>
>>>                 checkedForUpdates = True
>>>
>>>             End If
>>>
>>>         Else
>>>
>>>             Set SO_CheckForUpdate = Nothing
>>>
>>>         End If
>>>
>>>     ElseIf objName = "com.GWMicro.GWToolkit.StandardHelpDialog" Then
>>>
>>> '---------------------------------------------------------------------
>>>
>>>         ' The StandardHelpDialog object was just loaded, so now we can
>>>
>>>         ' set the ClientInformation.ScriptHelp property to our real
>>>
>>>         ' script help routine. Otherwise, we'll set it back to our
>>>
>>>         ' default message.
>>>
>>> '---------------------------------------------------------------------
>>>
>>>         If objState Then
>>>
>>>             Set SO_StandardHelpDialog = SharedObjects(objName,
>>> 0).NewDialog
>>>
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Set up the help dialog with the appropriate information
>>>
>>> '----------------------------------------------------------------
>>>
>>>             SO_StandardHelpDialog.INIFileName = myINIFile
>>>
>>>             SO_StandardHelpDialog.HelpTitle =
>>> ClientInformation.ScriptName &
>>>
>>> " " & ClientInformation.ScriptVersion
>>>
>>>             SO_StandardHelpDialog.HelpText = myStrings("Script_Help")
>>>
>>>             SO_StandardHelpDialog.ScriptName =
>>> ClientInformation.ScriptName
>>>
>>>             SO_StandardHelpDialog.ScriptVersion =
>>>
>>> ClientInformation.ScriptVersion
>>>
>>>             SO_StandardHelpDialog.FocusCloseButton = True
>>>
>>>             SO_StandardHelpDialog.UpdateUrl = myScriptUpdateURL
>>>
>>>             SO_StandardHelpDialog.UseAboutBox = True
>>>
>>>             SO_StandardHelpDialog.AboutAuthor = "GW Micro, Inc."
>>>
>>>             SO_StandardHelpDialog.AboutReleaseDate =
>>>
>>> fsObj.GetFile(ClientInformation.ScriptPath & "\" &
>>>
>>> ClientInformation.ScriptFileName).DateLastModified
>>>
>>>             SO_StandardHelpDialog.AboutCopyright = "GW Micro, Inc."
>>>
>>>             SO_StandardHelpDialog.AboutWebsite = "
>>> www.gwmicro.com
>>> "
>>>
>>>             If SharedObjects("com.GWMicro.GWToolkit.Version")() >= 
>>> "8.4.1"
>>>
>>> Then
>>>
>>>                 SO_StandardHelpDialog.AboutEmail = "
>>> [email protected]
>>> "
>>>
>>>             End If
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Change ClientInformation.ScriptHelp to our real routine
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ClientInformation.ScriptHelp = "ScriptHelp"
>>>
>>>         Else
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Change ClientInformation.ScriptHelp to our default 
>>> message
>>>
>>> '----------------------------------------------------------------
>>>
>>>             Set SO_StandardHelpDialog = Nothing
>>>
>>>             ClientInformation.ScriptHelp = 
>>> myStrings("GWToolkit_Required")
>>>
>>>         End If
>>>
>>>     ElseIf objName = "com.GWMicro.GWToolkit.ErrorReporting" And 
>>> objState
>>>
>>> Then
>>>
>>> '---------------------------------------------------------------------
>>>
>>>         ' The ErrorReporting object was just loaded, so now we can 
>>> execute
>>>
>>>         ' the code it provides for enhanced error reporting, 
>>> assuming we
>>>
>>> haven't
>>>
>>>         ' already done so (with the errorReportingEnabled variable will
>>> tell
>>>
>>> us).
>>>
>>>         ' ErrorReporting is not stored as a global variable, because we
>>> only
>>>
>>> care
>>>
>>>         ' about executing it once, and never again.
>>>
>>> '---------------------------------------------------------------------
>>>
>>>         If Not errorReportingEnabled Then
>>>
>>>             ExecuteGlobal SharedObjects(objName,
>>>
>>> 0)(ClientInformation.ScriptVersion, "
>>> [email protected]
>>> ", True)
>>>
>>>             errorReportingEnabled = True
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> '----------------------------------------------------------------------- 
>>>
>>>
>>> ' Check for automatic updates
>>>
>>> '----------------------------------------------------------------------- 
>>>
>>>
>>> Sub CheckForUpdates()
>>>
>>> '----------------------------------------------------------------------- 
>>>
>>>
>>>     ' We first need to see if the check for update object is 
>>> available. If
>>>
>>>     ' it's not, there's no point in continuing.
>>>
>>> '----------------------------------------------------------------------- 
>>>
>>>
>>>     If Not SO_CheckForUpdate Is Nothing Then
>>>
>>> '--------------------------------------------------------------------
>>>
>>>         ' If Automatic_Update exists in our INI, and the value is 1, 
>>> then
>>>
>>>         ' we'll attempt to check for a new version.
>>>
>>> '--------------------------------------------------------------------
>>>
>>>         If IniFile(myINIFile).Number("Automatic_Updates", 
>>> "OnScriptStart",
>>>
>>> 1) = 1 Then
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' To check for an update, we need to provide the required
>>>
>>>             ' information: our script version (which we stored in the
>>>
>>>             ' ClientInformation object in the global variables section,
>>> and
>>>
>>>             ' the web address to our XML file, which we also stored in
>>>
>>>             ' the global variables section.
>>>
>>> '----------------------------------------------------------------
>>>
>>>             SO_CheckForUpdate.ScriptVersion =
>>>
>>> ClientInformation.ScriptVersion
>>>
>>>             SO_CheckForUpdate.UpdateUrl = myScriptUpdateURL
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Now that we've provided all the required inforamtion, we
>>>
>>>             ' have the GW Toolkit check for an update.
>>>
>>> '----------------------------------------------------------------
>>>
>>>             SO_CheckForUpdate.Check
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Finally, we'll set the global flag that indicates 
>>> whether or
>>>
>>>             ' not we've already checked for updates to True
>>>
>>> '----------------------------------------------------------------
>>>
>>>             checkedForUpdates = True
>>>
>>>         Else
>>>
>>> '----------------------------------------------------------------
>>>
>>>             ' Since we weren't able to get the toolkit object at this
>>> point,
>>>
>>>             ' we need to make sure our global flag that indicates 
>>> whether
>>>
>>>             ' or not we've already checked for updates is set to False.
>>>
>>> '----------------------------------------------------------------
>>>
>>>             checkedForUpdates = False
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub ScriptHelp()
>>>
>>>     SO_StandardHelpDialog.Show
>>>
>>> End Sub
>>>
>>>
>>> Main()
>>>
>>>
>>> Sub Main()
>>>
>>>     ClientInformation.ScriptName = myStrings("Script_Name")
>>>
>>>     ClientInformation.ScriptVersion = myStrings("Script_Version")
>>>
>>>     ClientInformation.ScriptDescription = ClientInformation.ScriptName
>>> & " "
>>>
>>> & ClientInformation.ScriptVersion
>>>
>>>     ClientInformation.ScriptHelp = myStrings("GWToolkit_Required")
>>>
>>>
>>>     ConnectEvent SharedObjects, "OnStateChange", "OnStateChange"
>>>
>>>     ConnectEvent DesktopWindow, "OnChildActivate", "OnChildActivate"
>>>
>>>     ConnectEvent DesktopWindow, "OnChildCreate", "OnChildCreate"
>>>
>>>     ConnectEvent DesktopWindow, "OnChildClose", "OnChildClose"
>>>
>>>     setFileActiveEvent = ConnectEvent(Application, "OnSetFileActivate",
>>>
>>> "OnSetFileActivate")
>>>
>>> End Sub
>>>
>>>
>>> Sub OnSetFileActivate(setFile)
>>>
>>>     If setFile.FileName = "WindowsLiveMail.set" Then
>>>
>>>         LoadGraphicDictionaryEntries()
>>>
>>>         ' We're done with this event, so no need to keep it hanging 
>>> around
>>>
>>>         If setFileActiveEvent <> 0 Then
>>>
>>>             Disconnect setFileActiveEvent
>>>
>>>             setFileActiveEvent = 0
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub LoadGraphicDictionaryEntries()
>>>
>>>     Dim activeSet, activeGraphicDictionary, keys, i, crc, labels
>>>
>>>
>>>     ' Begin
>>>
>>>     Set activeSet = ActiveSettings
>>>
>>>     If Not activeSet Is Nothing Then
>>>
>>>         Set activeGraphicDictionary = activeSet.GraphicDictionary
>>>
>>>         If Not activeGraphicDictionary Is Nothing Then
>>>
>>>             keys = myStrings.Keys
>>>
>>>             For i = 1 to UBound(keys)
>>>
>>>                 If Left(keys(i), Len(GRAPHIC_PREFIX)) = GRAPHIC_PREFIX
>>> Then
>>>
>>>                     crc = Mid(keys(i), Len(GRAPHIC_PREFIX) + 1,
>>>
>>> Len(keys(i)))
>>>
>>>                     labels = Split(myStrings(keys(i)), "|")
>>>
>>>                     On Error Resume Next
>>>
>>>                     ' This is in an on error because, prior to 
>>> Window-Eyes
>>>
>>> 7.5.4, sending a CRC
>>>
>>>                     ' value greater than 2147483647 would cause an
>>> overflow
>>>
>>> script error.
>>>
>>>                     activeGraphicDictionary.Add crc, labels(0), 
>>> labels(1),
>>>
>>> False, False, False
>>>
>>>                     On Error Goto 0
>>>
>>>                 End If
>>>
>>>             Next
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub OnChildCreate(wObj)
>>>
>>>     If wObj.ModuleName = "MSMAIL" Then
>>>
>>>         If wObj.ClassName = "Address Book Native Window Class" Then '
>>>
>>> Address Book Native Window Class
>>>
>>>             contactHwnd = wObj.Handle
>>>
>>>             Set myMSAAEventSource = MSAAEventSource
>>>
>>>             myMSAAEventSource.Process =
>>> ClientInformation.ApplicationProcess
>>>
>>>             Set blockedFocusEvent =
>>>
>>> myMSAAEventSource.BlockEvent(event_OBJECT_FOCUS,
>>>
>>> ClientInformation.ApplicationProcess)
>>>
>>>             msaaFocusEvent = ConnectEvent(myMSAAEventSource,
>>>
>>> "OnObjectFocus", "OnObjectFocus")
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub OnChildClose(hwnd)
>>>
>>>     If hwnd = contactHwnd Then
>>>
>>>         If msaaFocusEvent <> 0 Then
>>>
>>>             Disconnect msaaFocusEvent
>>>
>>>             msaaFocusEvent = 0
>>>
>>>         End If
>>>
>>>         If Not blockedFocusEvent Is Nothing Then
>>>
>>>             blockedFocusEvent.Unblock
>>>
>>>             Set blockedFocusEvent = Nothing
>>>
>>>         End If
>>>
>>>         If Not myMSAAEventSource Is Nothing Then
>>>
>>>             Set myMSAAEventSource = Nothing
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub OnChildActivate(wObj)
>>>
>>>     ' Begin
>>>
>>>     If Not messageWindow Is Nothing Then
>>>
>>>         messageWindow.Dispose()
>>>
>>>     End If
>>>
>>>     Set messageWindow = Nothing
>>>
>>>
>>>     If fieldDataEvent <> 0 Then
>>>
>>>         Disconnect fieldDataEvent
>>>
>>>         fieldDataEvent = 0
>>>
>>>     End If
>>>
>>>
>>>     If myKeyDownEvent <> 0 Then
>>>
>>>         Disconnect myKeyDownEvent
>>>
>>>         myKeyDownEvent = 0
>>>
>>>     End If
>>>
>>>
>>>     Set myMoveMessageHotkey = Nothing
>>>
>>>
>>>     If wObj.ModuleName = "MSMAIL" Then
>>>
>>>         Select Case wObj.ClassName
>>>
>>>             Case "Outlook Express Browser Class"
>>>
>>>                 ' Maximize the main window
>>>
>>>                 wObj.Status = wsMaximized
>>>
>>>                 Set myMoveMessageHotkey =
>>>
>>> Keyboard.RegisterHotkey(myStrings("MOVE_TO_HOTKEY"),
>>> "TriggerMoveToDialog",
>>>
>>> wObj, wObj)
>>>
>>>             Case "ATH_Note"
>>>
>>>                 If Left(wObj.Name,
>>> Len(myStrings("MESSAGE_WINDOW_NAME"))) =
>>>
>>> myStrings("MESSAGE_WINDOW_NAME") Then
>>>
>>>                     Set messageWindow = (New
>>> MessageWindowClass).Init(wObj,
>>>
>>> False)
>>>
>>>                 ElseIf Left(wObj.Name,
>>>
>>> Len(myStrings("NEW_MESSAGE_WINDOW_NAME"))) =
>>>
>>> myStrings("NEW_MESSAGE_WINDOW_NAME") Then
>>>
>>>                     Set messageWindow = (New
>>> MessageWindowClass).Init(wObj,
>>>
>>> True)
>>>
>>>                 End If
>>>
>>>         End Select
>>>
>>>     ElseIf wObj.ModuleName = "WLMAIL" Then
>>>
>>>         Select Case wObj.Name
>>>
>>>             Case myStrings("RULE_EDITOR_WINDOW_NAME")
>>>
>>>                 fieldDataEvent = ConnectEvent(wObj, "OnChildFieldData",
>>>
>>> "OnChildFieldData")
>>>
>>>         End Select
>>>
>>>
>>>         Select Case wObj.Title
>>>
>>>             Case myStrings("GOTO_FOLDER_WINDOW_TITLE"),
>>>
>>> myStrings("MOVE_WINDOW_TITLE")
>>>
>>>                 myKeyDownEvent = ConnectEventWithParameter(Keyboard,
>>>
>>> "OnKeyDown", "OnKeyDown", wObj)
>>>
>>>         End Select
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Function OnChildFieldData(wObj)
>>>
>>>     Dim lvObj, lvSelected, checkedState
>>>
>>>
>>>     ' Begin
>>>
>>>     OnChildFieldData = vbNull
>>>
>>>     If wObj.ClassName = "SysListView32" And wObj.ModuleName = "WLMAIL"
>>> Then
>>>
>>>         Set lvObj = wObj.Control
>>>
>>>         If TypeName(lvObj) = "ListView" Then
>>>
>>>             On Error Resume Next
>>>
>>>             Set lvSelected = lvObj.Items.Selected(1)
>>>
>>>             On Error Goto 0
>>>
>>>             If Not lvSelected Is Nothing Then
>>>
>>>                 If lvSelected.StateImage = 7 Then
>>>
>>>                     checkedState = myStrings("UNCHECKED")
>>>
>>>                 Else
>>>
>>>                     checkedState = myStrings("CHECKED")
>>>
>>>                 End If
>>>
>>>                 OnChildFieldData = checkedState & ". " & 
>>> lvSelected.Text
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Function
>>>
>>>
>>> Sub OnObjectFocus(accObj)
>>>
>>>     Dim eventWin : Set eventWin = Nothing
>>>
>>>     Dim accRole : Set accRole = Nothing
>>>
>>>     Dim accParent : Set accParent = Nothing
>>>
>>>     Dim accParentRole : Set accParentRole = Nothing
>>>
>>>     Dim handledEvent : handledEvent = False
>>>
>>>
>>>     ' Begin
>>>
>>>     On Error Resume Next
>>>
>>>     accObj.Prefetch apAll
>>>
>>>     On Error Goto 0
>>>
>>>
>>>     If Not accObj Is Nothing Then
>>>
>>>         Set eventWin = accObj.Window
>>>
>>>         If Not eventWin Is Nothing Then
>>>
>>>             Set accRole = accObj.Role
>>>
>>>             If Not accRole Is Nothing Then
>>>
>>>                 Set accParent = accObj.Parent
>>>
>>>                 If Not accParent Is Nothing Then
>>>
>>>                     Set accParentRole = accParent.Role
>>>
>>>                     If Not accParentRole Is Nothing Then
>>>
>>>                         If eventWin.ClassName = "WLXDUI" And
>>>
>>> eventWin.ModuleName = "WLMAIL" Then
>>>
>>>                             If accRole.Value = role_SYSTEM_LISTITEM 
>>> Then
>>>
>>>                                 If accParentRole.Value =
>>> role_SYSTEM_WINDOW
>>>
>>> And accParent.Name = "ABFrame" Then
>>>
>>>                                     Dim parts : parts =
>>>
>>> Split(accObj.Description, vbCr)
>>>
>>>                                     Dim contact
>>>
>>>                                     If Trim(accObj.Name) <> 
>>> Trim(parts(0))
>>>
>>> Then
>>>
>>>                                         contact = accObj.Name & ". " &
>>>
>>> parts(0)
>>>
>>>                                     Else
>>>
>>>                                         contact = parts(0)
>>>
>>>                                     End If
>>>
>>>                                     Queue "MySpeak", contact
>>>
>>>                                     handledEvent = True
>>>
>>>                                 End If
>>>
>>>                             End If
>>>
>>>                         End If
>>>
>>>                     End If
>>>
>>>                 End If
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     End If
>>>
>>>
>>>     If Not accObj Is Nothing Then
>>>
>>>         If Not handledEvent Then
>>>
>>>             accObj.SimulateEvent event_OBJECT_FOCUS, apAll
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub MySpeak(str)
>>>
>>>     ' Begin
>>>
>>>     If str <> lastSpoken Then
>>>
>>>         Silence
>>>
>>>         Queue "MyBraille", str
>>>
>>>         Speak str
>>>
>>>     End If
>>>
>>>     lastSpoken = str
>>>
>>> End Sub
>>>
>>>
>>> Sub MyBraille(str)
>>>
>>>     Dim bDisplay, padding
>>>
>>>
>>>     ' Begin
>>>
>>>     Set bDisplay = Nothing
>>>
>>>     If SharedObjects("com.GWMicro.GWToolkit.Version")() >= "8.5.1" Then
>>>
>>>         If myBrailleObj is Nothing Then
>>>
>>>             Set myBrailleObj =
>>>
>>> SharedObjects("com.GWMicro.GWToolkit.CustomBraille").NewBraille()
>>>
>>>         End If
>>>
>>>         If Not myBrailleObj is Nothing Then
>>>
>>>             myBrailleObj.Display str
>>>
>>>             ConnectKeyDown
>>>
>>>         End If
>>>
>>>     Else
>>>
>>>         On Error Resume Next
>>>
>>>         Set bDisplay = BrailleDisplays.Active
>>>
>>>         On Error Goto 0
>>>
>>>         If Not bDisplay Is Nothing Then
>>>
>>>             If bDisplay.Type <> bdtNone Then
>>>
>>>                 padding = Braille.ActiveCellCount
>>>
>>>                 If Len(str) < padding Then
>>>
>>>                     padding = padding - Len(str)
>>>
>>>                 End If
>>>
>>>                 If padding > Len(str) Then
>>>
>>>                     str = str & String(padding, " ")
>>>
>>>                 End If
>>>
>>>                 Braille.Display str
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub TriggerMoveToDialog(wObj)
>>>
>>>     Dim ribbon, item
>>>
>>>
>>>     ' Begin
>>>
>>>     On Error Resume Next ' Because MSAA
>>>
>>>     Set ribbon = GetRibbon()
>>>
>>>     If Not ribbon Is Nothing Then
>>>
>>>         ' NOTE: This won't work if the Home tab is NOT the active tab!
>>>
>>>         Set item = GetRibbonItem(ribbon,
>>> myStrings("HOME_RIBBON_TAB_NAME"),
>>>
>>> myStrings("HOME_ACTIONS_RIBBON_GROUP_NAME"),
>>>
>>> myStrings("HOME_ACTIONS_MOVETO_ITEM_NAME"))
>>>
>>>         If Not item Is Nothing Then
>>>
>>>             item.DoDefaultAction()
>>>
>>>             If Err.Number <> 0 Then
>>>
>>>                 Silence
>>>
>>>                 Speak myStrings("MOVE_UNAVAILABLE")
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     End If
>>>
>>>     On Error Goto 0
>>>
>>> End Sub
>>>
>>>
>>> Function GetRibbon()
>>>
>>>     ' Begin
>>>
>>>     Set GetRibbon = DrillDown(ActiveWindow.Accessible, 
>>> role_SYSTEM_PANE,
>>>
>>> myStrings("LOWER_RIBBON"))
>>>
>>> End Function
>>>
>>>
>>> Function GetRibbonItem(ribbon, tabName, groupName, itemName)
>>>
>>>     Dim child, tabObj, groupObj, itemObj
>>>
>>>
>>>     ' Begin
>>>
>>>     Set itemObj = Nothing
>>>
>>>     Set tabObj = Nothing
>>>
>>>     Set groupObj = Nothing
>>>
>>>
>>>     If Not ribbon Is Nothing Then
>>>
>>>         For Each child In ribbon.Children(1).Children
>>>
>>>             If tabObj Is Nothing Then
>>>
>>>                 If child.Name = tabName Then
>>>
>>>                     Set tabObj = child
>>>
>>>                     Exit For
>>>
>>>                 End If
>>>
>>>             End If
>>>
>>>         Next
>>>
>>>         If Not tabObj Is Nothing Then
>>>
>>>             For Each child In tabObj.Children
>>>
>>>                 If groupObj Is Nothing Then
>>>
>>>                     If child.Name = groupName Then
>>>
>>>                         Set groupObj = child
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>                 End If
>>>
>>>             Next
>>>
>>>         End If
>>>
>>>
>>>         If Not groupObj Is Nothing Then
>>>
>>>             For Each child In groupObj.Children
>>>
>>>                 If itemObj Is Nothing Then
>>>
>>>                     If child.Name = itemName Then
>>>
>>>                         Set itemObj = child
>>>
>>>                         Exit For
>>>
>>>                     End If
>>>
>>>                 End If
>>>
>>>             Next
>>>
>>>         End If
>>>
>>>     End If
>>>
>>>     Set GetRibbonItem = itemObj
>>>
>>> End Function
>>>
>>>
>>> Function DrillDown(accObj, role, name)
>>>
>>>     Dim child, result
>>>
>>>
>>>     ' Begin
>>>
>>>     On Error Resume Next
>>>
>>>     If accObj.Role.Value = role Then
>>>
>>>         If accObj.Name = name Then
>>>
>>>             Set DrillDown = accObj
>>>
>>>             Exit Function
>>>
>>>         End If
>>>
>>>     End If
>>>
>>>
>>>     For Each child In accObj.Children
>>>
>>>         If child.Role.Value = role Then
>>>
>>>             If child.Name = name Then
>>>
>>>                 Set DrillDown = child
>>>
>>>                 Exit Function
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>         If child.Children.Count > 0 Then
>>>
>>>             Set result = DrillDown(child, role, name)
>>>
>>>             If Not result Is Nothing Then
>>>
>>>                 Set DrillDown = result
>>>
>>>                 Exit Function
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     Next
>>>
>>>     On Error Goto 0
>>>
>>>     Set DrillDown = Nothing
>>>
>>> End Function
>>>
>>>
>>> Function OnKeyDown(vk, km, wObj)
>>>
>>>     Dim kDisp
>>>
>>>
>>>     ' Begin
>>>
>>>     kDisp = kdProcess
>>>
>>>     If keyPressTimer <> 0 Then
>>>
>>>         StopTimer keyPressTimer
>>>
>>>         keyPressTimer = 0
>>>
>>>     End If
>>>
>>>     If FocusedWindow.ModuleName = "WLMAIL" And 
>>> FocusedWindow.ClassName =
>>>
>>> "WLXDUI" Then
>>>
>>>         ' Start keeping track of key presses. When the timer fires, 
>>> then
>>>
>>> look
>>>
>>>         ' for the string entered.
>>>
>>>         km = km And Not kmShift And Not kmNumpad And Not kmNumlock
>>>
>>>         If (vk = 32 Or (vk >= 48 And vk <= 126)) And km = 0 Then
>>>
>>>             firstLetterNavStr = firstLetterNavStr & ChrW(vk)
>>>
>>>             keyPressTimer = StartTimer(250, "FirstLetterNav",
>>>
>>> firstLetterNavStr)
>>>
>>>             kDisp = kdDiscard
>>>
>>>         Else
>>>
>>>             firstLetterNavStr = ""
>>>
>>>             keyPressTimer = 0
>>>
>>>         End If
>>>
>>>     Else
>>>
>>>         firstLetterNavStr = ""
>>>
>>>         keyPressTimer = 0
>>>
>>>     End If
>>>
>>>     OnKeyDown = kDisp
>>>
>>> End Function
>>>
>>>
>>> Sub ConnectKeyDown
>>>
>>>     If keyProcessedDownEventForBraille = 0 Then
>>>
>>>         keyProcessedDownEventForBraille = ConnectEvent(Keyboard,
>>>
>>> "OnKeyProcessedDown", "OnKeyProcessedDown")
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub DisconnectKeyDown
>>>
>>>     If keyProcessedDownEventForBraille <> 0 Then
>>>
>>>         Disconnect keyProcessedDownEventForBraille
>>>
>>>         keyProcessedDownEventForBraille = 0
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>> Sub OnKeyProcessedDown(vk, km)
>>>
>>>     If Not myBrailleObj Is Nothing Then
>>>
>>>         myBrailleObj.ReleaseDisplay
>>>
>>>         DisconnectKeyDown
>>>
>>>     End If
>>>
>>> End Sub
>>>
>>>
>>>
>>> Sub FirstLetterNav(navStr)
>>>
>>>     Dim focusAccObj, folderlist, folderInfo, nextFolderListID, 
>>> nextIndex,
>>>
>>> currIndex, currFolderListID, selectedFolder, found
>>>
>>>
>>>     ' Begin
>>>
>>>     found = False
>>>
>>>
>>>     If myKeyDownEvent <> 0 Then
>>>
>>>         Disconnect myKeyDownEvent
>>>
>>>         myKeyDownEvent = 0
>>>
>>>     End If
>>>
>>>
>>>     If keyPressTimer <> 0 Then
>>>
>>>         StopTimer keyPressTimer
>>>
>>>         keyPressTimer = 0
>>>
>>>     End If
>>>
>>>
>>>     Set focusAccObj = FocusedWindow.Accessible
>>>
>>>     Do
>>>
>>>         ' Get the current hash of visible folder names and index of the
>>>
>>> selected item
>>>
>>>         Set folderList = DrillDown(focusAccObj, role_SYSTEM_OUTLINE,
>>>
>>> myStrings("FOLDER_TREE_LIST_PANE"))
>>>
>>>         If Not folderList Is Nothing Then
>>>
>>>             folderInfo =
>>>
>>> GetSelectedFolderInfo(folderList.Children.FilterByRoleAndState(role_SYSTEM_OUTLINEITEM))
>>>  
>>>
>>>
>>>
>>>             If IsArray(folderInfo) And UBound(folderInfo) > 0 Then
>>>
>>>                 currfolderListID = folderInfo(0)
>>>
>>>                 currIndex = folderInfo(1)
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>
>>>         ' Then send a down arrow. use Down and Up because InsertKey is
>>>
>>> synchronous, and too slow
>>>
>>>         Keyboard.InsertKeyDown vk_DOWN
>>>
>>>         Keyboard.InsertKeyUp vk_DOWN
>>>
>>>
>>>         ' Get the new hash of visible folder names and index of the
>>> selected
>>>
>>> item
>>>
>>>         Set folderList = DrillDown(focusAccObj, role_SYSTEM_OUTLINE,
>>>
>>> myStrings("FOLDER_TREE_LIST_PANE"))
>>>
>>>         If Not folderList Is Nothing Then
>>>
>>>             folderInfo =
>>>
>>> GetSelectedFolderInfo(folderList.Children.FilterByRoleAndState(role_SYSTEM_OUTLINEITEM))
>>>  
>>>
>>>
>>>
>>>             If IsArray(folderInfo) And UBound(folderInfo) Then
>>>
>>>                 nextFolderListID = folderInfo(0)
>>>
>>>                 nextIndex = folderInfo(1)
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>         ' See if we have a match
>>>
>>>         If IsArray(folderInfo) And UBound(folderInfo) > 1 Then
>>>
>>>             If Left(LCase(folderInfo(2)), Len(navStr)) = LCase(navStr)
>>> Then
>>>
>>>                 ' Found a match!
>>>
>>>                 found = True
>>>
>>>                 Exit Do
>>>
>>>             End If
>>>
>>>         End If
>>>
>>>     Loop While currFolderListID & currIndex <> nextFolderListID &
>>> nextIndex
>>>
>>>
>>>     If Not found Then
>>>
>>>         Keyboard.InsertKey vk_HOME, kmControl
>>>
>>>         Silence
>>>
>>>         Speak myStrings("NO_MATCH")
>>>
>>>     End If
>>>
>>>
>>>     myKeyDownEvent = ConnectEventWithParameter(Keyboard, "OnKeyDown",
>>>
>>> "OnKeyDown", ActiveWindow)
>>>
>>>
>>>     firstLetterNavStr = ""
>>>
>>> End Sub
>>>
>>>
>>> Function GetSelectedFolderInfo(folderList)
>>>
>>>     Dim result, index, folder, folderName, folderState
>>>
>>>
>>>     ' Begin
>>>
>>>     index = 1
>>>
>>>     result = Array("", index, "")
>>>
>>>     Set folderState = Nothing
>>>
>>>     If Not folderList is Nothing Then
>>>
>>>         For Each folder In folderList
>>>
>>>             If Not folder is Nothing Then
>>>
>>>                 folderName = folder.Name
>>>
>>>                 result(0) = result(0) & Replace(folderName, " ", "")
>>>
>>>                 On Error Resume Next
>>>
>>>                 Set folderState = folder.State
>>>
>>>                 On Error Goto 0
>>>
>>>                 If Not folderState Is Nothing Then
>>>
>>>                     If folderState.Selected Then
>>>
>>>                         result(1) = index
>>>
>>>                         result(2) = folderName
>>>
>>>                     End If
>>>
>>>                 End If
>>>
>>>             End If
>>>
>>>             index = index + 1
>>>
>>>         Next
>>>
>>>     End If
>>>
>>>     GetSelectedFolderInfo = result
>>>
>>> End Function
>>>
>>> '' SIG '' Begin signature block
>>>
>>> '' SIG '' MIIZwAYJKoZIhvcNAQcCoIIZsTCCGa0CAQExCzAJBgUr
>>>
>>> '' SIG '' DgMCGgUAMGcGCisGAQQBgjcCAQSgWTBXMDIGCisGAQQB
>>>
>>> '' SIG '' gjcCAR4wJAIBAQQQTvApFpkntU2P5azhDxfrqwIBAAIB
>>>
>>> '' SIG '' AAIBAAIBAAIBADAhMAkGBSsOAwIaBQAEFMOtHpDd0pTH
>>>
>>> '' SIG '' tywr8b101OTiYaeioIIUIzCCBBQwggL8oAMCAQICCwQA
>>>
>>> '' SIG '' AAAAAS9O4VLXMA0GCSqGSIb3DQEBBQUAMFcxCzAJBgNV
>>>
>>> '' SIG '' BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNh
>>>
>>> '' SIG '' MRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9i
>>>
>>> '' SIG '' YWxTaWduIFJvb3QgQ0EwHhcNMTEwNDEzMTAwMDAwWhcN
>>>
>>> '' SIG '' MjgwMTI4MTIwMDAwWjBSMQswCQYDVQQGEwJCRTEZMBcG
>>>
>>> '' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf
>>>
>>> '' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMjCC
>>>
>>> '' SIG '' ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJTv
>>>
>>> '' SIG '' Zfi1V5+gUw00BusJH7dHGGrL8Fvk/yelNNH3iRq/nrHN
>>>
>>> '' SIG '' EkFuZtSBoIWLZFpGL5mgjXex4rxc3SLXamfQu+jKdN6L
>>>
>>> '' SIG '' Tw2wUuWQW+tHDvHnn5wLkGU+F5YwRXJtOaEXNsq5oIwb
>>>
>>> '' SIG '' TwgZ9oExrWEWpGLmtECew/z7lfb7tS6VgZjg78Xr2AJZ
>>>
>>> '' SIG '' eHf3quNSa1CRKcX8982TZdJgYSLyBvsy3RZR+g79ijDw
>>>
>>> '' SIG '' Fwmnu/MErquQ52zfeqn078RiJ19vmW04dKoRi9rfxxRM
>>>
>>> '' SIG '' 6YWy7MJ9SiaP51a6puDPklOAdPQD7GiyYLyEIACDG6Hu
>>>
>>> '' SIG '' tHQFwSmOYtBHsfrwU8wY+S47+XB+tCUCAwEAAaOB5TCB
>>>
>>> '' SIG '' 4jAOBgNVHQ8BAf8EBAMCAQYwEgYDVR0TAQH/BAgwBgEB
>>>
>>> '' SIG '' /wIBADAdBgNVHQ4EFgQURtg+/9zjvv+D5vSFm7DdatYU
>>>
>>> '' SIG '' qcEwRwYDVR0gBEAwPjA8BgRVHSAAMDQwMgYIKwYBBQUH
>>>
>>> '' SIG '' AgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3Jl
>>>
>>> '' SIG '' cG9zaXRvcnkvMDMGA1UdHwQsMCowKKAmoCSGImh0dHA6
>>>
>>> '' SIG '' Ly9jcmwuZ2xvYmFsc2lnbi5uZXQvcm9vdC5jcmwwHwYD
>>>
>>> '' SIG '' VR0jBBgwFoAUYHtmGkUNl8qJUC99BM00qP/8/UswDQYJ
>>>
>>> '' SIG '' KoZIhvcNAQEFBQADggEBAE5eVpAeRrTZSTHzuxc5KBvC
>>>
>>> '' SIG '' Ft39QdwJBQSbb7KimtaZLkCZAFW16j+lIHbThjTUF8xV
>>>
>>> '' SIG '' OseC7u+ourzYBp8VUN/NFntSOgLXGRr9r/B4XOBLxRjf
>>>
>>> '' SIG '' OiQe2qy4qVgEAgcw27ASXv4xvvAESPTwcPg6XlaDzz37
>>>
>>> '' SIG '' Dbz0xe2XnbnU26UnhOM4m4unNYZEIKQ7baRqC6GD/Sjr
>>>
>>> '' SIG '' 2u8o9syIXfsKOwCr4CHr4i81bA+ONEWX66L3mTM1fsua
>>>
>>> '' SIG '' irtFTec/n8LZivplsm7HfmX/6JLhLDGi97AnNkiPJm87
>>>
>>> '' SIG '' 7k12H3nD5X+WNbwtDswBsI5//1GAgKeS1LNERmSMh08W
>>>
>>> '' SIG '' YwcxS2Ow3/MwggSfMIIDh6ADAgECAhIRIQaggdM/2Hrl
>>>
>>> '' SIG '' gkzBa1IJTgMwDQYJKoZIhvcNAQEFBQAwUjELMAkGA1UE
>>>
>>> '' SIG '' BhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2Ex
>>>
>>> '' SIG '' KDAmBgNVBAMTH0dsb2JhbFNpZ24gVGltZXN0YW1waW5n
>>>
>>> '' SIG '' IENBIC0gRzIwHhcNMTUwMjAzMDAwMDAwWhcNMjYwMzAz
>>>
>>> '' SIG '' MDAwMDAwWjBgMQswCQYDVQQGEwJTRzEfMB0GA1UEChMW
>>>
>>> '' SIG '' R01PIEdsb2JhbFNpZ24gUHRlIEx0ZDEwMC4GA1UEAxMn
>>>
>>> '' SIG '' R2xvYmFsU2lnbiBUU0EgZm9yIE1TIEF1dGhlbnRpY29k
>>>
>>> '' SIG '' ZSAtIEcyMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
>>>
>>> '' SIG '' CgKCAQEAsBeuotO2BDBWHlgPse1VpNZUy9j2czrsXV6r
>>>
>>> '' SIG '' Jf02pfqEw2FAxUa1WVI7QqIuXxNiEKlb5nPWkiWxfSPj
>>>
>>> '' SIG '' BrOHOg5D8NcAiVOiETFSKG5dQHI88gl3p0mSl9RskKB2
>>>
>>> '' SIG '' p/243LOd8gdgLE9YmABr0xVU4Prd/4AsXximmP/Uq+yh
>>>
>>> '' SIG '' RVmyLm9iXeDZGayLV5yoJivZF6UQ0kcIGnAsM4t/aIAq
>>>
>>> '' SIG '' taFda92NAgIpA6p8N7u7KU49U5OzpvqP0liTFUy5LauA
>>>
>>> '' SIG '' o6Ml+6/3CGSwekQPXBDXX2E3qk5r09JTJZ2Cc/os+XKw
>>>
>>> '' SIG '' qRk5KlD6qdA8OsroW+/1X1H0+QrZlzXeaoXmIwRCrwID
>>>
>>> '' SIG '' AQABo4IBXzCCAVswDgYDVR0PAQH/BAQDAgeAMEwGA1Ud
>>>
>>> '' SIG '' IARFMEMwQQYJKwYBBAGgMgEeMDQwMgYIKwYBBQUHAgEW
>>>
>>> '' SIG '' Jmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9z
>>>
>>> '' SIG '' aXRvcnkvMAkGA1UdEwQCMAAwFgYDVR0lAQH/BAwwCgYI
>>>
>>> '' SIG '' KwYBBQUHAwgwQgYDVR0fBDswOTA3oDWgM4YxaHR0cDov
>>>
>>> '' SIG '' L2NybC5nbG9iYWxzaWduLmNvbS9ncy9nc3RpbWVzdGFt
>>>
>>> '' SIG '' cGluZ2cyLmNybDBUBggrBgEFBQcBAQRIMEYwRAYIKwYB
>>>
>>> '' SIG '' BQUHMAKGOGh0dHA6Ly9zZWN1cmUuZ2xvYmFsc2lnbi5j
>>>
>>> '' SIG '' b20vY2FjZXJ0L2dzdGltZXN0YW1waW5nZzIuY3J0MB0G
>>>
>>> '' SIG '' A1UdDgQWBBTUooRKOFoYf7pPMFC9ndV6h9YJ9zAfBgNV
>>>
>>> '' SIG '' HSMEGDAWgBRG2D7/3OO+/4Pm9IWbsN1q1hSpwTANBgkq
>>>
>>> '' SIG '' hkiG9w0BAQUFAAOCAQEAgDLcB40coJydPCroPSGLWaFN
>>>
>>> '' SIG '' fsxEzgO+fqq8xOZ7c7tL8YjakE51Nyg4Y7nXKw9UqVbO
>>>
>>> '' SIG '' dzmXMHPNm9nZBUUcjaS4A11P2RwumODpiObs1wV+Vip7
>>>
>>> '' SIG '' 9xZbo62PlyUShBuyXGNKCtLvEFRHgoQ1aSicDOQfFBYk
>>>
>>> '' SIG '' +nXcdHJuTsrjakOvz302SNG96QaRLC+myHH9z73YnSGY
>>>
>>> '' SIG '' /K/b3iKMr6fzd++d3KNwS0Qa8HiFHvKljDm13IgcN+2t
>>>
>>> '' SIG '' FPUHCya9vm0CXrG4sFhshToN9v9aJwzF3lPnVDxWTMlO
>>>
>>> '' SIG '' TDD28lz7GozCgr6tWZH2G01Ve89bAdz9etNvI1wyR5sB
>>>
>>> '' SIG '' 88FRFEaKmzCCBVYwggQ+oAMCAQICEEA59jCxrMC4Ucmz
>>>
>>> '' SIG '' YXAhHYwwDQYJKoZIhvcNAQEFBQAwgbQxCzAJBgNVBAYT
>>>
>>> '' SIG '' AlVTMRcwFQYDVQQKEw5WZXJpU2lnbiwgSW5jLjEfMB0G
>>>
>>> '' SIG '' A1UECxMWVmVyaVNpZ24gVHJ1c3QgTmV0d29yazE7MDkG
>>>
>>> '' SIG '' A1UECxMyVGVybXMgb2YgdXNlIGF0IGh0dHBzOi8vd3d3
>>>
>>> '' SIG '' LnZlcmlzaWduLmNvbS9ycGEgKGMpMTAxLjAsBgNVBAMT
>>>
>>> '' SIG '' JVZlcmlTaWduIENsYXNzIDMgQ29kZSBTaWduaW5nIDIw
>>>
>>> '' SIG '' MTAgQ0EwHhcNMTUwMzI3MDAwMDAwWhcNMTYwMzI2MjM1
>>>
>>> '' SIG '' OTU5WjCBhzELMAkGA1UEBhMCVVMxEDAOBgNVBAgTB1Zl
>>>
>>> '' SIG '' cm1vbnQxGjAYBgNVBAcTEU1hbmNoZXN0ZXIgQ2VudGVy
>>>
>>> '' SIG '' MSQwIgYDVQQKFBtBbGdvcml0aG1pYyBJbXBsZW1lbnRh
>>>
>>> '' SIG '' dGlvbnMxJDAiBgNVBAMUG0FsZ29yaXRobWljIEltcGxl
>>>
>>> '' SIG '' bWVudGF0aW9uczCCASIwDQYJKoZIhvcNAQEBBQADggEP
>>>
>>> '' SIG '' ADCCAQoCggEBANUpyZy7NBZmLl3P+1wLci8YFyJ3eAdK
>>>
>>> '' SIG '' pomRza9BHZWN0HpukPbGQLqRWNZYMqgRsXWRwLSdFTdW
>>>
>>> '' SIG '' YuQx0XG1yZpmxP8xN6plK7pe0LuCKg3DSoPhOxUPuyF+
>>>
>>> '' SIG '' 0re+bdLkUZdseLZSM9q+TbI3XTMtv4dYGXW1EyrZ5H7j
>>>
>>> '' SIG '' 9SzMM6BcjjsdWqg6ewpSNim/0Y5z2kBfsd4KF9w8sBVW
>>>
>>> '' SIG '' wIhyo+jUgARnFN3DHBNpjt9Cypn9p6x/ECcNlQrESe3H
>>>
>>> '' SIG '' GprUffrvHX680360yzF5+qiQ2/peyvfhpdNclh8vnB1/
>>>
>>> '' SIG '' Is2arACrbhwy/GabI7rbeB87qnP9QqJXAMpWbKK79y3N
>>>
>>> '' SIG '' dvcCAwEAAaOCAY0wggGJMAkGA1UdEwQCMAAwDgYDVR0P
>>>
>>> '' SIG '' AQH/BAQDAgeAMCsGA1UdHwQkMCIwIKAeoByGGmh0dHA6
>>>
>>> '' SIG '' Ly9zZi5zeW1jYi5jb20vc2YuY3JsMGYGA1UdIARfMF0w
>>>
>>> '' SIG '' WwYLYIZIAYb4RQEHFwMwTDAjBggrBgEFBQcCARYXaHR0
>>>
>>> '' SIG '' cHM6Ly9kLnN5bWNiLmNvbS9jcHMwJQYIKwYBBQUHAgIw
>>>
>>> '' SIG '' GQwXaHR0cHM6Ly9kLnN5bWNiLmNvbS9ycGEwEwYDVR0l
>>>
>>> '' SIG '' BAwwCgYIKwYBBQUHAwMwVwYIKwYBBQUHAQEESzBJMB8G
>>>
>>> '' SIG '' CCsGAQUFBzABhhNodHRwOi8vc2Yuc3ltY2QuY29tMCYG
>>>
>>> '' SIG '' CCsGAQUFBzAChhpodHRwOi8vc2Yuc3ltY2IuY29tL3Nm
>>>
>>> '' SIG '' LmNydDAfBgNVHSMEGDAWgBTPmanqeyb0S8mOj9fwBSbv
>>>
>>> '' SIG '' 49KnnTAdBgNVHQ4EFgQUchQRcYoquAN+2ATKzxpTAuW/
>>>
>>> '' SIG '' GkQwEQYJYIZIAYb4QgEBBAQDAgQQMBYGCisGAQQBgjcC
>>>
>>> '' SIG '' ARsECDAGAQEAAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQCa
>>>
>>> '' SIG '' +lsppq/uH5TvbHZAY71rRxHA5DvZX4nQVOwjRkIJmtuM
>>>
>>> '' SIG '' Vxy4MOBBA9iKmb9i/oQeNAtW7tBb7A3eYP9uxmIW77Hw
>>>
>>> '' SIG '' ftq30AGSZyMEZo7F2yuW+V/r8w5H8ZGbzsN+S3snssZT
>>>
>>> '' SIG '' 4LKOpbGuBsq6ZFKUz65h+RfAJwaTquyznVjliehFuqfd
>>>
>>> '' SIG '' OhFCyh9l7MpeWPXaGgke7MAUAzO16PjCa4oDwlHsDfB/
>>>
>>> '' SIG '' qhV9AEDcptlvnjrgGCVMlX8SoUbHY2AfJnSESTMs/mRT
>>>
>>> '' SIG '' QSJ1nggwCnw+P7Ww9c0AOGSsMzp53o6jh8rLLU5lGGFL
>>>
>>> '' SIG '' pVF2orIIbmAGjLQvKreu0p6z0d5n6MpWMIIGCjCCBPKg
>>>
>>> '' SIG '' AwIBAgIQUgDlqiVW/BqG7ZbJ1EszxzANBgkqhkiG9w0B
>>>
>>> '' SIG '' AQUFADCByjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl
>>>
>>> '' SIG '' cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
>>>
>>> '' SIG '' cnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBW
>>>
>>> '' SIG '' ZXJpU2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVz
>>>
>>> '' SIG '' ZSBvbmx5MUUwQwYDVQQDEzxWZXJpU2lnbiBDbGFzcyAz
>>>
>>> '' SIG '' IFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
>>>
>>> '' SIG '' aG9yaXR5IC0gRzUwHhcNMTAwMjA4MDAwMDAwWhcNMjAw
>>>
>>> '' SIG '' MjA3MjM1OTU5WjCBtDELMAkGA1UEBhMCVVMxFzAVBgNV
>>>
>>> '' SIG '' BAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJp
>>>
>>> '' SIG '' U2lnbiBUcnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJt
>>>
>>> '' SIG '' cyBvZiB1c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24u
>>>
>>> '' SIG '' Y29tL3JwYSAoYykxMDEuMCwGA1UEAxMlVmVyaVNpZ24g
>>>
>>> '' SIG '' Q2xhc3MgMyBDb2RlIFNpZ25pbmcgMjAxMCBDQTCCASIw
>>>
>>> '' SIG '' DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAPUjS16l
>>>
>>> '' SIG '' 14q7MunUV/fv5Mcmfq0ZmP6onX2U9jZrENd1gTB/BGh/
>>>
>>> '' SIG '' yyt1Hs0dCIzfaZSnN6Oce4DgmeHuN01fzjsU7obU0PUn
>>>
>>> '' SIG '' NbwlCzinjGOdF6MIpauw+81qYoJM1SHaG9nx44Q7iipP
>>>
>>> '' SIG '' hVuQAU/Jp3YQfycDfL6ufn3B3fkFvBtInGnnwKQ8PEEA
>>>
>>> '' SIG '' Pt+W5cXklHHWVQHHACZKQDy1oSapDKdtgI6QJXvPvz8c
>>>
>>> '' SIG '' 6y+W+uWHd8a1VrJ6O1QwUxvfYjT/HtH0WpMoheVMF05+
>>>
>>> '' SIG '' W/2kk5l/383vpHXv7xX2R+f4GXLYLjQaprSnTH69u08M
>>>
>>> '' SIG '' PVfxMNamNo7WgHbXGS6lzX40LYkCAwEAAaOCAf4wggH6
>>>
>>> '' SIG '' MBIGA1UdEwEB/wQIMAYBAf8CAQAwcAYDVR0gBGkwZzBl
>>>
>>> '' SIG '' BgtghkgBhvhFAQcXAzBWMCgGCCsGAQUFBwIBFhxodHRw
>>>
>>> '' SIG '' czovL3d3dy52ZXJpc2lnbi5jb20vY3BzMCoGCCsGAQUF
>>>
>>> '' SIG '' BwICMB4aHGh0dHBzOi8vd3d3LnZlcmlzaWduLmNvbS9y
>>>
>>> '' SIG '' cGEwDgYDVR0PAQH/BAQDAgEGMG0GCCsGAQUFBwEMBGEw
>>>
>>> '' SIG '' X6FdoFswWTBXMFUWCWltYWdlL2dpZjAhMB8wBwYFKw4D
>>>
>>> '' SIG '' AhoEFI/l0xqGrI2Oa8PPgGrUSBgsexkuMCUWI2h0dHA6
>>>
>>> '' SIG '' Ly9sb2dvLnZlcmlzaWduLmNvbS92c2xvZ28uZ2lmMDQG
>>>
>>> '' SIG '' A1UdHwQtMCswKaAnoCWGI2h0dHA6Ly9jcmwudmVyaXNp
>>>
>>> '' SIG '' Z24uY29tL3BjYTMtZzUuY3JsMDQGCCsGAQUFBwEBBCgw
>>>
>>> '' SIG '' JjAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AudmVyaXNp
>>>
>>> '' SIG '' Z24uY29tMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEF
>>>
>>> '' SIG '' BQcDAzAoBgNVHREEITAfpB0wGzEZMBcGA1UEAxMQVmVy
>>>
>>> '' SIG '' aVNpZ25NUEtJLTItODAdBgNVHQ4EFgQUz5mp6nsm9EvJ
>>>
>>> '' SIG '' jo/X8AUm7+PSp50wHwYDVR0jBBgwFoAUf9Nlp8Ld7Lvw
>>>
>>> '' SIG '' MAnzQzn6Aq8zMTMwDQYJKoZIhvcNAQEFBQADggEBAFYi
>>>
>>> '' SIG '' 5jSkxGHLSLkBrVaoZA/ZjJHEu8wM5a16oCJ/30c4Si1s
>>>
>>> '' SIG '' 0X9xGnzscKmx8E/kDwxT+hVe/nSYSSSFgSYckRRHsExj
>>>
>>> '' SIG '' jLuhNNTGRegNhSZzA9CpjGRt3HGS5kUFYBVZUTn8WBRr
>>>
>>> '' SIG '' /tSk7XlrCAxBcuc3IgYJviPpP0SaHulhncyxkFz8PdKN
>>>
>>> '' SIG '' rEI9ZTbUtD1AKI+bEM8jJsxLIMuQH12MTDTKPNjlN9Zv
>>>
>>> '' SIG '' pSC9NOsm2a4N58Wa96G0IZEzb4boWLslfHQOWP51G2M/
>>>
>>> '' SIG '' zjF8m48blp7FU3aEW5ytkfqs7ZO6XcghU8KCU2OvEg1Q
>>>
>>> '' SIG '' hxEbPVRSloosnD2SGgiaBS7Hk6VIkdMxggUJMIIFBQIB
>>>
>>> '' SIG '' ATCByTCBtDELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZl
>>>
>>> '' SIG '' cmlTaWduLCBJbmMuMR8wHQYDVQQLExZWZXJpU2lnbiBU
>>>
>>> '' SIG '' cnVzdCBOZXR3b3JrMTswOQYDVQQLEzJUZXJtcyBvZiB1
>>>
>>> '' SIG '' c2UgYXQgaHR0cHM6Ly93d3cudmVyaXNpZ24uY29tL3Jw
>>>
>>> '' SIG '' YSAoYykxMDEuMCwGA1UEAxMlVmVyaVNpZ24gQ2xhc3Mg
>>>
>>> '' SIG '' MyBDb2RlIFNpZ25pbmcgMjAxMCBDQQIQQDn2MLGswLhR
>>>
>>> '' SIG '' ybNhcCEdjDAJBgUrDgMCGgUAoHAwEAYKKwYBBAGCNwIB
>>>
>>> '' SIG '' DDECMAAwGQYJKoZIhvcNAQkDMQwGCisGAQQBgjcCAQQw
>>>
>>> '' SIG '' HAYKKwYBBAGCNwIBCzEOMAwGCisGAQQBgjcCARUwIwYJ
>>>
>>> '' SIG '' KoZIhvcNAQkEMRYEFCBVTuUSJD0Zl8eaiIuwnoCMSRs4
>>>
>>> '' SIG '' MA0GCSqGSIb3DQEBAQUABIIBAFMkHoOHu+zPBRjU/ACP
>>>
>>> '' SIG '' 1nmbe53IZmDNMzlq4En+o0QH5BGavsBaaA5bCJEE7xG6
>>>
>>> '' SIG '' Am0iMUHN7P52iy6tlaZ335RSLSQlxy9ShjeK1Nrm7IV7
>>>
>>> '' SIG '' R3GNbwGMINfq627h7pW6V5mo6Jg95d9XDNx9pW9Tpmmo
>>>
>>> '' SIG '' 5kLVxcaIKC3K6JwG0cYGeOxOg1GwEBL0/SqcMMFx3m4C
>>>
>>> '' SIG '' B3iMQJrVEYlsGmwjqYJRtgL/MACXR3UWYW5PYYZpqr4x
>>>
>>> '' SIG '' dBEeV+ioIRWDiOSvdo1asLs8bK+hPyWslvVrQdrvMxRq
>>>
>>> '' SIG '' t4/N54QR07cRZ7pmBjtjc9lCyIEA7MrOoo9v84wGM6Vj
>>>
>>> '' SIG '' VWR8R3/eyaTngjGhggKiMIICngYJKoZIhvcNAQkGMYIC
>>>
>>> '' SIG '' jzCCAosCAQEwaDBSMQswCQYDVQQGEwJCRTEZMBcGA1UE
>>>
>>> '' SIG '' ChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMfR2xv
>>>
>>> '' SIG '' YmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMgISESEG
>>>
>>> '' SIG '' oIHTP9h65YJMwWtSCU4DMAkGBSsOAwIaBQCggf0wGAYJ
>>>
>>> '' SIG '' KoZIhvcNAQkDMQsGCSqGSIb3DQEHATAcBgkqhkiG9w0B
>>>
>>> '' SIG '' CQUxDxcNMTYwMTI4MTYyMDUzWjAjBgkqhkiG9w0BCQQx
>>>
>>> '' SIG '' FgQUi4S2g2cg9GBy+nyT3L8ejs+k4fcwgZ0GCyqGSIb3
>>>
>>> '' SIG '' DQEJEAIMMYGNMIGKMIGHMIGEBBSzYwi01M3tT8+9ZrlV
>>>
>>> '' SIG '' +uO/sSwp5jBsMFakVDBSMQswCQYDVQQGEwJCRTEZMBcG
>>>
>>> '' SIG '' A1UEChMQR2xvYmFsU2lnbiBudi1zYTEoMCYGA1UEAxMf
>>>
>>> '' SIG '' R2xvYmFsU2lnbiBUaW1lc3RhbXBpbmcgQ0EgLSBHMgIS
>>>
>>> '' SIG '' ESEGoIHTP9h65YJMwWtSCU4DMA0GCSqGSIb3DQEBAQUA
>>>
>>> '' SIG '' BIIBACCR8iH1eglTwPY+rljLnDN4OyeBKu35t6nWsH9d
>>>
>>> '' SIG '' 7jdY03nwX5g3D4ELmj36CbIBSFpTLyTIIHsB7sDta1zO
>>>
>>> '' SIG '' SAgLPsQT1yt5A7hQw3lnil+lTrd4OdANtBSQtbH44vUW
>>>
>>> '' SIG '' iZrVivTAvZV+XSpyHEkp3rDnSWS2oc+3QgPy4o1p5/tH
>>>
>>> '' SIG '' CnWZp1r85qjk6Q2pDyEiOE+ue9TdGk5qltyHUtQUMcfI
>>>
>>> '' SIG '' +P5kneBERq4NZZborwJ5u6bQ2g7QhB7wRpTMyclpTBHG
>>>
>>> '' SIG '' g3D6qfg18xc/hXd2+gsHfLBBWOgPnJYkKyt7yrP0ru33
>>>
>>> '' SIG '' zt72aJAWo+qXdQCwqBnzg6yz5O7dMKA89I48m0w=
>>>
>>> '' SIG '' End signature block
>>>
>>> ---------------------------------------------------
>>>
>>> Thanks in advance.
>>>
>>>
>>> -----Original Message-----
>>> From: Pamela Dominguez via Talk
>>>
>>> Sent: Sunday, November 10, 2019 12:33 AM
>>>
>>> To: Window-Eyes Discussion List
>>>
>>> Cc: Pamela Dominguez
>>>
>>> Subject: Re: email
>>>
>>>
>>> Really?  I can still use window eyes with windows live mail, and I
>>> haven't
>>>
>>> noticed a difference.  So I don't know what you mean about window eyes
>>>
>>> stopped tracking the cursor.  Pam.
>>>
>>>
>>> -----Original Message-----
>>> From: Rod Hutton via Talk
>>>
>>> Sent: Saturday, November 09, 2019 8:17 AM
>>>
>>> To: Window-Eyes Discussion List
>>>
>>> Cc: Rod Hutton
>>>
>>> Subject: RE: email
>>>
>>>
>>> Hi Darrell,
>>>
>>>
>>> Thunderbird worked great for me until Window-Eyes stopped tracking the
>>>
>>> cursor.
>>>
>>> This was the second email client which did this to me.
>>>
>>> The previous one was Windows Live Mail.
>>>
>>> Since I switched to Office 365 Outlook, this has not happened.
>>>
>>> I know that Office 365 costs money on an ongoing basis, but Microsoft
>>>
>>> regularly improves its accessibility, and so staying with it gives you
>>> the
>>>
>>> best opportunity to use accessible email software on Windows and the
>>> Apple
>>>
>>> Mac.
>>>
>>> I know, I say this all the time. Smile
>>>
>>>
>>> With respect,
>>>
>>>
>>> Rod
>>>
>>>
>>> Sent from Outlook for Windows
>>>
>>>
>>> -----Original Message-----
>>>
>>> From: Talk <
>>> [email protected]
>>>> On
>>>
>>> Behalf Of Darrell Bowles via Talk
>>>
>>> Sent: November 7, 2019 8:48 PM
>>>
>>> To: Window-Eyes Discussion List <
>>> [email protected]
>>>>
>>>
>>> Cc: Darrell Bowles <
>>> [email protected]
>>>>
>>>
>>> Subject: RE: email
>>>
>>>
>>> How about thunderbird?
>>>
>>>
>>>
>>> -----Original Message-----
>>>
>>> From: Talk <
>>> [email protected]
>>>> On Behalf
>>>
>>> Of tony c via Talk
>>>
>>> Sent: Thursday, November 7, 2019 8:13 PM
>>>
>>> To: Window-Eyes Discussion List <
>>> [email protected]
>>>>
>>>
>>> Cc: tony c <
>>> [email protected]
>>>>
>>>
>>> Subject: RE: email
>>>
>>>
>>> I know outlook is accessible, but I don’t need office 365. I use very
>>> little
>>>
>>> of anything except Microsoft word on a rare occasion. I just hate the
>>> mail
>>>
>>> program that’s with win 10. I do use it but it’s not totally 
>>> accessible.
>>>
>>>
>>> Sent from Mail for Windows 10
>>>
>>>
>>> From: joseph hudson via Talk
>>>
>>> Sent: Thursday, November 7, 2019 2:49 PM
>>>
>>> To: Window-Eyes Discussion List
>>>
>>> Cc: joseph hudson
>>>
>>> Subject: Re: email
>>>
>>>
>>> Hi Tony, Outlook is very accessible.
>>>
>>>
>>>
>>> joseph hudson
>>>
>>>
>>> Technology support for the blind or better known as Mack, IOS and 
>>> Windows
>>>
>>> support
>>>
>>>
>>> FaceTime, iMessage, and email
>>>
>>>
>>> [email protected]
>>>
>>>
>>> Telephone/what's up messenger
>>>
>>>
>>> 254-300-7667
>>>
>>>
>>> Emergency cell
>>>
>>>
>>> 254-813-2461
>>>
>>>
>>> Twitter
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Ftwitter.com%2Fjosephhudson89&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=jsjRGciWdVuDVRH5GINvRpgeuZ5NM%2FPTPoOhbUtys2I%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>>
>>> Facebook
>>>
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.facebook.com%2Fjoseph.hudson.9404&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=TE8%2Fenq1ezhWNwKx62BDgNVxRZS2GWbdXLKSII5yjIQ%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>>
>>>> On Nov 7, 2019, at 1:26 PM, tony c via Talk <
>>> [email protected]
>>>>
>>>
>>>> wrote:
>>>
>>>>
>>>
>>>> Hi, I need a accessible email program. I’m using the one that on 
>>>> windows
>>>
>>>> 10, it is useable but just barely. Lol Tony
>>>
>>>>
>>>
>>>> Sent from Mail for Windows 10
>>>
>>>>
>>>
>>>> _______________________________________________
>>>
>>>> Any views or opinions presented in this email are solely those of the
>>>
>>>> author and do not necessarily represent those of Ai Squared.
>>>
>>>>
>>>
>>>> For membership options, visit
>>>
>>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Fjhud7789%2540twc.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=9bjIZ689aihYWPqqvcnFmyM9xmjh4slVEoxboYiP9l0%3D&amp;reserved=0
>>>  
>>>
>>>
>>> .
>>>
>>>> For subscription options, visit
>>>
>>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>>> List archives can be found at
>>>
>>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>>
>>> Any views or opinions presented in this email are solely those of the
>>> author
>>>
>>> and do not necessarily represent those of Ai Squared.
>>>
>>>
>>> For membership options, visit
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Ftch828%2540mediacombb.net&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=0LhtRp8fslCR0vRFkpbWbo6%2F9uc0Qm8HKKv%2FIke%2FVvA%3D&amp;reserved=0
>>>  
>>>
>>>
>>> .
>>>
>>> For subscription options, visit
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=W0Im4gfNzqKxokPur1%2Bi8S4KCrie5pS%2FGUWkeKrlbCY%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>> List archives can be found at
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679719753&amp;sdata=dlNeDOctdjTtEzjqJvmGIfalKfWKK%2FF6Ow%2FdGqML2hc%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>>
>>> Any views or opinions presented in this email are solely those of the
>>> author
>>>
>>> and do not necessarily represent those of Ai Squared.
>>>
>>>
>>> For membership options, visit
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Foptions.cgi%2Ftalk-window-eyes.com%2Fdgbowles%2540msn.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=9B6HvLE%2Fa%2BPKJXT3kl1rPyzsDgP0D1%2BMTrhNHMcoWgo%3D&amp;reserved=0
>>>  
>>>
>>>
>>> .
>>>
>>> For subscription options, visit
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Flistinfo.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=kTzxo%2B7QLkTekkgvd7S6Qwvd6IwnKL3EftPFFD79tW0%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>> List archives can be found at
>>>
>>> https://nam12.safelinks.protection.outlook.com/?url=http%3A%2F%2Flists.window-eyes.com%2Fprivate.cgi%2Ftalk-window-eyes.com&amp;data=02%7C01%7C%7Cc244c73ce10444eaf5f708d763e8c44e%7C84df9e7fe9f640afb435aaaaaaaaaaaa%7C1%7C0%7C637087723679729758&amp;sdata=0UCfjeZuxNAyWL0x7RavHnbKGRVM%2BTCjrwOkmlnmMps%3D&amp;reserved=0
>>>  
>>>
>>>
>>>
>>> _______________________________________________
>>>
>>> Any views or opinions presented in this email are solely those of the
>>> author
>>>
>>> and do not necessarily represent those of Ai Squared.
>>>
>>>
>>> For membership options, visit
>>>
>>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/rod_hutton%40hotmail.com
>>>  
>>>
>>>
>>> .
>>>
>>> For subscription options, visit
>>>
>>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>>>
>>> List archives can be found at
>>>
>>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>>>
>>> _______________________________________________
>>>
>>> Any views or opinions presented in this email are solely those of the
>>> author
>>>
>>> and do not necessarily represent those of Ai Squared.
>>>
>>>
>>> For membership options, visit
>>>
>>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/pammygirl99%40gmail.com
>>>  
>>>
>>>
>>> .
>>>
>>> For subscription options, visit
>>>
>>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>>>
>>> List archives can be found at
>>>
>>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>>>
>>>
>>> _______________________________________________
>>>
>>> Any views or opinions presented in this email are solely those of the
>>> author
>>>
>>> and do not necessarily represent those of Ai Squared.
>>>
>>>
>>> For membership options, visit
>>>
>>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/peter.chinpk%40gmail.com
>>>  
>>>
>>>
>>> .
>>>
>>> For subscription options, visit
>>>
>>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>>>
>>> List archives can be found at
>>> _______________________________________________
>>> Any views or opinions presented in this email are solely those of the
>>> author and do not necessarily represent those of Ai Squared.
>>>
>>> For membership options, visit
>>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/trailerdavid%40hotmail.com.
>>>  
>>>
>>> For subscription options, visit
>>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>>> List archives can be found at
>>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>> _______________________________________________
>> Any views or opinions presented in this email are solely those of the 
>> author
>> and do not necessarily represent those of Ai Squared.
>>
>> For membership options, visit
>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/peter.chinpk%40gmail.com.
>>  
>>
>> For subscription options, visit
>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>> List archives can be found at
>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>>
>> _______________________________________________
>> Any views or opinions presented in this email are solely those of the 
>> author and do not necessarily represent those of Ai Squared.
>>
>> For membership options, visit 
>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/rod_hutton%40hotmail.com.
>> For subscription options, visit 
>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>> List archives can be found at 
>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>> _______________________________________________
>> Any views or opinions presented in this email are solely those of the 
>> author and do not necessarily represent those of Ai Squared.
>>
>> For membership options, visit 
>> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/tom.kingston%40charter.net.
>> For subscription options, visit 
>> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
>> List archives can be found at 
>> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
>>
> _______________________________________________
> Any views or opinions presented in this email are solely those of the 
> author and do not necessarily represent those of Ai Squared.
>
> For membership options, visit 
> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/peter.chinpk%40gmail.com.
> For subscription options, visit 
> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
> List archives can be found at 
> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
> _______________________________________________
> Any views or opinions presented in this email are solely those of the 
> author and do not necessarily represent those of Ai Squared.
>
> For membership options, visit 
> http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/trailerdavid%40hotmail.com.
> For subscription options, visit 
> http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
> List archives can be found at 
> http://lists.window-eyes.com/private.cgi/talk-window-eyes.com
_______________________________________________
Any views or opinions presented in this email are solely those of the author 
and do not necessarily represent those of Ai Squared.

For membership options, visit 
http://lists.window-eyes.com/options.cgi/talk-window-eyes.com/archive%40mail-archive.com.
For subscription options, visit 
http://lists.window-eyes.com/listinfo.cgi/talk-window-eyes.com
List archives can be found at 
http://lists.window-eyes.com/private.cgi/talk-window-eyes.com

Reply via email to