Showing posts with label example. Show all posts
Showing posts with label example. Show all posts

Sunday, March 25, 2012

(local) Alias does not function in an virtual sql server?

When I try to connect to (local) server (in Query Analyzer for example) on an
virtual sql server, the application tries to connect to the active node
instead, resulting in an error message (SQL Server does not exist or access
denied).
Is it possible to configure this alias to connect to the virtual sql server?
Furthermore I recognized, that DTS-Packages with (local)-Data Sources still
work on the virtual server. On a second, similar installed server, this
results in the same error message.
Any thoughts?
Martin Saalmann
There is an Environment Variable you can use in order to run the SQLDIAG
utility on the active node. I'm not sure if it uses the (local) or the "."
designation, but it would be worth a shot.
Type set _CLUSTER_NETWORK_NAME_=SQL NETWORK NAME, and then press ENTER.
NOTE: The SQL NETWORK NAME is the SQL Server virtual name for a named
instance. This is only the first part of the name. For example, if the
instance name is VSQL2\INST2, the SQL NETWORK NAME is VSQL2.
INF: How To Run SQLDIAG On a Clustered/Virtual SQL Server
http://support.microsoft.com/kb/233332/EN-US/
Sincerely,
Anthony Thomas

"Martin Saalmann" <MartinSaalmann@.discussions.microsoft.com> wrote in
message news:8CD4BBE4-7548-4BD5-BDF1-7B437D2A102E@.microsoft.com...
> When I try to connect to (local) server (in Query Analyzer for example) on
an
> virtual sql server, the application tries to connect to the active node
> instead, resulting in an error message (SQL Server does not exist or
access
> denied).
> Is it possible to configure this alias to connect to the virtual sql
server?
> Furthermore I recognized, that DTS-Packages with (local)-Data Sources
still
> work on the virtual server. On a second, similar installed server, this
> results in the same error message.
> Any thoughts?
> Martin Saalmann
>
|||Martin,
you could create an Alias on each Node in the Client Network Utility with
name (local) and then the real name to point at the SQL Virtual Name
Andy.
"Martin Saalmann" <MartinSaalmann@.discussions.microsoft.com> wrote in
message news:8CD4BBE4-7548-4BD5-BDF1-7B437D2A102E@.microsoft.com...
> When I try to connect to (local) server (in Query Analyzer for example) on
> an
> virtual sql server, the application tries to connect to the active node
> instead, resulting in an error message (SQL Server does not exist or
> access
> denied).
> Is it possible to configure this alias to connect to the virtual sql
> server?
> Furthermore I recognized, that DTS-Packages with (local)-Data Sources
> still
> work on the virtual server. On a second, similar installed server, this
> results in the same error message.
> Any thoughts?
> Martin Saalmann
>

Thursday, March 22, 2012

'(-)' in list of index columns which I get after sp_helpindexes

Hi,
Does anybody know what '(-)' means in the list of index
columns when I execute sp_helpindexes for the table.
For example:
exec sp_helpindexes <table name> returns:
column1(-),column2,column3.
I saw this several times, and it gets disapeared when I
rebuild index.
Thanks,
OJDescending.
--
Adam Machanic
SQL Server MVP
http://www.sqljunkies.com/weblog/amachanic
--
"OJ" <anonymous@.discussions.microsoft.com> wrote in message
news:866d01c4d0d3$b19ed5b0$a601280a@.phx.gbl...
> Hi,
> Does anybody know what '(-)' means in the list of index
> columns when I execute sp_helpindexes for the table.
> For example:
> exec sp_helpindexes <table name> returns:
> column1(-),column2,column3.
> I saw this several times, and it gets disapeared when I
> rebuild index.
> Thanks,
> OJ|||Hi OJ
It means the index was build with the index keys sorted in descending order.
If you rebuild your indexes, and don't explicitly state you want to build
them in descending order, they will be built in ascending order and the (-)
will go away.
--
HTH
--
Kalen Delaney
SQL Server MVP
www.SolidQualityLearning.com
"OJ" <anonymous@.discussions.microsoft.com> wrote in message
news:866d01c4d0d3$b19ed5b0$a601280a@.phx.gbl...
> Hi,
> Does anybody know what '(-)' means in the list of index
> columns when I execute sp_helpindexes for the table.
> For example:
> exec sp_helpindexes <table name> returns:
> column1(-),column2,column3.
> I saw this several times, and it gets disapeared when I
> rebuild index.
> Thanks,
> OJ

