X-MimeOLE: Produced By Microsoft Exchange V6.5
Received: by onstor-exch02.onstor.net 
	id <01C76A82.3A2BCD76@onstor-exch02.onstor.net>; Mon, 19 Mar 2007 16:56:35 -0700
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----_=_NextPart_001_01C76A82.3A2BCD76"
Content-class: urn:content-classes:message
Subject: RE: Cougar FC/SCSI design
Date: Mon, 19 Mar 2007 16:56:35 -0700
Message-ID: <BB375AF679D4A34E9CA8DFA650E2B04E02E40340@onstor-exch02.onstor.net>
In-Reply-To: <BB375AF679D4A34E9CA8DFA650E2B04E02E40335@onstor-exch02.onstor.net>
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
Thread-Topic: Cougar FC/SCSI design
Thread-Index: AcdqfzeKr0qlecjORgOqBlHxk+5NcgAALSGwAABHAsAAAEeuYA==
From: "Bill Nadzam" <bill.nadzam@onstor.com>
To: "Maxim Kozlovsky" <maxim.kozlovsky@onstor.com>,
	"dl-Cougar" <dl-Cougar@onstor.com>

This is a multi-part message in MIME format.

------_=_NextPart_001_01C76A82.3A2BCD76
Content-Type: text/plain;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

All sounds good Max.
Still RMC is needed for the link to SSC from the SCSI layer.

________________________________

From: Maxim Kozlovsky=20
Sent: Monday, March 19, 2007 4:49 PM
To: Maxim Kozlovsky; Bill Nadzam; dl-Cougar
Subject: RE: Cougar FC/SCSI design



=20

The last sentence should read "move from this state to EVM_Q_STATE_PEND
as soon as eee_forwardPacket() is called".

=20

________________________________

From: Maxim Kozlovsky=20
Sent: Monday, March 19, 2007 4:46 PM
To: Bill Nadzam; dl-Cougar
Subject: RE: Cougar FC/SCSI design

=20

There is no need to use RMC to move the data between evm-server and fc.
eee_forwardPacket() works just fine as long as you specify correct
destination address, there are no transfer reliability issues as this is
the same memory space.=20

=20

The necessary change is to modify the handling of
EVM_Q_STATE_WAIT_TRANSMIT_COMPLETE state,  the evm queue element will
have to move to this state as soon as eee_forwardPacket() is called.=20

=20

________________________________

From: Bill Nadzam=20
Sent: Monday, March 19, 2007 4:35 PM
To: dl-Cougar
Subject: Cougar FC/SCSI design

=20

Preface:

=20

    This design spec is in free form for now. Will move into a formal
document ASAP.

=20

Information:

*	The Cougar Hardware platform forces the FCNIM to share CPU Cores
with FPNIM. One task which I am not sure how to do, is to create a
thread on the FPNIM. This "Thread" will be responsible for a single FC
Port, or QLogic FC Core. Remember the QLogic parts being used are Dual
core. Each core is a totally separate hardware part from the other. In
the simplest form Cougar will have four of these threads running. One
for each FC port or core. In theory these threads should be able to run
on any CPU core. In essence a simple approach to MP the operations now
done. Starting the thread will lock the resources associated with that
FC port.=20
*	The FCNIM does not seem to have any form of RMC? Is this true?
Its compiled in, but James K. tells me its not usable. RMC, or reliable
message system is used in the FCNIM today, and must be there for SSC
<to> FC communications.=20
*	Since the FCNIM requires the use of RMC. There will be a
requirement to get RMC onto the FPNIM for use by the FC thread. With RMC
is in place, communications from EVM-SERVER can be done using RMC
protocol. Using RMC to send data service requests to the FC thread.
Although this is not the best use of the our flat memory system, this
will give the ability to read/write through the machine.=20
*	The nice part about using this system, is nothing else need
change. All of the eDesc flags can be maintained. Only the transfer path
changes, and in this case, there is no real transfer. Just a simple move
of the data via RMC. The key is to get RMC up and usable with evm-server
<to/from> scsi. SCSI command responses will be via the accept session
created by the open.=20
*	Inside sm-evm-srvr/evm-msg.c routine evm_sendScsiMsg( ); also
evm_sendSbmScsiWriteMsg( ); can be changed to transport via RMC open
session.  It might be best to replace this file with a Cougar only
version of evm-msg-cougar.c.....=20

Better method:

*	Change the file system requests. Now all requests are either one
or eight kilobytes at a time. Each request is formed by a separate
descriptor. This needs to change. The FC hardware can run at a higher
efficiency when larger block transfers can take place. This is not to
say that all read/write operations be done in a single command. This is
not possible either. The better approach would be to request something
close to thirty two kilobytes at a time when needed. Maybe having some
knobs to test with. A push off system is also good, where the first
request for sequential data starts out as a set of commands.=20
*	The best use of memory for reading to or writing from is
contiguous space, This is not practical, so if needed the use of eight
kilobyte chunks can still be used. A list of data pointers, and data
lengths would be an excellent system, as that can be copied directly
into the QLogic control blocks.=20

		The Qlogic IOCB "Input Output Control Block" use a
simple structure for data pointers.

		    {

		        uint64    pointerToDataBuffer;

		        uint32    Data_Length;

		    };

This is a working document:

*	First cut at getting data through to the FC.
	March 19, 2007=20


------_=_NextPart_001_01C76A82.3A2BCD76
Content-Type: text/html;
	charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns=3D"http://www.w3.org/TR/REC-html40" xmlns:v =3D=20
"urn:schemas-microsoft-com:vml" xmlns:o =3D=20
"urn:schemas-microsoft-com:office:office" xmlns:w =3D=20
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dus-ascii">
<META content=3D"MSHTML 6.00.2800.1555" name=3DGENERATOR><!--[if !mso]>
<STYLE>v\:* {
	BEHAVIOR: url(#default#VML)
}
o\:* {
	BEHAVIOR: url(#default#VML)
}
w\:* {
	BEHAVIOR: url(#default#VML)
}
.shape {
	BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
	font-family: Tahoma;
}
@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
	FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
	COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
	COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
	COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
	COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
	COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal
}
SPAN.EmailStyle18 {
	COLOR: navy; FONT-FAMILY: Arial; mso-style-type: personal-reply
}
DIV.Section1 {
	page: Section1
}
OL {
	MARGIN-BOTTOM: 0in
}
UL {
	MARGIN-BOTTOM: 0in
}
</STYLE>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=3DEN-US vLink=3Dpurple link=3Dblue>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D289035623-19032007><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>All sounds good Max.</FONT></SPAN></DIV>
<DIV dir=3Dltr align=3Dleft><SPAN class=3D289035623-19032007><FONT =
face=3DArial=20
color=3D#0000ff size=3D2>Still RMC is needed for the link to SSC from =
the SCSI=20
layer.</FONT></SPAN></DIV><BR>
<DIV class=3DOutlookMessageHeader lang=3Den-us dir=3Dltr align=3Dleft>
<HR tabIndex=3D-1>
<FONT face=3DTahoma size=3D2><B>From:</B> Maxim Kozlovsky =
<BR><B>Sent:</B> Monday,=20
March 19, 2007 4:49 PM<BR><B>To:</B> Maxim Kozlovsky; Bill Nadzam;=20
dl-Cougar<BR><B>Subject:</B> RE: Cougar FC/SCSI =
design<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=3DSection1>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: =
Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">The last =
sentence=20
should read &#8220;move from this state to EVM_Q_STATE_PEND as soon as=20
eee_forwardPacket() is called&#8221;.<o:p></o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: =
Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=3DMsoNormal style=3D"TEXT-ALIGN: center" align=3Dcenter><FONT =

face=3D"Times New Roman" size=3D3><SPAN style=3D"FONT-SIZE: 12pt">
<HR tabIndex=3D-1 align=3Dcenter width=3D"100%" SIZE=3D2>
</SPAN></FONT></DIV>
<P class=3DMsoNormal><B><FONT face=3DTahoma size=3D2><SPAN=20
style=3D"FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: =
Tahoma">From:</SPAN></FONT></B><FONT=20
face=3DTahoma size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Tahoma"> Maxim=20
Kozlovsky <BR><B><SPAN style=3D"FONT-WEIGHT: bold">Sent:</SPAN></B> =
Monday, March=20
19, 2007 4:46 PM<BR><B><SPAN style=3D"FONT-WEIGHT: bold">To:</SPAN></B> =
Bill=20
Nadzam; dl-Cougar<BR><B><SPAN style=3D"FONT-WEIGHT: =
bold">Subject:</SPAN></B> RE:=20
Cougar FC/SCSI design</SPAN></FONT><o:p></o:p></P></DIV>
<P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">There is no =
need to use=20
RMC to move the data between evm-server and fc. eee_forwardPacket() =
works just=20
fine as long as you specify correct destination address, there are no =
transfer=20
reliability issues as this is the same memory space.=20
<o:p></o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: =
Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: Arial">The necessary =
change is=20
to modify the handling of EVM_Q_STATE_WAIT_TRANSMIT_COMPLETE state, =
&nbsp;the=20
evm queue element will have to move to this state as soon as =
eee_forwardPacket()=20
is called. <o:p></o:p></SPAN></FONT></P>
<P class=3DMsoNormal><FONT face=3DArial color=3Dnavy size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; COLOR: navy; FONT-FAMILY: =
Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<DIV class=3DMsoNormal style=3D"TEXT-ALIGN: center" align=3Dcenter><FONT =

face=3D"Times New Roman" size=3D3><SPAN style=3D"FONT-SIZE: 12pt">
<HR tabIndex=3D-1 align=3Dcenter width=3D"100%" SIZE=3D2>
</SPAN></FONT></DIV>
<P class=3DMsoNormal><B><FONT face=3DTahoma size=3D2><SPAN=20
style=3D"FONT-WEIGHT: bold; FONT-SIZE: 10pt; FONT-FAMILY: =
Tahoma">From:</SPAN></FONT></B><FONT=20
face=3DTahoma size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Tahoma"> Bill=20
Nadzam <BR><B><SPAN style=3D"FONT-WEIGHT: bold">Sent:</SPAN></B> Monday, =
March 19,=20
2007 4:35 PM<BR><B><SPAN style=3D"FONT-WEIGHT: bold">To:</SPAN></B>=20
dl-Cougar<BR><B><SPAN style=3D"FONT-WEIGHT: bold">Subject:</SPAN></B> =
Cougar=20
FC/SCSI design</SPAN></FONT><o:p></o:p></P></DIV>
<P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
style=3D"FONT-SIZE: 12pt"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<DIV>
<P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Preface:</SPAN></FONT><o:p></o:p></P></DIV>
<DIV>
<P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
style=3D"FONT-SIZE: 12pt">&nbsp;<o:p></o:p></SPAN></FONT></P></DIV>
<DIV>
<P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp; This =
design spec=20
is in free form for now. Will move into a formal document=20
ASAP.</SPAN></FONT><o:p></o:p></P></DIV>
<DIV>
<P class=3DMsoNormal><FONT face=3D"Times New Roman" size=3D3><SPAN=20
style=3D"FONT-SIZE: 12pt">&nbsp;<o:p></o:p></SPAN></FONT></P></DIV>
<DIV>
<P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Information:</SPAN></FONT><o:p></o:p></P></DIV>
<UL type=3Ddisc>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l5 level1 lfo3"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">The Cougar=20
  Hardware platform forces the FCNIM to share CPU Cores with FPNIM. One =
task=20
  which I am not sure how to do, is to create a thread on the FPNIM. =
This=20
  "Thread" will be responsible for a single FC Port, or QLogic FC Core. =
Remember=20
  the QLogic parts being used are Dual core. Each core is a totally =
separate=20
  hardware part from the other. In the simplest form Cougar will have =
four of=20
  these threads running. One for each FC port or core. In theory these =
threads=20
  should be able to run on any CPU core. In essence a simple approach to =
MP the=20
  operations now done. Starting the thread will lock the resources =
associated=20
  with that FC port.</SPAN></FONT><o:p></o:p>=20
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l5 level1 lfo3"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">The FCNIM=20
  does not seem to have any form of RMC? Is this true? Its compiled in, =
but=20
  James K.&nbsp;tells me its not usable. RMC, or reliable message system =
is used=20
  in the FCNIM today, and must be there for SSC &lt;to&gt; FC =
communications.=20
  </SPAN></FONT><o:p></o:p>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l5 level1 lfo3"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Since the=20
  FCNIM requires the use of RMC. There will be a requirement to get RMC =
onto the=20
  FPNIM for use by the FC thread. With RMC is in place, communications =
from=20
  EVM-SERVER can be done using RMC protocol. Using RMC to send data =
service=20
  requests to the FC thread. Although this is not the best use of the =
our flat=20
  memory system, this will&nbsp;give the ability to read/write through =
the=20
  machine. </SPAN></FONT><o:p></o:p>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l5 level1 lfo3"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">The nice=20
  part about using this system, is nothing else need change. All of the =
eDesc=20
  flags can be maintained. Only the transfer path changes, and in this =
case,=20
  there is no real transfer. Just a simple move of the data via RMC. The =
key is=20
  to get RMC up and usable with evm-server &lt;to/from&gt; scsi. SCSI =
command=20
  responses will be via the accept session created by the=20
  open.</SPAN></FONT><o:p></o:p>=20
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l5 level1 lfo3"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Inside=20
  sm-evm-srvr/evm-msg.c routine evm_sendScsiMsg( ); also=20
  evm_sendSbmScsiWriteMsg( ); can be changed to transport via RMC open=20
  session.&nbsp; It might be best to replace this file with a Cougar =
only=20
  version of evm-msg-cougar.c.....</SPAN></FONT><o:p></o:p> </LI></UL>
<DIV>
<P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">Better=20
method:</SPAN></FONT><o:p></o:p></P></DIV>
<UL type=3Ddisc>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l3 level1 lfo6"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">Change the=20
  file system requests. Now all requests are either one or eight =
kilobytes at a=20
  time. Each request is formed by a separate descriptor. This needs to =
change.=20
  The FC hardware can run at a higher efficiency when larger block =
transfers can=20
  take place. This is not to say that all read/write operations be done =
in a=20
  single command. This is not possible either. The better approach would =
be to=20
  request something close to thirty two kilobytes at a time when needed. =
Maybe=20
  having some knobs to test with. A push off system is also good, where =
the=20
  first request for sequential data starts out as a set of commands.=20
  </SPAN></FONT><o:p></o:p>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l3 level1 lfo6"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">The best=20
  use of memory for reading to or writing from is contiguous space, This =
is not=20
  practical, so if needed the use of eight kilobyte chunks can still be =
used. A=20
  list of data pointers, and data lengths would be an excellent system, =
as that=20
  can be copied directly into the QLogic control=20
  blocks.</SPAN></FONT><o:p></o:p> </LI></UL>
<BLOCKQUOTE style=3D"MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt; MARGIN-RIGHT: =
0in">
  <BLOCKQUOTE style=3D"MARGIN-TOP: 5pt; MARGIN-BOTTOM: 5pt; =
MARGIN-RIGHT: 0in">
    <DIV>
    <P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">The Qlogic IOCB "Input =
Output=20
    Control Block" use a simple structure for data=20
    pointers.</SPAN></FONT><o:p></o:p></P></DIV>
    <DIV>
    <P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;=20
    {</SPAN></FONT><o:p></o:p></P></DIV>
    <DIV>
    <P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
    uint64&nbsp;&nbsp;&nbsp;=20
    pointerToDataBuffer;</SPAN></FONT><o:p></o:p></P></DIV>
    <DIV>
    <P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=20
    uint32&nbsp;&nbsp;&nbsp; =
Data_Length;</SPAN></FONT><o:p></o:p></P></DIV>
    <DIV>
    <P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
    style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">&nbsp;&nbsp;&nbsp;=20
    };</SPAN></FONT><o:p></o:p></P></DIV></BLOCKQUOTE></BLOCKQUOTE>
<DIV>
<P class=3DMsoNormal><FONT face=3DArial size=3D2><SPAN=20
style=3D"FONT-SIZE: 10pt; FONT-FAMILY: Arial">This is a working=20
document:</SPAN></FONT><o:p></o:p></P></DIV>
<UL type=3Ddisc>
  <LI class=3DMsoNormal=20
  style=3D"mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; =
mso-list: l2 level1 lfo9"><FONT=20
  face=3DArial size=3D2><SPAN style=3D"FONT-SIZE: 10pt; FONT-FAMILY: =
Arial">First cut=20
  at getting data through to the FC.<BR>March 19, =
2007</SPAN></FONT><o:p></o:p>=20
  </LI></UL></DIV></BODY></HTML>

------_=_NextPart_001_01C76A82.3A2BCD76--