Tuesday, March 20, 2012

"where" statement negates join

it seems when i use a udf within a where clause my left join statement is ignored. for example...

Code Snippet

select errorsandstatus.typeid, errorandstatustypes.name, errorsandstatus.value, errorsandstatus.description, count(cartonerrorandstatus.cartonentrynumber) as [count]

from errorsandstatus

join errorandstatustypes on errorsandstatus.typeid = errorandstatustypes.typeid

left outer join cartonerrorandstatus on errorsandstatus.typeid = cartonerrorandstatus.errorandstatustypeid and errorsandstatus.value=cartonerrorandstatus.errorandstatusvalue

left outer join cartonhistory on cartonerrorandstatus.cartonentrynumber = cartonhistory.entrynumber

where errorandstatustypes.availforrpt=1

group by errorsandstatus.typeid, errorandstatustypes.name, errorsandstatus.value, errorsandstatus.description

order by errorsandstatus.typeid, errorsandstatus.value

returns

id name value desc count 1 Induction 0 Inducted 140 1 Induction 1 Too Close 0 1 Induction 2 Too Small 1 1 Induction 3 Too Big 0 2 Tracking 0 Tracked 141 2 Tracking 4 Missing 0 3 Destinize 1 Valid Barcode 3 3 Destinize 2 InValid Barcode 0

now when i use the exact same query only this time include 3 udf's within the where clause the left join seems to be ignored

Code Snippet

select errorsandstatus.typeid, errorandstatustypes.name, errorsandstatus.value, errorsandstatus.description, count(cartonerrorandstatus.cartonentrynumber) as [count]

from errorsandstatus

join errorandstatustypes on errorsandstatus.typeid = errorandstatustypes.typeid

left outer join cartonerrorandstatus on errorsandstatus.typeid=cartonerrorandstatus.errorandstatustypeid and
errorsandstatus.value=cartonerrorandstatus.errorandstatusvalue

left outer join cartonhistory on cartonerrorandstatus.cartonentrynumber = cartonhistory.entrynumber

where errorandstatustypes.availforrpt=1 and dbo.udf_IsDateInRange(CartonHistory.Completed, @.DateRangeStart, @.DateRangeEnd) = 1 AND dbo.udf_IsDayInShift(CartonHistory.Completed, @.ShiftDaysOfWeek) = 1 AND dbo.udf_IsTimeInShift(CartonHistory.Completed, @.ShiftTimeStart, @.ShiftTimeEnd) = 1

group by errorsandstatus.typeid, errorandstatustypes.name, errorsandstatus.value, errorsandstatus.description

order by errorsandstatus.typeid, errorsandstatus.value

returns

id name value desc count 1 Induction 0 Inducted 26 2 Tracking 0 Tracked 26 3 Destinize 1 Valid Barcode 3 3 Destinize 4 No Read 4 4 Divert 1 Validated 6 4 Divert 3 Lane Full 1 5 WtStatus 1 Valid Weight 2 7 Barcode 1 Valid Read 3 7 Barcode 2 No Read 4

why does it ignore the left join when i evaluate the udf's in the where clause?

thanks!

Try to move parts of your WHERE statement into ON clause of desired left join|||

amazing...moved it into the second join and presto! thank you!

select errorsandstatus.typeid, errorandstatustypes.[name], errorsandstatus.value, errorsandstatus.[description],
count(cartonerrorandstatus.cartonentrynumber) as [count]
from errorsandstatus
join errorandstatustypes on errorsandstatus.typeid = errorandstatustypes.typeid
left outer join cartonerrorandstatus on errorsandstatus.typeid=cartonerrorandstatus.errorandstatustypeid and
errorsandstatus.value=cartonerrorandstatus.errorandstatusvalue
left outer join cartonhistory on cartonerrorandstatus.cartonentrynumber = cartonhistory.entrynumber
and dbo.udf_IsDateInRange(CartonHistory.Completed, @.DateRangeStart, @.DateRangeEnd) = 1
AND dbo.udf_IsDayInShift(CartonHistory.Completed, @.ShiftDaysOfWeek) = 1
AND dbo.udf_IsTimeInShift(CartonHistory.Completed, @.ShiftTimeStart, @.ShiftTimeEnd) = 1
where errorandstatustypes.availforrpt=1
group by errorsandstatus.typeid, errorandstatustypes.[name], errorsandstatus.value, errorsandstatus.[description]
order by errorsandstatus.typeid, errorsandstatus.value

|||The key to remember is that anytime you have a field from the right table in the WHERE clause, you effectively convert into an 'equi-JOIN'. But if what you are really attempting to do is filter the right table, do so in the JOIN conditions.|||thanks for the clarification arnie!sql

Sunday, February 19, 2012

<SelectParameters> & checked items from CheckBoxList

Column1 in table 1 has a range from 1 to 5 (int)

A CheckboxList displays these 5 items. When checked (for example 1 and 4) I want a gridview with sqldatasource=sqlProducts to display the records where column1 values 1 or 4.

When I use the code below I only get the records where column1 values 1...

<asp:SQLDataSource id="sqlProducts" Runat="Server" SelectCommand="Select * From Table1 where Column1 IN (@.CBLchecked_items)" ConnectionString="<%$ ConnectionStrings:pubs %>">
<SelectParameters>
<asp:ControlParameter Name="CBLchecked_items" ControlID="CBL" propertyname="SelectedValue" type="String" />
</SelectParameters>
</asp:SQLDataSource>

Hi~

SelectedValue returns the first selected value .

You can iterate to get all selected values:

For i = 0To Check1.Items.Count - 1If Check1.Items(i).SelectedThen' List the selected items s = s & Check1.Items(i).Text s = s &","End If Next
Hope it helps.|||

I got the problem to get the checked item in CheckBoxList here is the code :

foreach (ListItem itemin cblRoles.Items){if (item.Selected)// here the item.Selected always = false {// do something } }
 

Thursday, February 16, 2012

<= and comparing strings

Hi,

I have a strange problem I can't solve. I have a log table where a have for example a timecreated column where I store dates in the format 0704212112538707

What I want to to is to search for log posts that are in between two dates.

I have this SQL query: select * from log where timecreated >= '070421' and timecreated <= '070422'. With this question I only get hits from the date 070421. I would like to get both 070421 and 070422. I get no difference if I use < or <=.

How would I solve this

Best /M

Well, I would suggest you convert that data into a datetime value and you will get a lot more value. But, the problem you are having is that 'A' comes before 'AA' in a sort order. So, 070422 is before any value in your table that has a time portion. So use < 070423 and you will get the values you need:

drop table test

go

create table test

(

timecreated char(16)

)

go

insert into test

select '0704212112538707'

union all

select '0704223112538707'

union all

select '0704212112338707'

union all

select '0704242112338707'

go

select *

from test

where timeCreated >= '070421'

and timeCreated < '070423'

timecreated
-
0704212112538707
0704223112538707
0704212112338707

'0704242112338707' was not returned.

|||You cannot compare strings in this manner and get teh results you are wanting. You will need to convert the field to a datetime for comparisons.
|||

What if you sum 1 day to the final timecreated?. I mean, of you want the '070421' to '070422' you can probe with the '070422' + 1 day -> '070421' to '070423'

Monday, February 13, 2012

& in FTS

I'm having a problem when "&" is in the search term.
For example, I have an article in my database that has "flat monitors &
Toshiba magic". When a user does a FTS using that search term (or, here's
some SQL: SELECT * FROM FREETEXTTABLE(forum_pacs,*,'"Flat Monitors & Toshiba
magic"') ORDER BY Rank Desc), an article with that exact match text does not
come up first. In fact, it is about 40 or 50 on a list of several hundred,
most with just a match on "monitor" or "Toshiba".
Anyone know why it doesn't come up first? Is there something special about
"&"?
Cheers,
Owen
The and is ignore in FreeText. You will get better results in Contains.
Hilary Cotter
Looking for a SQL Server replication book?
http://www.nwsu.com/0974973602.html
Looking for a FAQ on Indexing Services/SQL FTS
http://www.indexserverfaq.com
"Owen Mortensen" <ojm.NO_SPAM@.acm.org> wrote in message
news:eq8pq0ozFHA.3660@.TK2MSFTNGP15.phx.gbl...
> I'm having a problem when "&" is in the search term.
> For example, I have an article in my database that has "flat monitors &
> Toshiba magic". When a user does a FTS using that search term (or, here's
> some SQL: SELECT * FROM FREETEXTTABLE(forum_pacs,*,'"Flat Monitors &
> Toshiba magic"') ORDER BY Rank Desc), an article with that exact match
> text does not come up first. In fact, it is about 40 or 50 on a list of
> several hundred, most with just a match on "monitor" or "Toshiba".
> Anyone know why it doesn't come up first? Is there something special about
> "&"?
> Cheers,
> Owen
>
|||Owen,
First of all, could you post the full output of -- SELECT @.@.version -- as
this is very helpful info when troubleshooting SQL FTS issues.
Secondly, I tested this using similar text using SQL Server 2000 on a
Win2003 server (see attached sql script file: FTS_punctuation.sql) and while
I do see more results with FREETEXT than CONTAINS, my testing on Win2003
demonstrates that CONTAINS will ignore punctuation characters between search
words in a search phrase (multiple words within double quotes), for example:
-- freetext
-- 12 rows, original query
SELECT * FROM FTSPunc where FREETEXT(*,'"Flat Monitors & Toshiba magic"')
-- 12 rows, with * (asterisk) or | (bar)
SELECT * FROM FTSPunc where FREETEXT(*,'"Flat Monitors | Toshiba magic"')
-- 12 rows, with OR
SELECT * FROM FTSPunc where FREETEXT(*,'"Flat Monitors or Toshiba magic"')
-- contains
-- 5 rows with contains, punctuation is ignored
SELECT * FROM FTSPunc where CONTAINS(*,'"Flat Monitors & Toshiba magic"')
-- rows with contains and any punctuation is ignored
SELECT * FROM FTSPunc where CONTAINS(*,'"Flat Monitors # Toshiba magic"')
-- 3 rows with contains, OR is ignored, OR in noise.enu
SELECT * FROM FTSPunc where CONTAINS(*,'"Flat Monitors or Toshiba magic"')
-- 9 rows, with and without "*" in between search words
SELECT * FROM FTSPunc where CONTAINS(*,'"Toshiba * magic"')
You may see different results, if you have SQL Server 2000 installed on
Win2K due to different OS-supplied word breakers.
Thanks,
John
SQL Full Text Search Blog
http://spaces.msn.com/members/jtkane/
"Owen Mortensen" <ojm.NO_SPAM@.acm.org> wrote in message
news:eq8pq0ozFHA.3660@.TK2MSFTNGP15.phx.gbl...
> I'm having a problem when "&" is in the search term.
> For example, I have an article in my database that has "flat monitors &
> Toshiba magic". When a user does a FTS using that search term (or, here's
> some SQL: SELECT * FROM FREETEXTTABLE(forum_pacs,*,'"Flat Monitors &
> Toshiba
> magic"') ORDER BY Rank Desc), an article with that exact match text does
> not
> come up first. In fact, it is about 40 or 50 on a list of several
> hundred,
> most with just a match on "monitor" or "Toshiba".
> Anyone know why it doesn't come up first? Is there something special about
> "&"?
> Cheers,
> Owen
>
begin 666 FTS_punctuation.sql
M#0HM+0E&:6QE;F%M93H@.1E137W!U;F-T=6%T:6]N+G-Q; T*+2TM"5!U<G!O
M<V4Z(%1O('1E<W0@.=&AE($94($EN9&5X:6YG(&]F('1E>'0@.=VET:" B<'5N
M8V%T:6]N(B!U<VEN9R!54U]%;F=L:7-H("AD969A=6QT*2X-"BTM"45N=FER
M;VUE;G0Z(%-13"!344P@.,C P,"!O;B!7:6XR,# S(%-E<G9E<B!34#$-"BTM
M"6UO9&EF:65D.B X.C0Y(%!-(#$P+S$Q+S(P,#4-"@.T*=7-E('!U8G,-"F=O
M#0IS96QE8W0@.0$!V97)S:6]N"2TM(%-13"!397)V97(@.(#(P,# @.+2 X+C P
M+C4S-" N+BX@.;VX@.16YT97)P<FES92!%9&ET:6]N(&]N(%=I;F1O=W,@.3E0@.
M-2XR("A"=6EL9" S-S$X.B I( T*<V5L96-T($! ;&%N9W5A9V4)+2T@.=7-?
M96YG;&ES: T*<V5L96-T($! <V5R=F5R;F%M90DM+2!*5$M.151%10T*9V\-
M"G-P7V9U;&QT97AT7W-E<G9I8V4@.)V-L96%N7W5P)PT*9V\-"G-P7V9U;&QT
M97AT7V1A=&%B87-E("=E;F%B;&4G("TM('5S92!/3DQ9($]N8V4@.(2$A#0IG
M;PT*:68@.97AI<W1S("AS96QE8W0@.*B!F<F]M('-Y<V]B:F5C=',@.=VAE<F4@.
M:60@./2!O8FIE8W1?:60H)T944U!U;F,G*2D-"B @.9')O<"!T86)L92!&5%-0
M=6YC#0IG;PT*0U)%051%(%1!0DQ%($944U!U;F,@.* T*("!+97E#;VP):6YT
M($E$14Y42519("@.Q+#$I($Y/5"!.54Q,( T*(" @.($-/3E-44D%)3E0@.1E13
M4'5N8U])1%@.@.4%))34%262!+15D@.0TQ54U1%4D5$+ T*("!497AT0V]L"71E
M>'0@.3E5,3"P-"B @.5F%R8VAA<D-O; EV87)C:&%R*#(U*2!.54Q,+ T*("!#
M:&%R0V]L"6-H87(H,S I($Y53$PL( T*("!4:6UE4W1A;7!#;VP)=&EM97-T
M86UP($Y53$P@.#0HI($].(%M04DE-05)970T*9V\-"@.T*=')U;F-A=&4@.=&%B
M;&4@.1E134'5N8PT*#0HM+2!);G-E<G0@.9&%T82XN+@.T*24Y315)4($944U!U
M;F,@.=F%L=65S*"=&;&%T($UO;FET;W)S("8@.5&]S:&EB82!M86=I8R<L("=%
M>'!O<G1E9"!F<F]M("!-87-T97)#;V]K)RP@.)TYE;W!O;&ET86X@.0VAI8VME
M;B<L($Y53$PI#0I)3E-%4E0@.1E134'5N8R!V86QU97,H)T9L870@.36]N:71O
M<G,@.?"!4;W-H:6)A(&UA9VEC)RP@.)T5X<&]R=&5D(&9R;VT@.($UA<W1E<D-O
M;VLG+" G3F5O<&]L:71A;B!#:&EC:V5N)RP@.3E5,3"D-"DE.4T525"!&5%-0
M=6YC('9A;'5E<R@.G1FQA="!-;VYI=&]R<R!A;F0@.5&]S:&EB82!M86=I8R<L
M("=%>'!O<G1E9"!F<F]M("!-87-T97)#;V]K)RP@.)TYE;W!O;&ET86X@.0VAI
M8VME;B<L($Y53$PI#0I)3E-%4E0@.1E134'5N8R!V86QU97,H)T9L870@.36]N
M:71O<G,@.;W(@.5&]S:&EB82!M86=I8R<L("=%>'!O<G1E9"!F<F]M("!-87-T
M97)#;V]K)RP@.)TYE;W!O;&ET86X@.0VAI8VME;B<L($Y53$PI#0I)3E-%4E0@.
M1E134'5N8R!V86QU97,H)T9L870@.36]N:71O<G,@.(R!4;W-H:6)A(&UA9VEC
M)RP@.)T5X<&]R=&5D(&9R;VT@.($UA<W1E<D-O;VLG+" G3F5O<&]L:71A;B!#
M:&EC:V5N)RP@.3E5,3"D-"DE.4T525"!&5%-0=6YC('9A;'5E<R@.G1FQA="!-
M;VYI=&]R<R E(%1O<VAI8F$@.;6%G:6,G+" G17AP;W)T960@.9G)O;2 @.36%S
M=&5R0V]O:R<L("=.96]P;VQI=&%N($-H:6-K96XG+"!.54Q,*0T*24Y315)4
M($944U!U;F,@.=F%L=65S*"=&;&%T($UO;FET;W)S("H@.5&]S:&EB82!M86=I
M8R<L("=%>'!O<G1E9"!F<F]M("!-87-T97)#;V]K)RP@.)TYE;W!O;&ET86X@.
M0VAI8VME;B<L($Y53$PI#0I)3E-%4E0@.1E134'5N8R!V86QU97,H)T9L870@.
M36]N:71O<G,@.<&QA8V5H;VQD97(@.5&]S:&EB82!M86=I8R<L("=%>'!O<G1E
M9"!F<F]M("!-87-T97)#;V]K)RP@.)TYE;W!O;&ET86X@.0VAI8VME;B<L($Y5
M3$PI#0I)3E-%4E0@.1E134'5N8R!V86QU97,H)V9L870@.;6]N:71O<G,G+" G
M8VQA<W-I8R!R96-I<&5S)RP@.)TYE;W!O;&ET86X@.0F5E9B<L($Y53$PI#0I)
M3E-%4E0@.1E134'5N8R!V86QU97,H)W1H:7,@.:7,@.=&AE('1H:7)D( ')O=R<L
M("=&4D]:14X@.3D5!4$],251!3B!43U)412<L("=.96%P;VQI=&%N(%1O<G1E
M)RP@.3E5,3"D-"DE.4T525"!&5%-0=6YC('9A;'5E<R@.G5&]S:&EB82!M86=I
M8R<L("=&4D]:14X@.3D5!4$],251!3B!43U)412<L("=.96%P;VQI=&%N(%1O
M<G1E)RP@.3E5,3"D-"DE.4T525"!&5%-0=6YC('9A;'5E<R@.G;6%G:6,G+" G
M1E)/6D5.($Y%05!/3$E404X@.5$]25$4G+" G3F5A<&]L:71A;B!4;W)T92<L
M($Y53$PI#0I)3E-%4E0@.1E134'5N8R!V86QU97,H)U1O<VAI8F$G+" G1E)/
M6D5.($Y%05!/3$E404X@.5$]25$4G+" G3F5A<&]L:71A;B!4;W)T92<L($Y5
M3$PI#0H-"F=O#0H-"@.T*+2T@.0W)E871E($94($EN9&5X#0IE>&5C('-P7V9U
M;&QT97AT7V-A=&%L;V<@.)T944U!C0V%T86QO9R<L)V-R96%T92<-"F5X96,@.
M<W!?9G5L;'1E>'1?=&%B;&4@.)T944U!U;F,G+"=C<F5A=&4G+ "=&5%-08T-A
M=&%L;V<G+"=&5%-0=6YC7TE$6"<-"F5X96,@.<W!?9G5L;'1E>'1?8V]L=6UN
M("=&5%-0=6YC)RPG5F%R8VAA<D-O;"<L)V%D9"<-"F5X96,@.<W!?9G5L;'1E
M>'1?8V]L=6UN("=&5%-0=6YC)RPG5&5X=$-O;"<L)V%D9"<@.+2T@.+# @.+2T@.
M;F5U=')A;"!W;W)D8G)E86ME<@.T*97AE8R!S<%]F=6QL=&5X=%]C;VQU;6X@.
M)T944U!U;F,G+"=#:&%R0V]L)RPG861D)R M+2 L," M+2!N975T<F%L('=O
M<F1B<F5A:V5R#0IE>&5C('-P7V9U;&QT97AT7W1A8FQE("=&5%-0=6YC)RP@.
M)V%C=&EV871E)PT*9V\-"@.T*+2T@.4W1A<G0@.1E0@.26YD97AI;F<N+BX-"F5X
M96,@.<W!?9G5L;'1E>'1?8V%T86QO9R G1E134&-#871A;&]G)RPG<W1A<G1?
M9G5L;"<-"F=O#0HM+2!786ET(&9O<B!&5"!);F1E>&EN9R!T;R!C;VUP;& 5T
M92!A;F0@.8VAE8VL@.3E0O5VEN,DL@.07!P;&EC871I;VX@.;&]G(&9O<B!S=6-C
M97-S+V5R<F]R<RXN#0H-"BTM(%1E<W0@.1E13+BXN#0IS96QE8W0@.5&5X=$-O
M;"!F<F]M($944U!U;F,-"B\J#0I497AT0V]L(" @.(" @.(" @.(" @.(" @.(" @.
M(" @.(" @.(" @.(" @.(" @.( T*+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM+2TM
M+2TM+2TM+2TM+2TM+2 -"D9L870@.36]N:71O<G,@.)B!4;W-H:6)A(&UA9VEC
M#0I&;&%T($UO;FET;W)S('P@.5&]S:&EB82!M86=I8PT*1FQA="!-;VYI=&]R
M<R!A;F0@.5&]S:&EB82!M86=I8PT*1FQA="!-;VYI=&]R<R!O<B!4;W-H:6)A
M(&UA9VEC#0I&;&%T($UO;FET;W)S(",@.5&]S:&EB82!M86=I8PT*1FQA="!-
M;VYI=&]R<R E(%1O<VAI8F$@.;6%G:6,-"D9L870@.36]N:71O<G,@.*B!4;W-H
M:6)A(&UA9VEC#0I&;&%T($UO;FET;W)S('!L86-E:&]L9&5R(%1O<VAI8F$@.
M;6%G:6,-"F9L870@.;6]N:71O<G,-"G1H:7,@.:7,@.=&AE('1H:7)D(')O=PT*
M5&]S:&EB82!M86=I8PT*;6%G:6,-"E1O<VAI8F$-"@.T**#$S(')O=RAS*2!A
M9F9E8W1E9"D-"BHO#0H-"BTM(&9R965T97AT( T*4T5,14-4("H@.1E)/32!&
M5%-0=6YC('=H97)E($92145415A4*"HL)R)&;&%T($UO;FET;W)S( "8@.5&]S
M:&EB82!M86=I8R(G*2 M+2 Q,B!R;W=S+"!O<F=I86YL('%U97)Y#0H-"E-%
M3$5#5" J($923TT@.1E134'5N8R!W:&5R92!&4D5%5$585"@.J+"<B1FQA= "!-
M;VYI=&]R<R!\(%1O<VAI8F$@.;6%G:6,B)RD@.+2T@.(#$R(')O=W,L('=I= &@.@.
M*B H87-T<FEC:RD@.;W(@.?" H8F%R*0T*#0I314Q%0U0@.*B!&4D]-($944U!U
M;F,@.=VAE<F4@.1E)%151%6%0H*BPG(D9L870@.36]N:71O<G,@.;W(@.5&]S:&EB
M82!M86=I8R(G*2 M+2 Q,B!R;W=S+"!W:71H($]2#0H-"BTM(&-O;G1A:6YS
M#0I314Q%0U0@.*B!&4D]-($944U!U;F,@.=VAE<F4@.0T].5$%)3E,H*BPG(D9L
M870@.36]N:71O<G,@.)B!4;W-H:6)A(&UA9VEC(B<I("TM(#4@.<F]W<R!W:71H
M(&-O;G1A:6YS+"!P=6YC='5A=&EO;B!I<R!I9VYO<F5D#0H-"E-%3$5#5" J
M($923TT@.1E134'5N8R!W:&5R92!#3TY404E.4R@.J+"<B1FQA= "!-;VYI=&]R
M<R C(%1O<VAI8F$@.;6%G:6,B)RD@.+2T@.("!R;W=S('=I=&@.@.8V]N=&%I;G,@.
M86YD(&%N>2!P=6YC='5A=&EO;B!I<R!I9VYO<F5D#0H-"E-%3$5#5" J($92
M3TT@.1E134'5N8R!W:&5R92!#3TY404E.4R@.J+"<B1FQA="!-;VYI=&]R<R!O
M<B!4;W-H:6)A(&UA9VEC(B<I("TM(#,@.<F]W<R!W:71H(&-O;G1A:6YS+"!/
M4B!I<R!I9VYO<F5D+"!/4B!I;B!N;VES92YE;G4-"@.T*4T5,14-4("H@.1E)/
M32!&5%-0=6YC('=H97)E($-/3E1!24Y3*"HL)R)4;W-H:6)A("H@.;6%G:6,B
M)RD@.+2T@..2!R;W=S+"!W:71H(&%N9"!W:71H;W5T("(J(B!I; B!B971W965N
M('-E87)C:"!W;W)D<PT*#0H-"@.T*+2T@.4F5M;W9E($94($EN9&5X97,@.)B!#
M871A;&]G("8@.=&%B;&4N+@.T*97AE8R!S<%]F=6QL=&5X=%]T86)L92 G1E13
M4'5N8R<L)V1R;W G#0IE>&5C('-P7V9U;&QT97AT7V-A=&%L;V<@.)T944U!C
M0V%T86QO9R<L)V1R;W G#0IG;PT*9')O<"!T86)L92!&5%-0=6YC#0IG;PT*
`
end