MZ@ !L!This program cannot be run in DOS mode. $j׶ ㄥ  !섄 鄟  ꄷ Rich PEdyK"  Pv@@p`,T  g`l .text `.datap @.pdata gh@@.rsrc,T `V (@@.reloc ~@BȬج 0HRnzȭܭ&6TjzƮ֮ $:L^l̯ȼ.@N,6BRZhv±ֱ$:Ldp̲,:L\rƳֳ.FXlĴִ 4F\xֵΰ&<Zjv̶ض.>NbķԷ*:J`r".@Lbz6F`|  = j('ey% HB <#  (t& L  6C m Թ*6@Phz̺غ  *2@Lʹpʻ޻P<|rjTHZȸ޸2&hTK pF0нxfʿ  ndҾ 80@p`yK$bad allocation" 0P"tH%s %012I64u bytes"@PSSDIAG%d.CAB"DLXTemp creation failed. Last Error=%d. Bufsize=%dTM2TMP" x`"P" 0P"8" Pinternal\"(%s%s.STOP##_INTERNAL.CAB<TU0S0S"0"$TEMPbackup\"x SSrvrSeverity = %d SSrvrMsgState = %d SSrvrLine = %d ODBCRowNumber = %d szSqlState = %s szErrorMsg = %s pfNativeError = %d "@@TABLOCKBCPerr_%s.ERR"@"$4@"x@" H"@" 4`noyes;DATABASE=;SERVER=PWD=;Trusted_Connection=no;UID=;Trusted_Connection=yes;DRIVER={SQL Server};APP=SQLDIAGγγγγγγvwx|" reg_queryreg_savetail_filetype_filecopy_filevb_scripttsql_commandutilitytsql_script"(0 onlyonshutdown"\d(" " "Lt " "T| " "\ " "d " "X " X<0S0S"<d "   " " 0"t "0 "0"H0"0"0`0"Pا0`Ppvwx|"P%s=%sCounter%d"dt " X<@00S0S" "8P " "h.*"(08InstanceNo Value"+pXMaxPerfmonLogSize256PerfmonPollingIntervalPerfmonShutdownUtilityNameShutdownUtilityStartupUtilityNameStartupUtilityShutdownScriptNameShutdownScriptStartupScriptNameStartupScript``startup,`%s%dCustomDiagnosticEventLogsAfterEventLogsBeforeEventLogsShutdownEventLogsStartupEventLogs@latch=%d, @fast=%d BlockingPollingIntervalBlockerFastBlockerLatchBlockingScriptSQLDiagAfterSQLDiagBeforeSQLDiagShutdownSQLDiagStartupSQLDiag@MaxFileSize=%d ProfilerPollingInterval5MaxTraceFileSize-1ProfilerEventsProfiler0UsernameWindowsAuth1(Default)CaseNumberSSVer8SetupVer" 8Report ServerReportServer$%sRSAnalysis ServerMSOLAP$%sOLAPSQLServerMSSQL$%sSQL"Xh MSSQLServer" "("@%s (%d-bit)(Default) (%d-bit)"@H "xH\nPDH.DLLTypesSupportedEventMessageFileSYSTEM\CurrentControlSet\Services\EventLog\Application\%s%s %s %s%s "PXH%02d/%02d/%02d %02d:%02d:%02d.%02d"P%s. Function result: %d. Message: %s"0(HeapSetInformation\KERNEL32.DLL" %s\%s"(" ("4<(%s%s%s%s%s"l Xtempdb.dbo.sp_sqldiag%02d%s_%s.OUTsp_sqldiag"H sa"0@"H%s\%s\%s\%s\%sHKEY_LOCAL_MACHINE\%s\%s\%s\%s\%sMicrosoft SQL Server%s\%s\%s\%s%s\%s\%sHKEY_LOCAL_MACHINE\%s\%s\%s\%sWow6432NodeHKEY_LOCAL_MACHINE\%s\%s\%sSOFTWAREMicrosoft" set > "%s%s##envvars.txt"dir > "%s%s##files.txt"%output_path%MSDiagProcs.sql" @%s%s%s"TH.50" $@\\.\PIPE\diag\%s\%s\%sبPPPPPγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγγDumpOptions%s\SQLDIAG_%04d%02d%02d_%02d%02d%02d.MDMPDumpToCurrentFolderMiniDumpWriteDumpdbghelp.dll"@#hCurrentVersion%s\MSSQLServer\currentversion/Ccompact.exe /C /S /I *.*>nul 2>&1"( X@\StringFileInfo\040904E4\LegalCopyright\StringFileInfo\040904E4\FileVersion"X0pH" ,@" P%c"$4@SQLDiag_Schema.XSDSD_Detailed.XMLSD_General.XMLSQLDiag.XML"l| "8"8 <=0S0S<>U0S0S <>0S0S<00S0S"(0 " XH\"L |H-dmaster -l30 -w2048 -H%s %s -S%s-dmaster -l30 -H%s %s -S%s-U%s -P%s-E"%s"" D%s"%s" %s/C(@for /L %i IN (1,1,32) DO @ -i"%s") >"%s%s" 2>&1 -i"%s" -o"%s%s".SQL%s%s_%s_%s.OUT"Px -Q"%s") >"%s%s" 2>&1 -Q"%s" -o"%s%s"_"`/Cdel "%s%s_%s_%s_%s*.TRC" /Q >"%s%s%s_%s_%s_DEL.txt" 2>&1sp_trace" X`EXIT(SELECT CASE IS_SRVROLEMEMBER('sysadmin') WHEN 1 THEN 0 ELSE 1 END)sysadminchkSELECT 1accesschk" x9%s%s_%s_%s%sCheckPoints"%08d"="%s" SQL Server)("h%s%s%s_%s_%s_%s_%s%s%s_%s_%s_%s_%sShutdownStartup"d<:x): "" L PSS/C"\t("`Software\Microsoft\MSSQLServerSoftware\Microsoft\Microsoft SQL Server\Software\Microsoft\Microsoft SQL Server\Instance Names\"H\\" "HSetServiceStatus"`x@##console.log"X"0" " " "@P "p "x.CSV%output_pwd%%output_user%%output_drop_tables%%elog_polling_interval%%output_database%%output_server_instance%"  " = %s. Instance: %sSetup%s. Instance: (Default)"  @SQLDataRootSQLPath"(" (H%appname%%outputfoldermode%%cfgfile%%comspec%%endtime%%starttime%%casenumber%%genericmode%%compressionmode%%forceremotemode%%quietmode%%internal_output_name%%ssbatchrunner%OSQL.EXESQLCMD.EXE%sspath%uptime_pid%sspid%%ssregroot%%output_name%%authmode%%ssver%%sspwd%%ssuser%%server_instance%%olapinstance%%rsinstance%%instance%%startup_path%%server%%d"@"P" t /C"-XInstalledInstancesMSSQLSERVER"9p"HInstance Names"   PP `@ `P~  Pp0p@p 0@Pp0@PpY@P"2$"P" X"Hh"  \x"H @جPP7777p4`@7" ! "" "hbytes sent##ftp.out"\#7#/C%s -s:"%s" %s >"%s".FTP%s %s cd %s bin put %s %s%s bye incoming/sql%ftpserverpath%sqldiag@microsoft.com%ftppwd%anonymous%ftpuser%ftp.exe"%%H" && "&&("&$|'Run_EXEC tempdb.dbo.sp_code_runner%02d @StartCmd=N'EXEC tempdb.dbo.%s%02d ''ON'', @Events=''%s'', @AppName=''%s''',@IterationTime='%d:%d:00',@StopCmd=N'EXEC sp_trace%02d ''OFF''',@OutputDir='%s',@OutputFileMask='%s_%s_%s_%s*.trc', @NumFiles=16,@StopCondition='1=0'EXEC tempdb.dbo.%s%02d 'ON', @Events='%s',@AppName='%s',@FileName='%s%s_%s_%s_%s',%s@maxfilesize=-1sp_trace%d0.sqlStop_exist_sp_traceEXEC tempdb.dbo.sp_trace%02d 'OFF',@AppName='%s',@TraceName='%s'LOG\tsqltrace"((h)RUN_sp_blocker_pss%02dEXEC tempdb.dbo.sp_code_runner%02d @StartCmd=N'EXEC tempdb.dbo.sp_blocker_pss%02d %s, @appname=''%s''',@IterationTime='00:%d:%d',@StopCondition='1=0'EXEC tempdb.dbo.%s%02d 'ON', @Events='137',@AppName='%s',@TraceName='tsqlblktrace',@FileName='%s%s_%s_%s_%s',%ssp_trace_blkStop_exist_sp_blk_tracetsqlblktracechk_block_procBlockerexec tempdb.dbo.sp_set_blk_threshold%02d %d"*'d+?!!!= ==" ,-%s_%s.TEM" -.%s_%s_%sEXEC tempdb.dbo.sp_code_runner%02d @StartCmd=N'%s',@IterationTime='00:%d:%d',@StopCondition='1=0''''". /@" //(" 00@%" 1$D2Invalid paramsvialpcnptcp@psszip.EXEDIAG$STOP_ABORTSTOPSTART"t3|3 "33 "304 "86X60"6*L7cscript .HIVREGEDIT /a /s "%output_name%.REG" "tail >"%output_name%.TXT"type copy /y %s: %s"880" 99 "D9 \9PMaxDumpsStack overflow -- aborting"9 :pSQLDiag log file%s%s%d%s.BLGSQL:%s!counter_log%perfmondsn%";/d<8/Cmove /Y "%s%s_%s_%s_%s*.TRC" "%s" >"%s%s%s_%s_%s_MOVE.txt" 2>&1RUN_sp_sqldiag_cleanuptempdb.dbo.sp_sqldiag_cleanup%02d '%s'Stop"@>> >, Func:ExportVirtualSQLServerRegistryCheckPoints, Instance name:%enablelistener%.XML%forceav%"b$@?4C/Cdel "%s%s" /Q%ftpserver%*.*%perfmonmaxsecondary%%perfmonmaxprimary%.LOG%s_%05d_diagtemp.xmlConfigurationREG:.INISQLDIAGGlobal\SQLDIAG_%sStartupParameters" -R/RDiagnostic monitoring tool for SQL Server\command.com\cmd.exe-?/?"HPP"QDQ QPException occurred. Exiting. Msg=%s. Error initializing dump critical section "QR "pRHRR "RR "LSTS@"SS("SS0"\TdT8"TT("UU0"8U@UHVirtualServerName"UU(\v\a\b\t\r"V V("VV8"W WhIA64AMD64PROCESSOR_ARCHITECTURESystem\CurrentControlSet\Control\Session Manager\Environment"X X@$:"4YDY("YY"HZPZ Error code for StartServiceCtrlDispatcher: %u."|Z Z(HKEY_USERSHKUHKEY_CLASSES_ROOTHKCRHKEY_CURRENT_CONFIGHKCCHKEY_CURRENT_USERHKCUHKEY_LOCAL_MACHINEHKLM"\\P/CIF NOT EXIST "%s\." md "%s""@\H\@"\\]"]]X"] ^X"^^p"^^0NtQueryInformationProcessntdll.dll"P_`_0Process32NextProcess32FirstCreateToolhelp32SnapshotKernel32.DLL"__8"`` "H`X`0"``ChangeServiceConfig2WADVAPI32.DLL"``(CreateJobObjectW"LaTa(TerminateJobObjectAssignProcessToJobObject"aaSQLDiagEx"xb bh"$c LcX"c;dXSeBackupPrivilege"tf f`" g ,g8" ggX%s %s\%s"h hP"di ix"iih"`j xj" j /'ozw3)6{O>`3)6{O>`"l l 3)6{O>`X<@0S0S"mm "4m`"`mhm("mm("mm(FحPPD@=vwx|@*"hnn"nn "@oo"pq("4qDq("pqq("qq("qq("$r4r(3)6{O>`"drlr "rr r0UseInlineSchemajو_@2Q"ds$,t//dsConfig/Collection//Machines//Machine/@name"pu+v10.5010.5//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance/@ssver//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance/@name"w=x0\*name//dsConfig/Collection/Machines/Machine[@name="%s"]/MachineCollectors/PerfmonCollector[@enabled="true"]/PerfmonCounters/PerfmonObject/PerfmonCounter[@enabled="true"]" zz"{*`|%s=%s,value"=}e`pollingintervalwaittasknamegroupnamecmdshutdownpointtype" l//CustomTask[@enabled="true"]"_H//dsConfig/Collection/Machines/Machine[@name="%s"]//PerfmonCollector/@maxfilesize//dsConfig/Collection/Machines/Machine[@name="%s"]//PerfmonCollector/@pollinginterval//dsConfig/Collection/Machines/Machine[@name="%s"]//PerfmonCollector/@enabledApplication,Security,System//dsConfig/Collection/Machines/Machine[@name="%s"]//EventlogCollector[@enabled="true"]/Eventlogs//EventlogType//dsConfig/Collection/Machines/Machine[@name="%s"]//EventlogCollector[@enabled="true"]/Eventlogs//EventlogType[@enabled="true"]//dsConfig/Collection/Machines/Machine[@name="%s"]//EventlogCollector/@shutdown//dsConfig/Collection/Machines/Machine[@name="%s"]//EventlogCollector/@startup//dsConfig/Collection/Machines/Machine[@name="%s"]//EventlogCollector/@enabled//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//CustomTask[@enabled="true"]//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/@filecount//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/@maxfilesize//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/Parameters/Parameter//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/@fast//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/@latch//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector[@enabled="true"]/@pollinginterval//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//BlockingCollector/@enabled After: //dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector[@enabled="true"]/Parameters/Parameter Before: @MaxFileSize=%d, @FileCount=%d //dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector[@enabled="true"]/@filecount//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector[@enabled="true"]/@maxfilesize//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector[@enabled="true"]/@pollingintervalid//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector[@enabled="true"]/Events//Event[@enabled="true"]//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//ProfilerCollector/@enabled//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//SqldiagCollector[@enabled="true"]/@shutdown//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//SqldiagCollector[@enabled="true"]/@startup//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//SqldiagCollector/@enabled//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]//@usertrue//dsConfig/Collection/Machines/Machine[@name="%s"]/Instances/Instance[@name="%s"]/@windowsauth//dsConfig/Collection/@casenumber//dsConfig/Collection/@setupver"HErrCode:0x%X,Reason:"%s", FilePos:%d,Line:%d,LinePos:%d,SrcText:"%s""LT(UnknownFailure AuditSuccess AuditInformationWarningErrorSuccess" @"  Hexec [%s]..sp_tableoption N'%s', 'text in row', '4000'exec [%s]..sp_executesql N'if object_id(''%s'') IS NULL create table [%s] (SubmitTime datetime, EventType nvarchar(30), Category int, Id int, Source nvarchar(60), Computer nvarchar(30), StringData ntext)'if object_id('%s..%s') IS NOT NULL drop table [%s]..[%s]MS_SQLDIAG_%s_Log" \f " ""," X<p0S0S"  " XSYSTEM\CurrentControlSet\Services\EventLog\%s\%s" 4, The description for this event could not be found. Strings: " ̕L%s,%s,%d,%d,%s,%s,%s 1900-01-01 00:00:00%04d-%02d-%02d %02d:%02d:%02d"\4DeleteNoRemoveForceRemoveValBDMS Ƞخpp"kЙ@`= ߏTe++P0 $1@Qdy        ???? RSDS WN2@isqldiag.pdb8Ph@8x@Ц 0@X@ا00@@X@@Pب(P@pxPЩp@xPPpxH `x@HȪ@ȪH `x@H0ȫ0@ȫH `ЩЩ@H0H(ج0((@X@ح00@X@Pخ(P@xP@xH\$Hl$Ht$WATAUAVAWHp3MIH;LH1qqN(H;HuwGL$L$L$H0H$L`Lp FLt$XMHՉD$PH$L|$HHD$@H$HHD$8H$HD$0H$HD$(H$HD$ HHC$NLt$`L|$XH$LHD$PH$MHD$HH$HHD$@H$3HD$8H$HD$0H$HD$(Ld$ r3HH;HHA$UF LfA& Hf( N;w9~ w9~w H H H  $ N H NH H9u ǀH H$3L\$pI[0Ik8Is@IA_A^A]A\_LI[IkIsWATAUH@HEILHMHQ$H$f;t;HA L$H ICE3IkHS!HC HKEHD$8H$f|$0HD$(LIHl$ HKLA`A9rBHA A pH`AAxAJhA9r)HC L$HSHD$(E3IHl$ 3H\$`Hl$hHt$pH@A]A\_H\$Ht$WH0HIHu3XHA HD$(LL$ MDHQH |t؅t)H HC d$@DxLD$@HDIhHD$ (H\$HHt$PH0_H\$Hl$Ht$WH0HHu3VHIHt HW #H/Ht2HUXHG LMPLE@HD$(HT$ HMh"H͋U #HWH\$@Hl$HHt$PH0_HHXHhHpHx ATH@I8IHE3I;HuDgG3'H$L$LD$xL$HxXHhHpHD$pHSHC H$HKhHC0H$LC(HC8H$LK@HCHH$LSPHD$8H|$0HT$(D+ D, D-D.D/D0LT$ . A;u HS /ǃ !CABD D fǃ fD fD fD D D D HfD$ Dc`H\$PHl$XHt$`H|$hH@A\H\$UVWATAUAVAWHH!H3H$H$ L$(E3D-D.$L$DD$h<HHH|$xMLt$`MDE;tGM33׃u HEXAvDppIS HT$XH$A;tDH}?LCICuH XD9w8HwjHD#A;tDu*MHH?H͋#A;tA;DuspH}`Dt$Tu [ SI;LHD$p< SI;HD$`  SI;LHD$@ D 3ILt$`D I3D 3Ipp E3D HHxDpHChL+ D IL/D'D"D!D E81t+3H, IIHH+A IHH+Dd E80t+3H0IIHH+A IHH+Dd ME3ҋDd$XDt$PT$xHCX DLK@LC(Ll$8HD$0HCHD$(HCPH$E+HD$ Ex|$hu d$lL-E3t$lE80uH.AHHH+IHI;tA:t HH+uI;uH+HD1II+IHI;tA:t HH+uI;uH+D1H/D87t6I3IH0HH++IH/HH++DHHA$nHMADc`$IA;HH/HAH+IHHtt HH+uHuH+ID1H0LL+HHtAt HH+uHuH+L|$@D1DE+3HIHHH+D+IHH+D+A9u ǃfAgLL$LfAGChE3AHMhE3D!|$L3Ll$ SHHEXH|$pD!xD HMhd$HLL$HHLl$ S0; LgA$;A<$HHMhd$HLL$HDLl$ S0;FD AB}`DB 7D|$HE39L$HszH|$pE3GD$THD$@fpA$H| ĨDh HKhH׉HCXLK8D Ll$(HD$ BHCXHKhHA;HD$@DfpHD$`E+f`D+HxEE3fD?HA HσDHL$`Ll$(HCXLK8D HHKhHD$ HCXLK8HHKhELl$(HD$ {fE)<$HEXH|$pLK8D H$HLl$(HD$ @HEXAH$HBHEXH|$pLK8H$HLl$(HD$ XHEXH$HLK8E$Ll$(HD$ %L$PA$DD$XAMȉL$PыT$xD|$HNvHMXD$HqAHEXE3D9pjf L|$@HCXLK8D HILl$(HD$ A;,HxLL$LE33Dt$LLl$ SHgHEXMHHDpA; D E3fH* Hf#Ll$ f;AS f#f;t$ f   ;D$Tv f#f+ffff HCXLK8H HxALl$(HD$ (HSXLK8H3H* Ll$(HT$ H* HH+DHx<f  ff#f;LK8fǃ HEXH H$ALl$(HD$ HUXLK8H3H* Ll$(HT$ H* HH+DH$:MHH>HEXD9pLMHLE8H}`HϺLl$(HD$ yA;H$HAHpH$AD9t$ltaDL$XHT$xLD$PHLl$ A;HA;v9uHA$6fD$ pLd$pLt$`|$huf$ IS IS IS 1HCX`pL|$@Lt$`Mu3S Mu3S 3H$H3sH$HA_A^A]A\_^]HEX HCXD!pRHKXD$LAqHEX ,HKXD$LAq^HCXD!pHDppDHHXHhHp WH0H3HH HxIL@LHDGxV0;u3MHKXtD$@AAHl$(HL$ HxH* LA$;@NjH\$HHl$PHt$XH0_HHXHhVWATH0Hl$x` H3ILH DBHHhSHd$hLL$hAHHDHl$ S0~M=FH3ƇHс|u"!D$hB!LL$hE3HHl$ SHHL$pD$hA3AH\$PHl$XH0A\_^H\$ UVWATAUAVAWHHH3H$pH$HE3HD$pLD$`HAHT$XDL$HH+HL$pEoIHHtt II+uHuI+D9IHL$pD89tII+uHtLIIHH+H+HDpt,HH+HtDEtDI+II+uHuI+D8D!|$@LL$@HL$pAHt$ S(HHuvHKXD$@ADiIS Ht(d$@HT$@LHS@d$@HT$@HL$pLSP3H$pH3H$HĀA_A^A]A\_^]Ë SHLHD$PtD L+ E3IE8$Dt$Dt8fD 3H, IIHI+AIHI+Dt Dt$DL/E8Et3f 3H0IIHATIHDt Dt$DAD;hx ;QCh A;ȉ <;4D9 vf & DD$@LL$@f ( H f fA$HHt$ f( S8$tHKXD$@AA5 d$@LL$@f H  AHHt$  S8uH 3AD fAtGELL$@fD;H HfDGd$@Ht$ ES8fD;*fE+uDt$DL/ tDLKXLC8IHHt$ ALKXLC8H, HHt$ ~ tDLKXLC8IHHt$ ULKXLC8H0HHt$ 1AEE3LD0HM+HI;tC -A:tA$IHuI;uIH, LE,$L+HI;tA.A:t HHuI;uHD)HLL$@E33Dl$@Ht$ SHuPHKXD$@LL$@IxHHt$ AAD Dl$@S89 |D HLL$@IHt$ Dl$@S0; twHCXLt$`Ll$XDd$HHHD$8H\$0MMHHt$(Dd$ ]HCXHSpMHD$8H\$0MHHt$(Dd$ +d$@3LL$@DBHHt$ SHDd$@LL$@E33Hǃ MSCFHt$ SHLL$@H AHHt$ S8_d$@HT$@LHS@uHKXD$@AAHCXLKPLC@AHKhHt$(AHD$ Q zHCXLK@LC(Ht$8HD$0HCHD$(HCPHKhAHD$ >S`ANLEAՃuHCX`@) f f f Iǃ !CABfǃ S HCX D!@@cHl$Ht$LD$WATAUAVAWH0H$LMLWHHuH$!p@3L$$L$E33ILd$ WHu*HW L$$AACAC뢃$Db$L$DHILd$ W8;A.D$A$M̹T$ptEAL$HILd$ W0uHW Hl$`Ht$hH0A_A^A]A\_HW L$AcA)HW H$$AAH\$Ht$WH0d$PLH3HIHD$`MHLL$PHDIHD$ AHHD3HI;tD$PFF3H\$@Ht$HH0_HHXHhHpHx ATH@HHIMHHu!GG3L$L$HcPHHHpH$HxXL`Hh HD$pHt$8HC(HD$xH|$0HC0H$LCHHC@$HK`H$HD$(LD$ LLK8fǃuHH?#HH\$PHl$XHt$`H|$hH@A\@SUVWATHPHH3H$@H|$3AH= ALHs@L3HLE33fofwSPu8HKXaAH$@H3YHPA\_^][HLK0DHD$(HCXHK`HHD$ tHLK0HK`HD$(HCXDIHD$ t3LI[IkIsWATAUAVAWH@L$H$D$4HAMIC(HE3LiPIkMKMCISHICfE{E{($HLu;HKX$AA3L\$@I[0Ik8Is@IA_A^A]A\_A;tfL$>@$DD+H$<D$Hl$ L$IHS(A;hD;D$Aȍi;,;$D9uCH$H A;,DL33AՃt@$DDHl$ D+HL$I>HCXDx@S(A;D;D$Aȍi;rT;wPD9uLIHA;t^DHl$ D+HL$IvHCX@Dx HKX$AAH$LID$S8H$LID$S8+T$4HCXLK0T$0HpHT$0AHl$(HD$ A;HSXLK0H3IHl$(HT$ IHDHpUA;H@H\$WH0HHHf@HGXLOHLG8HO`H\$(HD$ 0HϋWH\$@H0_H\$WH HHLu3#Hfu fǃ޸H\$0H _H\$Hl$Ht$WATAUH0ILHu WHHuHGX^!pX3D3HHVHtHO`HfFHGXLO0DH\$(HD$ tYHGXDFLO0HHO`H\$(HD$ t.VDL3AԻu4HGX`X3HWH\$PHl$XHt$`H0A]A\_ÃHHXLH L@UVWATAUAVAWH0`ҋLLcA~HHH IIu3L$HYH;AeupH$AAtMHcMǺHiNt(I$t"d$xLL$xAIL|$ HH;tH;I}At(I;vH\$pH0A_A^A]A\_^]H$D$xHH$I]AAH?t-Hd$xHT$xMՃd$xHT$xMH$HIIHu3zH\$Hl$VWATAUAVH MMH|$pHqHiDLD$xHd$XHT$XAօtD$XGG3LD$xHd$XHT$XHAՃuD$XGG3۸HHIuHl$`H\$PH A^A]A\_^@SH0AMDA;vHD$`` @3EHD$hd$PDHILL$PDHD$ A;tHL$`D$PAA뼸H0[H\$Ht$WH Hيth+tDt tZHCX`xGHs>LCICu(HN 83HN V&HV HK9tHCX`x3HHt SHHHt SHH\$0Ht$8H _H\$Hl$VWATAUAWH@HHHAADʃA+t HCXLcLkAHkHeD$t(D$pAHt_HD$8H\$0HHT$pHMMHl$(H|$ 'LCHSHCHHHD$ Lt HCX`Dx3OHDSHHtSHHuHCXHDx`AL\$@I[8Ik@IA_A]A\_^H(E3A;t0t5t t!HAX;HA8LCICu%HH ,H(HA8MCICuD@@HAXD@@3H\$VH0HيHtttHCXHKD9LCICAD;9AHHI LL$@D$ D$@sHC8MCICunDLHHD$(HD$@HD$ 5u;D$@f*9r#f HLHHCX`@3H\$HH0^DLAE3-AAA AI AA AA D3E;΃t$tu!EAIA D IA D E3AH\$Hl$Ht$WATAUH H\$xLI蹸CILCHHHC AUAMHD$pHCNt;L;|hHHΉ HCHCHCT,t:H(*HkH{A$LCICCA $HD$`HD$hH3HK H׸H\$@Hl$HHt$PH A]A\_H\$Hl$Ht$WATAUH Hl$`MMHe9HHt9vPHHH,HHCHu HAMCICC@LcC AE׹HC׾HC ׋HC(׹"HC0HSHHC8t:HK Ht1H{(t*H{0t#HtHHCHHHHt HtH]3 HH\$@Hl$HHt$PH A]A\_H\$Hl$Ht$WHPH$ACIH;vq D;r{@HK8tHLC@L$HS8HKHL\$@D$8HC0LHD$0HC(DHD$(|$ K@H\$`Hl$hHt$pHP_H\$WH 9MCICHtK!HyHIHtHK HtHK(HtHK0HtHK8HtHKHH3H\$0H _H\$Hl$Ht$WATAVH DxD$`HD+xCHxCD!EH D IAI A3#E;AOHcLl) H x=tD9CsHxCDHI3C~ H0t e#3H-CHm6HDCD]3H\$@Hl$HHt$PH A^A\_@SH H/HH3A/HHHH HH LHHXHHHHHL[xHHjǃǃǃHǃǃHH [H\$ATH HD$`faa@|$hHA(HD$XHA0D$PHLIHQ DAf9{TCLDtDCTD+;| SLHS HE3HD[TD[LEfDsTC<9{<D;tCT3fA+HC DHf9{TCLtkT+;|{LH{ EDHHH\$PHl$XHt$`H A_A^A]A\_ HĉPSUVWATAUAVAWH8xE3HD9 DxD$tUD9D ǁt%'AVt-D DAVH DAVHE3)2DNjHD+C+AuD$L-yA;DHAE;EGD|$,n| 8A;vWA+}MHS8HKHD$DǃA$ C8{8rHY D$q2qAA;D$(H (H%D$>%D$|$$P,H%MىxEA.LSxIc} |!}HH |"A s+AB(%H%AL)A<(ˏ&B)H%ATH%AIA|AH%AIID;>H%EDGDpCdH%AChH%A ClH%AL%HDmHL+D+D$AAH4A@D$ALDD$ ;t(ADH IUCdADChAD Cl3D;CdADChAD ClADH D$ 8DA;v EADLA2E CHS@D͋vHr fC6CAuH6CA;GDHIuA;v dAxsHH+ A;r 9 CDH|EܺAHEdEܺAHELEĺH;uHAH eulHVCLfCL6CWHD$(HD$ G!D+fCHHH|H{AH H uH EH0D Hl$XHt$`H\$PH|$hH0A^A]A\LI[UVWH0DIu,HH2)8uHH2)8tԊ)8}$I;~H2}fHL;LILEOE"I;~H2}BII;LHLDJDD;T$@b"A H\$0Hl$8Ht$HA_A^A]A\_AAADI,LAD*+²EJ,AE B(D:_II9rIAB0IIAB*IIAB+IAb(AR,A8R,~H\$ WHH H3HD$Lt  Aȃ sAAǁA A H $McLACACfAA@HcHfDA B| HA :uE D;sgBZ B B A x2EC;s#A;rA+ʋJBJBHA H $ACAfACG A HL$H3H\$8H_H\$DBE2HEMcx1HA@NA;v AAsE2AIIyAsE3D;Mc}JIA+DHC@A t*wCXHыLXDXKXC\C`CXC\ACXIIuH\$H\$Hl$Ht$WH Q,AE3H5LCXAAHHHuIIuԋAHHՊHuH ƃutH@0Hc(Hl$8Ht$@C, H\$0H _H\$Ht$H|$LAAM@)H%AIHDIuE3D;vXLˌHcB4N %II@)A HIDHuA;rIE(AIf< AIHDIuH\$Ht$H|$A@̅HHXHhHpHx ATAUAVH 3H3AL5|DgHCPAԃH HCHDK,A%BC04+ S(A%(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~ADDHC@ALc (HA} A|I%A}IH | A"ADъK,ANA%BC04+ S(A%(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~MIA&BC>6+ S(A&(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~K,EA>(BC<@+ S(A>((C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~C2txCK,+A# S(C2(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~AÃuHƃ;H\$@Hl$HHt$PH|$XH A^A]A\̅HHXHhHpHx ATAUAWH 3H3AL=DgHCPAԃH HCHDK,A%BC04+ S(A%(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~ADDHC@ALc (HA} A|I%A}IH | A"ADъK,ANA%BC04+ S(A%(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~MIA&BC>6+ S(A&(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~K,EA>(BC<@+ S(A>((C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~C:<AEJAE+D#C,+HAD C(C*:C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~K,AEAfCBCVC+ S(AfC(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~|txCK,+A# S(C:(C,PHH9rHDc0HHC*LHC+Lc(Dk,D8k,~AÃuH6ƃ;H\$@Hl$HHt$PH|$XH A_A]A\@SH HvBA,< } ,E3DD+E~DHHCCHc(HC, H [@SUVWATAUAVAWHHH3H$H3MLDB`HL$`McAD5E3EMAXD$0AD5{EXH-?{2A@3HcIcD 0D8 1udEHHD8t|OEu;O׃ f$/f$%B 80A;AOH+D)f\D`f$EDB 80H+D)f\D`DE;dH$LL$@LD$`Ỉ\$(HD$ E3FD@ILI|3EDwHcG3ۊ.Hc81u?DH1HD8t|'u3;O؃AA#A;AAOA /H+H~D\IIDDT@yAu DCMAu DCA>AuDDCIB.E/L+Hw~IDDDT@I|A;MD$0MHIA6H$H3貊HA_A^A]A\_^][H\$WH0ڋH04L%L@)\$(HHD$ LJ@LE(Lf<Hω\$(L\$ LVCLfCL6CHD$(L\$  H\$@H0_̺LH%HE3D8u HHuA;v(I&D8 u AH;rIE(D8uHHuA|A;s,IȈ&=sdHA;r@SH L9H%AHDAAL:E;H&HEBLH3HD$HH$MHcH3;뉯l%L L DՈr%fp%f H HʈfA9Htfp%Hp%fG f;|p%f=})f;f9 u fA@ffA[LAH9$tif\$ f\$"HJ%DL HfHfHfDL ~H;~0J#LD f ^J#HfDD H;| H fFHL$HH3 ~HPA\_^][H\$Hl$Ht$WATAUAVAWH p%MMDHfHff}L  ;l%}H f0H Hp%W ff fp%Hf0 ;l%}H f(H MHHA NK\-ffA FfAfB 3HfD f_lf_nfp%93L AHH%HP%HX%H`%Hfh%DSLh%AMD@A@+AIffD:wfD;t9ffAf9GH%u@ufGH%fGJ%fDuAfx#H H DH fyDID:wH\$PHl$XHt$`H A_A^A]A\_@SH LH3H [H%@SH HLH3H [H%@WH`HD$PH\$pHt$xIH s AHc'HL$@pHL$H谵H^HDLHL$@RHL$HNL7IHL$@)LD$0D$(D$ E3ɺH SHL$@HHH\$pHt$xH`_@UH HHM@H ]@UH HHMHH ]H\$Ht$WH IA-;Ët ljH\$0Ht$8H _H\$Ht$WH IA;Ët ljH\$0Ht$8H _H\$WH Ht yÉH\$0H _H\$WH Iuu 8ÉH\$0H _H\$WH Ht ÉH\$0H _HD$(3ɉHHHH3@WHPHD$HH\$`Hl$hHt$pIAHL$xHCHKHHHHHH;@HL$@LKILH7HL$xHL$@LqIHL$xcLD$0D$(|$ E3ɺ@H CS3ҋkdgfffЍ ;ts@HL$@>HHDHL$xHL$@LȠIHL$xL@|$0@|$(D$ E3ɺ@H SHL$x3H\$`Hl$hHt$pHP_@UH HHMxeH ]@UH HHM@EH ]@UH HHM@%H ]@WHPHD$@H\$hHHL$`CD$ L LH"@HL$xHHL"HL$`HL$xLIHL$`sLD$0D$(D$ E3ɺ@H OSHL$`PH\$hHP_@UH HHM`%H ]@UH HHMxH ]HHXHhHpHx ATHH@IE3IL@EAH@HHtHT$HHuHH^HT$@HL$\vHL$@LI]HLuff%'fHHE3HtHL$I[IkIs I{(IA\@SVWHHD$XHUH3H$pHH^HD$HHJHD$PI@xH HLL$`E3HTHtI3HH|$`fHH;}0HD$8HD$0\$(Ht$ ALD$`3lLHL$@cDDHFHL$@ HL$@HHL$@3H$pH3sHĀ_^[@UH HHM@H ]@WHpHD$`H$HHcHL$PhVHw0?H@H$艭H7LIHH$#9H$DHLIHH$H$HLIHpH$HL$(转HkLIH.HL$(ZpHL$H~H,LIHHL$H1HL$8?HLIHHL$8HL$XHLIHqHL$XHL$ HoLIH2HL$ ^wHL$0腫H3LIHHL$0";HL$@IHLIHHL$@HL$PHH$Hp_Ð<<=d===!>`>>@UH HHMPH ]@UH HHbH ]@UH HHBH ]@UH HH"H ]@UH HHM(H ]@UH HHMHH ]@UH HHM8H ]@UH HHMXH ]@UH HHM H ]@UH HHM0eH ]@UH HHM@EH ]HWHpHD$PHXHp HH3H$`HHL$@L LHNHr8FHL$HHHT$`NPHHHLDFPHL$@HL$HLkIHL$@]LD$0D$(D$ E3ɺH 9SHL$@:2/H HD$(D$ E3E3HL$@ H$`H3mL$pI[ Is(I_@UH HHM@H ]@UH HHMHH ]HWHpHD$PHXHpHH3H$`HHL$@DH~HuHL$@I2d3HuHL$@)2DHNHaq8FHL$H1HHT$`NPAHHHLDFPHL$@HL$HLIHL$@LD$0D$(D$ E3ɺH sSHL$@t2HL$H薦HHNAHH5HLHL$@,HL$H(LIHL$@LD$0D$(D$ E3ɺH ߔSHL$@H$`H3vkL$pI[Is I_@UH HHM@H ]@UH HHMHH ]@UH HHMHeH ]HL$VWATH@HD$8H\$hHl$pIHLD$0HHID$0HHvHHЉ|$ LDIIH\$hHl$pH@A\_^@UH HE0te0HM`H ]@UVWATAUH HD$PH$ HْH3H$ ILHHL$@*H~HuHL$@/2ILE3Ll$8Ll$0\$(H$pHD$ A3Ll$8Ll$0\$(H$HD$ ALź33HH$pHHLL+L$SH$pLHmHL$HHQHI@HL$HD@tiLl$8Ll$0\$(HD$`HD$ AL373HH|$`HHH+LL$HL$`LD$`L$fD$8HHD$0HHD$(HHD$ E3H$pHNHj8Ft ~P@HL$H衢HH$NPHH:HH|$(FTD$ DNPLHL$@!HL$HH H9HL$@LD$0D$(Dl$ E3ɺ@H אWHL$@2}@HL$HHHLHL$@HL$HH H9HL$@yLD$0D$(Dl$ E3ɺ@H XWHL$@YH$ H3fH$ HĠ A]A\_^]@UH HHM@H ]@UH HHMHH ]@UH HHMHH ]@UH HHMHH ]HWATAUAVAWH0HDŽ$HXHhHp HH3H$ LHyHu2:E3@HL$h13t$XfffffffM}MlffHL$HIOHH$ Lf\IODH$IOHHL$HH$HL$HHH$!(HHL$HJH${@@|$@I$IMH$kHH$"Ht8HH$HtHH$HA}uHH$HHL$PL eLHGHL$PHL$PyHH$uHL$PiHL$HIHHL$`3HHL$`H$HL$` HL$`HHD$0D$(D$ E3ɺEAHtHu2HL$`uHL$P$H $LLIrIH zHD$(D$ E3E3@I.D$I $LL$HT$HI,33=0,HL$xHL$pH$HL$xE3HHL$xt;L6HNjH$bHHL$pkH$HHL$pHL$HT$pH$HL$HT$HH$HH5HH)HAH'H$H$HL$pHL$x=L$HT$HH$|HHH$H$ǛHuHDL$HL$hdH$]LFIHL$h8LD$0D$(D$ E3ɺH St6|$@(A}@|$@$H $HL+@|$@HL$PH$IKIA}H$tH$豚H_HLL$HMGH$MH$FL/IH$LD$0D$(D$ E3ɺH SH$HL$HIt IHL$HM?Mt$XA}t6A}u:33fffs!=tdA}tA}?ƃt$Xs;,AEI6HL$PJHL$H>HL$h22HL$h#@H$ H3^L$0I[8Ik@IsHIA_A^A]A\_@UH HHMhH ]@UH HHMHH ]@UH HHH ]@UH HHrH ]@UH HHMPUH ]@UH HHM`5H ]@UH HHMxH ]@UH HHMpH ]@UH HHH ]@UH HHH ]@UH HHH ]@UH HHrH ]@UH HHRH ]@UH HH2H ]@UH HHH ]@SH HyHHu2H [3HH [6H\$WH HYHHtHKHHuHO(3H_H_ H_H_VH_(H\$0H _H\$WH HYHCHHHtHK.HHuHO(3H_H_ H_H_[VH_(H\$0H _H\$Ht$WH HYHHHHtffffffHKHHuHO(3H_H_ H_H_U@H_(tHUH\$0Ht$8HH _H\$Hl$Ht$WH Hy HqHHu@HS0H(AUHS0H RHLDxfffHC ILC IHyH{ HuAUHHC HwHwHHCHt HHHoL[MtI;H{Hl$8Ht$@H{H\$0HH _@WATAUH@HD$0H\$`Hl$pHt$xHHًB Шt>HQHTH[HPffffHSAHUHHu+HuTLHE3fffffffIH HL$ L DBHL$hZAHT$hHTHsH{ uHHK8-H$HK HD$`H\$hHl$pHt$xH0A_A^A]A\_@UH HHM`HH ]@UH HHM`H H ]@UH HHM`H(H ]@UH HHM`H0H ]@UH HHM`H8H ]HL$WATAUAVAWH0HD$ H\$hHl$pHt$xEADHHHK HK(HK0HK8HL$`A$AiDqD!$A H$HKHSHK(H$HK0wH$HK8eHHK THD$`H\$hHl$pHt$xH0A_A^A]A\_@UH HHM`HAH ]@UH HHM`H !H ]@UH HHM`H(H ]@UH HHM`H0H ]@UH HHM`H8H ]HL$SH0HD$ HH8HK0}HK(rHK gHKH0[H%V@UH HHM@H1H ]@UH HHM@H H ]@UH HHM@H(H ]@UH HHM@H0щH ]@UH HHM@H8H ]HAHHH HB@WH0HD$ H\$HHt$PHHMHHqHtHH^H\$@HK8%HK0HK(HK HKH6Hu3H_H_ H_H_HO(&H_(H\$HHt$PH0_@UH HHM@HH ]@UH HHM@H H ]@UH HHM@H(aH ]@UH HHM@H0AH ]@UH HHM@H8!H ]@WH0HD$ H\$HHl$PHt$XHHHHqHtQfffffffH^H\$@HK8HK0HK(HK HKH6Hu3H_H_ H_H_HO(H_(@t HHHH\$HHl$PHt$XH0_@UH HHM@HH ]@UH HHM@H H ]@UH HHM@H(цH ]@UH HHM@H0H ]@UH HHM@H8H ]HL$UVWH0HD$ H\$`HHyHtQfffffffH_H\$XHK85HK0*HK(HK HK H?Hu3HnHn HnHnHN(6Hn(HHH~HtNfffffH_H\$PHK8HK0HK(HK HKH?HuHnHn HnHnHN(Hn(H\$`H0_^]@UH HHMPH ]@UH HHMXHH ]@UH HHMXH H ]@UH HHMXH(фH ]@UH HHMXH0H ]@UH HHMXH8H ]@UH HHMPHqH ]@UH HHMPH QH ]@UH HHMPH(1H ]@UH HHMPH0H ]@UH HHMPH8H ]@UVWH0HD$ H\$XHHHqHy u>H(APHS0HS0H HLDȸHxHC ILC IPHyH{ 3HuH|$PHHC HwHHCHwHt$`Ht HEEFEFE F EFEFHUHNHU HN HU(HN(HU0HN0HU8HN8L[MtI;H{H{HH\$XH0_^]@UH HHUPHHM`趾H ]@UVWATAUAVAWHHD$0H$LLB ШHQIMd$MI|$HAE Шt8fH;BDAHIDI+IIHuBfffffffH;BDHI>;u#H+HHHuM$$M\3ҍJyHHH fHH$HL$ L @DBHL$@EAE Шt;Ht$@H;BDAHIDI+IIHuFHl$@fffH;BDHIN;H+HHHuI\$I|$ uCIL$(APIT$0IT$0H HLDȸHxID$ IMD$ IPHyMt$ 3ML$IID$ I^IID$M~L$MIOIO IO(IO0IO8AGAG3AGAGAAG H2IOhH!IO0WHIO8FHIO 5D$@AD$DAGD$HAGD$LAG D$PAGD$TAGIOHT$X}IO HT$`}IO(HT$h}IO0HT$p}IO8HT$x}M\$MtM3Mt$Mt$L @DBHL$@6H$HH N3ҍJH$HĀA_A^A]A\_^]@UH HL A@HM@H ]@UH HHHHPH ]@UH HHH}H ]@UH HHH }H ]@UH HHH(}H ]@UH HHH0}H ]@UH HHH8n}H ]@WH0HD$ H\$@Ht$HA؋H@HD$XHtDËH>H3HH,HH\$XHtDHK8|HK0|HK(|HK |HK|HHGHH\$@Ht$HH0_@UH HHMXH ]@UH HHMXHa|H ]@UH HHMXH A|H ]@UH HHMXH(!|H ]@UH HHMXH0|H ]@UH HHMXH8{H ]@WH0HD$ H\$@Hl$HHt$PAAH@QHD$(HtDDƋHSH3HHHH\$(HtDHK8R{HK0G{HK(<{HK 1{HK&{HVHGHH\$@Hl$HHt$PH0_@UH HHM(H ]@UH HHM(HzH ]@UH HHM(H zH ]@UH HHM(H(zH ]@UH HHM(H0azH ]@UH HHM(H8AzH ]@WH@HD$0H\$PHl$XHt$`AAH@ HD$8HtLT$pLT$ DDƋHH3HHHH\$8HtDHK8yHK0yHK(yHK yHK|yH HGHH\$PHl$XHt$`H@_@UH HHM8n H ]@UH HHM8HyH ]@UH HHM8H xH ]@UH HHM8H(xH ]@UH HHM8H0xH ]@UH HHM8H8xH ]@WH@HD$0H\$PHl$XHt$`AAH@ HD$8Ht)LT$xLT$(LD$pLD$ DDƋHH3HH-HH\$8HtDHK8wHK0wHK(wHK wHKwH HGHH\$PHl$XHt$`H@_@UH HHM8 H ]@UH HHM8HawH ]@UH HHM8H AwH ]@UH HHM8H(!wH ]@UH HHM8H0wH ]@UH HHM8H8vH ]@WH@HD$0H\$PHl$XHt$`AAH@P HD$8Ht\$ LL$pDƋH H3HHHH\$8HtDHK8KvHK0@vHK(5vHK *vHKvHO HGHH\$PHl$XHt$`H@_@UH HHM8 H ]@UH HHM8HuH ]@UH HHM8H uH ]@UH HHM8H(uH ]@UH HHM8H0auH ]@UH HHM8H8AuH ]@WH@HD$0H\$PHl$XHt$`AAH@HD$8Ht%\$(LL$xLL$ LL$pDƋH"H3HHHH\$8HtDHK8tHK0tHK(tHK tHKutHHGHH\$PHl$XHt$`H@_@UH HHM8nH ]@UH HHM8HtH ]@UH HHM8H sH ]@UH HHM8H(sH ]@UH HHM8H0sH ]@UH HHM8H8sH ]@WH`HD$PH\$pHl$xH$AAH@LHD$XHtTD$DT$@L$LD$8H$HL$0H$HL$($D$ DDƋI~H3HHHH\$XHtDHK8rHK0rHK(rHK rHKrHHGHH\$pHl$xH$H`_@UH HHMX~H ]@UH HHMXH!rH ]@UH HHMXH rH ]@UH HHMXH(qH ]@UH HHMXH0qH ]@UH HHMXH8qH ]@UVWATAUHHDŽ$H$H2H3H$HHE3Dl$@HL$P"qHL$HqHL$X qEHL$`pHH;u{HFHcHH\1H HHL33HFHcHHL1DE3u6HL$`pHL$XpHL$HpHL$Pp2HHT$xHHHL$`oHL$xNpLHT$pHASp|$@HptYHHT$hHPp|$@HNHcQH\2H HoHHFHcHHL1AE3t2@t|$@HL$ho@t|$@HL$poHHRfffffffffEHHL$H[oAHMEoHHL$H7oHHL$`)oHH\$(D$ L$LwHAjD$fEfA+H$HL$PnHHL$PnHHS`gfffAЍ D;u3iLL$PLD$HHHL$XnHFHcHH\1HL$XanLHFHcHHL1D$0D$(Dl$ A@SHHHL$`(nHL$XnHL$HnHL$Pn1HL$`mHL$XmHL$HmHL$Pm2H$H3gH$HĠA]A\_^]@UH HHMPmH ]@UH HHMHumH ]@UH HHMXUmH ]@UH HHM`5mH ]@UH HHMxmH ]@UH HE@te@HMplH ]@UH HE@te@HMhlH ]2HL$WH0HD$ H\$HHl$PHt$XIHHHxHHL~HH7lHHMlHuHH\$HHl$PHt$XH0_@UH HHM@~H ]@UH HHM@HkH ]HL$WH0HD$ H\$HHH}HHkHt HHHH\$HH0_@UH HHM@H ]@UH HHM@H1kH ]@VWATH0HD$ H\$XHl$`HE3L9atXAD9avOIfffffffffHGH(H\$PHt"HKjHjH[H\$PHuރH;wrHO'LgLgLg HO(Lg(H\$XHl$`H0A\_^@UH HHMPތH ]@UH HHMP%jH ]@UH HHMPHjH ]@VWATH0HD$ H\$XHl$`HH|HE3L9atNAD9avEIfHGH(H\$PHt"HKiHiH[H\$PHuރH;wrHOLgLgLg HO(Lg(H\$XHl$`H0A\_^@UH HHMP讋H ]@UH HHMPhH ]@UH HHMPHhH ]@WATAUH0HD$ H\$XHl$`Ht$hDHHq{HE3L9itUAD9ivLIffffffHGH(H\$PHt"HKLhHBhH[H\$PHuރH;wrHOLoLoLo HO(ZLo(At H0HHH\$XHl$`Ht$hH0A]A\_@UH HHMPNH ]@UH HHMPgH ]@UH HHMPHqgH ]@UVWATAUAVAW3H+HDŽ$H$X3H(H3H$2EDD$0HLH$HnH$3H$H$H$H$H$HDŽ$ HfHD$(D$ L$L/o33aH9]tU9]vN3ffffffHEH<H|$8Ht"HO\fHRfHH|$8HuރH;]r33HMH]H]H] HM(dH](L$f$H5xIffffH$HtffHOeH?HuH$H$H$H$H$H$IH ;ygu.AH$4I$ML$HIPHIHL$8 Ht$HH\$PD$XH\$`H\$hH\$pHD$x HL$PHtmD$Xt\ffffffffH< H|$@Ht-fHOdHdHH|$@HuދD$XHL$PH;r3H5wH5w3H\$PH\$`H\$hHL$pH\$pEIH xfu|HL$8EdHteHL$8.dHLD$HH$A tI$ML$HIPHIL$HD$(D$ E3E3IH$bLHL$8cLH3uDH}Ht?H.HZHDH$ZH$ZID$HcHJ\!H$ZLID$HcHJL!D$0D$(D$ E3ɺ SHL$HZH$tZ2ITZHHL$HFZHH\$(D$ L$`LbHXsZUM$H$`IADŽ$H$H$`UM$HT$`IASpI$H$`H}XIHL$`YM$IA.I$HT$`IHHYu3HnXf=*u2HL$`WYtI$IPI$H$IHYHH+r}[t$I$H$I$H~aHL$`W$I$HXHIS@t$HL$`X@t$H$}XH$nXI$IHuI$H`IPI2XHHL$H$XHH\$(D$ L$`LqHp8SM$f$`1IAM$IAt9DŽ$H$H$`PM$H$`IAYIWHHL$H|WHH\$(D$ L$`L`H>pRM$H$`IAI1WHHL$H#WHH\$(D$ L$`LoHo7Rf$`1jIVHHL$HVHH\$(D$ L$`LZ_H[oQH$`H$UIVHHL$HwVHH\$(D$ L$`LnHnQH$`}XI2VHHL$H$VHH\$(D$ L$`L}nHFn8QH$`*XHL$`UDHmHL$`UI<$HL$`UHH$ULLˋIWHL$`UH$UIuUHHL$HgUHH\$(D$ L$`L`nHQm{Pf$`1nI#UHHL$HUHH\$(D$ L$`LmHl)Pf$`1u I$3IP0ITHHL$HTHH\$(D$ L$`LmHelOf$`1uI$IP0IlTHHL$H^THH\$(D$ L$`L#mHkrOf$`1u I$3IP0ITHHL$HTHH\$(D$ L$`LlHnkOf$`1uI$IP0ISHHL$HSHH\$(D$ L$`LllHjNf$`1GIcSHHL$HUSHH\$(D$ L$`LlHjiNf$`1@ISHHL$HSHH\$(D$ L$`LkHjNf$`1@IRHHL$HRHH\$(D$ L$`LkHiMH$`THL$`fRDDH6iHL$`[RI$HL$`DRLIS(HL$`=RH$IRHHL$HRHH\$(D$ L$`LjHh"Mf$`1xIQHHL$HQHH\$(D$ L$`LjH.hLf$`1uI$E33IP8ImQHHL$H_QHH\$(D$ L$`L$jHgsLf$`1uI$E3APIP8IQHHL$HQHH\$(D$ L$`LiH*gLf$`1uI$E33IP8IPHHL$HPHH\$(D$ L$`LhiHfKf$`1uI$E3APIP8HL$@HPHL$Pf$`1ICHHL$HCHH\$(D$ L$`L LHX>f$`trH$`HL$@!CE3HVHL$@AtI$HL$@CLE33IS@&I$HL$@BLD$ L K3ISHH$`HL$@BADLJXHXHL$PBIBHHL$PBHHL$HBHH\$(D$ L$`LlVH=f$`HMVH$`DtzH$`HL$@BE3HUHL$@@tI$HL$@ALE33IS@&I$HL$@ALD$ L qJ3ISHIAHHL$HAHH\$(D$ L$`LgZHVI$H$T?LE33ISPH$G?ADL*THUHL$P ?I?HHL$P?HHL$H>HH\$(D$ L$`LRH :f$`tIHRH$`#At8H$`HL$@|>I$HL$@>LE33ISP;If>HHL$HX>HH\$(D$ L$`LWHSl9f$`1I>HHL$H>HH\$(D$ L$`LFHR9f$`t7H$`HL$@=I$HL$@=LE3AQISPfffELFRHSHL$P=Is=HHL$Pe=HHL$HW=HH\$(D$ L$`L@QHo8f$`tKH%QH$`?t;H$`HL$@I"M$IAP M$IAHL$h;HL$p;HL$x;HL$X;HL$P;HL$@;HL$Hw;H$h;H$` H3H$ Hp A_A^A]A\_^]@UH HH";H ]@UH HHM`;H ]@UH HHMH:H ]@UH HH:H ]@UH HHM`:H ]@UH HHM`:H ]@UH HHb:H ]@UH HꋅtH.:H ]@UH HꋅtHM`:H ]@UH HH9H ]@UH HHM`9H ]@UH HHM`9H ]@UH HHM@9H ]@UH HHMPe9H ]@UH HHMXE9H ]@UH HHMx%9H ]@UH HHMp9H ]@UH HHMh8H ]@UH HH8H ]@UH HH8H ]@UH HH8H ]@UH HHb8H ]@UH HH8B8H ]@UH HH"8H ]@UH HH8H ]@UH HHP7H ]@UH HH7H ]@UH HH(7H ]@UH HHH7H ]@UH HHb7H ]@UH HHB7H ]@UH HH"7H ]@UH HH7H ]@UH HH6H ]@UH HH6H ]@UH HH6H ]@UH HH6H ]@UH HHb6H ]@UH HH B6H ]@UH HH0"6H ]@UH HH@6H ]@UH HH5H ]@UVWATAUAVAWHPHD$8H$HHB Шt}HQH H39wLffffffffHGIHt/ffAHH?HSAH-H[HuԃI;wrHLH3IL$H4HD$ L 4DBH$H4HD$ L 4DBH$AH$HAH$HqH$[4HD$0H$H4LHQD3wDH_Ht:HHt*D9cuIH&3΅4H[HuHuO_HHH@HmHGHTL3H_L$H9G H uFHO(A HW0HW0HHLDHxfffffHG I@LG I HyH_ HH$HC3H HKHKHCHG HHHO HGH\$@IH1HK2DcHGJ HKHGJHKHT$02L 2DBH$6L 2DBH$MH$HPA_A^A]A\_^]@UH HL H2AHH ]@UH HL 2AHH ]@UH HHHM@nH ]@UH HHM@1H ]@UH HHM@H1H ]@UH HHM@TH ]HL$WATAUH0HD$ H\$XHl$`Ht$hMAHLH$1IM 1HKH3H 9HDHIM 0AmIIM0D\$pE]D$xAEH$IEIH\$XHl$`Ht$hH0A]A\_@UH HHMPH0H ]@UH HHMPH 0H ]HL$SH0HD$ HH H0HKH0[H%70@UH HHM@H0H ]@UH HHM@H /H ]H(H J0H(HT$SH0HD$(HD$ HQ H.D$ HH0[@UH HE te HMHW/H ]@WHHD$@H$HH3H$HHHT$HD$0H /upHT$PH H 2HH(2HBH02HBH82HB@2B D2fB$GD$ LL$PDBH$0qHT$PH H2HH2HBH2HBHT$8HOL$(HHD$ LL$PDBH$N0HL$8.H$H,D$0HH$H3H$HĠ_@UH HHM8-H ]@UH HE0te0HMH-H ]@WH0HD$ H\$HHHHGH/H 5HDHHL$@#,HtHL$@x!HL$Ht!I$HL$@U!LD$0D$(D$ E͋ISHL$@8!H.!@L\$`I[ Ik(Is8IA]A\_@UH HH H ]@UH HHM@ H ]@UH HHMH H ]@WH@HD$(H\$XHl$`Ht$hAA؋HHL$P[ t)HL$ HHL$PHL$ G H(HL$P HD$ HD$0HT$PHL$ QLDLHAR(HL$PH\$XHl$`Ht$hH@_@UH HHMPH ]@UH HHM H ]@UH HHM0H ]LI[IsWATAUHHH3H$HE3MkEkMMkMkIMkA{A{A{A{A{ACHuAWzHLL$hDBTu==wHLD$hu Dl$`HD$`HD$ E3E3AQHL$hu؃zL$` LH$HuXHD$`HD$ DL$`MĺHL$hu \PI$H`tA7HD$pHD$PDl$HDl$@Dl$8Dl$0Dl$(Dl$ A A H$u HT$pHuDl$`HD$`HD$ E3E3AQHL$hu؃zL$`HH$HuXpHD$`HD$ DL$`LǺHL$hsu I@A݉\$x;s2HHTHL$p=tDAE \$xʃHL$hHtMt IHL$pHtHt HH$H3'L$I[(Is0IA]A\_@UH`HHMhHtPHHtHMpHt_HHteH`]HaHH@WH0HD$ H\$HHt$PIcHHHL$@LLH9HL$@rHL$@_LHAH"HL$@NHH\$HHt$PH0_@UH HHM@%H ]HH%HT$SH0HD$(HD$ HQHD$ HH0[@UH HE te HMHH ]HH%UHT$SH0HD$(HD$ HQHuD$ HH0[@UH HE te HMHH ]̍BwQ$2̋A$̋A ̈Q(̊A(̊A+̊AẍQ)̊A)H0H%%HT$SH0HD$(HD$ HQ0HED$ HH0[@UH HE te HMHH ]HH3 HH`H%N̋HHHUVWATAUAVAWHHD$XHXLLHH H$E3E2I$HfffffEEu+ID$HcHJL!HD$(D$ E3E3@AAML6H6H$cH$EED$$H(6H$:HT$@H}I4$HHH$HH$HD$8D$0HD$`HD$(H|$ ALIHL$@HT$PHmHغSHL$HHHLH$}HL$HyHL$PmID$HcHJ\!H$ALID$HcHJL!D$0D$(D$ E3ɺSSAH$HmH:EH$H$H$HĀA_A^A]A\_^]@UH HHH ]@UH HHH ]@UH HHbH ]@UH HHM@EH ]@UH HHMP%H ]@UH HHMHH ]H\$WH`H\H3H$PAHLAQHL$PHHD$PHD$H3fDŽ$NH|$PHE3fHC8E3HHD$03HD$(HD$ ɉL$@HL$@u2HKHcQH|HKHcIE3HLARW 2H$PH3ìH$H`_H\$ VH`H\H3H$Py)HHtH^Hy8H$uH;HrH&H]3L\$@L\$0D$(HT$PHK8E3E3HD$ tU|$@HL$P;LG3HT$HHL$PDHT$PHfDŽ$NH|$P3H.HCHcHH|'E3ɋHCASHcHHLW H$H$PH3dH$H`^HL$WHPHD$HH\$pHt$xH@y)BHHL$h9HK0uH1HK0HH  HCHcHHLHD$(D$ AE3_@HH0mffff= tHL$hHCHcHHLHD$0D$(D$ E3L0@PHL$hmHHzD$@ H\$`@|$@H  L[IcCHLH`@PHL$h.@@H\$pHt$xHP_@UH HHMhH ]HT$UH@HE@HgH@]@UVWHPHD$@H$HHL$pyHH3ffffH$H Hغa@HL$xH<HLHL$p3HL$x/H$ L_IcCH\8HL$pLHGHcHHL9D$0D$(l$ E3ɺ@SHvHZHL$pH$HP_^]@UH HHMpH ]@UH HHrH ]@UH HHMxUH ]HHPUVWHPHD$HHXAIHH@HHHHwLHu+HH D$@HL$pH<$ 3HHfHHttA8Cu1H)HD$ L /L/Hf/HL$pkH(HD$(H/HD$ L /Lh/H.HL$p.}A8Cu1H(HD$ L P/L1/H.HL$p FHs(HD$(H/HD$ L .L.H-.HL$p t~A8Cu6Ht$(H-HD$ L .L.H.HL$pz Ht$0H-HD$(H.HD$ L ).Lr.H3-HL$p8 A8Cu6Ht$(HY-HD$ L U.L6.Ho-HL$p KHt$0H#-HD$(H.HD$ L -L-H,HL$p xu:H@HD$(H,HD$ L -L-H-HL$pr H@HD$0H,HD$(H-HD$ L -Lf-H',HL$p, ~xu7H@HD$(HL,HD$ L H-L)-Hb,HL$p AH@HD$0H,HD$(H-HD$ L ,L,H+HL$p HT$pH D$@HL$p HH$HP_^]@UH HHMpe H ]@UH HE@te@HMx7 H ]@WH0HD$ H\$HHHAL-3P@HHL$@ L KL,H,HL$@ HHL$@ LA3HSPHuHL$@ 2]L Ll,H+HL$@r HHL$@\ LA3HSPHuHL$@N 2 HL$@? H\$HH0_@UH HHM@ H ]@VWATHPHD$@H\$xH$EAHHHHtCHt 0Z(rHD$p3Ht4HHL$0$L$(Dd$ L$DHHHHHH\$xH$HPA\_^@UH HHMpnH ]H8HLD$(LL$ DʺD苐H8HDʺDBH8HDʺLD$ DB菎H8HDºfD$H$fpL|$0D$(D$ E3ɺ@EAH$HHu4HE3ArHS H HL$h2D$dELHj"H ˹tLLD$dHK"H 臈D$dMHL|$0L|$(Lt$ DL$dLƋAՅu1HIE3AsHS H HL$hk2'HIH HL$hBH$H3ZL$I[@IsHIA_A^A]A\_@UH`HH H`]@SUVWATAUAVAWH HD$hHH3H$ IIHLL$P L$X E23HD$HHD$@D$PD$8 3A H$觔H E&AE HIRMHL$pH!HH!HAH!HAH!HAH!HA H!HA(H!HA0!A8H|$ LL$pDBH$dHL$XHL$0YHHLHL$XHL$0H]LD$HHIaAAVHS HD$0HD$`HT$XHL$0HH]HD$@HD$ AE3H$HL$HALHS(qHD$8HD$(H$HD$ LL$PE3H HL$@8H$HE3f.HQD@f.H@DHT$0HHHHL$0E3f.HDHT$0HuHHHL$0E3f.HD@HT$0HHRHHL$0Lu:E3f.HDHT$0HHHHL$0AAE AH]LD$HHIiAAVHS HD$0HD$`HT$XHL$0HH]HD$@HD$ AE3H$HL$HALHS(iHD$8HD$(H$HD$ LL$PE3H%HL$@0H$HE3f.HYD@f.HHDHT$0HHHHL$0E3f.HDHT$0H}HHHL$0E3f.HD@HT$0HHZHHL$0Tu:E3f.HDHT$0HHHHL$0AAE A3A H$軏D$8 H]LD$HHITAAVHS HD$0HD$`HT$XHL$0HH]HD$@HD$ AE3H$HL$HALHS(dHD$8HD$(H$HD$ LL$PE3HHL$@+H$HE3f.HDD@f.H3DHT$0HHHHL$0E3f.HDHT$0HhHHHL$0E3f.HD@HT$0HHEH|HL$0?u:E3f.HsDHT$0HHHHL$0AAE@AHL$Hp5HL$@f5HL$XAH$ H3gH A_A^A]A\_^][@UH HHMXH ]@UH HHM0uH ]@UH HHM`UH ]@UH HHM05H ]@UH HHM0H ]@UH HHM0H ]@UH HHM0H ]@UH HHM`H ]@UH HHM0H ]@UH HHM0uH ]@UH HHM0UH ]@UH HHM05H ]@UH HHM`H ]@UH HHM0H ]@UH HHM0H ]@UH HHM0H ]@UH HHM0H ] H(w.3ɄH(LWHpAHI[IkIs3HHOH@l$@HHGHSHD$8HD$PD$0@HD$(ALÉl$ mN؋Gu 0uGtH$H$H$Hp_øHp_@SVWHPHD$@HHHL$p^HvH$i/Hغa@H$H2HLHL$p)H$"H$HHL$pLD$0D$(D$ E3ɺ@HSHH$.HHLD$0D$(D$ E3ɺ@HSH$@H$HcHLHL$pZH$SHHL$p5LD$0D$(D$ E3ɺ@HSV@H$HHHH|$ LLHL$pH$HHL$pLD$0D$(D$ E3ɺ@HSLD$(D$ E3E3b@HALD$(D$ E3E3@HALD$(D$ E3E3c@HALD$(D$ E3E3=@HALD$(D$ E3E3@HALD$(D$ E3E3O@HALD$(D$ E3E3@HALD$(D$ E3E3@HALD$(D$ E3E3"@HALD$(D$ E3E3;@HALD$(D$ E3E3<@HALD$(D$ E3E3:@HALD$(D$ E3E3@HALD$(D$ E3E3@HALD$(D$ E3E3@HAHL$pHP_^[@UH HHMpH ]@UH HHH ]@UH HHrH ]@UH HHRH ]@UH HH2H ]@UH HHH ]LSVWH H\H3H$HH3H3LD$`fHT$XHHHIk McMkMs3HD$0M{HD$8D$PD$TD$HD$LE24H$H$f{:HЋH$BABAB A BABABABAB A D$D$D$f{:H3Hfn HHHf{_DNVH$LvH$f$ffD$0xLCVDNH$9H$f$ffD$2;LC VDNH$H$f$NffD$61f;+A3E@EuAlfD|$6fD$0AFfD$2HcH$L{DJ$$H$f$LD{DJH$fD$8$$N4$8H$f$JLD{ DJH$fD$:$$H$f$EfT$<(D$0H$H$HfD$pHHAHBHAHBHAHBA H$B HT$p?HH$H$fD|$6HfAlfAHHAfDl$0HBHAfDt$2(D$0fD$pHBHAHBA H$B HT$pb?HtHL$0AHT$PHL$0HT$HHL$PT$HD$LT$@D$D>D$6H @D$8H D$:HkH L3L+IoH3H+GH:HH+OHcH;|#H;H+3H HOH+fHcH;|HG Hu)HGHHHH} H;HOHHH;HLH;}{iHLd$@HiLOLGIHHLt& tt"t Pt-i'iiHGL3L+I IynH3H+GH~HH+OHcH;|HOiLgLd$@HoHl$8H\$0HwHt$HH _LD$LL$ VWH(3HHt HvWxIH\$ HZLL$XHxHH;wH;uf<^H\$ H(_^f<^zH\$ H(_^HT$UVWHPHD$HH\$pIHHD$ Hl|$ HH$JE3HgH$ "H$&HHvt+LFHHHL$@\$ LjLFHHHL$8D$ LHHL$0^D$ LIHHL$(\$ LHHmt\$ HL$(]t\$ HL$0Et\$ HL$8-)\$ HL$@HHPt H$JLH$HL$0yD$ !LIHHL$8a|$ HLFHHHL$@LLHHeHL$@a@@t翉|$ HL$8H@ C߉|$ HL$0+,HHjt/HHL$HL$(\$ LnHHL$HL$0D$ LHHL$8JD$ LIHHL$@\$ LHHY s \$ HL$@G s \$ HL$8-s\$ HL$0y\$ HL$(H$HH\$pHP_^]@UH HE te HMxH ]@UH HHH ]@UH HE te HM@gH ]@UH HE te HM87H ]@UH HE te HM0H ]@UH HE te HM(H ]@UH HE te HM0H ]@UH HE @te HM8wH ]@UH HHM@UH ]@UH HE %te HM("H ]@UH HE %te HM0H ]@UH HE %te HM8H ]@UH HE %te HM@H ]HT$SVWHPHD$HIHHD$0HL$@/HL$8#HD$0LH$H^LHHL$8H$HL$p)tHHL$pYH$H$H费L$LG0HQHL$pH$Y"H$rHH$HOHD$8HD$ LL$pLH5HL$p "HL$p'HL$8HL$@HHP_^[@UH HHM@H ]@UH HHM8H ]@UH HE0te0HMxH ]@UH HHrH ]@UH HHMpUH ]@UH HH2H ]HVWATHHDŽ$HXHhIEHH3xHHHL$XHL$pHH$H$HL$h|HL$hu9H$nHAHL$xHHL$hHL$xSE3HHL$huHHL$h$HLLEHD$hHD$(Hl$ LNHHL$pLHT$xH^HHL$XHL$xE3HaH$[uHWH$i$@u}t+HHxLHL$x|$PL LMIxHD$pHD$ L$HHL$`@|$PHL$xwt+HHxLQHL$x|$PL LMIxHD$pHD$ L$HHL$`@t|$PHL$xHT$`HL$X`L^IcCH|0HHH$6HL2@tRHHHL$`L\$XL\$ LL-HHL$pHT$pHL$XHHL$`HL$XHHL$`HHHXD$HLلLD$@D$8 L$LD$0D$(Dd$ L LtHL$X,HL$hHH$9HL$p-HL$X!HL$`L$I[(Ik0IA\_^@UH HHM`H ]@UH HHMXH ]@UH HHMpH ]@UH HHH ]@UH HHMheH ]@UH HHMxEH ]@UH HHMx%H ]@UH HEPtePHMxH ]@UH HEPtePHMxH ]HWATAUHHD$xHXHpEILH3xHHdHL$XXH$IHHL$h2E3HHL$huHHL$hHL$LEHD$hHD$(H$H\$ LNHHL$XLKHHL$XLHT$pH=HHL$`fHL$p$8$t+HHxLHL$p |$PL LMIxHD$XHD$ MHH$!@|$PHL$p {$t+HHxLVHL$p|$PL LMIxHD$XHD$ MHH$@t|$PHL$pH$HL$`dtUHHH$L\$`L\$ LLoHPHL$X-HT$XHL$`HH$HL$`HH$HHHXD$HLLD$@D$8 L$LD$0D$(Dl$ L ?LoHL$`hHL$hH$uHL$XiHL$`]L$I[(Is0IA]A\_@UH HHM`%H ]@UH HHMXH ]@UH HHH ]@UH HHMhH ]@UH HHMpH ]@UH HEPtePHMpwH ]@UH HEPtePHMpGH ]HUVWHHD$`HXIHHHHHHxL`H$HHT$XH\$PHMHL$HH HL$@HHD$8HT$0H\$(HHD$ LMLH@H$H${HEHcHHt)HHxMHH$HL$pѶ@H$HHLD$XHL$pH$HCHcHH|HL$pLHCHcHHLD$0D$(E3Dt$ E3ɺ@WHT$DHT$8Dt$0Lt$(Dt$ E33AHX|$DHAN@xLH{HCHcHH|AHCHcHHLD$(D$ E3E3H@XIhXHL$p̵HL$HHL$XHL$`2Dt$DHD$DHD$8|$0Ll$(Dt$ E33AHW4|$D)HWIWHL$x+AD9t$DIοfffJ)HL$PHL$PHL$PztH$дLL$PDHxH$´H$HL$xH$HL$PHɋD$DH;_ HL$PzILHKHD$0HHD$(HD$HHD$ LKM@xHHL$`&HL$`HLt$0D$(D$ E3ɺ@EAɮHHuwHCHcHH|HCHcHHLD$(D$ E3E3HL$xHL$pHL$HHL$XHL$`2fD$@D$@D$AHL$xݳLt$ LL$PAHT$@H|$PuzHL$xHLt$ LL$PDHptR9|$PuLHHL$xHL$pݲHL$HѲHL$XŲHL$`HCHcHH|װHCHcHHLD$(D$ E3E3HHL$xiHL$p]HL$HQHL$XEHL$`92HCHcHH|ZHCHcHHLD$(D$ E3E3HYTITI HL$pܱHL$HбHL$XıHL$`2H$H3NJH$ HA_A^A]A\_^]@UH HHM`uH ]@UH HHMXUH ]@UH HHMH5H ]@UH HHH ]@UH HHMPH ]@UH HHҰH ]@UH HHMpH ]@UH HHH ]@UH HHMxuH ]@UH HHMPUH ]@UH HH2H ]HHPVWATHpHD$hHXHh MIHH@IH^&HP0HL$XHH?&HP8H$ݮHD$PLHHL$XLHH$$ujHH%HH xHDLHL$8H$HD$0HD$XHD$(Ld$ LNM@xH(HHHxL@HL$`vHHHD%H%H xHDHL$@H$HD$8HD$XHD$0Ld$(HFHD$ L 9LHsHZHL$`VH$GHL$X;HL\$pI[0Ik8IA\_^@UH HHMXH ]@UH HHH ]@UH HEPtePHH ]@UH HHM`H ]HHPVWATHHD$xHXHHE3D`IHH /HL$P+HL$XHǵHL$HE3HH$ëuyHGHcHHL9HD$(D$ E3AHpHD$@HL$HHL$XHL$PH$HD@HT$hH$H\HHL$`HH$ HL$`AHL$h5AHT$hH$HHHL$hAHT$hH$ E3HH~XHL$hAHT$`H$ϪDHT$hHUHHL$P>HL$hrHL$`fDHT$hH$E3H%HHL$h/E3HH$ʩ؃uyHGHcHHL9HD$(D$ E3AHuHD$@HL$HHL$XHL$PH$HDHT$hH$DHHL$P-HL$haLHHL$PpDCHT$hH$aHH$ߨHL$hE3HH$uyHGHcHHL9HD$(D$ E3AH`HD$@HL$HHL$XHL$PH$HD@HT$hH$HH$HL$hHE3HH$uH$DHT$hH$ϧHHL$XHL$hL}HHL$XLA@HL$p{LD$XHHL$`LHFHcHH\1HL$pHHHlHHHXD$HHD$hHD$@D$8 H$HD$0D$(D$ L ˩LcMHFHcHHL1AAS THL$h6Dd$dHL$P֠Ld$0D$(D$ E3ɺEAH$HD$hHHH7HL$XlLd$ LL$dAH$HL$hٜD$dƄ3HH$HLID$(H$HD$ L$33vI3HH$HfLH$HL$Pf HL$PtWL|$d+D@H$HL$PsHHL$P\H$AE3HL$h͛HL$PZHH$HHL$P H$HL$8_HHcHHHL$ DL6HL$0KHL$8GHL$@;HL$0 HȺKbaNHL$0L\$pI[IsI_@UH HHM0H ]@UH HHM@ŋH ]@UH HHM8H ]@SH`HD$@H3HD$HHD$PHD$XD$HD$XHQxL’HL$xLpHHL$pHL$x/HL$pHHD$0D$(D$ LL$H@A…HC Ht Ht2HL$pҊH`[@UH HHMxH ]@UH HHMpH ]H8t @u@H LE3E3HD$(D$ LL=Lt?H sL|LE3HE3@D$(D$ H3FH HL$H~[HuH"HHHL$ DLHL$@ HL$HHL$PHL$@߇HȺ ^ JHL$@͇@$H$H$At1AtE;wEtH$H$HĀA_A^A]A\_^]@UH HHM@EH ]@UH HHMP%H ]@UH HHMHH ]Ht$H|$ ATH B LHШtHQIMH7IHHH~HvHt HuAD$ H\$0Шt1HtsHIH;BDDH4I+uGHtBHl$8ffffffHIH;BD;u&H4H+uHl$8H\$0Ht$@H|$HH A\3ҍJ@SH@HD$0HلuH >@tWHL$`HaHD$ L ALCxHڧHL$`HL$`lHkHL$`gH@[@UH HHM`EH ]@SUVWATAUAVAWHHDŽ$HADLME3MIY0E8y8IH`HfffffffffLBMMAAA9u HHuHH;`u HH` HJHHH;hu HBHh H HBHAHxHHxHpuCH`HtHHuLpLxLhL`HELLHt 8L9}ffffffHMLa0y8H$ H 5$ HEH-A;~HMytHXA9YEA ED$(HMH$(H $(H$8@H$'VH]HтHLK(LC H$8H$H$8HUHD$0D$(L$ AAHHD=u LUD$(D$ E3E3%HAH$8BtDDŽ$D$xD$D$|D$$DŽ$HT$xH H$THHtHHHL$ DLGHL$H\H$UH$FHL$H+HȺVWlCHL$HHXAHM~7HM0HMH#H]HHNHH$ HI|$ t/HMHH]HHHHMyt3HI|HMHKBABD$0HMH$0HI*|$0HL$P@H$SH]HHLK(LC HL$PH$HL$PHUHD$0D$(L$ AAHRHD=uHED$(D$ E3E3%HHL$P? qAD$`D$XD|$hD$\D|$dD$lD$pHT$XH HArxHL$@~}H$QH>H$QH|H~HHHL$ DLSHL$@h~H$a~H$R~HL$@7~HȺbTx@HL$@%~HM3HIzHMH@H]HtHoH'LeIHA_A^A]A\_^][@UH HH8}H ]@UH HH}H ]@UH HHMHu}H ]@UH HHR}H ]@UH HH2}H ]@UH HHMP}H ]@UH HH|H ]@UH HHM@|H ]@UH HH|H ]@UH HH|H ]@SH HH Ht quHH [@SH HH Ht @zHH [@SH HH Ht zHH [H\$Hl$Ht$WH HHIHLKMɋt.3sIHt f9{uHHzt H[Hu3H\$0Hl$8Ht$@H _HSH&z@VWATH0HD$ H\$XHl$`HE3L9atMAD9avDIfffffffffHGH(H\$PHtHzH[H\$PHuH;wrHOrLgLgLg HO(Lg(H\$XHl$`H0A\_^@UH HHMP螢H ]@UH HHMPuzH ]@VWATH0HD$ H\$XHl$`HHңHE3L9atCAD9av:IfHGH(H\$PHtH zH[H\$PHuH;wrHO LgLgLg HO(% Lg(H\$XHl$`H0A\_^@UH HHMP计H ]@UH HHMPyH ]@WATAUH0HD$ H\$XHl$`Ht$hDHH٢HE3L9itJAD9ivAIffffffHGH(H\$PHtH yH[H\$PHuH;wrHO LoLoLo HO(% Lo(At H HHH\$XHl$`Ht$hH0A]A\_@UH HHMP莠H ]@UH HHMPexH ]@WH0HD$ H\$HHt$XHHHy u@H(A HS0 LK0MIILIxHC HAHK H IyH{ 3Hu9 H|$@HG3HHOHOHGHC HHHK HCH|$PHHvHH\$HHt$XH0_@UH HHU@HMP誳H ]@UH HHMPUwH ]@UH HHMP>H ]HDH HPHHSVWATAUAVAWHHDŽ$EIHLHHvQ@HL$x JHvHLH$vHL$xvIFHcHJ\1H$vLIFHcHJL1D$0D$(E3Dl$ E3ɺQ@S@2H$:vH$+vIHL$H8:IHL$H3HL$xuHs~H$tH]~H$tE2Dd$pED$H$}uIHL$Ht!H$PuHwD$IHLD$xH FtH+HL$xsADd$pIHL$HIHL$HYnLH$HH$tLH$otHH$^tHH$MtHIN@tLd$hH|$`D$XL$pL$P$L$HHt$@H\$8D$0Ll$(HD$ L$D$(II@2IH$8HHH$Ht~H$sHH$sHINsLl$hLl$`D$XDd$PD|$HH|$@H\$8D$0Ll$(HD$ L$D$(IH@2IH$8HH$stH$H$ sH$rH$rHL$xrHL$xrH ;HEHDMH 7HL$0HD$(Ht$ MNM@xH)HL$x~r8HH$HtbHL$xQrHINDrLl$hLl$`D$XD$PDl$HLl$@Ll$8D$0H\$(HD$ L$EIHIH$8HHL$xqH$qH$qE3L$H$8AL MtbH$8HD$(Dl$ L33rH$0HHu,IFHcHJL1HD$(D$ AE3F@H$Aq@HA_A^A]A\_^[@UH HHqH ]@UH HHMxpH ]@UH HHpH ]@UH HHpH ]@UH HHMxpH ]@UH HHrpH ]@UH HHRpH ]@UH HH2pH ]@UH HHKH ]@UH HH+H ]@UH HHMxoH ]@UH HHH ]HT$SUWAUHxHH8HHtHHE3L/HeoHHxA]_][@UH HH2oH ]HWATAUAVAWHHDŽ$HXHhHpIDHAHrwHL$0mH_wHL$8mHHL$@mHHD$h3LH|$pH$H$H|$x$H$HH|$xHL$@OnHL$fA,HL$X]H+nHHL$PVHHL$0lHvHmHL$PmHL$XmHff@HD$HHtHAHRHvHHHHXCHK HLnmHK(HT$0GlLD$0HH$fLڙHH$HHL$8lH$8mH$)mHL$8lH|$HLkHL$8lHHL$0lHHD$HHD$(Ll$ ELHu,HEHcHHL)HD$(D$ E3E3E2aHHVIHL$hٔM]Ld$pMHHHVIH訔LHD$HIHt$xHtHL$0lHL$@lHL$fA,HL$X,HkHHL$P%HHL$0jHtHjHL$PkHL$XkE  HL$`kHH D3HHt\HHtSD9kuH_HVjυu H[Ht)HSHL$`iHL$`kHEmuaS-Ht$xLd$p}$D$ AAIԋf=u(HEHcHHL)HD$(D$ E3E3#HL$`jHHD$hMtH~ffffHcH;|I HL$@ijHL$8]jHL$0QjAL$I[0Ik8Is@IA_A^A]A\_@UH HHM0jH ]@UH HHM8iH ]@UH HHM@iH ]@UH HHMhH ]@UH HHMXiH ]@UH HHMPuiH ]@UH HHMHH ]@UH HH2iH ]@UH HHiH ]@UH HHM`hH ]@SUVWATAUAVAWHHDŽ$H9*H3H$MMLHH$3ۉ$H$shH$dhH$UhH\$`H\$XH\$PH\$pH\$hH\$xD$H DŽ$IH:LHHFHcHH|1H$gLHFHcHHL1D$0D$(\$ E3ɺ@WHmpIfDŽ$HL$xHt `H\$xHL$hHt `H\$hHL$pHt `H\$pHL$PHt `H\$PHL$XHt m`H\$XHL$`Ht X`H\$`H$5gH$&gH$gI ~*t@ t @u ~$ 3HIfHHZHL$@9LHΛH$fHL$@f\HL$@9HkfHLH$[fHL$@WfHFHcHH|1HN0fHLD$`H_HFHcHHL1E3AVW  HFHcHH|1HD$XHD$ DE3HHL$`Y_HFHcHHL1E3AWW ; HFHcHH|1HD$PHD$ DE3HʆHL$X_HFHcHHL1E3AXW  HFHcHH|1HD$pHD$ DE3HHL$P^HFHcHHL1AAYW  HD$@H$H$HL$@*dHHL$pHVHcRH|2HD$hHD$ DE3H֙@^HFHcHHL1ALW( HD$@H$H$HL$@cHHNHcIH|1HD$HHD$(H$HD$ L$E3IHL$h]HFHcHHL1ALW( H$H$c3 ZHL$@,7MLHΘH$cHL$@cHFHcHH|1HNcHLD$`H(]HFHcHHL1E3AVW  HFHcHH|1HD$XHD$ DE3HyHL$`\HFHcHHL1E3AWW HFHcHH|1HD$PHD$ DE3H?HL$X|\HFHcHHL1E3AXW ^HFHcHH|1HD$pHD$ DE3HHL$P*\HFHcHHL1E3AYW  HFHcHH|1HD$xHD$ DE3IHL$p[HFHcHHL1E3AZW HD$@H$H$HL$@QaHHL$xHVHcRH|2HD$hHD$ DE3Hg[HFHcHHL1E3LW(BD$H \HL$@4HaHMH$aHL$@aHT$@H$HD$HHD$(H$HD$ L$E3IHL$hZH$HL$@l`LHNHcQHL2HE3ɋP($fEf$H$H$`hZHL$@ 4L3HIfHHHyMLDMHH$`HL$@`A|$HFHcHH|1HNY`HLD$`HYHFHcHHL1E3AVW HFHcHH|1HD$XHD$ DE3H-HL$`YHFHcHHL1E3AWW dHFHcHH|1HD$PHD$ DE3HHL$X0YHFHcHHL1E3AXW HFHcHH|1HD$pHD$ DE3HHL$PXHFHcHHL1E3AYW H|$pHFHcPH\2IL$_HHD$xHD$ DE3HXHFHcHHL1E3AZS NHD$@H$H$HL$@]HHL$xHVHcRH|2HD$hHD$ DE3H XHFHcHHL1E3LW(D$H \HL$@1H<^HMH$0^HL$@,^HT$@H$HD$HHD$(H$HD$ L$E3IHL$hgWH$HL$@]LHNHcQHL2HE3ɋP($fEf$H$H$f]HFHcHH|1HNb]HLD$`HVHFHcHHL1E3AVW HFHcHH|1HD$XHD$ DE3H6~HL$`VHFHcHHL1E3AWW mHFHcHH|1HD$PHD$ DE3H}HL$X9VHFHcHHL1E3AXW HFHcHH|1HD$pHD$ DE3H|HL$PUHFHcHHL1E3AYW H|$pHFHcPH\2IL$\HHD$xHD$ DE3HUHFHcHHL1E3AZS kHD$@H$H$HL$@[HHL$xHVHcRH|2HD$hHD$ DE3HUHFHcHHL1E3LW(D$H \HL$@.HE[HMH$9[HL$@5[HT$@H$HD$HHD$(H$HD$ L$E3IHL$hpTH$HL$@ZLHNHcQHL2HE3ɋP($fEf$H$H$oZ3333 333H$]ZHHL$@HH$YHL$@BZH$IiYDŽ$HL$xHt &SH\$xHL$hHt SH\$hHL$pHt RH\$pHL$PHt RH\$PHL$XHt RH\$XHL$`Ht RH\$`H$YH$YH$|YIH$H3HA_A^A]A\_^][@UH HH2YH ]@UH HHYH ]@UH HHXH ]@UH HHM`^H ]@UH HHMX>H ]@UH HHMPH ]@UH HHMpH ]@UH HHMhH ]@UH HHMxH ]@UH HꋅtHWH ]@UH HHM@WH ]@UH HHM@WH ]@UH HHWH ]@UH HHWH ]@UH HHM@eWH ]@UH HHBWH ]@UH HHM@%WH ]@UH HHWH ]@UH HHM@VH ]@UH HHVH ]@UH HHM@VH ]@UH HHVH ]@UH HHbVH ]@UH HHM@EVH ]@UH HH"VH ]@UH HHM@VH ]HHPVWATHPHD$@HXHh IMHH@L NHPLHHL$(LHL$0U~xtCHL$(wUHHNjUHLHL$02HHL$(THL$0OUHL$p,UHL$((UHhL MHT$8H)LHHL$0訂HHL$pSHL$0THL$8T~xtCHL$pTHHNTHLHL$8sHHL$p\SHL$8THL$puTH赎u2HT$(HSD$ HL$pXTHL$(LTHbHT$pHqSD$ HL$p&THL$(TH0HT$(H?SD$ HL$pSHL$(SHL\$PI[0Ik8IA\_^@UH HHM0SH ]@UH HHM(SH ]@UH HHM0uSH ]@UH HHMpUSH ]@UH HHM85SH ]@UH HHM0SH ]@UH HHM8RH ]@UH HE te HMxRH ]HT$SH0HD$(HD$ L +[D$ HH0[@UH HE te HMHWRH ]HT$UVWATAUAVAWHPHD$HH$MHHD$0IHPD$0HL$@QH$QDE$H HL$@QHMQLHيHPHHxQLHusHPHHhQLHnHPL$MH;HrPMHH_PMHՉHLPMHT$8H\|HPLHHPHL$8PHM0PLH?HOE3HHsOtMHL$8PHT$8HBHD$`HL$PDArHGHcHH\9:BHGHcHHL9D$(D$ E3E3HL$HCIAHD$XHAHD$`HL$PC2H$H3;HĨA_A^A]A\_^][@UH HHMXeCH ]@UH HHMPECH ]@UH HHM`H ]@UH HHMXH ]@UH HHMHBH ]@UH HHMhBH ]@UH HHMpBH ]@UVWATAUAVAWHHDŽ$H$LHHL$PHBHL$XH$?H$?LD$PHoH$cHHL$Pn>H$?@IHHH8o?HIHHH0S?HHHDLwLH$I~HmHL$h\HIH蚵HH>HLLCHL$X>HL$h>H$>M;HD$pHD$`HT$XHL$p=HHMHcQH|*HL$P>HHHt>HHHX$D$HLLD$@D$8 Ld$0D$(D$ L FLkHEHcHHL)ALW(IH茴xuHc$HDžul$(}.AI $9=tI}IL$}*HHXAI Ƅ$$MmMwIHHPHL$P7H47HH|$PHuދ$ H$H;rL$L$(L$0H$82L$8H$HtfffHO6H?HuL$L$L$L$H$L$H$HtHOj6H?HuL$L$L$L$H$L$HM6HzD$AHM5HL$H$ H$(HH ffffffHL$P5HL$H5AL$MHAHD$ Hu2AEtIfH8Hu HA;rAH\H_Hu+3ҋGAHcA;sIHHu HA;rHHL$P3HWHL$H3H$H$HugDGH$H$<H$H RLDHx/H$fffffffffI8IL$IHyH$AHHH$HwL?H$HwHt H04HT$HH2L$MtI;H$H$HL$H 4HL$P4Ht N\$AA;5\$AHEHcHH|)HM3HL$H--HEHcHHL)E3AVW HEHcHH|)H$HD$ t$XDE3HwTH$,HEHcHHL)E3AWW HEHcHH|)H$HD$ DE3H7TH$q,HEHcHHL)E3AXW %HEHcHH|)HD$hHD$ DE3H*MH$,HEHcHHL)AAYW HEHcHH|)HD$xHD$ DE3HLHL$h+HEHcHHL)AAYW pHEHcHH|)H$HD$ DE3HWHL$xu+HEHcHHL)E3ApW HEHcHH|)HD$pHD$(H$pHD$ LL$`E3HWH$ +HEHcHHL)E3AqW HEH$pY3HtfH$pq3;E$|$Bu:Dl$(HKHD$ @t$@DAH9H&AhHUHL$P 0HjHL$H/H$HtIfffffH_Ht3HL$H0HH/3Ʌu H?HtHu8Dl$(HJHD$ EAH8HD&AHL$H;0\$A[HL$P/HH$H<ffffffffH_HH H/HH.3ɅuH?HHHL$H/HL$P/HH3$ H$HH̊\$A\$AHL$P.@t$@6@t$@/@t$@(@t$@!@t$@@t$@@t$@ @t$@@t$@H$ oH$nH$nHL$hnHL$xnH$nHMHcAH|(HM .HL$H'HEHcHHL)E3AVW  HEHcHH|)H$HD$ Dd$XEE3HNH$;'HEHcHHL)E3AWW p HEHcHH|)H$HD$ EE3HNH$&HEHcHHL)E3AXW  HEHcHH|)HD$hHD$ EE3HLMH$&HEHcHHL)E3AYW HEHcHH|)HD$\HD$(E3Ld$ LL$`E3HfHL$h*&HEHcHHL)AArW o|$\m*HLGAT$S*LH HEHcHHL)HD$(D$ EL$E3rH64H$H$HtffffffHO,H?HuL$L$L$L$H$)L$H$H$HtfffHO+H?HuL$L$L$L$H$ɾL$H$|AHEHcHH|)HD$\HD$(Ll$ LL$`E3HeHL$h$HEHcHHL)AArW H2H$H$HtHO*H?HuL$L$L$L$H$L$H$H$HtffHO~*H?HuL$L$L$L$H$虽L$H$LAD$\HfEdED$\HfEdEMfA}cffffffffD$p AMAQH$`,HUHcBH|(H$HHD$ DL$XE3H$`HL$h #HEHcHHL)AAZW HEHcHH|)HD$xHD$ DL$XE3HCH$H"HEHcHHL)AA]W -HEHcHH|)H$HD$ DL$XE3HNHL$xr"HEHcHHL)E3ApW HEHcHH|)HD$pHD$(H$pHD$ LL$`E3H|NH$"HEHcHHL)E3AqW rH0H ]@UH HHMX H ]@UH HHMXHa H ]@UH HHMhΐH ]@UH HH諐H ]@UH HH苐H ]@UH HHMP H ]@UH HH` H ]@UH HHX H ]@UH HHP H ]@UH HHMH螟H ]@UH HHB H ]@UH HHMX% H ]@UH HHMH>H ]@UH HHxH ]@UH HHP[.H ]@UH HHP H ]@UH HHPH~ H ]HSUVWATAUAVHpHD$HHE3ALpLp LpLpLpLpLpLpD8q*HAHcHH\1HN HLD$@HwHFHcHHL1E3AVS HFHcHH\1H$HD$ AE3H+HL$@HFHcHHL1E3AWS VHFHcHH\1H$HD$ AE3H+H$HFHcHHL1E3AXS HFHcHH\1H$HD$ AE3H*H$aHFHcHHL1E3AYS HFHcHH\1H$HD$ AE3H DH$HFHcHHL1E3ArS EH=L%mD$0 D$(D$ L$L$HH I;|HAHcHH\1HNHLD$@HrHFHcHHL1E3AVS H=L%HFHcHH\1H$HD$ AE3H)HL$@HFHcHHL1E3AWS SHFHcHH\1H$HD$ AE3Ho)H$HFHcHHL1E3AXS HFHcHH\1H$HD$ AE3H (H$NHFHcHHL1AAYS HFHcHH\1H$HD$ AE3HAH$HFHcHHL1AArS tFHffffffD$0 D$(D$ L$L$HH I;|HFHcPH\2HNHLD$@HjHFHcHHL1E3AVS HFHcHH\1H$HD$ AE3H'HL$@ HFHcHHL1E3AWS IHFHcHH\1H$HD$ AE3Hu'H$HFHcHHL1E3AXS HFHcHH\1H$HD$ AE3H&H$THFHcHHL1AAYS HFHcHH\1H$HD$ AE3H?H$HFHcHHL1AArS tH ]@UH HHM`H ]HL$VWATH0HD$ H\$`Hl$hHH>HHAHcPH>HD HAHcPDDD HPbCHOpYC3H9tT9vJLHIH\$XHt"HKHH[H\$XHuރI;rHNHHHHHHt9fffffffffHHkHtHH萕HHuDHH9~dfffHxUH;}LHH<t"H;}/H,HtHj|H2AHIcH;};5HHtHL{HHHHta9vWLffffffffffHIH\$XHt"HKiH_H[H\$XHuރI;rHΔHHHHeHH*HHHt"H~HHcH;|kHHO0HOHOH\$`Hl$hH0A\_^H%@UH HHMPHqH ]@UH HHMPHQH ]@UH HHMPH01H ]@UH HHMPHH ]@UH HHMPH$H ]@UH HHMPHH ]@UH HHMXN"H ]@UH HHMXH ]@UH HHMXHqH ]@UH HHMX!H ]@UH HHMX5H ]@UH HHMXHH ]HcAH+HcAH+HcAH+HcAH+LISIKSUVWATAUAVAWHHDŽ$LLH)IxE3MsACMsMsMsIC L=L|$XLt$pLt$xLt$hLt$`MhIǃp L|$ Lt$8Lt$@Lt$0Lt$(Lt$HHD$P IKHt^AACtSIHH$0Ht4HKHH[H$0Huۋ$H$H;rL$L$L$H$}L$H\$`HtffHKHHuLt$pLt$xLt$hLt$`H$5L$H\$(HtHKHHuLt$8Lt$@Lt$0Lt$(HL$HLt$HIHeAIqHL$HT$X脢L$IHH$82H$0#AL$MHAHD$Hu0AEtIHHu HA;rAHHH{Hu23ҋCAHcA;sIfffffH8Hu HA;rHH$8CHSH$01Ht$0H\$@HuVDCHT$PHL$H跎HT$PH RLDHx*H\$@ffffffffffIIH\$@IHyH\$@AHt~HHD$@HsL3HD$8HsHt HH$0HL\$0MtIH\$(H\$0H$0H$8Ht/ލ؍ҍ̍@*IHH\$(HfffH{HHHHH%A΅uHHoHdL|$ H\$(HtffHKHHuLt$8Lt$@Lt$0Lt$(HL$HLt$HL|$XH\$`HtHKHHuLt$pLt$xLt$hLt$`H$L$HJ H$H$HteA$tWIfffHH$0Ht4HKHH[H$0Huۋ$H$H;r{L$L$L$H$L$II2L|$ H\$(HtHK}HHuLt$8Lt$@Lt$0Lt$(HL$H觋Lt$HL|$XH\$`HtHK9HHuLt$pLt$xLt$hLt$`H$`L$H H$H$HtdA$tVIffHH$0Ht4HKHH[H$0Huۋ$H$H;rL$L$L$H$變L$IMIC+IHH\$`HfffffffH{HHHHHA΅uHHfH[H$0IHH諊3$H$HHHffff9{uHHoA΅uH[HHSH$0I!HH$0H$0 L|$ H\$(HtfHKHHuLt$8Lt$@Lt$0Lt$(HL$HLt$HL|$XH\$`HtHKHHuLt$pLt$xLt$hLt$`H$шL$H$脋IbIX@H$0CL|$ H\$(HtHK)HHuLt$8Lt$@Lt$0Lt$(HL$HSLt$HL|$XH\$`HtfffffHKHHuLt$pLt$xLt$hLt$`H$L$H$踊II2tH$0ẇL|$ H\$(HtffffffHKNHHuLt$8Lt$@Lt$0Lt$(HL$HxLt$HL|$XH\$`HtHK HHuLt$pLt$xLt$hLt$`H$1L$HH$H$HteA$tWIfffHH$0Ht4HKHH[H$0Huۋ$H$H;rL$L$L$H$~L$II2HA_A^A]A\_^][@UH HH(H ]@UH HH H ]@UH HH軈H ]@UH HHMX./H ]@UH HHM /H ]@UH HH0H ]@UH HH0"H ]@UH HH0HH ]@UH HH8H ]@UH HH0H ]@UH HH0;H ]@UH HH0H ]@UH HH0H^H ]@UH HH0H ]@UH HH0"H ]@UH HH0HH ]@UH HH0H ]@UH HH0[H ]@UH HH0H ]@UH HH0H~H ]HHHVWATAUAVH`HD$PHXHhAILHHHHtcHD$0HD$HHD$@HD$XH*HL$0HHHL$@"HHfuHL$8H2H=wL50 L-ɫHHL$0zLD$0Hu HL$H{HiHH]HHl$(Lt$ LIHL$@HHL$8HL$@1HL$H%HL$8uHL$0 H I;V HL$0HL$8ftdLD$8H^HL$HHHHHH$HD$(HD$0HD$ MLH6HL$H7HeHH$HD$(HD$0HD$ MLHHL$8I HLD$XHAAVHW SHD$HHD$`HT$8HL$H HH>HD$PHD$ DE3H?HL$X,ALHW(HD$0HD$(L|$ LL$@E3H`!HL$P|$0CHLGAW*LHuHL$87I-HD$0HD$(Ld$ LL$@E3H HL$PwtHL$8IpD$0HfADD$0HfADDIfA<$ALAQH$bH H$H$HL$HJHI}HtEffffH_HHH)HH5Aυu H?HuIH@HL$H@t+H$HL$`HI#HL$`3HHfHHlMf9Et yHM3HL$X&HL$P&HL$8{IqH$H3 ~HĨA_A^A]A\_^][@UH HHMp5H ]@UH HHM8H ]@UH HHMHH ]@UH HHM`H ]@UH HHMHH ]@UH HHM`H ]HHHUVWATAUAVAWHHD$xHXEMHLHH3HCHD$@3Ht$XHt$`Ht$PHt$HHt$hHD$p H$\H\$HHtHKHHuHt$XHt$`Ht$PHt$HHL$h"wHt$hH_HtHKHHuHwHw HwHwHO(vHw(I|HI5HD$0HD$8IHL$0EMH$HHwH uHAHW0HO(vHW0H RLDHx"fffffffffHG ILG IHyH_ 3Hu:vHHG HsHHGHsHt HH$HcL_MtIH_H_3@u1HD$0HD$8IHL$0MAHT$@H^HD$0HD$8IHL$0uMAHT$@H^L\$0L\$8IHL$0FMAHT$@H/H$9Hl$HHHD$0H$HD$8H$ffffffHUHL$0HIHL$8D|$ ML$HHtH_HtHffHsHH$=HHI3Ʌu HHu HHwH uEAHW0HO(mtHW0H RLDHxfffffffHG ILG IHyH_ 3HtdHHG HsHHGHsHt HH$HIL_MtIH_H_HmHtss3HPHD$@H\$HHtffffffHK.HHuHt$XHt$`Ht$PHt$HHL$hXsHt$hH$IH$HĐA_A^A]A\_^]@UH HHH ]@UH HHH ]@UH HHM@H ]@UH HHM8UH ]@UH HHM85H ]@UH HHM8H ]@UH HHM8H ]@UH HHH ]@UH HHH ]HHHWATAUAVAWHPHD$@HXHhHp DHHHH`E3A9_0vffHG(H !;_0rHLG(3L9gt&H_Hs0HtH)HjHwI;uH`HtHHuLpLxLhL`HjLL9(tbAD90vVIfffffffffH(H(H\$hHt"HKHH[H\$hHuރH;0rH(~jL(L8L@HHjLHHHXH`HtHHuLpLxLhL`HiLL-NL H(tcAD90vWIffffffffffH(H(H\$hHt"HKHH[H\$hHuރH;0rH(~iL(L8L@HHiLHLHt[AD9vOIffffHH(H\$hHt"HKyHoH[H\$hHuރH;rHhLLLHuhLHHHHHHHHHHOxHOpHOhHO`H\$pH0A]A\_^]H%d@UH HHM`H`AH ]@UH HHM`Hh!H ]@UH HHM`HpH ]@UH HHM`HxH ]@UH HHM`HH ]@UH HHM`HH ]@UH HHM`H~H ]@UH HHM`H^H ]@UH HHM`H>H ]@UH HHM`HH ]@UH HHM`HH ]@UH HHM`HH ]@UH HHM`HH ]@UH HHM`HhH ]@UH HHM`H hH ]@UH HHM`HXWH ]@UH HHMhH ]@UH HHMh%H ]@UH HHMhHH ]@UH HHMh~H ]@UH HHMhH ]@UH HHMhHH ]@UH HHMhH ]@UH HHMheH ]@UH HHMhHAH ]HWHHD$hHXHhHp HyH3H$pHHD$XHQxLGHL$@}LHHL$PhHL$@HL$PHHD$0D$(D$ E3ɺEAKHHD$XHu1HD$(D$ E3E3HHL$PD23AHL$phHD$ LL$HAHT$pHpt D$HHL$@HL$`H HHDHL$@HL$`HHL$@LD$0D$(D$ E3ɺHSHL$@oD$H=sDpƄ$oHv HL$pHHL$P2H8HD$XH$pH3gL$I[Ik Is(I_@UH HHMXRH ]@UH HHM@H ]@UH HHMPH ]@UH HHM@uH ]@UH HHM`UH ]@UVWATAUH HDŽ$H$H HH3H$ MHHH$H H$H$HL$pHL$`HL$XHL$PH H a3HE3HtWHHl$XfffffHIH;BDSDHlI+uKHl$XffffffAHII;DBBDS;AJlH+uL9 H_uCHW0HO(ASHW0H RHLDxffffffHG ILG IHyHO HtTHHG HYL9D$XHGAHGHtHHOMHOL|$`Lt$PH\$hH A]A\_^]}R3ҍJ&SH\$Hl$Ht$WATAUH HHHRH^3ҋvHDt+HHt"9{uHHH[HuH~uO^HHH@H RHHFuQL3H,WH~^uQHHEH؉xHNJHPHNJHl$HHt$PHCH\$@H A]A\_HT$WH0HD$(H\$@HHD$ HHHH !HH޼D$ HH\$@H0_@UH HE te HMHgH ]@UVWATAUAVAWH0HDŽ$H$pLLDŽ$@@$H$H$H$Ѽ2Ɉ$!MMH- H+H5D$Au/IEHcHJL)HD$(D$ E3E3d@Ƅ$ItHPxOH$I艌AD$HLL aH$IfHAD$H$,AtAD$H$ӻAtAD$H$Hl$ LEE$HWH$H$IɋI}HcHH$RHD$8D$0H$HD$(H\$ ALIH$!A}(tMH$IRHHH$ߺHLIH$ҺA}xt%HoH$zHAD$I}H$IՊHH$lHH`HLH$%HHAHH5HLIH$(H$At#AD$H$H5H5EE$HEH$ǹIIH0H ,~1II0L؋H k<+AK II/HP H$H$A}$E3HwH$ٷH$IPHII~/HIIl/LHC HD$XHt$PHHD$HHvHD$@IEHD$8H$HD$0H{HD$(IC(HD$ EM$LHH$pH$iH$I蜈HAu$II.HII.LH BHL$pHHD$hHfuHD$`IEHD$XH$HD$PAE$D$HG D$@l$8HQzHD$0IC(HD$(t$ LDHBH$H$HH$`H$IHImIHALHsHH4HHZH$ HHH$HD$8D$0Ht$(H|$ E3LIH$ٶ@2@$H$InHغeH$ىHHLH${H$tH$eIEHcHJ\)H$:LIEHcHJL)D$0D$(D$ E3ɺeS$H$H$$H5HXxH-)MvM(H$H$H$@H$pH0A_A^A]A\_^]@UH HHbH ]@UH HHBH ]@UH HH"H ]@UH HꋅtHH ]@UH HꋅtHH ]@UH HHH ]@UH HHH ]@UH HHbH ]@UH HꋅtH.H ]@UH HHH ]@UH HHH ]@UH HHҳH ]@UH HHH ]@UH HHH ]@UH HHrH ]@UH HHRH ]@UH HH2H ]HT$UVWATAUAVAWH HDŽ$H$`HLD$dH$HL$pHL$hH$$x2Ɉ$ptQMMAL%tDt$dfffAu/IEHcHJL)HD$(D$ E3E3f@Ƅ$pA}${D$`HI(DH EE$HuHL$hH$I*HIuIHAL.HnHHHHL$hHD$8D$0H|$(H\$ ALIH$cH$IHغgH$nHHLHL$pH$ H$IEHcHJ\)HL$pհLIEHcHJL)D$0D$(D$ E3ɺgSƄ$xItHPxIH$ÌADt$dHbLL H$I`ZHADt$dHL$xyAtADt$dH$#AtADt$dH$H&HD$ MEE$HHL$hدH$II}HHHL$hHD$8D$0H$HD$(H\$ ALIH$sA}(tJH$IHBHHL$x4HLIH$'A}xt"HH$HADt$dI}H$I-HHL$xǮHHHLH$HHHHHLIZH$H$tAtADt$dH$VH='HH$H$Iv~HHI$H@ HD$PH|$HHHD$@HWkHD$8IEHD$0HD$xHD$(Ld$ EM$LHHL$hH$HL$xD$`HI$H <~,HI#p k<+HI#p A]$HI#t$8|$0Ld$(H@ HD$ DDHHL$hEE$H|H$֬H$I}HMeA}$ @IHALHhHHHH$pHHL$hbH@l$8D$`D$0Ht$(H|$ E3LIA$H$3H$I|HغgH$>HHLHL$pH$ܫH$ͫIEHcHJ\)HHL$pLIEHcHJL)D$0D$(D$ E3ɺg2ۈ$xH$h$pL%mH$h$p$xL%mMMH$*HL$hHL$pH$H$`H A_A^A]A\_^]@UH HHªH ]@UH HHMpH ]@UH HHMhH ]@UH HHbH ]@UH HHBH ]@UH HH"H ]@UH HHH ]@UH HEdtedHԩH ]@UH HEdtedHH ]@UH HHMxH ]@UH HHbH ]@UH HHBH ]@UH HEdtedHH ]@UH HHH ]@UH HHҨH ]@UH HHH ]@UH HHH ]@UH HHrH ]@UH HHRH ]@UVWATAUAVAWHHDŽ$H$LL3|$(2HL$ E3f;I/$DGH$IHHH4u3Hf=;u2H$t f;I^Df;IDGfED+DH$I^HHL$ H$ HL$ HL$ fLH HL$ uffLHHL$ uE3f=HL$ HL$0H$>DHT$PHL$ HHHL$01HL$PeDCH$HL$ ~HH$H$-H$LHT$`I7 HH$HL$`AHT$@H$HHϤHL$@tzH$%DHAH$H$HkLHT$pIHH$HL$pMH$>AHT$HH$HHHL$HtoH$mDHAHT$hH$HLHT$XI.HH$dHL$XHL$hH$nHHL$xHH$HL$xSAH$H$H؃|$(HuZ3Hf=%uIAH$H$zH؃|$(H_u3HϢf=%u2@t|$(H$@t|$(H$HL$8aH$ZHHc73AIHHH~9suHH.3Ʌu H[HtYHSHL$8H$HIHHL$0ƢHIHH{,HL$0HIHH$NHL$8+HL$0eHI^HH$A]Df;IDH$0HL$0$A$DH$IǠHIH$HL$ ֡H$HİA_A^A]A\_^]@UH HHM H ]@UH HHH ]@UH HHbH ]@UH HHM0EH ]@UH HH"H ]@UH HHMPH ]@UH HHH ]@UH HHM`ŠH ]@UH HHM@H ]@UH HHH ]@UH HHMpeH ]@UH HHMHEH ]@UH HHMh%H ]@UH HHMXH ]@UH HHMxH ]@UH HE(te(HH ]@UH HE(te(HH ]@UH HHM8eH ]@UH HHBH ]@UVWATAUAVAWHHDŽ$H$LL3l$@@@$HL$XǞH$HL$HHL$PII$/p$II$xt`l$@II$HPH$II$HPHL$HHL$HH$IM$MIH=qfffffH=aAEE3H4HL$Ht9HT$`InHLMH$ITHL$`H$uHAHL$pHII$L xLDLHHL$P6HL$p2@II$HH8HII$HH0HI$HDL1LHH$ImHl$@HL$PHII$HHyHH$hHD$8Ht$0KL$(Lt$ LE3I8t2@tl$@H$+@2@$HT$xIlHغiHL$h1oHߛHLHL$X֛HL$hқHL$xƛID$HcHJ\!HL$XLID$HcHJL!D$0D$(D$ E3ɺiS$II$xu $u~$]}8AIL=tIUINLl$@$:I$HXAIdQl$@@$@$@$MmMHL$PHL$HH$HL$X@H$HĐA_A^A]A\_^]@UH HHMXUH ]@UH HH2H ]@UH HHMHH ]@UH HHMPH ]@UH HHM`ՙH ]@UH HHMpH ]@UH HE@te@HH ]@UH HHMxeH ]@UH HHMhEH ]@UVWATAUAVAWHHDŽ$H$LLE3Dt$@@@$HL$`՘HL$PɘHL$XH$II$=h$II$#xtZWDt$@II$HPHL$X#HT$XII$Ht$HHL=H$HghHHHL$XLH\$ MH$ITMHH$H$˗H$II$4x II$H ؅~-II$ x k<+II$ x LHH$CHL$h|$(\$ L$ED$$HHL$hHT$hH$HL$hɖII$A HH0ucII$# H=xIDII$ HII$ H|$ LK8L@0HHL$PBHII$ HxIDII$ LL@HSHL$PLmHZHL$P@II$X HH8HII$; HH0HI$HDLLHHT$pHeHADt$@I,$II$ HH9HHL$P+HH$HD$8OL$0L|$(Ht$ E3LIt2AtADt$@HL$pݔ@2@$H$Ht$HHmeHغkHL$xgHHLHL$`HL$x|H$mID$HcHJ\!HL$`DLID$HcHJL!D$0D$(D$ E3ɺkS$L=II$ xu$$'V}EAI=t,IIODt$@Ht$H$L=SI$HXAIIDt$@Ht$H@$L=Ht$H@$L=@$HvHt$HHH$"HL$XHL$P HL$`@H$HĠA_A^A]A\_^]@UH HHM`ŒH ]@UH HHMPH ]@UH HHMXH ]@UH HHbH ]@UH HHBH ]@UH HH"H ]@UH HHMhH ]@UH HE@te@HMpבH ]@UH HHH ]@UH HHMxH ]@SUVWATHPHD$@HHAHL$0HHL$ H ]@UH HHMh~H ]@UH HH‡H ]@UH HE te HH ]@UVWHPHD$@H\$pHD$ 2HL$(:E3f=HL$(%HL$(HL$(L9H*HL$(7uffLHHL$(uE3f=HL$(!H$H$wDHT$0HL$(eHH$KHL$0DCHT$0HL$(HH$HL$0MH$/HHL$0ZHH$HL$0DHT$0H$HHm;u3Hބf=%u@2@HL$0Ņ@t7L$HHL$0蟩HH$UHL$0DHT$0H$HHu3HWf=%u@2@HL$0>@tH"H$DHT$8H$փH\$ H~uW3Hf=%uFDHT$0H$ZH\$ H=u3Hf=%u@@2t\$ HL$0t\$ HL$8p@HL$0DH$=HHH?3uH]HHHtffff9{uHH3Ʌu H[HtTHSHL$0H$ăHHHH$HHHHa+H$HH~HH$5HL$0i.H$IHHBHH$H$)H$HL$(H\$pHP_^]@UH HHM(H ]@UH HH‚H ]@UH HHH ]@UH HHM0H ]@UH HHM0eH ]@UH HHM0EH ]@UH HHM0%H ]@UH HHM0H ]@UH HHM0H ]@UH HE te HM8H ]@UH HE te HM0H ]@UH HHM0eH ]@UVWATAUAVAWHHDŽ$H$HHBH3H$MLcHE3ADd$H@@|$A@2@t$@A_D$DAL iHcL$DHMAf=/f=- IHL$P}HMHL$P:u&ǃHL$Pqt$@L mia HHL$P~u&ǃHL$P5@t$@L 1i% HHL$P~( ǃHL$P@t$@L h IAAtat@2@|$A@t$@ HD$(H$HD$ LL$DIA3f$H 3HH$fHHH DHLAQ{H ;AL$IH ~<fy;A{L$AQH V;fE<f<=|$A@t$@L g A8 HAAIHD$(H$HD$ LL$DIA*f$ 3HH$fHHHA DHLAQ{H :AL$IH u;߀fp:A{L$AQH M:~f<;f3<@|$A@t$@L f HD$(2H$HD$ LL$DIAIH{hH$Hd}H~ @@t$@@|$AL ofc HD$(H$HD$ LL$DIA3HH$fHH- H$@  H$H It @|$A@t$@L eƃ@t$@HD$(2H$HD$ LL$DIA/H{pH$HJ|H| @@t$@@|$AL UeIƃ@t$@8ƃ@t$@'HD$(H$HD$ LL$DIA訕HH$H{H_|. H{HwH{HL$L$:xOH$HI{@|$A@t$@L hd\ƃ@t$@K=@t$@9HD$(H$HD$ LL$DIA躔f$ HH$Hzt8AH$Hyl$HHHyu@@2@tl$HH$z@4AH$HyHHHyH$IzH0zHHzHL$L$vH$Hy@|$A@t$@L bHD$(H$HD$ LL$DIA\3HH$fHHH${H@|$A@t$@L mbaHD$(H$HD$ LL$DIAf$utH$#uH{xH$HxHuydtH$HC3H HKHKHCHG HHHO HGH$IHdHKekHGJ HKHGJHKHT$XJdHL$@oeHLL$lfA H$}HHL$PdH$GeHmHL$P=dLd$`%HL$@ eHHHHT$XcHL$PdHD$ LL$HAH$I9atH$x HL$@dIbLt$`H]bD$(D$ E3E3HHL$@bdIhbILt$`HL$xDdHL$X8dHL$p,d2vHd<L MN3MuP3Hu>Hu83AVtIffffHHu H;r3HuH{u-EF3ҋCAHcA;sIH8u HA;rHHL$p!bHSHL$XbI2HbHHL$PgbHL$` cHL$Pc3E33DhEA;tpADH$HL$PbH؃t$hHwaLHHL$@bHL$@bHHaHL$@bt@tt$hH$qbtit`DE+EH$HL$PmaHHL$``H$/b3HL$`bHIHHT$X`D uDA;HL$`aHL$PaHL$xaHL$XaHL$paH$H3GL$I[8Ik@IsHIA_A^A]A\_@UH HHMpeaH ]@UH HHMXEaH ]@UH HHMx%aH ]@UH HHM`H ]@UH HHM@`H ]@UH HH`H ]@UH HHMP`H ]@UH HH`H ]@UH HHb`H ]@UH HHB`H ]@UH HHHTH ]@UH HH_H ]@UH HHH_H ]@UH HHKH ]@UH HH_H ]@UH HHMPu_H ]@UH HHM`U_H ]@UH HEhtehH$_H ]@UH HHM@_H ]@UH HH^H ]@UVWATAUAVAWHPHD$0H$HLB ШHQHI}E3E9}MfffIEM$MI|$AIH9HE Шt-fH;BDHHDII+u1fffH;BDHH;u/HH+uMd$MlAIE;}D3ҍJHHfHH$H u]HL$ L Q]DBH${AH$H4D] AAt=H$fffffffH;BDHHDII+uEH$fffffffffH;BDHHc;HH+uD$H$\LH3AuDI]Ht:HHt1ffff9suIH_[3υH[HuI}uIA]HHH@HIE3H L3HA]3I9EI9} uBIM(DG IU0+IU0HHLDHxfffIE I@ME I HyI] HH\$8HC3H HKHKHCIE HHIM IEH\$@IH"ZsIEJ HKIEJD{L [DBH$H$Ht"oNHB3ҍJH$HPA_A^A]A\_^]@UH HL ZAHH ]@UH HHU8HM@誖H ]@UH HHM@UZH ]@UH HHM@>H ]HUVWATAUAVAWHHDŽ$HXLH3t$@@2HHYH$ YIHSHIHALK8L@0H"H$ YHEHcHH\)H$ qYLHEHcHHL)D$0D$(t$ E3ɺ@SIHHHcH8BHIHIHο@IHwL@HDH$(|HIHMHHHxWH$(XIH@YIHL@H̤H$g|LHH$HIHHHHVH$)XH$XIH@IHL@HH${LHHL$`sHIHAHHHlVHL$`WH$WIH@A}(u,HEHcHHL)HD$(D$ E3A IHHH#WHH$˹LHH${LHHL$p螄HIHlHHHUHL$pVH$VH$VIH@]}(u,HEHcHHL)HD$(D$ E3A +@IHHPH$|UDE3HH$TutE3HH$TuWE3HH$Tu:E3HǍH$TuE3HzH$lTtAE3HgH$ITtAE3H&H$(TtAELMffffA $A3A+;A}*tAD$ t @uAAIHHPH$SHT$PI%%HTHH$TLH\$ MHT$HH HH$XSHL$HTHL$PT@HEHcHH|)HT$xI$t$@HH ]@WH0HD$ H\$@H3HhHu*HD$HHt 3HmnHH9HHLËH\$@H0_@UH HHMHH ]@SUVWATHHD$PDHH8uH JItHL$@ULH(H=Hu/ H$Ht3HmH3H=lDŽ$LHH ht%LL$HH F!$tHL$HHKHDHL$@KHL$HKHHL$@KLD$0D$(D$ E3ɺtHSADAD;$<HD$(D$ AE3HL\$hHIHFICHD$hHD$\GD$XD$dH$HD$(D$ LL$XL33KHHu0HHE3AuHS HL$@JAHFH$HFt,$u"HD$(D$ AE3vH HD$(D$ AE3wHEtt Z HL$@JHĀA\_^][@UH HHM@IH ]@UH HHH ]@UH HHMHIH ]HL$SHPMEHH$HD$0H$HD$($D$ L$MAHB4HT$`HBHcHHLHD$(D$ AE3| HP[@UH@HHMHHM@3HM@$H@]@UVWATAUHHD$pH$H H3H$HD- AHL$HaHu'HFHcHHL1H\$(\$ E3E3s@'HFHcHHL1HD$(D$ E3E3@h HL$PGHH 3HAHtqHHth9{uHHF3Ʌu H[Ht?HSHL$PZFD$@LD$PHNHL$HsG 3AH$%DŽ$DŽ$D$A3CAAHCLH$Et D$@ D$@E3u2LHHD$ L %M@xH iHL$HF4LH_HD$(l$ L M@xH,HL$HyFHL$X^FtHL$`HLFHLD$HHL$XAFHL$`=FD%AAtHD$hHD$`HT$XHL$h@EHHFHcHH\1H(LHL$HEHLd$8HKHD$0Dl$(H HD$ LL$@AH"HFHcHHL1E3Lt I$2HL$XvEHL$PjEuVu)HFHcHHL1HD$(D$ E3E3vHFHcHHL1HD$(D$ E3E3wVu)HFHcHHL1HD$(D$ E3E3u)HFHcHHL1LD$(D$ E3E3AHL$HDH$H3EH$HİA]A\_^]@UH HHMHeDH ]@UH HHMPEDH ]@UH HHMX%DH ]@UH HHM`DH ]@UH HHM`CH ]H\$Ht$HL$WHPHD$03DτAHHt4HFLc@I\0AHFHcHHL1AAxS t@|$04HT$`HBHcHHLHD$(D$ AE3|@|$0@H\$hHt$pHP_@UWH8HHM@HM83HM8CH8_]H\$ WHH<H3H$HHL$8LD$@AE3H ؉D$0HOHcQHL:LE3AeAR t$3HL$`{HHr؉D$0AHT$8HBHcHHLHD$(D$ AE3|L\$@A \$0H$H3H$H_@UH0HHMPHMH3HMHH0]LD$HL$HXAHD$0AHT$`HBHcHHLHD$(D$ AE3|L\$pA D$0HX@UH0HHM@HM83HM8dH0]HL$HXHD$0HHP(D$04HT$`HBHcHHLHD$(D$ AE3|D$0HX@UH0HHM@HM83HM8H0]H\$Ht$ WH0HIIHHT$HHl$@H-N)H¶HcHHT$HH蔶xxHT$HHfHT$HHgxKHT$HH蠠9HT$HH:xHT$HHc HT$HH xHT$HHHT$HHxHnH'HT$HH豵xHT$HH薵HH >3HLkHCE3E3HcHHD(@HLD$(D$ Ht4HT$HH5H HT$HHA HT$HHrHD$HHHT$HHCHHT$HHHl$@H\$PHt$XH0_ffRa5bH\$WHpH|H3H$`HHL$@HyP?iAHIp92HOp:HD$ LL$4AHT$`HOP9D$4=s HfDD` fDŽ$^HHLD$`HP L_HL\$8Mt-HT$8H誳HT$8HtLL$HLD$0H-H|$@HGHcPHL:HD$(D$ E3E3HGHL$Pj$uHV!tHJ$D$@H@-|$DHHH|$@LD$@Dl$`AHhЀ|$@ELD$@H$HeHOHcQHL:LE3AfAR u@2}IcH9$lHL$H$@H$H$HL$HL$H$H$$L_IcCH\8HL$H\$LHGHcHHL9D$0D$(Dd$ A@S3H`AAHaHL$H$H+pHHx#HL$L$H$ t)H$r3HAAHDHGHcHHL9HE3AQpAdP @2HGHcHHL9HE3AdP @2AHB H3HL$X(#LH\$ L M@xHiEHL$X#HL$X"HۋHL$X"t9HGHcHHL9HD$(D$ AE3y@D%Ha*HcE3E33HnHL$Pz"@ HL$Pj"2H$H3L$I[8Is@IA_A^A]A\_@UH HHMP%"H ]@UH HHMh"H ]@UH HH!H ]@UH HHMp!H ]@UH HH!H ]@UH HH!H ]@UH HHb!H ]HT$SUWH@H꺃HMxsHHMHrLHpH EHHMxH H H]XHCHcHH|HMx LHCHcHHLD$0D$(D$ E3ɺWHMx HH@_][@UH HHMxe H ]@UH HHB H ]@UH HH" H ]@UH HHMH H ]@UH HHH ]@UH HHMXH ]H(G3ɄuH(@WATAUAVAWH+HDŽ$H$H$HH3H$M$LH$HH$PE3D$HL$xH$L$D$<E2DL$pL$xH /HmqIN!tHPqIN !uYE3IH$ZHqHI,H$gH$XHL$xL27@AH$3zH$ H$ IDŽ$0H$0A$@uHhpIH2pIIH$IL$A MƋI,uCIED$(D$ AE3IH$PHL$xD2/?H `AtiIED$(D$ E3E3@II>M]D$(D$ E3E3@IAH$HL$x>ALA9II]H iE3AZIS t@IED$(D$ E3E3]IH$GHL$x;&>H$&HL$x2>I]IH ]iE3A[IS t@IED$(D$ E3E3nIH$HL$x=H$HL$x2|=I]IH jE3A\IS t@IED$(D$ E3E3oIH$5HL$x)=H$HL$x2<H RkH$H$ E3H<:H$ ~tdL$ HbJH$0>LMJHH$(5HHH$ ;H$(lH$0]IH-H$ZHH[H$@t,IED$(D$ $DE3I $H$ HD$ E3LkH-DHJ-Iu0H$@I1HI$H$@UI8HH$ 'HD$ LL:kHs螗D$EH!H$`ED$$;$HcHjI tuHjI t`D$E;uIf/tf-tRH#HH$`EIH$`3HHjH$`D$AD$$$$5H$`HMH i裛uIED$(D$ E3E3'IIED$(D$ E3E3@IH$`H$ MtIL$HtHxL$H$RHL$xF19IED$(D$ AE3IM]D$(D$ AE3AIAM]D$(D$ AE3IAH$ H$HL$x28H gg؅uOIED$(D$ E3E3@IIH H$]HL$xQ<8IED$(D$ AE3IM]D$(D$ AE3IAM]D$(D$ AE3IAH$HL$x27IED$(D$ E3E3IH$HL$x2x7D$pIH$XPH4H$X:ML(gIH$蘜HH$XH$H$XH$XHH$<zH$L$<Ix$(uRIED$(D$ AE3IH$XH$HL$xz2e6IED$(D$ E3E3@IAƅH$X?DŽ$L LeH$p>L$pAA3KHH$x"ȉ$HH$$H$PHHLH$}H$PvM]Dd$(Dd$ EL$EċIAI]H$5LDd$0Dd$(D$ E3ɺISH$(CHHL$pH$H$(I]H$LD$0D$(D$ AISM]D$(D$ AE3IAH$vH$gHL$x[2F4=H$H#H$``HHLlH$HH$`I]H$HLD$0D$(D$ E3ɺISH$HH$HL$x23t@IEDd$(Dd$ AE3IH$`HL$xT2?3DŽ$H$H$PT L$PL\$ L pLYYH };At 3I6IHL$L$ [ H$ InH$ IYIdHH$8kHIH$8DI'HIHHw$H$H$p"HHMH$H$pL$HL$H$H$HMUE3LIAR(H$pISHIu}IED$(D$ AE3IH$'HL$x21H$H$GJIHH H$IHHH$XBjHHm H$XHH IH$QH`H$+L _L$HI(IHvu$L H^L$HI H$ <I Hvu]H@_Ic uEE3IH$ID$Hz HMH^t Ƅ$Ƅ$$t$H$? $E3IH$VIH HMLg^H$@RH$ H$@ HMH ^#ztH^I H$@ IuxH tIHC I Ic.uCIED$(D$ AE3NIH$7 HL$x+ 2.IMh IMh HM3HH$H$Hu=TH$p H HMEhHL$x H$p IuHL$x LD$0D$(D|$ E3ɺTIVIuxE3f\I uSH\I t;MIH$ ?.HI H$  H HL$L$ tH$ H H HH$:fHHe H$ Iy HH- u HHI Hj4H9 AHH$0r EH$H$0 H$H4H @@$H$ @tIH$0Y D@H$H$0HH$0mH$ H$px E2D$AD$'DL$0HZH$pD H$p. H3StyH$p HPt9H$pHH$0HHt Ƅ$[Ƅ$IuE3AIV $/Eu"IED$(D$ AE3IH$prH$0cIFHIMx9HHpH$lH$8KHHMExH$H$8L$L$H$H$MUE3LIAR(H$IMxHAuoIED$(D$ AE3IMtIfL$HtHPL$H$*HL$x2 )LxIUxH$4LIHIHHn$H$H$L MexIH$H74HlH$H`HLH$TH$MH$H>L$L$(H$H$PMUE3L$IAR(H$MexLK IH${3HH?@@$@H$@toIED$(D$ AE3IMtIL$HtHjL$H$DHL$x82#'AI6ulIED$(D$ E3E3IMtIL$HtHL$H$HL$x2&IHqmH$HeHMHL$xXH$QIuHL$x2LD$0D$(D$ E3ɺIVMtI L$HtH L$H$HL$x2%L2 IH$b1Lv HH$J1LHH$X21LTHH$1H$XcH$TH$EIuH$#HAIV`u\H$MtIL$HtHL$H$HL$x2$IEIPhu\H$MtIL$HtHL$H$mHL$xa2L$H$4H$%@H$bHH$H$ AED$L$D;$<IcH$HMH$IuH$LD$0D$(D|$ A@IVAD$ED$D;$}fIcH$=HMH$0IuH$LD$0D$(D|$ A@IVAD$L$Mt I IBVIED$(D$ AE3{IH$H$H$MtIL$HtHoL$H$IHL$x=2("H@H$hSHHMEhH$H$hIuH$LD$0D$(D|$ E3ɺ@IVH$AEƃH=uIEDt$(Dt$ E3E3IAIMpIMp7HMH2 =HH$8MtI,L$HH$Hu@UH$*HHMEpH$H$IuH$LD$0D$(D|$ E3ɺUIVIIE3HPItgHH$Ht-I*LIH蔑H$H$IH$H$H$PE3H(NI 茑HH$HHt-ILIHZH$H$IH$H$H$PHIED$(D$ AE3IH$?H$0H$!HtH"L$HtH L$H$HL$x2H$f\I$tA3ҍJAVDt$pH$H$AH$Q!H$IL$H<4gt-H$mHH$P\HLIH$fDŽ$NH$AA@H$@8HHH5tHt$(IExHD$ L$PLH$H$@H$HH @2HH0"H EH$H 7 y$NfDf$Pt$6f$H5f$YLMExH2H$ILH$HIHIXD$HME LD$@D$8 H$HD$0D|$(D$ ML躍AH$nH$_A$3H$H0M]D$(D$ E3E3@IAHHD$0D$(Dt$pDt$ AAHIVM]D$(D$ E3E3IAH$H$H$PHtHAIED$(D$ E3E3I5EtH `H$PYH$HtHRL$H$,H$HtHL$H$HtHL$H$`leH$H$H$PH$BH$H$|H$mH$^H$OH$HtKL$H$Ht0L$IHH$xHtHHH$HL$xIED$(D$ AE3IH$H$H$uHtHvL$HtH`L$H$:HL$x.2H$HL$x2H$H3vL$I[8IsHIA_A^A]A\_Ð2M_n@UH HHMxH ]@UH HHH ]@UH HHbH ]@UH HH+aH ]@UH HH aH ]@UH HH H ]@UH HH0H ]@UH HH(H ]@UH HHH ]@UH HH@H ]@UH HH`bH ]@UH HHXBH ]@UH HH"H ]@UH HHH ]@UH HHPH ]@UH HH(H ]@UH HHHH ]@UH HH`H ]@UH HH8bH ]@UH HHBH ]@UH HHp"H ]@UH HHH ]@UH HHH ]@UH HHXH ]@UH HHH ]@UH HꋅtHnH ]@UH HHRH ]@UH HH@2H ]@UH HHpH ]@UH HH H ]@UH HHH ]@UH HH0H ]@UH HHH ]@UH HHrH ]@UH HHpRH ]@UH HH2H ]@UH HH8H ]@UH HHH ]@UH HHH ]@UH HHH ]@UH HHHH ]@UH HHrH ]@UH HH(RH ]@UH HH2H ]@UH HHH ]@UH HHH ]@UH HHH ]@UH HHXH ]@UH HHH ]@UH HHrH ]@UH HHRH ]@UH HH2H ]@UH HHhH ]@UH HHH ]@UH HH jH ]@UH HHHiH ]@UH HHH ]@UH HHxrH ]@UH HHxRH ]@UH HHh2H ]@UH HH`H ]@UH HHH ]@UH HH{H ]@UH HH[H ]@UH HHH ]@UH HHrH ]@UH HH`ZH ]@UH HH2H ]@UH HHXH ]@UH HHH ]@UH HHH ]@UH HHgH ]@UH HHH ]@UH HHrH ]@UH HHXRH ]@UH HH2H ]@UH HHWH ]@UH HHH ]@UH HHHH ]@UH HHKH ]@UH HH{WH ]@UH HHPrH ]@UH HHH ]@UH HH2H ]@UH HHH ]@UH HHH ]@UH HH  fH ]@UH HHH ]@UH HHH ]@UH HH@rH ]@UH HHRH ]@UH HHH.H ]HT$SUWHpHHHE3AHHP(HPHD$(D$ AE3HLD$0D$(D$ E3LHASHseHxHtHzHHDžxHEHp_][@UVWATAUAVAWHHDŽ$H$LDHIMHsE3ffffffD$8D$0D|$@D$4D|$H$ȣHHlHHHL$ DL?H$QH$JHL$x>H$ HȺKaH$ H-DHu0cH$HtHFHIH-MAH9 t^ tTtPAL=ߑD=D=D=D=D=ؑHEDd$(Dd$ E3E39@HE2D$XD$PD|$`D$TD|$\D|$dD|$hHT$PH ~H$3HL$p'H>H$H HHHHL$ DLH$H$HL$pH$jHȺ蕤H$UHtHHxaEt H'H$HĠA_A^A]A\_^]@UH HHH ]@UH HHMxH ]@UH HHH ]@UH HH`H ]@UH HHrH ]@UH HHMpUH ]@UH HH2H ]HWATAUAVAWHHD$PHXHpHeH3H$LDfD$p3AHL$reHL$pte=s^ILeHL$peu?HL$pFHHt,HH&HtE3E3AQ3HH VuH HE33H JdHmE2@2\$0H$D$4fDŽ$H$D$8fDŽ$E3tH A\-؈D$03v^HD$@MAHD$1t*t Dl$1Et\$0u\$0 Dl$1\$0A@t$2@tQL%VD%WD%\D%YD%bD%OH|$@HD$(D$ AE39@HH|$@H|$hH|$XHtH(H]@|$4tH$,Hk|$8tH$EAA H$H3bL$I[0Is@IA_A^A]A\_HT$SUH8HH]`HE3AHHP(HH H]HoH8][HT$UH0HHMHHH 9HMHH+H0]@UH HHMHUH ]HL$WH0HD$ H\$HHt$PAHHH HN(H^03HHF@~8HH\$HHt$PH0_@UH HHM@H H ]@UH HHM@H(H ]HL$SH0HD$ Hـy8u*HIHt HtgH Ht HtSH\$@HK(1HK H0[H% @UH HHM@H H ]@UH HHM@H(H ]HT$UH HHH ]@WATAUH0HD$ H\$XHl$`Ht$hAMLH@+[HHD$PHt2HHH =HO(2H_0HHGG83H>@oHH IHH(IHH\$XHl$`Ht$hH0A]A\_@UH HHMPZH ]@UH HHMPH H ]@UH HHMPH(H ]H\$WHpHHL$`HD\$nL$jDD$hDL$fDT$bgfffAD\$`D$lT$PD$HL$@DD$8DL$0DT$(L IHHD\$ H$HHp_H(ttH(2H(@WHPHD$@H\$`Ht$hIHHHL$8SD$0D$xD$yH|$ LL$0AHT$xHu0HeD$(D$ E3E3HHL$8 2HtD$0GHL$8H\$`Ht$hHP_@UH HHM8H ]HL$SH0HD$(HD$ HL$Pof\HL$POt*D@HHL$P0D$ HL$PUH&HH D$ HL$P-HH0[@UH HHMPH ]@UH HE te HM@H ]HL$WH@HD$0H\$XAHD$ HL$hvuCf\HL$hRt/D@HT$(HL$hHHL$hHL$(Nf.HL$ht)DHHL$hD$ HL$hH$HT$hH;D$ HL$hHH\$XH@_@UH HHMhH ]@UH HHM(H ]@UH HE te HMPwH ]@SH@HЃH3H$0HLD$ 3H w2ALD$ HAQH$0H3ZH@[@UVWHpHD$8H$HMH3H$`HHHL$@D$ HHD$ AHT$P3߼HT$4HL$PcH[HLúBHHtVLD3HL$Pct'LL$0LD$(HH_ctHT$(HHL3HHH$`H3YH$Hp_^]@UH HE te HM@H ]H\$Hl$ VWATAVAWH@333EADL|Ll$pD$t;s_uEtRLL$0LD$8HT$xID$ t$H z|FAֹߺA;rLl$p3L\$@I[@IkHIA_A^A\_^@SH HH HtHtHH [ðHH [@SH HH HtqHH [ðH [LWH`HD$(I[Is HH3HD$XHHIKD$ ؽD$ H=fu4D$$HT$$HL$8tHT$8HHHHHL$XH3CWL\$`I[ Is(I_@UH HE te HM0gH ]@WHHD$0H$HH3H$HHL$(2D$$D$@HL$@X|$P3H$`H$hH$pH$xDHLǍPH$`HT$$H$иH$`H$u 3/` H$` `HÄt H_HT$ H$``u|$ HL$(;H$H3UH$Hİ_@UH HHM(H ]HL$SUVWATHPHD$HHHE3Dd$@L$ED$f.[D$@AL$@HHu ͺH$HD$8D$0H\$(Dd$ E33AH^=u`H$H׹@HHu _HH$HD$8|$0H\$(Dd$ E33AHa^tHID$SHtYL$L$Hp^uH$HsHʶH$Ht HHHHPA\_^][@UH HE@te@H4H ]@SUVHH|H3H$HHT$8HL$`@2D$8HL$`AH u 3v]H Hi]HHHH$<]HHHD$0LL$@LD$43HL$HD$ D$0E3\uSfffffHT$@AHtt1HD$0ALL$@LD$4HAHD$ D$0\t@HX\L$H\H$@H$H3RHĐ^][@UVWATAUHpHD$(H$H{H3HD$hHHL$0D$ fD$ fD$8 HL$:Hs22fAfD$@ HL$BllfAfD$H HL$JllfAfD$PHL$RllfAfD$XHL$ZllfAfD$` HL$bllfALd$8Hl$:AfffE3HHQ؃tNfffffff3HHfHLAHE$HE3HH؃uHIIuHHL$hH3PH$HpA]A\_^]@UH HE te HM0H ]HL$UVWH0HD$(H\$XHH3ۉ\$ 3HHfHHyH0HL$`mHtHf: wHH;rHHL$`:DHT$hHL$`HHL$`HL$h4HL$`Hcȅu(HHD$ HL$`HjtHDMf8 w HuDHT$hHL$`HHL$`HL$hHT$`H޵D$ HL$`HH\$XH0_^]@UH HHM`eH ]@UH HHMhEH ]@UH HE te HMPH ]@UH HHMhH ]HL$VWATH@HD$8H\$hHl$pIEHHD$ 3HHfHHAH;r!H)HhD$ HHL$(LHL$xHDAHL$(tkDDE+HT$0HL$(MHHL$x޳HL$0WHT$xH7D$ HL$xHL$(HsDHT$0HL$(HHL$xyHL$03HHfHHHT$xH³D$ HL$xwHL$(kHH\$hHl$pH@A\_^@UH HE te HM`'H ]@UH HHM(H ]@UH HHMxH ]@UH HHM0ųH ]@UH HHM0H ]H\$WH@HT$XH69\$XE3HD$hE3HD$0AQHD$(D$ HuTDD$X3ҹHHt9Ht4HT$`HD$`|$`u 3HH3H\$PH@_øH\$PH@_H\$Ht$WH H3A?33lHHu ΰH|$8H|$87AHHHHu #HuHt HhHt HZHt$@H\$0H _H(u?BQB@UVWH HD$hH$ HoH3H$ HHD$XHT$XH$AHHL$HHH$HL$H@23HD$`HD$8D$P D$THL$@HL$0HHL HL$@HL$0H]LD$`HHE3AVHS HD$0HD$pHT$@HL$0mHH]HD$8HD$ AE3HHL$`E3LHS(HD$PHD$(H$HD$ LL$TE3HHL$8:uNH$HL$0HHL$0HtHHL$02u@HL$0pHL$`uHL$8jHL$@NHL$HB@ HL$H2H$ H3DH$ Hİ _^]@UH HHMHH ]@UH HHM@իH ]@UH HHM0H ]@UH HHMpH ]@UH HHM0uH ]H(H kHtHt\HkH(H\$Ht$HL$WH HHcHH|HH3HH˩H\$8Ht$@H _@UH HHM0H ]H\$Ht$WHHkH3HD$x@2HD$hHHD$P3HL$pD$HD$@D$8D$0D$(D@ A D$ @|$p@|$q@|$r@|$s@|$tD$u`tSHT$hLD$`3t|$`HL$h@*AHAAgH΋S HL$hHAAgH΋S @HL$xH3?BL$I[Is I_@WHPDDIDQDY HQIll} @̃ v @ACv @Av @A;v @tA;v @c̍HL$ H\$`DD$ DL$$DT$(D$4D\$,T$0D$@HHu WDO W AlDGDODW} @AB v @AAv @Av @̃;v @̃;v @ABL$ HL$ D$0AT$$DD$(DL$,D$@D$4Hu WDH+HH\$`HP_H\$WHPDA DI DQDYAHcHفl} @̍H v @ACv @Av @A;v @A;v @̉L$0HL$ DD$ DL$$DT$(D$4D\$,D$@HLHD$`u W;HHT$`HL$ HiQLL\$`uLD$4fCflfD$0ffCD$8fCD$,fCD$(fCD$$fC D$ fC H\$hHP_HL$WHPHD$@H\$hHHD$ ID$ HHL$xӤE3HHLHHLD$xH3HL$8LHHL$0d\$Pt6HL$`HL$hHL$XHL$phHt-Ht($H$H$H`H$$ Ht$HH$HL$@Ll$8H|$0D$(D$ E3E3IIτL$PMtHL$`͞MtHL$X|$PtttD$PnEtiAH=@lj|$PuHT$PH HNHt HtxHFHHt Ht\H\$PHL$`6HL$h*HL$XHL$pH$0H37H$H@A_A^A]A\_^]@UH HHMpŞH ]@UH HHMXH ]@UH HHMhH ]@UH HHM`eH ]@UH HHMxEH ]@WHPHD$ H\$`HٹHt Ht2|HHD$(H\$03HD$8HD$@HL$(ϗuN = @HL$hDHlHL$hHL$hHL$h@H\$`HP_@UH HHMheH ]HL$WH0HD$(H\$HHD$ D$ AHT$PHۛH;HHL$PtVAHT$XH LHHL$PHHxHL$PHL$XH<AHT$PHLHtH#HL$PctVAHT$XH{LHHL$P.HHHL$PHL$XHAHT$PHHHHL$PԛtVAHT$XHLHIHL$P蟿HHZHL$PHL$XHAHT$PH.HHHL$PEtVAHT$XH]LHHL$PHH˙HL$PHL$XHAHT$PHH'HvHL$PtSAHT$XHΙLHHL$P聾HHH ]@UH HHMHeH ]@UH HHMPH ]@UVWATAUHHD$pH$HNH3H$HE3Ll$`HL$XՌAAELl$@Ll$8D$0HD$PHD$(HD$hHD$ LD$`AUd3/LHL$`H>AD9l$PLaLl$8Ll$0D$(H$HD$ AM$3wH$HL$XHwH uFHO(AHW0~HW0H RLDHx ffffffffHG ILG IHyH_ AHt[HHG HsL+HGHsHt HHT$XH_L_MtIH_H_I;l$Ps HL$`.HL$X[ HL$XL2H$H3#H$HĠA]A\_^]@UH HHMXH ]HUVWH`HD$0HXH33HXHu:H HH$HuH>H]HHtdD3ҹ HHtL3HD$8HD$@HD$HHD$PHD$XH$HD$ A(LD$83H׋HHIt$XHtHۅHDŽ$H$H`_^]@UH HHH ]HATAUAVHHD$0HXHhHpHx HKH3H$E3Lt$ EH ;HHD$ HuHrHHHOHHH,HLHHHHD$(3ҍJHHD$(HtXD$@8HT$@HՅt;t$HtHT$@HAԅtDl$`HÆHD$(HYLt$ A"HFLt$ 3H4Lt$ 3H$H3 !L$I[ Ik(Is0I{8IA^A]A\@UH HHM H ]@UH HHM( H ]@UVWATAUAVAW@ j1H+HD$8H$ LD2E3L$ H lvHH$ H.H+HJLHL$ HL$@?*$ AH\$@D EIT$Ht;ffffffLBMHAE9u HHuHurIAD;ubDDD$03ҹYHD$ HtBHt=D|$4HD$(E3IHL$ =HL$ Ht HtHD$ H;s -̳HtHL$ H$ H@ A_A^A]A\_^]@UH HH H ]@VWATAUAV0 }/H+HD$ H$` H$x H@2E3L$p H yLH$p HH8HWHL$h HL$0O($h AH|$0?LcH{ u@HK(AHS0LHK0HIITHxfHC HHS HHyHK AHt>HHC LaL1HCAHCHtHHKHKH;s ] @MtIUL$p @L$0 I[0IkHIA^A]A\_^@UH HHp H ]HVWATAUAVHHD$0HXHhHEH3H$HE3Lt$ @2H &LHD$ H[HHHHItHHIaLHHHHD$(3ҍJHHD$(HD$@8HT$@HՅH{H{ uIHK(AHS0LHK0HIITHx ffffffffHC HHS HHyHK AHtHHHC HyL1HCD$HAHCHtHHKHKHT$@HAՅX@HtHHD$(MtI&~Lt$ @H$H3L$I[8Ik@IA^A]A\_^@UH HHM H ]@UH HHM(H ]@SHPH`CH3H$@HHL$ D$ t |$0u|$$u HHkH$@H3;HP[@SUVWATAUAVH HDŽ$HBH3H$ IMLL333A?zHHuTHt$p~HtK3HHfHHt6@2D$pLD$pH$H2$uHt$p.@@HEH$@HEHt$`HD$XH\$PH\$HH\$@Lt$8D$0$ D$(D$ AMIHazHHu ~DŽ$H$}$$vyHH\$pHyLHtMLl$xH {HHD$pHt$HH{HtLD$xHIyHtHO{H\$pHt H4yHt H&yH$ H3 H A^A]A\_^][@UH HHMpH ]@WH`HD$(H$pH@H3H$PD$0HL$0A||$@|$4HD$ H }zHHD$ HuHHSzHHuH:zH|$ 2yAu3PyADAAtH:3HA3AH AHt Ht@@2HyHD$ @2H$PH3H$pH`_@UH HHM nH ]@SH`HD$(H?H3H$PD$0HL$0z|$@|$4HD$ H yHHD$ HuHHxHuHxHD$ 2H @Ht_HtZ3иt@u3wADZ@AtH U@Ht HtzH9@3)@HPxHD$ 2H$PH3!H`[@UH HHM H ]HUVWATAUHHDŽ$HXIHLE3LhLhLhLhLh HHHz2HL$p{H>LD$hH3XuE3AVHW H>HD$`HD$ AE3HHL$huE3AWHW DH>HD$XHD$ AE3HHL$`tE3AXHW H>H$HD$@HD$PHD$8Ll$0D$(?Dl$ E3E3HHL$XuE3A,HW H>H$HD$@H$HD$8Ll$0D$(?Dl$ E3E3H6HL$PtE3A,HW tJH3HHfHэ D$(Hl$ EME3IH$^sE3A-HS HL$p'zHL$xzH$HtsL$HL$PHt rLl$PHL$XHt rLl$XHL$`Ht rLl$`HL$hHtrLl$hH$HĐA]A\_^]@UH HHMhH ]@UH HHM`H ]@UH HHMXH ]@UH HHMPH ]@UH HH{H ]@UH HHMxxH ]@UH HHMpxH ]HHHUVWATAUHpHD$hHXIMHHE3DhLhLhLhLhLh@@ H'wD$dHLD$XH3qE3AVHS HHD$PHD$ AE3HHL$XgqE3AWHS HHD$HHD$ AE3HHL$P&qE3AXHS hHHD$@HD$ AE3HhHL$HpE3A,HS 'HHD$8HD$ AE3HHL$@pE3A,HS H$HD$(HD$`HD$ LL$0E3IHL$8Zp=$tHL3tHHHH$HD$(Ht$ LL$0E3IHL$8oE3A-HS t HH:vDtHL3>t'uHT$`HvHE3A-HP HL$8Ht %oLl$8HL$@Ht oLl$@HL$HHt nLl$HHL$PHt nLl$PHL$XHtnLl$XHHH$HpA]A\_^]@UH HHMXH ]@UH HHMPH ]@UH HHMHH ]@UH HHM@H ]@UH HHM8H ]@UH HEdtedHtH ]HUVWATAUH`HD$XHXIILHE3LhLhLhLhLh@ @IL@H3mE3AVHS YHHD$HHD$ AE3HPHL$PmE3AWHS HHD$@HD$ AE3H'HL$HdmE3AXHS HHD$8HD$ AE3HHL$@#mE3A,HS HHD$0HD$ AE3HHL$8lE3A,HS t]HH$HD$(Ht$ L$E3IHL$0lE3A-HS uH=qE3A-HS HL$0Ht kLl$0HL$8Ht kLl$8HL$@Ht kLl$@HL$HHt kLl$HHL$PHtkLl$PH$H`A]A\_^]@UH HHMPH ]@UH HHMHH ]@UH HHM@H ]@UH HHM8~H ]@UH HHM0^H ]HWATAUAVAWHpHD$XHXHhHpEILHHHmpE3L|$@E2L|$8mHLD$8AW ju^H]oD$(D$ E3E3HHL$8Ht >oL|$8HL$@Ht )jL|$@HL$0 q2LD$HH~3ku^H]oD$(D$ E3E3HHL$8Ht nL|$8HL$@Ht iL|$@HL$0p2D$`HD$HHD$dD$lL|$(L|$ ALD$`3HL$8pju^H]znD$(D$ E3E3HHL$8Ht *nL|$8HL$@Ht iL|$@HL$0o2}AHT$PHL$0nHHwnHL$Pot=HAHT$PHL$0nHHL$0GnHL$P{o9AHT$PHL$0(nHPHmHL$P?ot=HAHT$PHL$0NnHHL$0mHL$PoAHT$PHL$0mHHmHL$Pnt=HAHT$PHL$0mHHL$0WmHL$PnIAHT$PHL$08mHHmHL$POnt=HAHT$PHL$0^mHHL$0lHL$PnAHT$PHL$0lHHHlHL$Pmt=HAHT$PHL$0lHHL$0glHL$PmYAHT$PHL$0HlHHlHL$P_mt=HAHT$PHL$0nlHHL$0kHL$P#mAHT$PHL$0kHHkHL$Plt=HAHT$PHL$0kHHL$0wkHL$PliAHT$PHL$0XkH H/kHL$Polt=HAHT$PHL$0~kHHL$0jHL$P3lAHT$PHL$0jHpHjHL$Pkt:HAHT$PHL$0kHHL$0jHL$Pk|A HT$PHL$0kjHHBjHL$Pkt:HA HT$PHL$0jHHL$0jHL$PFkHE3HHL$0iADH]HL$0jHHD$@HD$ DE3HqdE3A-HS t3IeH]E3IHL$@dE3A-HS DHL$8Ht hL|$8HL$@Ht cL|$@HL$0tjAL\$pI[0Ik8Is@IA_A^A]A\_@UH HHM05jH ]@UH HHM@H ]@UH HHM8H ]@UH HHMPiH ]@UH HHMPiH ]@UH HHMPiH ]@UH HHMPuiH ]@UH HHMPUiH ]@UH HHMP5iH ]@UH HHMPiH ]@UH HHMPhH ]@UH HHMPhH ]@UH HHMPhH ]@UH HHMPhH ]@UH HHMPuhH ]@UH HHMPUhH ]@UH HHMP5hH ]@UH HHMPhH ]@UH HHMPgH ]@UH HHMPgH ]@UH HHMPgH ]@UH HHMPgH ]@UH HHMPugH ]HUVWATAUHpHD$`HXIHLE3LhLhLhLhLh@2@@ IL@H3`AAVHS 6HHD$PHD$ AE3HHL$XE`AAWHS HHD$HHD$ AE3HLJHL$P`AAXHS HHD$@HD$ AE3HFHL$H_AA,HS twHHD$8HD$ AE3IHL$@_AA,HS t>H$HD$(HD$0HD$ L$E3HHL$8=_=tu@HL$8Ht ^Ll$8HL$@Ht ^Ll$@HL$HHt ^Ll$HHL$PHt x^Ll$PHL$XHtc^Ll$X@@H$HpA]A\_^]@UH HHMXH ]@UH HHMP~H ]@UH HHMH^H ]@UH HHM@>H ]@UH HHM8H ]HSUVWATH@HD$8HHE3L`L` L`L`@2HL@H3]E3AVHS HH$HD$ AE3H'HL$0|]E3AWHS HH$HD$ AE3HH$5]E3AXHS tTHHD$xHD$ AE3H{H$\E3A,HS tHHL$x]@HL$xHt L\Ld$xH$Ht4\L$H$Ht\L$HL$0Ht\Ld$0@@H@A\_^][@UH HHM0NH ]@UH HH+H ]@UH HH H ]@UH HHMxH ]LMCIKUVWATAUAVAWHpHD$XI[MILH3D$8ICICD$0Hj`D$8H$H]LD$HHIe[AAVHS L$H]HD$@HD$ AE3IHL$H[AAWHS {H$Xa-HL$P4Lt$ MLHuH$7aHL$P3aL\$0L\$(HD$4HD$ E3E3IHL$@Z=\$0^HL3^LHHD$PHD$`H$HL$P_HHL$@H]HD$0HD$(Ld$ E3E3I ZALHS(t IHM`W^HM3Q^H$FuHT$4H`2HD$PHD$`H$HL$P^_LUALHAR(H$`HR_HIH]LD$HHIRYAAVHS H]HD$@HD$ AE3IHL$H YAAWHS tH$M_-HL$P2Lt$ MLHjH$,_HL$P(_L\$0L\$(HD$4HD$ E3E3IHL$@xX=\$0\HL3\LHHD$PHD$`H$HL$P]HHL$@H]HD$0HD$(Ld$ E3E3IXALHS(t IHB^L\HM3F\FuHT$4H^2HD$PHD$`H$HL$P[]LUALHAR(H$^HL$@HtVHD$@HL$HHtVHD$HHHH$HpA_A^A]A\_^]@UH HHMHH ]@UH HHM@H ]@UH HE8te8HD]H ]@UH HH"]H ]@UH HHMP]H ]@UH HHM`\H ]@UH HHM`\H ]@UH HH\H ]@UH HHMP\H ]@UH HHM`e\H ]@UH HHM`E\H ]HATH`HD$PHXHhHpHx IIE3L`L`@D`H$HL@mUAAVHS HHD$8HD$ AE3HHL$@(UAAWHS H$i[-HL$H.Hl$ LLHH$H[HL$HD[L\$4L\$(HD$0HD$ E3E3HHL$8T؅t1HD$HHD$XH$HL$H1ZLALHAR(H$Z\$0HL$8Ht SLd$8HL$@HtSLd$@L\$`I[IkIs I{(IA\@UH HHM@H ]@UH HHM8H ]@UH HH2ZH ]@UH HHMHZH ]@UH HHMXYH ]@UVWATAUAVAWZH+HD$xH$HH/H3H$MHT$pHE2HL$@{Y3H$H$H$H$D$\DHLǍPH$\HT$\H$eTH$H$[u 3HH$HHmHLHKE3D$HHD$HHD$ L$LD$X3I=ffffffH$HHH$HL$@ZXHHD$8D$0H$HD$(D$ E33A-HXH5H$ f;HHL$PHL$PrWHHL$p蝕H$HL$@Vu+HL$PWHIHHΑWE3HHL$@VVDHT$`HL$@JVHHL$@3VHL$`gWE3H9HL$@ Vt_D@HT$hHL$@iVHHL$@UHL$hWHL$@VHHL$PVHIHHUAHL$PVH8AD$HHD$HHD$ L$LD$XAI.IH"HL$@VAH$H3H$HHA_A^A]A\_^]@UH HHM@EVH ]@UH HHMP%VH ]@UH HHM`VH ]@UH HHMhUH ]HWATAUHHD$hHXHhHp H%H3H$D$pHL$pR$|$t3H|$0H QHHD$0HuHկHPLHtbD3ҹRLHtJ3HD$@HD$HHD$PHD$XHD$`HD$8HD$ A(LD$@3IAԋIRIl$`HyPH|$0H$H3GL$I[(Ik0Is8IA]A\_@UH HHM0H ]H\$WHPHH3H$@HL$ HD$ yQt$|$0u|$$u H׋ H׋1 H$@H3H$pHP_LSUVWATAUAVAWH8HDŽ$HH3H$ MMLHH$H$L$H |I3I0I8I(I I@IǃH HL$PHD$hHD$pHD$`HD$XHD$xIǃ DŽ$IhIPt0$u$uH$ H$H$HfffOHl$`HL$pHuSDAH$HL$xH$H RLDHx!HL$pfffIIHL$pIHyHL$p3HtKHHD$pHiHHD$hqHD$`HtHHL$XHL$`H?HGH$<$D$@L|$8$D$0Ht$($D$ $DMII!D@ Hl$XH@H}F9HSHt>fffffLBMH3ɋA9u HHu Hu3KADAtHsH{ uHHK(AHS0@HS0H RLDHx"fffffffffHC ILC IHyHK 3HtVHHC HqHHCAHCHtHHKHK3H$HmHtH>DŽ$H$sM$$3H$H KHH$HueHwH~KHuHhKH$=H /Ht HtHАH=KH$33 333H$Ht fffHHuH$H$H$H$H$sH$HD$XHtHHuHt$hHt$pHt$`Ht$XHL$x;Ht$xHxH\$PHD$XHtHHuHt$hHt$pHt$`Ht$XHL$xHt$xH$H$HtHHuH$H$H$H$H$H$AH$ H3H8A_A^A]A\_^][@UH HH tH ]@UH HHMPsH ]@UH HH{H ]HVWATAUAVHHDŽ$HXHh HL5ULpE3L`L`L`L`L`H@ L-F`Ll$ Ld$(D$0Ld$8Ld$@L`H@ HHH LH\$`HtffffHKMHHuLd$pLd$xLd$hLd$`H$5L$HL$(HteAD$0tZIfffffffffHH$Ht.HKLHLH[H$HuۋD$0HL$(H;rLd$(Ld$8Ld$@HL$HLd$HLD$ HT$XHQtfH$KHH\$`HtKfH{Ht:Ht5HKHHJA̅u HHtHt @ ,@2H$KLl$ HL$(Ht`AD$0tUIffffffHH$Ht.HK}KHsKH[H$HuۋD$0HL$(H;rLd$(Ld$8Ld$@HL$HLd$HLt$XH\$`HtfffHKKHHuLd$pLd$xLd$hLd$`H$5L$@L$I[0IkHIA^A]A\_^@UH HHMXNH ]@UH HHM H ]@UH HHbJH ]@UH HHlH ]@UH HH"JH ]@UH HHHIH ]@UH HH{lH ]@UH HHIH ]@UH HHHIH ]@SH0HD$ HHHtlHtgEtISH  MH Ht-Ht(D$XHT$XE|$Xu 3H FHKDH<H0[HT$UH HHH ]HWATAUAVAWHHD$HHXHhHp H H3H$HDE3L|$ 2H 9DLHD$ HkHqHDHHNICHH+ICLH)H HHD$(3ҍJHHD$(HD$P8HT$PHօffffffHMDD$XHt+fHQHAD9u H HuHufD;l$pu_DD$@3ҹDHD$0HtBHt=D|$DHD$8E3HHL$0HL$0Ht HtBEHD$0HT$PHAօt Ml̳HtHEHD$(MtIBL|$ H$H3xL$I[0Ik@IsHIA_A^A]A\_@UH HHM >H ]@UH HHM(.H ]H%IHT$WH0HD$ H\$@Ht$XHE3f.HpEE3f.HWEDHT$PHDHEHHHL$PEE3f.HED@HT$PHDHEHGHL$PEHEHG3Fw HsE+ ut t2u HSE HFE2H\$@Ht$XH0_@UH HHMHEH ]@UH HHMPDH ]@UH HHMPDH ]H\$WH HHHHAHtHHu3HyHy HyHyHI(H{(H\$0H _H\$Ht$WH HHHHAHtHHu3HqHq HqHqHI(n@Hs(tHDHt$8HH\$0H _@WH0HD$ H\$HHt$PHH{HHD$@Ht1H@@HFHHuHt3HHuHHH\$HHt$PH0_@UH HHM@nH ]H(H HtHPH(HT$WH0HD$(H\$PHH3D$ HD$@HHT$@PXyL H׋gHD$@HD$ HH\$PH0_@UH HE t e HMHPH ]HT$WH0HD$(H\$PHH3D$ HD$@HHT$@yLfH׋HD$@HD$ HH\$PH0_@UH HE t e HMHH ]HT$WH0HD$(H\$PEHH3D$ HD$@HLD$@AP8yLH׋!HD$@HD$ HH\$PH0_@UH HE t e HMHH ]HT$WH0HD$(H\$PHH3D$ HD$@HHT$@yL^H׋HD$@HD$ HH\$PH0_@UH HE t e HMHpH ]H\$Hl$Ht$ WH0HH AHIHtHPDHHtQHD$@L HD$ }DxLHL$@DxHL$@HŸLHHL$@HPL H|$ 1D؅yHHl$PHt$XH\$HH0_H\$ UVWATAUH B LHШHQI LfMfffI|$HAE Шt4ffHIH;BDDHHl$XfffffHIH;BDDHlI+uKHl$XffffffAHII;DBBD;AJlH+uL9~ H\$XH~u>HV0HN(AVHV0H RHLDxffHF ILF IHyHN HtQHHF HyL9HFHYHFHtHHNMHNL|$`Lt$PH\$hH A]A\_^]3ҍJiLMCISUVWATAUAVAWHHDŽ$I[IMLHӜICE3M{M{M{M{M{IC HD$ L|$8L|$@L|$0L|$(L|$HHD$P L$I\$HffH{HMIyH ]HL$WHPHD$0H\$xH3&t%HOHD$(D$ E3E3`2IH_AE3HXHt%HOHD$(D$ E3E3`2H;u @H;H3HyLSH׋yH;u @YH;HfH@yLH׋AH;u @!H;HfH0yLH׋ fD$8fD$@HD$hHD$pHBHL$hPHH;u @H LD$8H}HL$8A$2H\$xHP_@UH HHM8nH ]@UH HHMpNH ]HT$UH0HHE`HHHD$(D$ E3E3`HlH0]LUVWATAUAVAWHHDŽ$I[ELL3l$0H5(I8IPIXIHI@I`Iǃh HI[ ICICM茳HH$XHtHh@H HHH$Hu "I~u @INL$HT$8jH|$8u#INHD$(D$ E3E3I|$t[A9l$vRID$H<(H$PHt,fffffHOHHH$PHuۃHA;t$r3IL$aIl$Il$Il$ IL$(Il$(DH|$8Hu@,H|$8$PHH$PHP@yL}H׋ D;$PH$HtHO=H?HuH$H$H$H$H$XH$HL$8Hu@HL$8EH$HH;t(HHH$hHtHPHt HHPH$HtHPHu @H$H|HHtHHH 1@H$HtFGu)Ht$HHtc HOHt議HEH$H$h@AH$諏Hu @lH$HLMtM LIL$IIPHH$HGu)Ht$HHtHOHtH華H$H$hHu @H$H+HHtHHHL$@\H$HtFGu)Ht$HHtHOHtdHH$H$hHL$@HH$cHHL$@JH${L\.L\$HHl$PD$XHl$`Hl$hHl$pHD$x HL$PHthD$Xt^3ffffffffffH<H$XHt.HO HHH$XHuۋD$XHL$PH;r33kHl$PHl$`Hl$hHL$p Hl$pEubHu @9H$HL$0HHtHHH $.uHL$@OH[t@@2D$0tXd$0H$HtFGu)Ht$HHtRHOHt蜭H4H$H$h@HL$@HLD$HH$ۿHu @DH$HLMtM LIL$IIPHH$HtfGu)Ht$HHtHOHtӬHkH$H$hINHD$(D$ E3E3Hu @茿H$HHHtH9HHL$@HI|HHH$HtFGu)Ht$HHtHOHt H襫H$H$hH>+HD$HHL$PHt_D$XtU3fffH<H$PHt.HOHHH$PHuۋD$XHL$PH;r33{Hl$PHl$`Hl$hHL$pHl$pHL$@A HL$8Ht HPHl$8HtHHPHH$hH5|H5sI|$@HL$8HtHPHt HHPH$H$HtHK*HHuH$H$H$H$H$EH$@H$`HA_A^A]A\_^]@UH HH[SH ]@UH HHhkH ]@UH HHX諩H ]@UH HHPH ]@UH HHM8H ]@UH HHP8H ]@UH HHPH ]@UH HHPHH ]@UH HHH ]@UH HH+H ]@UH HH H ]@UH HHH ]@UH HHM@5H ]@UH HHH ]@UH HHMHH ]@UH HHXk7H ]@UH HHXH ]@UH HHXHH ]@UH HE0te0HH ]@UH HHH ]@UH HHH ]@UH HHP6H ]@UH HHPH ]@UH HHPHH ]@SUVWATAUAVAWHX HDŽ$HH3H$@ IMLHL$ H$HwA.H$HwAE3IH\$hfD$0 IHwHHD$ L$DBH$0L$L$AN苦HH$Ht-Lp@H$0HHu,IH$Hu H}u @HML$HT$HXIHHMHD$(D$ AE3HL$PHL$@HL$XHu@HL$XDH$HH;t%HHHL$hHtHPHt HHPH$HtHPHu @豴H$HHHtH3H$ HHL$@ H$ H$HtGGu)Ht$HHtHOHt)HHDŽ$H\$hH1qHL$@ uH qHL$@( HL$@ HL$@" HH t4H$HD$pHT$@H$6 HHH$HD$pH$H$HT$@H$ HHT$PH$ Dt$0Ll$(Ld$ LLIHkHL$Pw HL$@k HL$xC H$H. HLD$@HL$x# H$ HEH8HL$x LD$0D$(D$ E3ɺ HMWHL$x HL$P HL$@ RHL$HHtHPHD$HHt0HHP3H\$hHMHD$(D$ E3E3I|$@HL$XHtHPHL$HHtHRHtHHR@@H$@ H3£HX A_A^A]A\_^][@UH HHMhH ]@UH HHH ]@UH HH;H ]@UH HHMH^H ]@UH HH蛝H ]@UH HHH ]@UH HHMXH ]@UH HHM@ H ]@UH HHMP H ]@UH HHH ]@UH HH;H ]@UH HH H ]@UH HH;H ]@UH HHH ]@UH HH" H ]@UH HHMp H ]@UH HHMxH ]@UH HHH ]@UH HHMpH ]@UH HHH ]@UVWATAUAVAWH` HDŽ$0H$ HH3H$P HLE3D|$H@2H$L|$PL|$XHEHuIHEHcHH\)H HEHL33譪HEHcHHL)AE3HEH$HPp|$HHt_HEH$HPpLؿ|$HHEHcHH\)H I-HHEHcHHL)AE3t2@t|$HH$@t|$HH$'fDŽ$@ HEH$(HHHD$ L kDBH$@H$(zL$L\$xHH$Ht-Lx@H$@ HHuIH$Hu 褬I~u @蒬INL$HT$@H\$@HuKHEHcHHL)HD$(D$ E3E3HL$@HHPH\$PH|$XD|$hHHT$hHP@yLdHӋ|$hu`HL$@Ht HPL|$@HEHcHHL)HD$(D$ E3E3HL$@HfHPH\$PH|$X[H$HL$`HL$pHi H$EEH\$PH|$XHt$@Hu@6Ht$@D$HH$HP@yLcH֋D;$HL$@Hu@HL$@EH$lHH;t%HHHL$PHtHPHt HHPH$HtHPHu @|H$HHH;t%HHHL$XHtHPHt HHPH$HtHPH$HD$x8HH$ HtLx@H h车HIH$Hu ΩHu @辩H$HHH8u @蛩HL$H$3HH8u @pH$HH0HtH~u HاHFHVIHL$`PH$HtHFu)Ht$HHtHNHtH茕L$H\$PH|$XH$HtHPH$HtHPH$HHL$`H$H$ 處HHD$xHtLx@H f!HIH$Hu 2Hu @"H$HHH8u @HL$H$HH8u @ԧH$H4H0HtH~u H<HFHVIHL$pH$HtHFu)Ht$HHtHNHtXHL$H\$PH|$XH$HtHPH$HtHPLD$pHT$`H$#HuHJHHV`H$@@t-AHheHL$p-uHT$`H$gfffAЍ D;u3HEHu AH$}@H$HHEH$H$IFH0HH$YLD$0D$(D|$ A}@INHL$@Ht HPL|$@HtHHPIH\$PHtHHPIL|$X@H$H$HL$pHL$`H$HL$@HtHP H\$PH|$XHt HHPHt HHRH$x@H$P H3 H$ H` A_A^A]A\_^]@UH HH2H ]@UH HHMPH ]@UH HHMXκH ]@UH HEHteHHH ]@UH HEHteHHH ]@UH HH(rH ]@UH HH苐H ]@UH HHMxH ]@UH HHM@H ]@UH HHH ]@UH HHM`H ]@UH HHMpH ]@UH HHH ]@UH HHKH ]@UH HH+H ]@UH HH kH ]@UH HHMxH ]@UH HH˸H ]@UH HH諸H ]@UH HHKH ]@UH HHMxΎH ]@UH HH  H ]@UH HH+H ]@UH HH H ]@UH HHH ]@UH HHH ]@UH HHH ]@UH HHH ]@SUVWATAUHHDŽ$HH3H$IILHH$H$ E3Dl$`H%D$`HHL$@HHL$hfD$HL$@t?HL$htt0HD$hHD$(HD$@HD$ LͺDBH$PHL$@5t&HD$@HD$ LͺDBH$ALAQH$8HD$PHD$xHH$Ht-Lh@H${HHu蹟IH\$PHu 蠟H~u @莟HNLD$PHT$H HL$HHjH$( 8EHL$XH~u @?HT$xHNqHH8u @HT$pH HغH$HHHtH{u H rHCH[IH$HLHL$XH$H\$pHt;Cu)Ht$H Ht)HKHtsH Ll$pHL$xHtHPHFHHL$XLD$0D$(Dl$ E3ɺHNSHL$XHIGH$eHHtHIIH$Ht>Cu)Ht$H HtUHKHt蟊H7L$HL$HHt HPLl$HHL$HHtHRHL$hHL$@IH$H3OHA]A\_^][@UH HE`te`HdH ]@UH HHM@EH ]@UH HHMh%H ]@UH HH;H ]@UH HHMx~H ]@UH HHMH螲H ]@UH HHMXH ]@UH HHMx^H ]@UH HHMpH ]@UH HHBH ]@UH HHH ]HT$SUVWATAUAVHHDŽ$ILLE3Dt$(ILt$0IH\$8HL$ HD$`H$AN_HH$(Ht-Lp@HHHuHtIHt$`Hu I|$u @ԚIL$LD$`H$-HHtHHL$0HPH$HtHPHBD$HH$HP@yL5SH׋k$EfffffffD$(HH$(HP@yLRH׋"D;$("EH$H葱HH;t%HHHL$8HtHPHt HHPH$HtHPHL$@HD$PH$HD$XH$褆HH$HtLp@H Y)HIHt$PHu =Hu @-H$HHH8u @ HLD$PHT$xHH8u @HT$HHHHHH$HtLp@H QWtHIHt$XHu 舘Hu @xH$HhHH8u @UHLD$XHT$pHH8u @0HT$hHLMMtM MHHtLMHJXHL$@OHt$hHtEFu)Ht$HHtlHNHt趄HNLt$hH|$0H\$8HL$pHtHPH$HtHPHt$HHtEFu)Ht$HHtHNHtBHڃLt$HH|$0H\$8HL$xHtHPH$HtHPHT$@HL$ GHL$@SAHL$ D@H$HL$ HHL$ H$ LHASLt$0HtHHPIH\$8HT$ ID$(HL$ Ht HHPI5H@ID$(HL$ Ht HHPIHA^A]A\_^][@UH HHM0H ]@UH HHM8H ]@UH HHM H ]@UH HH(H ]@UH HH[H ]@UH HH{H ]@UH HE(te(HtH ]@UH HH+H ]@UH HHM@5H ]@UH HHKH ]@UH HHH ]@UH HH諪H ]@UH HHMx莪H ]@UH HHMH.H ]@UH HH諀H ]@UH HHH ]@UH HH H ]@UH HHMpH ]@UH HHMhH ]@UH HHH ]LD$HT$SUVWATAUAVAWHxHDŽ$`MLHHL$HcHL$@WH$HH$H$HH$Ht3Hx@H S脏H3HH$Hu 蓒I<$u @聒H$@I $pHH8u @]H L$H$PHH8u @2H$H HHtHHHL$HFH$Ht<Cu)Ht$H HtHKHt~Ha~H$H$PHtHPH$@HtHPH$H$~HHD$PHtHx@H eR$HHH$Hu 5I<$u @#H$HI $HH8u @H L$H$HH8u @ԐH$H 4HHtHHHL$@H$Ht=Cu)Ht$H Ht#HKHtm}H}H$H$HtHPH$HHtHPHL$@HHYuD$HL$@ZHHPDDDH$H$|HHD$PHt,Hx@H PZHHu蘏HH$Hu |I<$u @jH$8I $YHH8u @FH L$H$HH8u @H$H {HHtHHH$,H$Ht=Cu)Ht$H HtgHKHt{HI{H$H$HtHPH$8HtHPH$H${HHD$PHt,Hx@H OHHu)HH$Hu  I<$u @H$XI $HH8u @׍H L$H$oHH8u @謍H$H HHtHHHL$`H$Ht=Cu)Ht$H HtHKHtEzHyH$H$HtHPH$XHtHPH$H$zHHD$PHt,Hx@H MHHu轌HH$Hu 行I<$u @菌H$I $~HH8u @kH L$H$(HH8u @@H$H 蠽HHtHHHL$h\H$Ht=Cu)Ht$H HtHKHtxHqxH$H$(HtHPH$HtHPH$H$xHHD$PHt,Hx@H LHHuQHH$Hu 5I<$u @#H$I $HH8u @H L$H$藿HH8u @ԊH$H 4HHtHHHL$XH$Ht=Cu)Ht$H Ht#HKHtmwHwH$H$HtHPH$HtHPH]HL$HHHS0DIFHcHJL1HD$(D$ EME3HL$XGHL$h;HL$`/H$ HL$@HL$HI $HtHP2DeHD$xH$vHHD$PHt,Hx@H IHHu/HH\$xHu I<$u @H$ I $HH8u @H LD$xHT$p~H$ HtHPHL$pHH$HHtH H DH$Ht;su)Ht$H HtHKHtMuHtH$HL$pHt HPH|$pHL$pHtHPH]HL$XaHHS8H$HBHcHHLHD$(D$ DME3HL$X!HL$hHL$` H$HL$@HL$HI $HtHP2hAH$0H$wHHH$0tOH$DHAH$H$yHH$H$8LHH$DH$H6H$HHL$hHHL$`HDt$8H\$0l$(Dl$ ELH$VXHL$XHL$hHL$`H$HL$@HL$HuI $HtHPHxA_A^A]A\_^][@UH HH H ]@UH HHMHH ]@UH HHM@H ]@UH HHH ]@UH HHqH ]@UH HH+H ]@UH HH@KH ]@UH HHP+H ]@UH HH˳H ]@UH HHMPNqH ]@UH HH苳H ]@UH HHH諚H ]@UH HH苚H ]@UH HH+H ]@UH HHMPpH ]@UH HHH ]@UH HH8 H ]@UH HHH ]@UH HH苲H ]@UH HHMPpH ]@UH HHKH ]@UH HHXkH ]@UH HHKH ]@UH HHH ]@UH HHM`5H ]@UH HHMPNoH ]@UH HH英H ]@UH HH諘H ]@UH HH(苘H ]@UH HH+H ]@UH HHMhuH ]@UH HHMPnH ]@UH HH˰H ]@UH HHH ]@UH HH˗H ]@UH HHkH ]@UH HHMXH ]@UH HHMPmH ]@UH HH H ]@UH HH +H ]@UH HHMpH ]@UH HH諯H ]@UH HH0H ]@UH HHH ]LVWATAUAVHHDŽ$I[IkILLE3IH\$XHD$PICAN(mHH$Ht-Lp@HHHuHtIH|$PHu HD$PH$I|$u @I|$fDŽ$HD$PHtHIHL$HyL18H׋W$H|$PHt@Gu0Ht+HHtHOHtlHkH\$XH\$XfRHL$`-I|$u @~H$IL$HH8u @~HT$hH HغH$#HHtHIHHLHL$`H$H\$hHt8su)Ht$H HtHKHtkHjLt$hH$HtHPID$HHL$`8LD$0D$(Dt$ E3ɺIL$SHT$`H$KH^H$qHD$xH$jHH$Ht,Lp@H >HHuE}IH|$xHu ,}I|$u @}IL$LD$xHT$@uH|$@Hu@IEHcHJL)HD$(D$ E3E3HL$@HtHP2D$HH$HP@yLf5H׋|$T@AffffffH|$@Hu@\|H|$@Dt$HHHT$HHP@yL 5H׋?|;t$HHL$@Hu@|HL$@DH$蜓HH;t%HHHL$XHtHPHt HHPH$HtHPHD$pH$H\$pHt HHPI$LD$pIIPPt @2HL$@Ht HPLt$@HtHHPIH\$XHL$@HtHRHt HHR@HL$@HtHP2L$I[8Ik@IA^A]A\_^@UH HHMXH ]@UH HH[gH ]@UH HH蛩H ]@UH HH{H ]@UH HHM`H ]@UH HH{H ]@UH HHMhH ]@UH HHbH ]@UH HH{fH ]@UH HH軨H ]@UH HHM@ޏH ]@UH HH軏H ]@UH HH蛏H ]@UVWATAUAVAW|H+HDŽ$HH$HH3H$pL$LLHL$hE3D|$xH$(HL$0HL$@H$H$HL$`H$3H$3H$3H$E3L$3H$D$SHD$SHD$(H=HD$ LLSH$pIHHL$@7H$phHL$@;!@l$ZHD$ZHD$(HHD$ LLRH$IHHL$@H$M.HL$@HIAMH$IASpHHH$4HHL$0mH$MIAD$tDŽ$H$H$` MH$@IASpM.H$` HIAH$@'MIAIH$8ILHqu3If=*uAE2H$8EIIP7IItIL-)IIPIFHcHJL1HD$(D$ AE3oH$JHL$`>H$/H$ HL$@HL$0H$2jIH$`IHHL$@H$`HHL$@^t!M.HL$@HIAUL-#%IL-IIPL-L-IIHu IIIPD$\IH$IHLHL$0LHD$\HD$(Ll$ LNH$HL$hSHHL$@H$H$M.HL$@HH vNIAMIAteDŽ$H$H$` gH$` H$p)M.H,HIAH$p D$UIH$0IHLHL$0LHD$UHD$(Ll$ LLH$HL$h'HHL$@pH$H$0M.HL$@tHIAD$KIH$IHDLHL$06LHD$KHD$(Ll$ LeKH$HL$hHHL$@H$H$HL$@HHL;uD$[IH$IHLHL$0LHD$[HD$(Ll$ LIH$HL$hHH$H$NH$?H$!HHKu I3IP0D$MIH$IHLHL$0LHD$MHD$(Ll$ LHH$HL$hHH$dH$H$H$hHH>KuIIP0D$WIH$(IH#LHL$0LHD$WHD$(Ll$ LdFH$Ll$hI_HHL$@H$H$(HL$@HHJf$P IH$IHqHHL$0cHl$(HD$ L DDBH$PsH$HEHu{oE3IH$Hu \oI}u @JoIML$H$衡HHtLH$HPH$HtHPMu,IFHcHJL1HD$(D$ E3E3#HNCH$AfffffffD$I$H$IP@yL['Iԋn;$DH$IHH;t(HHH$HtHPHt HHPH$HtHPH$H$'[HH$HtLx@H aBjHIH$Hu mHu @mH$H蝄HH8u @mHL$H$"HH8u @_mH$(H连HHtHIH$xH$(HtNGu)Ht$HHtHOHtYHYL$(H$L$H$HtHPH$HtHPf,H$CH$mD@H$H$HH$H$M$IASL$HtHHPIH$D$OIH$IHSHHL$0ELHD$OHD$(H|$ LD?H$IHHIH$ H$D$^MH$IAHHHL$0LHD$^HD$(H|$ L=H$ IHHH$ |H$mD$QMH$IAH9HHL$0+LHD$QHD$(H|$ L H$/D$LMH$(IAHLHL$0LHD$LHD$(Ld$ L ,H$IH$L3IW8EtI>H$ɱLIW8HEHPL$Ht&HHPIH$H$H$H$H$D$THL$0^LHD$THD$(H-Hl$ LH$I覶HHL$@H$ HL$@HH1mD$VHL$0ݰLHD$VHD$(Hl$ LH$8I,HHDH$8D$XHL$0LHD$XHD$(Hl$ LH$HIϵHMHH$HDDIAIP MIAAE2Ht HHPHt HHPHt HHPH$ܯHL$`ЯH$H$HL$@HL$0H$AH$pH3 HH$HĀA_A^A]A\_^]@UH HHBH ]@UH HHM0%H ]@UH HHM@H ]@UH HHH ]@UH HH®H ]@UH HHM`H ]@UH HHH ]@UH HH;kH ]@UH HHkH ]@UH HHjH ]@UH HHjH ]@UH HHjH ]@UH HHp­H ]@UH HHH ]@UH HHH ]@UH HH@bH ]@UH HH8BH ]@UH HH`"H ]@UH HHH ]@UH HHH ]@UH HHp¬H ]@UH HH0H ]@UH HHH ]@UH HHbH ]@UH HHBH ]@UH HH"H ]@UH HHH ]@UH HHH ]@UH HH«H ]@UH HH(H ]@UH HHH ]@UH HHbH ]@UH HH8{>H ]@UH HHH軀H ]@UH HHgH ]@UH HHgH ]@UH HH=H ]@UH HH;H ]@UH HH[gH ]@UH HH;gH ]@UH HH(H ]@UH HH"H ]@UH HHH ]@UH HHH ]@UH HH©H ]@UH HH H ]@UH HHH ]@UH HH0bH ]@UH HH@BH ]@UH HH"H ]@UH HExtexHH ]@UH HHPҨH ]@UH HH`H ]@UH HH H ]@UH HHxrH ]@UH HHhRH ]@UH HH2H ]@UH HHH ]@UH HHH ]@UH HHҧH ]@UH HHH ]@UH HHH ]@UH HExtexHdH ]@UH HHBH ]@UH HH"H ]@UH HHH ]@UH HH(H ]@UH HH¦H ]@UH HHH ]@UH HH8H ]@UH HH9H ]@UH HH{H ]@UH HHHbH ]@UH HHXbH ]@UH HHbH ]@UH HHh¥H ]@UH HHxH ]@UH HHH ]@UH HH8H ]@UH HHzH ]@UH HHaH ]@UH HHaH ]@UH HH8H ]@UH HH[zH ]@UH HH{aH ]@UH HH[aH ]@UH HH0yH ]@UH HH{7H ]@UH HHyH ]@UH HH`H ]@UH HHH ]@UH HH8£H ]@UH HHHH ]HL$UVWATAUAVAWHHDŽ$H$`IHHHHH#HHE3L~HHNH~H}dfDŽ$HBH$HuHt vIH~u @dIH^fDŽ$XH$H$HHHAHBHAHBHL$XH$HyLHӋIf$XH$HL$@"H~u @HH$HN`HH8u @HHT$hH wHHtHIHL$@H\$hHt9Cu)Ht$H HtHKHt95H4L|$hH$HtHPHL$@D@H$HL$@'HHL$@H$AHL$xH~u @GH$HN_HH8u @GHT$pH wLH~u @wGH$HN_HH~u @RGH$HN_HH~u @-GH$HN\_LH~u @GH$HN7_LI $HtL!MH;u @FHD$hHH$hHP`yLlHӋF$hD$`H}u @FH]D|$HHHT$HHPXyL$HӋjFD|$HI}u @DFI]E3Dl$PHHT$PHPhyLHӋ%Fl$PM9.u @FIDl$LHHT$LHP8yLHӋE\$LHL$@ LLd$8D$`D$0D|$(l$ DHu!HL$xH$HtHPH$HtHPH$HtHPH$HtHPH\$pHt8{u)Ht$H HtʡHKHt2H1Ll$pH$HtHPHL$X9H$vqHHL$x HHHLHL$X H$L^IHL$XLD$0D$(Dl$ E3ɺHNSHT$XH$HO%H$r8HH$`HA_A^A]A\_^]@UH HHPH ]@UH HHPHNH ]@UH HHPHZH ]@UH HHVH ]@UH HHM@H ]@UH HHYH ]@UH HHMhNrH ]@UH HHH ]@UH HHMxuH ]@UH HH+YH ]@UH HHMpqH ]@UH HHXH ]@UH HHXH ]@UH HHXH ]@UH HHXH ]@UH HHMXH ]@UH HHrH ]HT$WH0HD$(H\$@AHD$ HD$ H|HHH̚H|HHHgH[HHRH.HH=HHxH(HHcHHHNHH\$@H0_ff{ ||r|3|r|r|r|H|r|r|r|r|r|r|r|]|@UH HE te HMHH ]@UVWATAUAVAWHPHD$@H$EHHHL3HIfHLiE퉄$A8F .DHL$HHN`,t.$t#VA+;s FF FH$EH$QlHHHHDH$H$HVhHBHcHH\HH$LHGHcHHL9D$0D$(D$ E3ɺES2H$HHtHnH+HdžF Ht$ L$EIHN`d=uF HHtHH5+F H$ӗEH$kHHDH$H$HVhHBHcHH\HH$yLHGHcHHL9D$0D$(D$ E3ɺES2H$L7FD+$D;s FDfFHtHHK*EtHN`tH$HPA_A^A]A\_^]@UH HH–H ]@UH HHH ]@UH HHH ]@UH HHbH ]LL$ HL$UVWATAUAVAWHpHD$HH$AHLH(IL$0IL$@ەIL$HϕIL$PÕIL$pH$H$IL$(H$IL$0qD$E\$8HIL$pQIt$hH$HAL$9$A$A$3Il$xI$Al$ 3I$ID$ID$ID$Hl$0D$(@D$ E3ɺ@DEH$HID$`H HL$@gHغ@H$gHHL LH$H$HL$@uM\$hICHcHJ|IH$BLHCHcHHLD$0D$(l$ E3ɺ@WH$H$KHH$.f$3f$Ƅ$Ƅ$H'H$HtH$HHE3HIdH$xAl$XHIL$@TH$IL$HAL$HIL$PG$ID$PHD$(ID$HHD$ ML$PLH6H$M\$hI;IL$(HH$ܒHD$8D$0HD$PHD$(Ht$ ALIL$huhHL$@eHېHHDH$|HL$@xH$HL$@HHL$@-ID$PHD$ LMD$HHH$$M\$hI;IL$( HH$HD$8D$0HD$PHD$(Ht$ ALIL$huhHL$@eHHHDH$HL$@H$HL$@HHL$@8,ML$PMD$HHfH$HM\$hI;IL$(-HH$HD$8D$0HD$PHD$(Ht$ ALIL$huhHL$@$dHHȐHDH$HL$@H$HL$@ݏH6HL$@\+̹ @E$HHD$@HtpIL$hHt HAHcPHl IL$PJHIL$HHl$XfffffHIH;BDjDHlI+uKHl$XffffffAHII;DBBD;AJlH+uL9 H_uCHW0HO(AHW0H RHLDxffffffHG ILG IHyHO HtVHHG HYL9HD$XHGHAHGHtHHOMHOL|$`Lt$PH\$hH A]A\_^] 3ҍJHL$UVWATAUH0HD$ H\$pHHE3HL- fffHHv@H_HtHKHHuHGHt fffHHuLg Lg(LgLgHO0WLg0H|$hLoHGHtHHuLg Lg(LgLgHO0 Lg0HÄHHZHHtHHL}9u HM`H]xHtHtHHMpYHMPNHMHCHM@8HM0-HM(H\$pH0A]A\_^]H%@UH HHM`H(H ]@UH HHM`H0уH ]@UH HHM`H@H ]@UH HHM`HHH ]@UH HHM`HPqH ]@UH HHM`HpQH ]@UH HHMh5H ]@UH HHMhH*H ]HVWATHHDŽ$HXHh HGDH3H$HHHHL$`E3Ld$HHt*ffffHHH\$VH Ht=DAL H|$0@t HKHCH|$0H\$8H ^J @tH\HH\$8H ^%jH\$Hl$Ht$H|$ ATH IY8HMHLCIHIEfD[uAAEtLMHHH\$0Hl$8Ht$@H|$HH A\fffffffH; (uHfuH%iH\$DD$HL$VWATH@IALHك|$pxI+H\$`HH\$hH@A\_^@UH HHM8HM(HE(HHM0HE08csmt E E wH ]LL$ DD$HT$SVWATH8MIcHD$ HHHH\$`ffffff|$pxH+H\$`HAD$ H8A\_^[@UH H} uLMxDEpHUhHM`H ]H\$Ht$ HT$HL$WATAUH0MALH3ۉ\$ \$$;}HAIH|$P\$$D$ H\$`Ht$hH0A]A\_@UH H} uLMpDE$HUXHMP,H ]%g@SH HH x.fHD$8Hu Hf~H J.fHD$8H 0.fHD$@HtfHLD$@HT$8HHL$8TfH-HL$@BfH-uHH [@UH HYH ]H('H؃H(%f%pf%\f@SH AHLDLAtA@McPLHcL#IcJHCHHKAt HLL3IH [KH(II8ML‹DAtALcALHcL#IcN IBHIJAt HHI3HH(%deH\$Hl$Ht$H|$ ATH MQ8HMAHIHHII\LEfDuAAEtLMHH4H\$0Hl$8Ht$@H|$HH A\%fc%bcH(H8csmu+xu%@ = t=!t="t=@u3H(H(H o_3H(%1>P>p>>> >> ??0?.d4 pb B@B@A!t >  0rP, d/4-& p] " T4 p`3`P9  4 pd 4 r p% %d!T4 p401KXyd T 4 rp4 @`P) d4 p+d 4 Rp40^ R05@, R0@5 R0h5" "4 p`P5@`#FVt  4  p`P!D@!tD@ 4  ``P  rP86d4 p86X`!4p`Pp6Pp@h&4 p `P6  ,Z 4 RpH8   O ^  T4 p`9  G  p`0P9 P,;$@ p`P090Pp2U!`!4`  d 2pP, d4 pTp\pCpKdpl p3p/ ] p`P0< P"p"""""#0#P#p#####$0$P$UL_My D W  b  ! ,!Y!l!!!!!"!$$ !  dT4$$ pp`0=0)P)p))))`%%%%%%+&[&|&&& ')!*K*!  ! "#T+*K* $p`0`  rPP>4 pP>Dp0X@0@/c//0!01!1T1!d 1T1!t T 01B 04px>33404P402S2g2w22223X3t33dT4p>667p444455676w6664 p>8878#8?88 R0x?99999  T4 r p`?::9:""d T 4 rp?;:;**4 d 2p  4 2p b@ ??!?@\!?@\!  T4@?g?!4@?g?  d 2p!AA!4AA!4AAB p `4 p`P@ FPFpFFFG0G`GGG G H @H@BcBBB C&CCCgCCCCC(DLDuDDDD E E:E WE {E E E E EE p`0A@JJ JpJJJHHHHHHI@>`888888888 99 (9 69 D9 9 99;4R p`PTBBBC C@C`CCCC C D D @D `DDDDD E E@E `E EEp>>??:@@ @@ :A uAA A A A BB B.Bzzz{{'{9|E|Q|`|' '4 p`P`_ @`0P} ~~$~3~~ .$FV q}ȃ׃ p`P0p`0PpЉpHy^p$ $T4R p`` @` @F̊׊Nz 3m ԍ4p`P` @`  Pp0?\nǐِ(Rd ) Y q Гߓ9 '4i` p`P`0PpШ @`\|ԖNP.Q 6 L Ԡ GWu%eR0a@1d 4Rpa`= +d%'T$#4# pb @`   0Pp0#/;Mծkz ͯ0 = H8JViӲʳֳ?[l $0<! !4 p`P@b@p0һ% %4# p`Phb @` @`      PмҽԽ$Aо0MYֿ ".=  O a m  8 Q  8r!!t!t4 rpc4Rpc p`P0c0P@2MG\  02 4>6p`PHd0]w>bpP d4 pG 4! pP  bttRP  P!TH;!H;!TH;d 4 R p 4 pa2P ) p`P0e @`   @ `  @`z|*`Z   ' 6    Tc r <`)8Lht  rpP0Pf9 'dj#4ib pPf ,>h @`    3Fc  /3 F f s     XcB  pP0XgE 3d]+4[T pXg`a@PD@9`99999: :@:`::: ::; ;@;`;;;;;< <@<`<<<<<<=0=!P=!p=!==%=%=>0>)P>*p>)>>>>/?00?1P?0P?/P?P?5p?6?7?7?7?7@70@7P@=p@=@?@@@=@BAC0ADPAEpAFAGAGAIAIBK0BLPBKpBKBOBKBQBRCQ0CTPCUpCVCWCWCYCWDV0D\PD]pDQD_DpnNY);]_,;M\nTl~   N]l,;M 2Q`r   Uds /Rtt7FUg1fjz?L ]    F    ( D   G  T  ! " !: #L !i $x!%&%:'>%N()N)l*+*),)&-Ez)8Jz.'?/W0o1345"45BQg}56787H6W5fu797:&7;73<x765%74=k>}=?@A@ ?=fB#C_DnE}FEDCB=76.5=LbxFGHGFEDCB= 7 6( 57 F \ r   G I F E D!C!B*!=9!7H!6W!5f!u!!!!!I"G!"F/"E>"DM"C["Bi"=x"7"6"5"""""#I#J3#I#K,%L%M%L&K&I&G'F'E-'D<'CJ'BX'=g'7v'6'5''''''KE(N(KI)IX)Gn)F|)E)D)C)B)=)7)6)5)**-*<*N*K*I*G*F*E*D*C*B*= +7+6)+58+G+b+}+++K,O,P,O-K@-QO-R^-Tf-Uu-V-W.X).WP.Yh.Zy.Y.W.[/W/VN3\3]3^44]|5\5V6U6T6_6Q6K6I7G7F%7E47DC7CQ7B_7=n77}767577778#8587W86f85u88888889DaE' '4 p`PiHI0IPIpIIIEAFVFkFFFF G"GG H!HVHeHH  RPi  bP0i6 $d 4 piXQP`LXH@MHMIQKYLLL(MMMhMsMd 4 Rpj N@NMMMM  2Pj R0j\R O8NOpNNNNN O" "d T 4 RpjP0PPPPOOOOOO  4 pd 4 p k R`QQQQQ R0HkSR@RjRRRR4 rppk`T T@T0ScSSSSSS H0`0.4T Np`Pkb VU4U!PVVT!PVVT T4r p `(d4pkZpXWW,49 6pkYXXY p`P0l[ZZ![K\U!K\x\U!K\x\U!t[K\U `P0`,4 p`P`lj^0]_]4 Rp`Pl```` _l_____*`9`Z`  T4 r p`lbbc c@caqaaaaaab bb1b@bvbb  4 rpd42 p!dddW!  d4dddW  pP!Pf\fdW!  d4Pf\fdW.4\ Vp`Pm jk0kPkpkhh=iMiliiiNj}jjjd42pkl0l!d4 p`x4 p  4 p4 pnqr r@r`rppqPqeqvqqqqq4 Rp0n0s`srrrr9 '4 p`PXn2 x@x`xxxssstt'tgӶ׶ŷI rָ ڸ" "tdT4 8upмx%:< *4) p`P`ufwϿ g6 $d; T:494pu . 4. *p`@4 g p`P0u"0 (*?RjS& &T"4 p`u@` @@Q\,;q|  2PvR0vk8p: (d]$T\ 4ZT p(vPp0xd 4 Rpv=Q|d 4 RpvAy4 Rpw`A4 RpHw4 Rppw04 Rpw@$! @20n!@20n!2Hn! 2Hn! @20n4 2 p`P- -4p ` P0x0Pp7r4 RpXxp$4?0 04 p ` Px0Pp0 P p    0 Pp}crWg? g v   bq  0@\   4 2p4 Rpxc~4 Rpxc~4 RpxfR p ` 0 y+vR p ` 0Hy KR p ` 0py0@kd4 py@`  RPy4 pyrPH0`{]% %4," p`P(z0Pp0Pp   0Pp   3Wo"R 5 Z  `o h]H  32 K p`P0zB  @ `       @  `      @`P4i5Mbu) V   JVf     , A U v        +    9 '46, p`P|R @p  0 P p    0 P p   0mCpGj   6   %R  1a #G _Rf  7Jh    )8Tcr. p`P0}p    ! !@!`!!!!`@b *n  ' 3 "  p`P0}`('''( (@((((( )) 0) P)p))))))*!+"3"?"`""""""###$ ?$T$ v$ $ $ $$$ %+%>%P%n%%%&& e& v&&&&)'5'D'I'a'm') /p ` P 0}777808P8p8p88888 99 09P9p999999:0:P:P:p::::::::!;;#0;$P;%p;$p;#p;p;););+;);-;.</0<.0<-0<)0<3P<3p<5<3<7<3<9<3<3=@*r*~******#+6+N+o+ +++ , D,\, , , ,,,3- G---.:.M.e..../8/l//////0[0o00 00!1"(1#@1$a1%}1'1(1)2*D2)\2+2,2-2.2/21332G333)33333343244f43{454647494: 59h535)5555 66-63J6;_636<6397)E7Q7]7l7x77& &T"4 p`~BBBC C@C`CCCCC D D@=z====>Q>>>>?9?H???@P@e@ |@@ @@@ A A A A BBSBfBwB? -4{p p`Prgggh h@h`hhhh h i i @i `i i i i ij j @j`j jj jj k k @k`k k k k k l l @l%`l `l'l(l l l+m m-@m `m/m m m2m2n 0n5Pn pn7n n9n n;o 0o Po>po>o oAo pC p @p `p p p p p q q @q `q q q q q r rT@r @rV`rWr r r r s s @sPDDDDDDD EEE(E 3E =E sE E E E $FLF FF F%G GGGGGGGH H*H HII,I II I:JIJXJ JJJJ GKKKK LCLULdL LMM M nMM M N 5N!JN `N"zN 0O#`O O$O O%O& P'!P(BP)aP(P'P &Q*8Q Q+Q,Q+Q R-ZR.nR-}R R/R0R/ S S1S T2MT3nT2sT3vT2T4T2U VU5U6U5U V7AV8WV7fV V9V: W9W CW;W<W;W W=;X gX>X?X>X@ Y>.Y VYAYBYAY YC%ZD:ZCIZ fZEZ [FG[ z[G[ [H[ [I\ \J!] []K_] '^L6^ ^M^ ._N@_ _O1` I`P^` t`Q` GaRwa aSa aT bUbV5bWVbXubWbVb }cYc cZc c[&d e\e 5f]Jf f^f fffgg)g8gGgSg_g+ +4," p`P0pyyyyyz0zPzpzz z z z { 0{P{p{pssssttttuuduuuuu v -v Rv wv vw x x 3x Gx xxxxOy4 Rp|{{! !4 p`P @`}}}~g~!?* *4 p ` PؚЈ0PpЉ 0 P p   Њ*95Hix, Gi O u 3 Y  5 w ƇՇ݇  W} 4Rp7\R0Ќ0! 0n!0n!t! t! 0n4R p`P`0PpГ`,̒4 "T4p` @`MUӔ )p' 6[gs  p`P0  rP5  p`0ԔPМxX>ʚF 8  p`P0П2 4 p`П P0PpТ0 PXk~)8Ve0@k }    rP%  p `0HXЩX (7U| d42 p0!pH!tpH  4 2` t dT42 4 rp`0bp`0d 4 RpOv20m B7dpd??42p  ( 5d43 pPCCA  rPp# #td 4 p@`X ɼ` 4 p` d T4p 4  p`P tdT4t d4  p`P0  t44R0 T 4 2 p ` 4Rp`P *p`P0`@d 4R p d T RpT 4 R p `d T 4 Rp t d T 4 r&  p`P0` % %t %d %T %4%2!% %t %d %T %4%2!  4 2P d T 4 2p t d T 42b`  t dT42 T4r p `d T 4Rp dT4p p`P0`H1 dT4p``& ! p`P0` t dT42 d T 42p) 4;0 p`P`p t d T 4 R4 R p `P b p `P0 d T 4 2p d T 42p  4 2dT 4 p  4 R` d T 4 Rp dT4rp) 4bX p`P`d 4 R p dT 4 rpXhȞ P8H xd`hpƽXXxX@H0LhxȢڿȬج 0HRnzȭܭ&6TjzƮ֮ $:L^l̯ȼ.@N,6BRZhv±ֱ$:Ldp̲,:L\rƳֳ.FXlĴִ 4F\xֵΰ&<Zjv̶ض.>NbķԷ*:J`r".@Lbz6F`|  = j('ey% HB <#  (t& L  6C m Թ*6@Phz̺غ  *2@Lʹpʻ޻P<|rjTHZȸ޸2&hTK pF0нxfʿ  ndҾ 8_GetUserNameW*RegCloseKeyxRegSetValueExW6RegCreateKeyWDeregisterEventSourceReportEventW}RegisterEventSourceWFreeSidAllocateAndInitializeSidEqualSidTGetTokenInformationOpenProcessTokenOpenThreadTokenHGetSecurityInfohRegQueryValueExW[RegOpenKeyExW.RegConnectRegistryWSetServiceStatuszIsTextUnicodeLRegEnumValueWRegisterServiceCtrlHandlerWSCloseServiceHandleStartServiceWOpenServiceWOpenSCManagerW#QueryServiceStatusExXControlServiceDeleteServiceMCheckTokenMembershipStartServiceCtrlDispatcherWUnlockServiceDatabaseLockServiceDatabase}CreateServiceW3RegCreateKeyExWrRegSaveKeyWAdjustTokenPrivilegesLookupPrivilegeValueW>RegDeleteKeyWRCloseEventLog)ReadEventLogW>GetOldestEventLogRecord=GetNumberOfEventLogRecordsOpenEventLogWADVAPI32.dllHeapAlloc#GetProcessHeapHeapFreeGetFileAttributesAFileTimeToDosDateTimeFileTimeToLocalFileTimeCCloseHandleGetFileInformationByHandleyCreateFileA5OutputDebugStringWGetLastError~WideCharToMultiByteYGetTempFileNameWCreateFileW(SleepExFindClose1FindNextFileW%SleepDeleteFileW MoveFileExW%FindFirstFileW[GetTempPathWGetFileAttributesWrCreateDirectoryWyGetComputerNameWGetPrivateProfileStringWLocalFreeIFormatMessageWGetModuleHandleWGetModuleFileNameWTRaiseExceptionLeaveCriticalSectionWriteFileBFlushFileBuffersSetConsoleTextAttributeGetConsoleScreenBufferInfoWriteConsoleWEnterCriticalSection;GetStdHandleGetLocalTimeGetCurrentProcessGetCurrentThreadMFreeLibrary GetProcAddressLoadLibraryWFGetSystemDirectoryWgWaitForMultipleObjectsExCreateNamedPipeWIGetSystemInfoVConnectNamedPipevCreateEventWDisconnectNamedPipeGetCurrentProcessIdGetCurrentDirectoryWGetExitCodeThreadiWaitForSingleObjectExDuplicateHandle SetWaitableTimerCreateWaitableTimerWLocalFileTimeToFileTime.SystemTimeToFileTimeLocalAllocSetFilePointerMultiByteToWideCharbReadFileRQueueUserAPCSetConsoleTitleWSetConsoleCtrlHandler2TerminateThreadGetExitCodeProcess ExpandEnvironmentStringsWInitializeCriticalSectionDeleteCriticalSectionGetFullPathNameWhWaitForSingleObjectGetCurrentThreadIdWVerifyVersionInfoWSVerSetConditionMaskResetEventGetDiskFreeSpaceExW9PostQueuedCompletionStatusqReleaseMutexSetEventSetThreadPriorityuReleaseSemaphoreCreateIoCompletionPortCreateSemaphoreWfCopyFileWGlobalFreeMoveFileWzRemoveDirectoryWSetCurrentDirectoryWSetErrorModeCreateMutexWvGetVersionExWGetConsoleTitleWSetUnhandledExceptionFilterInitializeCriticalSectionAndSpinCount5GetQueuedCompletionStatusSetLastError-OpenProcess1TerminateProcessCreateProcessW$SizeofResourceLockResourceLoadResource:FindResourceWGetOverlappedResultLoadLibraryExWHeapDestroyHeapCreateKERNEL32.dllMFC80U.DLLc__CxxFrameHandler3B_errno/?_open@@YAHPEBDHH@Z_readS_write _closeO_lseekremove7_snprintf_sywcsstrrwcsncpy_smemset6strncat_s_wcsicmpI_CxxThrowExceptionfreemallocmemcpy_purecallx_wtolt_wtoi?_snwprintf_sewcscat_sjwcscpy_sfflush__iob_funcwprintf>strstrD_localtime64_time64memcpy_s_vsnwprintfowcsncat_s_getwchA_local_unwindY__C_specific_handler_beginthreadexiswdigitTtowupperiswlowerwscanf_s_getwchewcstoul_wcsnicmp_mktime64E_localtime64_s_amsg_exit__wgetmainargsU_XcptFilterK_exit_cexitexit__winitenv_initterm_initterm_e_configthreadlocale__setusermatherr _commodeg_fmode<_encode_pointer__set_app_typeMSVCR80.dllC?terminate@@YAXXZ_unlock__dllonexitF_lock_onexit2_decode_pointer8?_type_info_dtor_internal_method@type_info@@QEAAXXZ__crt_debugger_hook VerQueryValueWGetFileVersionInfoWGetFileVersionInfoSizeWVERSION.dll ClusterCloseEnum CloseClusterResource2ClusterResourceControllOpenClusterResourceClusterEnumCloseCluster!ClusterOpenEnumgOpenClusteraGetNodeClusterStateCLUSAPI.dllResUtilFindSzPropertyRESUTILS.dll8WNetGetUniversalNameWMPR.dllEnumProcessesPSAPI.DLLfSendMessageTimeoutWGetWindowThreadProcessIdEnumWindowsUSER32.dllSHGetFolderPathWCommandLineToArgvW.FindExecutableWSHELL32.dll7OleRunCoCreateInstanceoCoUninitializeACoInitializeole32.dllOLEAUT32.dllPdhConnectMachineWTPdhOpenQueryWPdhAddCounterWPPdhOpenLogW PdhCloseLogiPdhUpdateLogWPdhCollectQueryDataEx?PdhGetLogFileSizepdh.dlloNetApiBufferFreeNetServerEnumNETAPI32.dllCryptProtectDataCryptUnprotectDataCRYPT32.dll!SymCleanupzSymInitializedbghelp.dllGetUserNameExWSecur32.dllODBC32.dllodbcbcp.dllNQueryPerformanceCounterfGetTickCountOGetSystemTimeAsFileTimeBUnhandledExceptionFilterIsDebuggerPresentRtlVirtualUnwindRtlLookupFunctionEntryRtlCaptureContextlstrlenAmemmove0X.?AV?$CList@V?$CStringT@GV?$StrTraitMFC_DLL@GV?$ChTraitsCRT@G@ATL@@@@@ATL@@AEAV12@@@X.?AVCObject@@X.HX.?AVCCfgProcessor@@X.?AV?$CList@VCCollector@@AEAV1@@@X.?AVCIniProcessor@@X.?AV?$CMap@V?$CStringT@GV?$StrTraitMFC_DLL@GV?$ChTraitsCRT@G@ATL@@@@@ATL@@PEBGV12@PEBG@@H1011100000SQLDIAGSQLDIAGX.?AVCLog@@X.?AVCDiagConfiguration@@X.?AV?$CArray@PEAVCElogExp@@AEBQEAV1@@@X.?AV?$CList@KAEAK@@X.?AV?$CArray@PEAXAEBQEAX@@X.?AV?$CMap@V?$CStringT@GV?$StrTraitMFC_DLL@GV?$ChTraitsCRT@G@ATL@@@@@ATL@@PEBG_N_N@@X.?AV?$CStringT@GV?$StrTraitMFC_DLL@GV?$ChTraitsCRT@G@ATL@@@@@ATL@@X.?AVCPssDiagCollection@@X.?AVCPssDiag@@(X.PEAVCException@@X.?AV?$CList@PEAU__POSITION@@PEAU1@@@X.?AVCXmlProcessor@@X.?AV?$CSimpleStringT@G$00@ATL@@X.?AV?$CList@PEAUHINSTANCE__@@AEAPEAU1@@@X.?AVtype_info@@2-+] f X.?AV_com_error@@u<@D8 @д,شf8lm$tJP(0mt8̝̚mt  NT\08?xԜԜ{  p$,TOX8l@Ԝ\pЛxCL Tgpv@|ATH<: @H$Ph p a h T \ ^d,( T_hHlPC\L!p!_"h"%%%|&&&I(P(( (+P+1.t8...]/ d/0 01\13T3334 4 55)5;05I5;P55\55\5 6 06a6 p66 6x8X88;88;88;8999;99;::;"<(0<I<;P<T?d`?y?;??;??;??;??;@@; @9@;@@Y@;`@y@;@@;@@;@B B9B;@BYB;`B?D@DYD;`DyD;DD;D:E@EgE;pEHHH;H I;I)I;0III;PI QxQ)Q;0QIQ;PQlQ;pQQ;QQ;QQ;QQ;Q R;R,R;0RLR;PRlR;pRR;RR;RR;RR;S*S@SS SS TT\TwUlU3W@WjW;pW]]];]];]];] ^;^)^;0^I^;P^bbb;bb;bdee; e9e;@eYe;`eye;ee;ee;efff;ff;fggg;hh; hi\ii;i j;j,j;@jlll;mm; m9m;@mYm;`mym;mmdmmlmntnn;nn;o/o@ottt;tt;t u;u)u;0uIu;Puiu;puu;uu;uu;uu;ucvvwww;w_x`xyx;x]yH`yy;ygztpzz;zz;zz;zz;z{Ԝ|~~~; ~9~;@~]~;`~x~;~a0p;;;; ;  =;@];`};;;Ёւ0;; =;@];`};;݄;;; =;PX8`};;;݆;; =;@];`};;;Ј؉@;; =;@];`};;݋;;; =;PH͌;Ќ; ;-;0M;6@];`};;;ݎ; Џ; ;-;0M;Pm;ȑ;Б; ;-;0M;Pm;p;;͒;В; ; ^l`;;;;0;0P;Pp;p;Y\`x;;;ݚ;;;0; =;@];`};;;Мpȝ;Н; ;-;0M;Pm;]`x;;;ݟ;;;0; =;@];`};;;СȢ;Т; ;-;0M;Pm;;ݤ;;; =;@];pP,Pi;p;;ɩ;Щ;; G;`ӪH;;0;ͫ;;٬;;ŭЭ; ;-;@!h0H;Pi;p;V`{;;;ݶ;;; 8;@Y;`};;;ܷ;;; 8;@Y;`};4@Y;`H;;; <;@Y;`y;;;;; 9;@Y;`y;;;;;; <;@\;`|;;;;;; <;@\;`|;;;;;; <;@\;`|;;;;;;0;;; 9;@];`x;=8@];`};; ; 8?@~; 9;@g;p,);04`@g;p >> >P\4`y;zp| ;);0I;P 9;@Y;`y;h0;>@g;;$';6L@\;`|;;;;;D@D,,,M`h ;1X@CPi;p;;y h  ;  ;    ;    ;   Fp80]p@;;; J;Pz;;!0L;Pl;p;Ql`l\cpM"P"i";p"";"";"";"";" #;#)#;0#I#;P#i#;p##;##;##;##;# $;$)$;0$I$;P$i$;$$?$$ $N%N%Y%`%!)0)I);P)l);p));));));));*K*K*//,/@/?0@0g0;p00 011T1T11122%202333;3 4;4)4;04I4;P4i4;p4666;6 7;7,7;@7x7777888;88;89 99\99;99;::::;:;;;;;;?<<<B= P==?== >>\>> ?? ?9?;@?g?g??t?@\@AHAA8AAABB'B'B.B@BF FGF;PFlF;pFF;FF;FF;G'G;0GWG;`GG;GG;GG;G H;H;>2>;@>b>;p>B BB;BB;BB;CC; C@C;@C`C;`CC;CC;CC;CC;CD;D D; D@D;@D_D;`DD;DD;DD;DD;DD;EE; E9E;@E]E;`ExE;EE;EE;EH|"H(H;0HIH;PHiH;pHH;HH;HP8#PP;QQ; Q9Q;@QYQ;`QyQ;QQ;QQ;QQ;QQ;RR; R;R;@R\R;`R|R;RR;RHT%PTlT;pTT;T'U%0UMU;PUlU;UrV0nrVV&VWl&WW\&WWL&WW4&WXԜYjY&pYY;Yva&aa;aa;aa;ab;b@b;@b\b;`b|b;bb;bb;bb;b c;c,c;0cLc;Pclc;pcc;cc;cc;cl( ld3@X;`3(;0z3;;ٵ;;; <;@Y;`|;;;; ;0;0K;Pl;p;;ڷ;;;066@m;p;;ȼ;м6 <;@\;`|;;;;;; <;@Y;`|;;;;; G;Pz;;;8T8T^8p?8;8 8;@,9);0K;Pi;p9'0r9;;;;; t: h: : G:P::M:Pw:H;4;$;;X;:;;;; <;@\;`|;;;;;; <;@\;`|;;;;;; <;@\;`|;=;;; 9;@\;`|;;u=;;;;; 9;@c?p49?@9Y9;`9|9;99;99;99;99;::; :<:;@:\:;`:|:;::;::;::;::;;;; ;<;;@;\;;`;|;;;;;;;;;;;;;;<<; <<<;@<\<;`<<;<<;<<;<<;< =;=,=;0=L=;P=l=;p==;==;==;==;= >;>,>;0>L>;P>l>;p>>;>>;>>;>>;> ?;?,?;0?L?;P?l?;p??;??;??;??;? @;@+@;0@K@;P@l@;p@@;@@;@@;@@;@ A;A+A;0AKA;PAlA;pAA;AA;AA;AA;A B;B,B;0BKB;PBlB;pBB;BB;BB;BB;B C;C0C;0CKC;PCkC;pCC;CC;CC;CC;C D;D+D;0DLD;PDlD;pDD;DD;DD;DE?EH$PH I;I)I;0ILI;PIkI;pII;II;II;ILQL9MQ@MMPMM;MNQ N=N;@N]N;pNN8RNN;OO; O=O(RPO PRP(P;0PMP;PPmP;PQ(S0QTQ?`QR4S R9R;@RR|SRR;S'S;0STS T9T;@TYT;`TT;TT(TUVo|XPopXpqXqq;rr; r9r;@rYr;`ryr;r#s Y0sWs;`sys;sxdY x9x;@xYx;`xyx;xx;xx;xxy4Zyy;y|hZ||;||;}}; }9};@}Y};`}y};}};}};}};}};~~; ~9~;@~Y~;`~y~;~~;~~;~h[p;:0\@X;`\ 8;@Y;`y;;p\ =`\P](;0I;P] 9;@Y;`x;;;Ջ^;^;0$_؎;;_ې;_; `ؔ;;n``ȗ;З` 8;@4a;jap;;ȝ;Н; ;);0I;PY\b`x;;;ء;;*;0c;Ȥ;Ф;;(;0cɬ;Ь;;);0I;Pi;p;;ɭ;Э; ;);0I;Pi;p;;ɮ;Ю; ;);0I;Pi;p;ƱXfб;;(;0H;Ph;pf 8;@[;`{;;LtgPh;p;;ܹ;;; 9;@\;`y;;;php;;̼;м; ;0) BEGIN PRINT '' RAISERROR ('===== Executing sp_set_blk_threshold09', 0, 1) WITH NOWAIT exec dbo.sp_set_blk_threshold09 5 END GO IF OBJECT_ID('dbo.sp_set_blk_threshold10','P') IS NOT NULL drop proc dbo.sp_set_blk_threshold10 GO PRINT '' RAISERROR ('===== Creating sp_set_blk_threshold10', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_set_blk_threshold10 @threshold int as BEGIN exec dbo.sp_set_blk_threshold09 @threshold END GO /* sp_sqldiag */ IF OBJECT_ID ('dbo.sp_tmpregread','P') IS NOT NULL DROP PROC dbo.sp_tmpregread IF OBJECT_ID ('dbo.sp_tmpregenumvalues','P') IS NOT NULL DROP PROC dbo.sp_tmpregenumvalues GO PRINT '' RAISERROR ('===== Creating sp_tmpregread', 0, 1) WITH NOWAIT GO -- Create temporary stored procedures in tempdb CREATE PROCEDURE dbo.sp_tmpregread @hive varchar (60), @key nvarchar (2000), @value nvarchar (2000), @data nvarchar (4000) = NULL OUTPUT AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end DECLARE @sql70or80xp sysname DECLARE @sqlcmd nvarchar (4000) -- To avoid osql line wrapping, don't store more than 2000 chars. CREATE TABLE #regdata (RegValue nvarchar(190), RegData nvarchar (1800)) IF CHARINDEX ('7.00.', @@VERSION) = 0 SET @sql70or80xp = 'master.dbo.xp_instance_regread' ELSE SET @sql70or80xp = 'master.dbo.xp_regread' SET @sqlcmd = 'INSERT INTO #regdata EXEC ' + @sql70or80xp + ' @P1, @P2, @P3' EXEC sp_executesql @sqlcmd, N'@P1 varchar (40), @P2 nvarchar (2000), @P3 nvarchar (2000)', @hive, @key, @value SELECT * FROM #regdata PRINT '' GO PRINT '' RAISERROR ('===== Creating sp_tmpregenumvalues', 0, 1) WITH NOWAIT GO CREATE PROCEDURE dbo.sp_tmpregenumvalues @hive varchar (40), @key nvarchar (2000), @direct_output int = 0 AS DECLARE @sql70or80xp sysname DECLARE @sqlcmd nvarchar (4000) CREATE TABLE #regdata (RegValue nvarchar(190), RegData nvarchar (1800)) IF CHARINDEX ('7.00.', @@VERSION) = 0 SET @sql70or80xp = 'master.dbo.xp_instance_regenumvalues' ELSE SET @sql70or80xp = 'master.dbo.xp_regenumvalues' IF @direct_output = 1 SET @sqlcmd = 'EXEC ' ELSE SET @sqlcmd = 'INSERT INTO #regdata EXEC ' SET @sqlcmd = @sqlcmd + @sql70or80xp + ' @P1, @P2' EXEC sp_executesql @sqlcmd, N'@P1 varchar (40), @P2 nvarchar (2000)', @hive, @key IF @direct_output = 0 SELECT * FROM #regdata GO IF OBJECT_ID('dbo.sp_sqldiag07','P') IS NOT NULL drop proc dbo.sp_sqldiag07 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag07', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag07 @bGetSyscacheobjects int = 0 AS PRINT 'Errorlogs' PRINT '---------' declare @i tinyint, @res int set @i=0 while (@i<255) begin if (0=@i) begin print 'ERRORLOG' exec @res=master.dbo.xp_readerrorlog end else begin print 'ERRORLOG.'+cast(@i as varchar(3)) exec @res=master.dbo.xp_readerrorlog @i end if (@@error<>0) OR (@res<>0) break set @i=@i+1 end PRINT 'Registry Information' PRINT '--------------------' PRINT 'SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo:' PRINT '------------------------------------------------' EXEC master.dbo.sp_tmpregenumvalues 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\MSSQLServer\Client\ConnectTo' PRINT '' PRINT 'SOFTWARE\Microsoft\MSSQLServer\Client\DB-Lib:' PRINT '---------------------------------------------' EXEC master.dbo.sp_tmpregenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\MSSQLServer\Client\DB-Lib' PRINT '' PRINT 'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion:' PRINT '----------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\CurrentVersion', 'CurrentVersion' PRINT '' PRINT 'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters:' PRINT '------------------------------------------------------' EXEC master.dbo.sp_tmpregenumvalues 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\Parameters' PRINT '' PRINT 'SOFTWARE\Microsoft\MSSQLServer\Setup\SQLPath:' PRINT '---------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\MSSQLServer\Setup', 'SQLPath' PRINT '' PRINT 'System\CurrentControlSet\Control\ProductOptions:' PRINT '------------------------------------------------' EXEC master.dbo.sp_tmpregenumvalues 'HKEY_LOCAL_MACHINE', 'System\CurrentControlSet\Control\ProductOptions', 1 PRINT '' PRINT 'Software\Microsoft\Windows NT\CurrentVersion\SystemRoot:' PRINT '--------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\Windows NT\CurrentVersion', 'SystemRoot' PRINT '' PRINT 'Software\Microsoft\Windows NT\CurrentVersion\CurrentVersion:' PRINT '------------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\Windows NT\CurrentVersion', 'CurrentVersion' PRINT '' PRINT 'System\CurrentControlSet\Control\Nls\CodePage:' PRINT '----------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'System\CurrentControlSet\Control\Nls\CodePage', 'ACP' PRINT '' PRINT 'System\CurrentControlSet\Control\Nls\CodePage:' PRINT '----------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'System\CurrentControlSet\Control\Nls\CodePage', 'OEMCP' PRINT '' PRINT 'Software\Microsoft\DataAccess:' PRINT '------------------------------' EXEC master.dbo.sp_tmpregenumvalues 'HKEY_LOCAL_MACHINE', 'Software\Microsoft\DataAccess' PRINT '' PRINT 'SYSTEM\CurrentControlSet\Control\TimeZoneInformation\ActiveTimeBias:' PRINT '--------------------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SYSTEM\CurrentControlSet\Control\TimeZoneInformation', 'ActiveTimeBias' PRINT '' PRINT 'SYSTEM\CurrentControlSet\Control\TimeZoneInformation\Bias:' PRINT '----------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SYSTEM\CurrentControlSet\Control\TimeZoneInformation', 'Bias' PRINT '' IF (CHARINDEX('7.0',@@VERSION)<>-1) BEGIN PRINT 'SYSTEM\CurrentControlSet\Services\LicenseInfo\MSSQL7.00:' PRINT '--------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SYSTEM\CurrentControlSet\Services\LicenseInfo\MSSQL7.00', 'ConcurrentLimit' END ELSE BEGIN PRINT 'SOFTWARE\Microsoft\Microsoft SQL Server\80\MSSQLLicenseInfo\MSSQL8.00:' PRINT '----------------------------------------------------------------------' EXEC master.dbo.sp_tmpregread 'HKEY_LOCAL_MACHINE', 'SOFTWARE\Microsoft\Microsoft SQL Server\80\MSSQLLicenseInfo\MSSQL8.00', 'ConcurrentLimit' END PRINT '' PRINT '' PRINT '-> sp_configure' declare @show_advance int if (select value from master.dbo.syscurconfigs where config = 518) = 1 select @show_advance = 1 else select @show_advance = 0 if @show_advance = 0 begin exec sp_configure 'show advanced option',1 reconfigure with override exec sp_configure exec sp_configure 'show advanced option',0 reconfigure with override end else exec sp_configure PRINT '-> sp_who' exec sp_who PRINT '' PRINT '-> sp_lock' exec sp_lock PRINT '' PRINT '-> sp_helpdb' exec sp_helpdb PRINT '' PRINT '-> xp_msver' exec master.dbo.xp_msver PRINT '' PRINT '-> sp_helpextendedproc' exec sp_helpextendedproc PRINT '' PRINT '-> Sysprocesses' select spid, kpid, blocked, waittype, waittime, lastwaittype, LEFT (waitresource, 50) AS waitresource, dbid, uid, cpu, physical_io, memusage, login_time, last_batch, ecid, open_tran, status, sid, LEFT (hostname, 30) AS hostname, LEFT (program_name, 50) AS program_name, hostprocess, cmd, LEFT (nt_domain, 30) AS nt_domain, LEFT (nt_username, 30) AS nt_username, net_address, net_library, loginame, context_info from master.dbo.sysprocesses PRINT '' -- fn_virtualservernodes is not present in 7.0 IF (CHARINDEX ('Microsoft SQL Server 7.00', @@VERSION) = 0) BEGIN EXEC ('PRINT ''-> ::fn_virtualservernodes()''') EXEC ('SELECT * FROM ::fn_virtualservernodes()') EXEC ('PRINT ''''') END PRINT '-> sysdevices' SELECT * from master.dbo.sysdevices PRINT '' PRINT '-> sysdatabases' SELECT * from master.dbo.sysdatabases PRINT '' --Input buffers PRINT 'Input buffer SPIDs' declare @spid smallint declare @i_buff_string char(30) set nocount on declare bufCursor CURSOR FOR SELECT spid from master.dbo.sysprocesses where spid > 10 FOR READ ONLY open bufCursor fetch next from bufCursor into @spid while (@@fetch_status <> -1) begin SET @i_buff_string = ('DBCC INPUTBUFFER (' + convert(char(6),@spid) +')') PRINT '-> '+@i_buff_string exec (@i_buff_string) PRINT '' fetch next from bufCursor into @spid end close bufCursor deallocate bufCursor PRINT '-> Head blockers' select spid as [Blocking spid],loginame,hostname,program_name as progname,cmd,status,physical_io,waittype from master.dbo.sysprocesses where spid in (select blocked from master.dbo.sysprocesses) and blocked=0 PRINT '' PRINT '-> SELECT @@version:' PRINT @@VERSION PRINT '' PRINT '-> Current login (SUSER_SNAME):' PRINT SUSER_SNAME () PRINT '' PRINT '-> SQL Server name (@@SERVERNAME):' PRINT @@SERVERNAME PRINT '' PRINT '-> Host (client) machine name (HOST_NAME):' PRINT HOST_NAME() PRINT '' PRINT '-> @@LANGUAGE:' PRINT @@LANGUAGE PRINT '' /* PRINT '-> DBCC PSS(n):' DBCC TRACEON (3604) DECLARE @sp int DECLARE @cmd varchar(255) DECLARE spid_curs INSENSITIVE CURSOR FOR SELECT CONVERT (int, spid) AS spid FROM master.dbo.sysprocesses WHERE spid > 6 OPEN spid_curs FETCH NEXT FROM spid_curs INTO @sp WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN PRINT '' SET @cmd = 'DBCC PSS (0, ' + CONVERT (varchar, @sp) + ')' PRINT '-> ' + @cmd EXEC (@cmd) PRINT '' END FETCH NEXT FROM spid_curs INTO @sp END CLOSE spid_curs DEALLOCATE spid_curs DBCC TRACEOFF(3604) */ PRINT '-> DBCC TRACESTATUS (-1):' DBCC TRACESTATUS (-1) PRINT '' PRINT '-> DBCC OPENTRAN (''''):' DECLARE @dbname sysname DECLARE @tmpstr varchar(255) -- Note: won't work for 7.0/2K db's with Unicode names, -- but nvarchar won't work on 6.5. DECLARE db_cursor cursor FOR SELECT name FROM master.dbo.sysdatabases WHERE status&32 + status&64 + status&128 + status&256 + status&512 = 0 AND name NOT IN ('master', 'model', 'msdb', 'pubs', 'Northwind') OPEN db_cursor FETCH NEXT FROM db_cursor INTO @dbname WHILE (@@fetch_status <> -1) BEGIN IF (@@fetch_status <> -2) BEGIN SET @tmpstr = 'DBCC OPENTRAN (''' + @dbname + ''')' PRINT @tmpstr EXEC (@tmpstr) PRINT '' END FETCH NEXT FROM db_cursor INTO @dbname END CLOSE db_cursor DEALLOCATE db_cursor PRINT '' PRINT '-> DBCC SQLPERF (THREADS)' DBCC SQLPERF (THREADS) PRINT '' PRINT '-> DBCC SQLPERF (NETSTATS)' DBCC SQLPERF (NETSTATS) PRINT '' PRINT '-> DBCC SQLPERF (IOSTATS)' DBCC SQLPERF (IOSTATS) PRINT '' PRINT '-> DBCC SQLPERF (SPINLOCKSTATS)' DBCC SQLPERF (SPINLOCKSTATS) PRINT '' -- This is potentially too large (was 80MB in one case) to capture by default. IF @bGetSyscacheobjects = 1 BEGIN PRINT '-> syscacheobjects' SELECT * FROM master.dbo.syscacheobjects PRINT '' END PRINT '-> DBCC MEMORYSTATUS' DBCC MEMORYSTATUS PRINT '' PRINT '-> DBCC SQLPERF (UMSSTATS)' DBCC SQLPERF (UMSSTATS) PRINT '' PRINT '-> DBCC SQLPERF (WAITSTATS)' DBCC SQLPERF (WAITSTATS) PRINT '' PRINT '-> DBCC SQLPERF (LRUSTATS)' DBCC SQLPERF (LRUSTATS) PRINT '' PRINT '-> sysperfinfo snapshot #1' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM master.dbo.sysperfinfo WAITFOR DELAY '0:0:05' PRINT '-> sysperfinfo snapshot #2' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM master.dbo.sysperfinfo PRINT '' PRINT '-> NET START' EXEC master.dbo.xp_cmdshell 'NET START' PRINT '' DECLARE @IsFullTextInstalled int PRINT '-> Full-text information' PRINT '-> FULLTEXTSERVICEPROPERTY (IsFulltextInstalled)' SET @IsFullTextInstalled = FULLTEXTSERVICEPROPERTY ('IsFulltextInstalled') PRINT CASE @IsFullTextInstalled WHEN 1 THEN '1 - Yes' WHEN 0 THEN '0 - No' ELSE 'Unknown' END IF (@IsFullTextInstalled = 1) BEGIN PRINT '-> FULLTEXTSERVICEPROPERTY (ResourceUsage)' PRINT CASE FULLTEXTSERVICEPROPERTY ('ResourceUsage') WHEN 0 THEN '0 - MSSearch not running' WHEN 1 THEN '1 - Background' WHEN 2 THEN '2 - Low' WHEN 3 THEN '3 - Normal' WHEN 4 THEN '4 - High' WHEN 5 THEN '5 - Highest' ELSE CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ResourceUsage')) END PRINT '-> FULLTEXTSERVICEPROPERTY (ConnectTimeout)' PRINT CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ConnectTimeout')) + ' sec' PRINT '' DECLARE @dbn varchar(31) DECLARE @cm varchar(8000) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE DATABASEPROPERTY (name, 'IsFulltextEnabled') = 1 FOR READ ONLY IF 0 = @@ERROR BEGIN OPEN db_cursor IF 0 = @@ERROR BEGIN FETCH db_cursor INTO @dbn WHILE @@FETCH_STATUS <> -1 AND 0 = @@ERROR BEGIN SELECT @cm = ' USE ' + + @dbn + ' PRINT ''-> sp_help_fulltext_catalogs'' EXEC sp_help_fulltext_catalogs PRINT ''-> sp_help_fulltext_tables'' EXEC sp_help_fulltext_tables PRINT ''-> sp_help_fulltext_columns'' EXEC sp_help_fulltext_columns PRINT ''-> Catalog properties'' SELECT name, FULLTEXTCATALOGPROPERTY (name, ''ItemCount'') AS ItemCount, CONVERT (varchar, FULLTEXTCATALOGPROPERTY (name, ''IndexSize'')) + ''MB'' AS IndexSize, FULLTEXTCATALOGPROPERTY (name, ''UniqueKeyCount'') AS [Unique word count] FROM sysfulltextcatalogs USE master' PRINT '-> Full text information for db [' + @dbn + ']' EXEC(@cm) FETCH db_cursor INTO @dbn END CLOSE db_cursor END DEALLOCATE db_cursor END END PRINT '' PRINT '-> Relative time spent on I/O, CPU, and idle since server start' SELECT @@CPU_BUSY AS [@@CPU_BUSY], @@IDLE AS [@@IDLE], @@IO_BUSY AS [@@IO_BUSY], CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@CPU_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_CPU_BUSY, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IDLE / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IDLE, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IO_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IO_BUSY PRINT '' PRINT '-> Misc network and I/O stats' SELECT @@PACK_RECEIVED AS [@@PACK_RECEIVED], @@PACK_SENT AS [@@PACK_SENT], @@PACKET_ERRORS AS [@@PACKET_ERRORS (network errors e.g. 17824)] SELECT @@TOTAL_READ AS [@@TOTAL_READ], @@TOTAL_WRITE AS [@@TOTAL_WRITE], @@TOTAL_ERRORS AS [@@TOTAL_ERRORS (disk read/write I/O errors)] ---- Disabled -- On Win2k winmsd calls a MMC snapin and this doesn't ---- recognize the old winmsd cmd line params. -- PRINT '' -- PRINT '======== Generating WinMSD Report' -- EXEC master.dbo.xp_cmdshell 'c: & cd \ & winmsd -a' -- GO PRINT '' PRINT '-> GETDATE()' PRINT CONVERT (varchar, GETDATE(), 109) PRINT '' PRINT 'Done.' GO IF (CHARINDEX('7.00.',@@VERSION)<>0) OR (CHARINDEX('8.00.',@@VERSION)<>0) BEGIN IF (OBJECT_ID('dbo.sp_sqldiag07','P') IS NULL) RAISERROR('Error creating sp_sqldiag07',16,127) -- If running on 8.0, rename the proc to the 8.0 version -- since the contents are the same and the collector expects ...08 IF (CHARINDEX('8.00.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_sqldiag07 to sp_sqldiag08', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_sqldiag08','P') IS NOT NULL drop proc dbo.sp_sqldiag08 EXEC sp_rename 'sp_sqldiag07', 'sp_sqldiag08' IF (OBJECT_ID('dbo.sp_sqldiag08','P') IS NULL) RAISERROR('Error renaming sp_sqldiag07 to sp_sqldiag08',16,127) END END GO IF OBJECT_ID('dbo.sp_sqldiag09','P') IS NOT NULL drop proc dbo.sp_sqldiag09 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag09', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag09 @bGetQueryStats int = 0 AS PRINT 'Errorlogs' PRINT '---------' declare @i tinyint, @res int set @i=0 while (@i<255) begin if (0=@i) begin print 'ERRORLOG' exec @res=master.dbo.xp_readerrorlog end else begin print 'ERRORLOG.'+cast(@i as varchar(3)) exec @res=master.dbo.xp_readerrorlog @i end if (@@error<>0) OR (@res<>0) break set @i=@i+1 end PRINT '' PRINT '-> sp_configure' if (select value from sys.sysconfigures where config = 518) = 1 begin exec sp_configure end else begin exec sp_configure 'show advanced option',1 reconfigure with override exec sp_configure exec sp_configure 'show advanced option',0 reconfigure with override end PRINT '-> sp_who' exec sp_who PRINT '' PRINT '-> sp_lock' exec sp_lock PRINT '' PRINT '-> sp_helpdb' exec sp_helpdb PRINT '' PRINT '-> xp_msver' exec master.dbo.xp_msver PRINT '' PRINT '-> sp_helpextendedproc' exec sp_helpextendedproc PRINT '' PRINT '-> sysprocesses' select * from sys.sysprocesses PRINT '' PRINT '-> sys.dm_exec_sessions' select * from sys.dm_exec_sessions PRINT '' PRINT '-> ::fn_virtualservernodes()' SELECT * FROM ::fn_virtualservernodes() PRINT '' PRINT '-> sysdevices' select * from sys.sysdevices PRINT '' PRINT '-> sysdatabases' SELECT * from sys.sysdatabases PRINT '' PRINT '-> sys.master_files' select * from sys.master_files PRINT '' --Input buffers PRINT '-> Non-NULL input buffers by SPID' SELECT p.spid, (select SUBSTRING (REPLACE (REPLACE (text, char(13), ' '), char(10), ' '), 1, 8000) FROM sys.dm_exec_sql_text(p.sql_handle)) AS query_text FROM sys.sysprocesses p WHERE p.spid>10 AND (select text FROM sys.dm_exec_sql_text(p.sql_handle)) IS NOT NULL PRINT '' --Query stats PRINT '-> Stats for currently running queries' select TOP 10000 r.*, t.dbid, t.objectid, t.encrypted, substring(t.text, statement_start_offset / 2, (case when statement_end_offset = -1 then datalength(t.text) else statement_end_offset end - statement_start_offset) / 2) as query_text from sys.dm_exec_requests as r outer apply sys.dm_exec_sql_text(r.sql_handle) as t IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> Head blockers' select * from sys.sysprocesses where spid in (select blocked from sys.sysprocesses) and blocked=0 PRINT '' PRINT '-> SELECT @@version:' PRINT @@VERSION PRINT '' PRINT '-> Current login (SUSER_SNAME):' PRINT SUSER_SNAME () PRINT '' PRINT '-> SQL Server name (@@SERVERNAME):' PRINT @@SERVERNAME PRINT '' PRINT '-> Host (client) machine name (HOST_NAME):' PRINT HOST_NAME() PRINT '' PRINT '-> @@LANGUAGE:' PRINT @@LANGUAGE PRINT '' PRINT '-> DBCC TRACESTATUS (-1):' DBCC TRACESTATUS (-1) PRINT '' PRINT '-> sys.dm_tran_database_transactions' select TOP 10000 db_name(database_id), * from sys.dm_tran_database_transactions IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_tran_active_transactions' select TOP 10000 * from sys.dm_tran_active_transactions IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_sys_info' select TOP 10000 * from sys.dm_os_sys_info IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_schedulers' select * from sys.dm_os_schedulers PRINT '' PRINT '-> sys.dm_os_threads' select TOP 10000 * from sys.dm_os_threads IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_workers' select TOP 10000 * from sys.dm_os_workers IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_tasks' select TOP 10000 * from sys.dm_os_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_io_pending_io_requests' select TOP 10000 * from sys.dm_io_pending_io_requests IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_io_virtual_file_stats' SELECT TOP 10000 * FROM sys.dm_io_virtual_file_stats(NULL, NULL) IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_latch_stats' select TOP 10000 * from sys.dm_os_latch_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_sublatches' select TOP 10000 * from sys.dm_os_sublatches IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_memory_pools' select TOP 10000 * from sys.dm_os_memory_pools IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_memory_clerks' select TOP 10000 * from sys.dm_os_memory_clerks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_wait_stats' select TOP 10000 * from sys.dm_os_wait_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_waiting_tasks' select TOP 10000 * from sys.dm_os_waiting_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_loaded_modules' select TOP 10000 * from sys.dm_os_loaded_modules IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_cluster_nodes' select * from sys.dm_os_cluster_nodes PRINT '' PRINT '-> sys.dm_io_cluster_shared_drives' select TOP 10000 * from sys.dm_io_cluster_shared_drives IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_appdomains' select TOP 10000 * from sys.dm_clr_appdomains IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_loaded_assemblies' select TOP 10000 * from sys.dm_clr_loaded_assemblies IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_properties' select TOP 10000 * from sys.dm_clr_properties IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_tasks' select TOP 10000 * from sys.dm_clr_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assemblies' select TOP 10000 * from sys.assemblies IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assembly_modules' select TOP 10000 * from sys.assembly_modules IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assembly_types' select TOP 10000 * from sys.assembly_types IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.database_files' select TOP 10000 * from sys.database_files IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_file_space_usage' select TOP 10000 * from sys.dm_db_file_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_session_space_usage' select TOP 10000 * from sys.dm_db_session_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_task_space_usage' select TOP 10000 * from sys.dm_db_task_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_exec_query_optimizer_info' select TOP 10000 * from sys.dm_exec_query_optimizer_info IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_activated_tasks' select TOP 10000 * from sys.dm_broker_activated_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_connections' select TOP 10000 * from sys.dm_broker_connections IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_queue_monitors' select TOP 10000 * from sys.dm_broker_queue_monitors IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- This is potentially too large to capture by default. IF @bGetQueryStats = 1 BEGIN PRINT '-> sys.dm_exec_query_stats' SELECT TOP 10000 * FROM sys.dm_exec_query_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' END PRINT '-> sysperfinfo snapshot #1' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM sys.sysperfinfo WAITFOR DELAY '0:0:05' PRINT '-> sysperfinfo snapshot #2' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM sys.sysperfinfo PRINT '' DECLARE @IsFullTextInstalled int PRINT '-> Full-text information' PRINT '-> FULLTEXTSERVICEPROPERTY (IsFulltextInstalled)' SET @IsFullTextInstalled = FULLTEXTSERVICEPROPERTY ('IsFulltextInstalled') PRINT CASE @IsFullTextInstalled WHEN 1 THEN '1 - Yes' WHEN 0 THEN '0 - No' ELSE 'Unknown' END IF (@IsFullTextInstalled = 1) BEGIN PRINT '-> FULLTEXTSERVICEPROPERTY (ResourceUsage)' PRINT CASE FULLTEXTSERVICEPROPERTY ('ResourceUsage') WHEN 0 THEN '0 - MSSearch not running' WHEN 1 THEN '1 - Background' WHEN 2 THEN '2 - Low' WHEN 3 THEN '3 - Normal' WHEN 4 THEN '4 - High' WHEN 5 THEN '5 - Highest' ELSE CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ResourceUsage')) END PRINT '-> FULLTEXTSERVICEPROPERTY (ConnectTimeout)' PRINT CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ConnectTimeout')) + ' sec' PRINT '' PRINT '-> sys.dm_fts_active_catalogs' select TOP 10000 * from sys.dm_fts_active_catalogs IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_index_population' select TOP 10000 * from sys.dm_fts_index_population IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_memory_pools' select TOP 10000 * from sys.dm_fts_memory_pools IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_population_ranges' select TOP 10000 * from sys.dm_fts_population_ranges IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> msdb..suspect_pages' select TOP 10000 * from msdb..suspect_pages IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' DECLARE @dbn varchar(31) DECLARE @cm varchar(8000) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE DATABASEPROPERTY (name, 'IsFulltextEnabled') = 1 FOR READ ONLY IF 0 = @@ERROR BEGIN OPEN db_cursor IF 0 = @@ERROR BEGIN FETCH db_cursor INTO @dbn WHILE @@FETCH_STATUS <> -1 AND 0 = @@ERROR BEGIN SELECT @cm = ' USE ' + + @dbn + ' PRINT ''-> sp_help_fulltext_catalogs'' EXEC sp_help_fulltext_catalogs PRINT ''-> sp_help_fulltext_tables'' EXEC sp_help_fulltext_tables PRINT ''-> sp_help_fulltext_columns'' EXEC sp_help_fulltext_columns PRINT ''-> Catalog properties'' SELECT name, FULLTEXTCATALOGPROPERTY (name, ''ItemCount'') AS ItemCount, CONVERT (varchar, FULLTEXTCATALOGPROPERTY (name, ''IndexSize'')) + ''MB'' AS IndexSize, FULLTEXTCATALOGPROPERTY (name, ''UniqueKeyCount'') AS [Unique word count] FROM sysfulltextcatalogs USE tempdb' PRINT '-> Full text information for db [' + @dbn + ']' EXEC(@cm) FETCH db_cursor INTO @dbn END CLOSE db_cursor END DEALLOCATE db_cursor END END PRINT '' PRINT '-> Relative time spent on I/O, CPU, and idle since server start' SELECT @@CPU_BUSY AS [@@CPU_BUSY], @@IDLE AS [@@IDLE], @@IO_BUSY AS [@@IO_BUSY], CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@CPU_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_CPU_BUSY, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IDLE / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IDLE, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IO_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IO_BUSY PRINT '' PRINT '-> Misc network and I/O stats' SELECT @@PACK_RECEIVED AS [@@PACK_RECEIVED], @@PACK_SENT AS [@@PACK_SENT], @@PACKET_ERRORS AS [@@PACKET_ERRORS (network errors e.g. 17824)] SELECT @@TOTAL_READ AS [@@TOTAL_READ], @@TOTAL_WRITE AS [@@TOTAL_WRITE], @@TOTAL_ERRORS AS [@@TOTAL_ERRORS (disk read/write I/O errors)] PRINT '' PRINT '-> GETDATE()' PRINT CONVERT (varchar, GETDATE(), 109) PRINT '' PRINT 'Done.' GO IF (CHARINDEX('9.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_sqldiag09','P') IS NULL) RAISERROR('Error creating sp_sqldiag09',16,127) GO IF OBJECT_ID('dbo.sp_sqldiag10','P') IS NOT NULL drop proc dbo.sp_sqldiag10 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag10', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag10 @bGetQueryStats int = 0 AS PRINT 'Errorlogs' PRINT '---------' declare @i tinyint, @res int set @i=0 while (@i<255) begin if (0=@i) begin print 'ERRORLOG' exec @res=master.dbo.xp_readerrorlog end else begin print 'ERRORLOG.'+cast(@i as varchar(3)) exec @res=master.dbo.xp_readerrorlog @i end if (@@error<>0) OR (@res<>0) break set @i=@i+1 end PRINT '' PRINT '-> sp_configure' if (select value from sys.sysconfigures where config = 518) = 1 begin exec sp_configure end else begin exec sp_configure 'show advanced option',1 reconfigure with override exec sp_configure exec sp_configure 'show advanced option',0 reconfigure with override end PRINT '-> sp_who' exec sp_who PRINT '' PRINT '-> sp_lock' exec sp_lock PRINT '' PRINT '-> sp_helpdb' exec sp_helpdb PRINT '' PRINT '-> xp_msver' exec master.dbo.xp_msver PRINT '' PRINT '-> sp_helpextendedproc' exec sp_helpextendedproc PRINT '' PRINT '-> sysprocesses' select * from sys.sysprocesses PRINT '' PRINT '-> sys.dm_exec_sessions' select * from sys.dm_exec_sessions PRINT '' PRINT '-> ::fn_virtualservernodes()' SELECT * FROM ::fn_virtualservernodes() PRINT '' PRINT '-> sysdevices' select * from sys.sysdevices PRINT '' PRINT '-> sysdatabases' SELECT * from sys.sysdatabases PRINT '' PRINT '-> sys.master_files' select * from sys.master_files PRINT '' --Input buffers PRINT '-> Non-NULL input buffers by SPID' SELECT p.spid, (select SUBSTRING (REPLACE (REPLACE (text, char(13), ' '), char(10), ' '), 1, 8000) FROM sys.dm_exec_sql_text(p.sql_handle)) AS query_text FROM sys.sysprocesses p WHERE p.spid>10 AND (select text FROM sys.dm_exec_sql_text(p.sql_handle)) IS NOT NULL PRINT '' --Query stats PRINT '-> Stats for currently running queries' select TOP 10000 r.*, t.dbid, t.objectid, t.encrypted, substring(t.text, statement_start_offset / 2, (case when statement_end_offset = -1 then datalength(t.text) else statement_end_offset end - statement_start_offset) / 2) as query_text from sys.dm_exec_requests as r outer apply sys.dm_exec_sql_text(r.sql_handle) as t IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> Head blockers' select * from sys.sysprocesses where spid in (select blocked from sys.sysprocesses) and blocked=0 PRINT '' PRINT '-> SELECT @@version:' PRINT @@VERSION PRINT '' PRINT '-> Current login (SUSER_SNAME):' PRINT SUSER_SNAME () PRINT '' PRINT '-> SQL Server name (@@SERVERNAME):' PRINT @@SERVERNAME PRINT '' PRINT '-> Host (client) machine name (HOST_NAME):' PRINT HOST_NAME() PRINT '' PRINT '-> @@LANGUAGE:' PRINT @@LANGUAGE PRINT '' PRINT '-> DBCC TRACESTATUS (-1):' DBCC TRACESTATUS (-1) PRINT '' PRINT '-> sys.dm_tran_database_transactions' select TOP 10000 db_name(database_id), * from sys.dm_tran_database_transactions IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_tran_active_transactions' select TOP 10000 * from sys.dm_tran_active_transactions IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_sys_info' select TOP 10000 * from sys.dm_os_sys_info IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_schedulers' select * from sys.dm_os_schedulers PRINT '' PRINT '-> sys.dm_os_threads' select TOP 10000 * from sys.dm_os_threads IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_workers' select TOP 10000 * from sys.dm_os_workers IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_tasks' select TOP 10000 * from sys.dm_os_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_io_pending_io_requests' select TOP 10000 * from sys.dm_io_pending_io_requests IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_io_virtual_file_stats' SELECT TOP 10000 * FROM sys.dm_io_virtual_file_stats(NULL, NULL) IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_latch_stats' select TOP 10000 * from sys.dm_os_latch_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_spinlock_stats' select TOP 10000 * from sys.dm_os_spinlock_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_sublatches' select TOP 10000 * from sys.dm_os_sublatches IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_memory_pools' select TOP 10000 * from sys.dm_os_memory_pools IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_memory_clerks' select TOP 10000 * from sys.dm_os_memory_clerks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_memory_brokers' select TOP 10000 * from sys.dm_os_memory_brokers IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_memory_nodes' select TOP 10000 * from sys.dm_os_memory_nodes IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_wait_stats' select TOP 10000 * from sys.dm_os_wait_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_waiting_tasks' select TOP 10000 * from sys.dm_os_waiting_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_loaded_modules' select TOP 10000 * from sys.dm_os_loaded_modules IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_os_cluster_nodes' select * from sys.dm_os_cluster_nodes PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_nodes' select TOP 10000 * from sys.dm_os_nodes IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_process_memory' select TOP 10000 * from sys.dm_os_process_memory IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_os_sys_memory' select TOP 10000 * from sys.dm_os_sys_memory IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_io_cluster_shared_drives' select TOP 10000 * from sys.dm_io_cluster_shared_drives IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_appdomains' select TOP 10000 * from sys.dm_clr_appdomains IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_loaded_assemblies' select TOP 10000 * from sys.dm_clr_loaded_assemblies IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_properties' select TOP 10000 * from sys.dm_clr_properties IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_clr_tasks' select TOP 10000 * from sys.dm_clr_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assemblies' select TOP 10000 * from sys.assemblies IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assembly_modules' select TOP 10000 * from sys.assembly_modules IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.assembly_types' select TOP 10000 * from sys.assembly_types IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.database_files' select TOP 10000 * from sys.database_files IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_file_space_usage' select TOP 10000 * from sys.dm_db_file_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_session_space_usage' select TOP 10000 * from sys.dm_db_session_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_db_task_space_usage' select TOP 10000 * from sys.dm_db_task_space_usage IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_exec_query_optimizer_info' select TOP 10000 * from sys.dm_exec_query_optimizer_info IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_exec_query_memory_grants' select TOP 10000 * from sys.dm_exec_query_memory_grants IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_exec_query_resource_semaphores' select TOP 10000 * from sys.dm_exec_query_resource_semaphores IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_exec_query_transformation_stats' select TOP 10000 * from sys.dm_exec_query_transformation_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_activated_tasks' select TOP 10000 * from sys.dm_broker_activated_tasks IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_connections' select TOP 10000 * from sys.dm_broker_connections IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_broker_queue_monitors' select TOP 10000 * from sys.dm_broker_queue_monitors IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_resource_governor_configuration' select TOP 10000 * from sys.dm_resource_governor_configuration IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_resource_governor_resource_pools' select TOP 10000 * from sys.dm_resource_governor_resource_pools IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_resource_governor_workload_groups' select TOP 10000 * from sys.dm_resource_governor_workload_groups IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_database_encryption_keys' select TOP 10000 * from sys.dm_database_encryption_keys IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_filestream_file_io_handles' select TOP 10000 * from sys.dm_filestream_file_io_handles IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- New DMV in SQL Server 2008 PRINT '-> sys.dm_filestream_file_io_requests' select TOP 10000 * from sys.dm_filestream_file_io_requests IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' -- This is potentially too large to capture by default. IF @bGetQueryStats = 1 BEGIN PRINT '-> sys.dm_exec_query_stats' SELECT TOP 10000 * FROM sys.dm_exec_query_stats IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' END PRINT '-> sysperfinfo snapshot #1' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM sys.sysperfinfo WAITFOR DELAY '0:0:05' PRINT '-> sysperfinfo snapshot #2' PRINT CONVERT (varchar, GETDATE(), 109) SELECT * FROM sys.sysperfinfo PRINT '' DECLARE @IsFullTextInstalled int PRINT '-> Full-text information' PRINT '-> FULLTEXTSERVICEPROPERTY (IsFulltextInstalled)' SET @IsFullTextInstalled = FULLTEXTSERVICEPROPERTY ('IsFulltextInstalled') PRINT CASE @IsFullTextInstalled WHEN 1 THEN '1 - Yes' WHEN 0 THEN '0 - No' ELSE 'Unknown' END IF (@IsFullTextInstalled = 1) BEGIN PRINT '-> FULLTEXTSERVICEPROPERTY (ResourceUsage)' PRINT CASE FULLTEXTSERVICEPROPERTY ('ResourceUsage') WHEN 0 THEN '0 - MSSearch not running' WHEN 1 THEN '1 - Background' WHEN 2 THEN '2 - Low' WHEN 3 THEN '3 - Normal' WHEN 4 THEN '4 - High' WHEN 5 THEN '5 - Highest' ELSE CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ResourceUsage')) END PRINT '-> FULLTEXTSERVICEPROPERTY (ConnectTimeout)' PRINT CONVERT (varchar, FULLTEXTSERVICEPROPERTY ('ConnectTimeout')) + ' sec' PRINT '' PRINT '-> sys.dm_fts_active_catalogs' select TOP 10000 * from sys.dm_fts_active_catalogs IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_index_population' select TOP 10000 * from sys.dm_fts_index_population IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_memory_pools' select TOP 10000 * from sys.dm_fts_memory_pools IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> sys.dm_fts_population_ranges' select TOP 10000 * from sys.dm_fts_population_ranges IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' PRINT '-> msdb..suspect_pages' select TOP 10000 * from msdb..suspect_pages IF @@rowcount >= 10000 PRINT '<<<<< LIMIT OF 10000 ROWS EXCEEDED, SOME RESULTS NOT SHOWN >>>>>' PRINT '' DECLARE @dbn varchar(31) DECLARE @cm varchar(8000) DECLARE db_cursor CURSOR FOR SELECT name FROM master.dbo.sysdatabases WHERE DATABASEPROPERTY (name, 'IsFulltextEnabled') = 1 FOR READ ONLY IF 0 = @@ERROR BEGIN OPEN db_cursor IF 0 = @@ERROR BEGIN FETCH db_cursor INTO @dbn WHILE @@FETCH_STATUS <> -1 AND 0 = @@ERROR BEGIN SELECT @cm = ' USE ' + + @dbn + ' PRINT ''-> sp_help_fulltext_catalogs'' EXEC sp_help_fulltext_catalogs PRINT ''-> sp_help_fulltext_tables'' EXEC sp_help_fulltext_tables PRINT ''-> sp_help_fulltext_columns'' EXEC sp_help_fulltext_columns PRINT ''-> Catalog properties'' SELECT name, FULLTEXTCATALOGPROPERTY (name, ''ItemCount'') AS ItemCount, CONVERT (varchar, FULLTEXTCATALOGPROPERTY (name, ''IndexSize'')) + ''MB'' AS IndexSize, FULLTEXTCATALOGPROPERTY (name, ''UniqueKeyCount'') AS [Unique word count] FROM sysfulltextcatalogs USE tempdb' PRINT '-> Full text information for db [' + @dbn + ']' EXEC(@cm) FETCH db_cursor INTO @dbn END CLOSE db_cursor END DEALLOCATE db_cursor END END PRINT '' PRINT '-> Relative time spent on I/O, CPU, and idle since server start' SELECT @@CPU_BUSY AS [@@CPU_BUSY], @@IDLE AS [@@IDLE], @@IO_BUSY AS [@@IO_BUSY], CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@CPU_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_CPU_BUSY, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IDLE / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IDLE, CONVERT (varchar(8), CONVERT (numeric (6, 4), (100.0 * @@IO_BUSY / (@@CPU_BUSY + @@IDLE + @@IO_BUSY)))) + '%' AS Pct_IO_BUSY PRINT '' PRINT '-> Misc network and I/O stats' SELECT @@PACK_RECEIVED AS [@@PACK_RECEIVED], @@PACK_SENT AS [@@PACK_SENT], @@PACKET_ERRORS AS [@@PACKET_ERRORS (network errors e.g. 17824)] SELECT @@TOTAL_READ AS [@@TOTAL_READ], @@TOTAL_WRITE AS [@@TOTAL_WRITE], @@TOTAL_ERRORS AS [@@TOTAL_ERRORS (disk read/write I/O errors)] PRINT '' PRINT '-> GETDATE()' PRINT CONVERT (varchar, GETDATE(), 109) PRINT '' PRINT 'Done.' GO /* The board chagned the Product Version format in Katmai. The current foramt starting from Katmai will be single zero for minor version instead of two zeros in previous sql versions. " 10.m.bbbb.rr " */ IF (CHARINDEX('10.0.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_sqldiag10','P') IS NULL) RAISERROR('Error creating sp_sqldiag10',16,127) GO /* sp_trace */ IF OBJECT_ID('dbo.sp_trace07','P') IS NOT NULL DROP PROC dbo.sp_trace07 GO PRINT '' RAISERROR ('===== Creating sp_trace07', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_trace07 @OnOff varchar(3)='/?', @FileName sysname=NULL, @TraceName sysname='sp_trace', @Events varchar(300)=NULL, @Cols int=NULL, @TraceType int=0, @IncludeTextFilter sysname=NULL, @ExcludeTextFilter sysname=NULL, @IncludeObjIdFilter int=NULL, @IncludeAppFilter sysname=NULL, @ExcludeAppFilter sysname='SQLAgent%;SQL Server Profiler%', @IncludeConnectionIdFilter int=NULL, @MinCPUFilter int=0, @MaxCPUFilter int=0, @IncludeDBIdFilter int=NULL, @MinDurationFilter int=0, @MaxDurationFilter int=0, @IncludeNTNameFilter sysname=NULL, @ExcludeNTNameFilter sysname=NULL, @MinReadFilter int=0, @MaxReadFilter int=0, @IncludeServerFilter sysname=NULL, @ExcludeServerFilter sysname=NULL, @IncludeSPIdFilter int=NULL, @IncludeUserFilter sysname=NULL, @ExcludeUserFilter sysname=NULL, @MinWriteFilter int=0, @MaxWriteFilter int=0, @MinSeverityFilter int=0, @MaxSeverityFilter int=0, @IncludeHostFilter sysname=NULL, @ExcludeHostFilter sysname='PSSDIAG%', @IncludeHpIdFilter int=NULL, @IncludeIndIdFilter int=NULL, @IncludeNTDomainFilter sysname=NULL, @ExcludeNTDomainFilter sysname=NULL, @IncludeSysobjectsFilter int=NULL, @AppName sysname='PSSDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end SET NOCOUNT ON IF (@OnOff='/?') GOTO Help SET @OnOff=UPPER(@OnOff) IF (@OnOff<>'ON') AND (@OnOff<>'OFF') BEGIN RAISERROR('The @OnOff parameter must be either ''ON'' or ''OFF''.',16,10) RETURN -1 END IF (ABS(@IncludeSysobjectsFilter)>1) BEGIN RAISERROR('The @IncludeSysobjectsFilter parameter must be either 0 or 1.',16,10) RETURN -1 END -- Declare variables DECLARE @OldQueueHandle int -- Queue handle of currently running trace queue DECLARE @QueueHandle int -- Queue handle for new trace queue DECLARE @OldFileName sysname -- Output file for currently trace -- Stop the trace if running PRINT 'Stopping the trace if it is running...' IF OBJECT_ID('tempdb.dbo.PSSDIAGTraceQueue') IS NOT NULL BEGIN IF EXISTS(SELECT * FROM tempdb.dbo.PSSDIAGTraceQueue WHERE QueueName = @TraceName AND AppName=@AppName) BEGIN SELECT @OldQueueHandle = QueueHandle, @OldFileName= QueueFile FROM tempdb.dbo.PSSDIAGTraceQueue WHERE QueueName = @TraceName AND AppName=@AppName IF @@ROWCOUNT<>0 BEGIN EXEC master..xp_trace_destroyqueue @OldQueueHandle PRINT 'Deleted trace: ' + @TraceName+', Queue: '+CAST(@OldQueueHandle AS varchar)+'.' PRINT 'The trace output file name is: '+@OldFileName+'.' DELETE tempdb.dbo.PSSDIAGTraceQueue WHERE QueueName = @TraceName AND AppName=@AppName END END ELSE PRINT 'No active traces named '+@TraceName END ELSE PRINT 'No active traces.' IF @OnOff='OFF' RETURN 0 -- We've stopped the trace (if it's running), so exit -- Append the datetime to the file name to create a new, unique file name. IF @FileName IS NULL SET @FileName = 'c:\TEMP\sp_trace_' + CONVERT(CHAR(8),getdate(),112) + REPLACE(CONVERT(varchar(15),getdate(),114),':','')+'.trc' -- Set the column mask for the data columns to capture. -- Text data | Binary data | Database ID | Transaction ID | Connection ID| -- Username | Domain name | Host name | Host process ID | Application name| -- SQL username | SPID | Duration | Start time | End time | Reads | Writes| -- CPU usage | Severity | Event Subclass | Object ID | Index ID | -- Integer data | Server name | Event Class IF @Cols IS NULL SET @Cols = 1|/*2|*/4|8|16|32|64|128|256|512|1024|2048|4096|8192|16384|32768| 65536|131072|524288|1048576|2097152|8388608|16777216|33554432|67108864 -- Create the trace queue EXEC master..xp_trace_addnewqueue 11000, 10000, 95, 90, @Cols, @QueueHandle output -- Record the trace queue handle for subsequent jobs. (This allows us to know how to stop our trace.) IF OBJECT_ID('tempdb.dbo.PSSDIAGTraceQueue') IS NULL BEGIN CREATE TABLE tempdb.dbo.PSSDIAGTraceQueue (QueueHandle int, QueueName sysname, QueueFile sysname, AppName sysname ) INSERT tempdb.dbo.PSSDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END ELSE BEGIN IF EXISTS(SELECT * FROM tempdb.dbo.PSSDIAGTraceQueue WHERE QueueName = @TraceName AND AppName=@AppName) BEGIN UPDATE tempdb.dbo.PSSDIAGTraceQueue SET QueueHandle = @QueueHandle WHERE QueueName = @TraceName AND AppName=@AppName END ELSE BEGIN INSERT tempdb.dbo.PSSDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END END -- Set filters (default values avoid tracing the trace activity itself) -- You can specify other filters like application name etc. by supplying strings to the @IncludeTextFilter/@ExcludeTextFilter parameters, separated by semicolons SET @ExcludeTextFilter='EXEC% master..xp_trace%;sp_trace%;EXEC% sp_trace%'+ISNULL(';'+@ExcludeTextFilter,'') -- Keep our own activity from showing up EXEC master..xp_trace_settextfilter @QueueHandle, @IncludeTextFilter, @ExcludeTextFilter EXEC master..xp_trace_setappfilter @QueueHandle, @IncludeAppFilter, @ExcludeAppFilter EXEC master..xp_trace_setcpufilter @QueueHandle, @MinCPUFilter, @MaxCPUFilter EXEC master..xp_trace_setdurationfilter @QueueHandle, @MinDurationFilter, @MaxDurationFilter EXEC master..xp_trace_setntnmfilter @QueueHandle, @IncludeNTNameFilter, @ExcludeNTNameFilter EXEC master..xp_trace_setreadfilter @QueueHandle, @MinReadFilter, @MaxReadFilter EXEC master..xp_trace_setserverfilter @QueueHandle, @IncludeServerFilter, @ExcludeServerFilter EXEC master..xp_trace_setuserfilter @QueueHandle, @IncludeUserFilter, @ExcludeUserFilter EXEC master..xp_trace_setwritefilter @QueueHandle, @MinWriteFilter, @MaxWriteFilter EXEC master..xp_trace_setseverityfilter @QueueHandle, @MinSeverityFilter, @MaxSeverityFilter EXEC master..xp_trace_sethostfilter @QueueHandle, @IncludeHostFilter, @ExcludeHostFilter EXEC master..xp_trace_setntdmfilter @QueueHandle, @IncludeNTDomainFilter, @ExcludeNTDomainFilter IF @IncludeObjIdFilter IS NOT NULL EXEC master..xp_trace_setobjidfilter @QueueHandle, @IncludeObjIdFilter IF @IncludeConnectionIdFilter IS NOT NULL EXEC master..xp_trace_setconnectionidfilter @QueueHandle, @IncludeConnectionIdFilter IF @IncludeDBIdFilter IS NOT NULL EXEC master..xp_trace_setdbidfilter @QueueHandle, @IncludeDBIdFilter IF @IncludeSPIdFilter IS NOT NULL EXEC master..xp_trace_setspidfilter @QueueHandle, @IncludeSPIdFilter IF @IncludeHpIdFilter IS NOT NULL EXEC master..xp_trace_sethpidfilter @QueueHandle, @IncludeHpIdFilter IF @IncludeIndIdFilter IS NOT NULL EXEC master..xp_trace_setindidfilter @QueueHandle, @IncludeIndIdFilter IF @IncludeSysobjectsFilter IS NOT NULL EXEC master..xp_trace_setsysobjectsfilter @QueueHandle, @IncludeSysobjectsFilter -- Specify the event classes to trace -- To list all the event classes, execute the procedure xp_trace_geteventnames using Query Analyzer -- or look up for that procedure in SQL Server BOL and add to the following list as needed IF @Events IS NULL BEGIN IF @TraceType=0 BEGIN -- Minimal trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 42 ,1 -- SP:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 43 ,1 -- SP:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 45 ,1 -- SP:StmtCompleted END ELSE IF @TraceType=1 BEGIN -- Generic replay trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 61 ,1 -- OLEDB Errors EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 25 ,1 -- Lock:Deadlock EXEC master..xp_trace_seteventclassrequired @QueueHandle, 27 ,1 -- Lock:Timeout EXEC master..xp_trace_seteventclassrequired @QueueHandle, 59 ,1 -- Lock:Deadlock Chain EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 58 ,1 -- Auto-UpdateStats EXEC master..xp_trace_seteventclassrequired @QueueHandle, 81 ,1 -- Server Memory Change EXEC master..xp_trace_seteventclassrequired @QueueHandle, 18 ,1 -- ServiceControl EXEC master..xp_trace_seteventclassrequired @QueueHandle, 32 ,1 -- ConnectionBeingKilled EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection DBCC TRACEON (8510, -1) -- 8510 is necessary for DTCTransaction to correctly report isolation levels EXEC master..xp_trace_seteventclassrequired @QueueHandle, 19 ,1 -- DTCTransaction EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted END ELSE IF @TraceType=2 BEGIN -- Minimal performance trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 75 ,1 -- Cursor Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 61 ,1 -- OLEDB Errors EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 25 ,1 -- Lock:Deadlock EXEC master..xp_trace_seteventclassrequired @QueueHandle, 27 ,1 -- Lock:Timeout EXEC master..xp_trace_seteventclassrequired @QueueHandle, 59 ,1 -- Lock:Deadlock Chain EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 58 ,1 -- Auto-UpdateStats EXEC master..xp_trace_seteventclassrequired @QueueHandle, 81 ,1 -- Server Memory Change EXEC master..xp_trace_seteventclassrequired @QueueHandle, 18 ,1 -- ServiceControl EXEC master..xp_trace_seteventclassrequired @QueueHandle, 32 ,1 -- ConnectionBeingKilled EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 37 ,1 -- SP:Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted END ELSE IF @TraceType=3 BEGIN -- General performance trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 75 ,1 -- Cursor Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 76 ,1 -- Cursor Implicit Conversion EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 61 ,1 -- OLEDB Errors EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 25 ,1 -- Lock:Deadlock EXEC master..xp_trace_seteventclassrequired @QueueHandle, 27 ,1 -- Lock:Timeout EXEC master..xp_trace_seteventclassrequired @QueueHandle, 59 ,1 -- Lock:Deadlock Chain EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 58 ,1 -- Auto-UpdateStats EXEC master..xp_trace_seteventclassrequired @QueueHandle, 81 ,1 -- Server Memory Change EXEC master..xp_trace_seteventclassrequired @QueueHandle, 18 ,1 -- ServiceControl EXEC master..xp_trace_seteventclassrequired @QueueHandle, 32 ,1 -- ConnectionBeingKilled EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 34 ,1 -- SP:CacheMiss EXEC master..xp_trace_seteventclassrequired @QueueHandle, 35 ,1 -- SP:CacheInsert EXEC master..xp_trace_seteventclassrequired @QueueHandle, 36 ,1 -- SP:CacheRemove EXEC master..xp_trace_seteventclassrequired @QueueHandle, 37 ,1 -- SP:Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 38 ,1 -- SP:CacheHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 39 ,1 -- SP:ExecContextHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 50 ,1 -- SQLTransaction EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted END ELSE IF @TraceType=4 BEGIN -- Detailed performance trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 53 ,1 -- Cursor Open EXEC master..xp_trace_seteventclassrequired @QueueHandle, 75 ,1 -- Cursor Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 76 ,1 -- Cursor Implicit Conversion EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 61 ,1 -- OLEDB Errors EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 25 ,1 -- Lock:Deadlock EXEC master..xp_trace_seteventclassrequired @QueueHandle, 27 ,1 -- Lock:Timeout EXEC master..xp_trace_seteventclassrequired @QueueHandle, 59 ,1 -- Lock:Deadlock Chain EXEC master..xp_trace_seteventclassrequired @QueueHandle, 60 ,1 -- Lock:Escalation EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 58 ,1 -- Auto-UpdateStats EXEC master..xp_trace_seteventclassrequired @QueueHandle, 68 ,1 -- Execution Plan EXEC master..xp_trace_seteventclassrequired @QueueHandle, 20 ,1 -- LoginFailed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 81 ,1 -- Server Memory Change EXEC master..xp_trace_seteventclassrequired @QueueHandle, 18 ,1 -- ServiceControl EXEC master..xp_trace_seteventclassrequired @QueueHandle, 32 ,1 -- ConnectionBeingKilled EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 34 ,1 -- SP:CacheMiss EXEC master..xp_trace_seteventclassrequired @QueueHandle, 35 ,1 -- SP:CacheInsert EXEC master..xp_trace_seteventclassrequired @QueueHandle, 36 ,1 -- SP:CacheRemove EXEC master..xp_trace_seteventclassrequired @QueueHandle, 37 ,1 -- SP:Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 38 ,1 -- SP:CacheHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 39 ,1 -- SP:ExecContextHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 42 ,1 -- SP:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 43 ,1 -- SP:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 44 ,1 -- SP:StmtStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 45 ,1 -- SP:StmtCompleted EXEC master..xp_trace_seteventclassrequired @QueueHandle, 50 ,1 -- SQLTransaction EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted EXEC master..xp_trace_seteventclassrequired @QueueHandle, 40 ,1 -- SQL:StmtStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 41 ,1 -- SQL:StmtCompleted END ELSE IF @TraceType=5 BEGIN -- DTC replay trace EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 50 ,1 -- SQLTransaction DBCC TRACEON (8510, -1) -- 8510 is necessary for DTCTransaction to correctly report isolation levels EXEC master..xp_trace_seteventclassrequired @QueueHandle, 19 ,1 -- DTCTransaction EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate END ELSE IF @TraceType=6 BEGIN -- Itemized (semi-detailed) performance trace (no execution plan) EXEC master..xp_trace_seteventclassrequired @QueueHandle, 53 ,1 -- Cursor Open EXEC master..xp_trace_seteventclassrequired @QueueHandle, 75 ,1 -- Cursor Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 76 ,1 -- Cursor Implicit Conversion EXEC master..xp_trace_seteventclassrequired @QueueHandle, 21 ,1 -- EventLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 22 ,1 -- ErrorLog EXEC master..xp_trace_seteventclassrequired @QueueHandle, 33 ,1 -- Exception EXEC master..xp_trace_seteventclassrequired @QueueHandle, 55 ,1 -- Hash Warning EXEC master..xp_trace_seteventclassrequired @QueueHandle, 61 ,1 -- OLEDB Errors EXEC master..xp_trace_seteventclassrequired @QueueHandle, 67 ,1 -- Execution Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 69 ,1 -- Sort Warnings EXEC master..xp_trace_seteventclassrequired @QueueHandle, 79 ,1 -- Missing Column Statistics EXEC master..xp_trace_seteventclassrequired @QueueHandle, 80 ,1 -- Missing Join Predicate EXEC master..xp_trace_seteventclassrequired @QueueHandle, 25 ,1 -- Lock:Deadlock EXEC master..xp_trace_seteventclassrequired @QueueHandle, 27 ,1 -- Lock:Timeout EXEC master..xp_trace_seteventclassrequired @QueueHandle, 59 ,1 -- Lock:Deadlock Chain EXEC master..xp_trace_seteventclassrequired @QueueHandle, 60 ,1 -- Lock:Escalation EXEC master..xp_trace_seteventclassrequired @QueueHandle, 16 ,1 -- Attention EXEC master..xp_trace_seteventclassrequired @QueueHandle, 58 ,1 -- Auto-UpdateStats -- EXEC master..xp_trace_seteventclassrequired @QueueHandle, 68 ,1 -- Execution Plan EXEC master..xp_trace_seteventclassrequired @QueueHandle, 20 ,1 -- LoginFailed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 81 ,1 -- Server Memory Change EXEC master..xp_trace_seteventclassrequired @QueueHandle, 18 ,1 -- ServiceControl EXEC master..xp_trace_seteventclassrequired @QueueHandle, 32 ,1 -- ConnectionBeingKilled EXEC master..xp_trace_seteventclassrequired @QueueHandle, 14 ,1 -- Connect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 15 ,1 -- Disconnect EXEC master..xp_trace_seteventclassrequired @QueueHandle, 17 ,1 -- Existing Connection EXEC master..xp_trace_seteventclassrequired @QueueHandle, 34 ,1 -- SP:CacheMiss EXEC master..xp_trace_seteventclassrequired @QueueHandle, 35 ,1 -- SP:CacheInsert EXEC master..xp_trace_seteventclassrequired @QueueHandle, 36 ,1 -- SP:CacheRemove EXEC master..xp_trace_seteventclassrequired @QueueHandle, 37 ,1 -- SP:Recompile EXEC master..xp_trace_seteventclassrequired @QueueHandle, 38 ,1 -- SP:CacheHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 39 ,1 -- SP:ExecContextHit EXEC master..xp_trace_seteventclassrequired @QueueHandle, 42 ,1 -- SP:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 43 ,1 -- SP:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 44 ,1 -- SP:StmtStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 45 ,1 -- SP:StmtCompleted EXEC master..xp_trace_seteventclassrequired @QueueHandle, 50 ,1 -- SQLTransaction EXEC master..xp_trace_seteventclassrequired @QueueHandle, 11 ,1 -- RPC:Starting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 10 ,1 -- RPC:Completed EXEC master..xp_trace_seteventclassrequired @QueueHandle, 13 ,1 -- SQL:BatchStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 12 ,1 -- SQL:BatchCompleted EXEC master..xp_trace_seteventclassrequired @QueueHandle, 40 ,1 -- SQL:StmtStarting EXEC master..xp_trace_seteventclassrequired @QueueHandle, 41 ,1 -- SQL:StmtCompleted END ELSE BEGIN RAISERROR('Invalid trace type.',16,10) DBCC TRACEOFF(3604) RETURN -1 END END ELSE BEGIN -- Loop through the @Events string, parsing out each event number and adding it to the queue definition IF RIGHT(@Events,1)<>',' SET @Events=@Events+',' -- Append a comma to satisfy the loop DECLARE @i int, @Event int SET @i=CHARINDEX(',',@Events) WHILE @i<>0 BEGIN SET @Event=CAST(LEFT(@Events,@i-1) AS int) EXEC master..xp_trace_seteventclassrequired @QueueHandle, @Event ,1 SET @Events=SUBSTRING(@Events,@i+1,300) SET @i=CHARINDEX(',',@Events) END END -- Delete the file if it exists DECLARE @cmd varchar(8000) SET @cmd='DEL '+@FileName EXEC master..xp_cmdshell @cmd -- Configure the queue to write to a file PRINT 'The new trace output file name is : '+@FileName+'.' EXEC master..xp_trace_setqueuedestination @QueueHandle, 2, 1, NULL, @FileName -- Start the consumer that actually writes to the file EXEC master..xp_trace_startconsumer @QueueHandle RETURN 0 Help: DECLARE @crlf char(2), @tabc char(1) SET @crlf=char(13)+char(10) SET @tabc=char(9) PRINT 'sp_trace -- Starts/stops a Profiler-like trace using Transact-SQL eXtended Procedure calls' PRINT @crlf+'Parameters:' PRINT @tabc+'Parameter Type Default Purpose' PRINT @tabc+'-------------------------- ------------ ------------------------------ ------------------------------------------------------------------------------------------' PRINT @tabc+'@OnOff varchar(3) /? Starts/stops the trace (or lists help info)' PRINT @tabc+'@FileName sysname c:\temp\YYYYMMDDhhmissmmm.trc Trace file name' PRINT @tabc+'@TraceName sysname sp_trace Specifies the name of the trace' PRINT @tabc+'@TraceType int 0 Type of trace: 0=Minimal, 1=Generic replay, 2=Minimal performance, 3=General performance, 4=Detailed performance, 5=DTC replay, 6=Itemized (semi-detailed) performance' PRINT @tabc+'@Events varchar(300) SP events, errors & warnings Comma-delimited list specifying the events numbers (per xp_trace_geteventnames) to trace' PRINT @tabc+'@Cols int All columns except BinaryData Bitmask specifying what columns (per xp_trace_addnewqueue) to include in the trace' PRINT @tabc+'@IncludeTextFilter sysname NULL Semicolon delimited list specifying what TextData strings to include in the trace' PRINT @tabc+'@ExcludeTextFilter sysname NULL Semicolon delimited list specifying what TextData strings to filter out of the trace' PRINT @tabc+'@IncludeObjIdFilter sysname NULL Id of an object to target with the trace' PRINT @tabc+'@IncludeAppFilter sysname NULL Semicolon delimited list of AppNames to include in the trace' PRINT @tabc+'@ExcludeAppFilter sysname SQLAgent%;SQL Server Profiler% Semicolon delimited list of AppNames to filter out of the trace' PRINT @tabc+'@IncludeConnectionIdFilter int NULL Id of a connection to target with the trace' PRINT @tabc+'@MinCPUFilter int 0 Minimum CPU time (in ms) to include for the events specified' PRINT @tabc+'@MaxCPUFilter int 0 Maximum CPU time (in ms) to include for the events specified' PRINT @tabc+'@IncludeDBIdFilter int NULL Id of the database to target with the trace' PRINT @tabc+'@MinDurationFilter int 0 Minimum event duration (in ms) to capture for the events specified' PRINT @tabc+'@MaxDurationFilter int 0 Maximum event duration (in ms) to capture for the events specified' PRINT @tabc+'@IncludeNTNameFilter sysname NULL, Semicolon delimited list of NT user names to include in the trace' PRINT @tabc+'@ExcludeNTNameFilter sysname NULL Semicolon delimited list of NT user names to filter out of the trace' PRINT @tabc+'@MinReadFilter int 0 Minimum number of logical read operations to capture for the events specified' PRINT @tabc+'@MaxReadFilter int 0 Maximum number of logical read operations to capture for the events specified' PRINT @tabc+'@IncludeServerFilter sysname NULL Semicolon delimited list of server names to include in the trace' PRINT @tabc+'@ExcludeServerFilter sysname NULL Semicolon delimited list of server names to filter out of the trace' PRINT @tabc+'@IncludeSPIdFilter int NULL Id of the user process to target with the trace' PRINT @tabc+'@IncludeUserFilter sysname NULL Semicolon delimited list of user names to include in the trace' PRINT @tabc+'@ExcludeUserFilter sysname NULL Semicolon delimited list of user names to exclude from the trace' PRINT @tabc+'@MinWriteFilter int 0 Minimum number of logical write operations to capture for the events specified' PRINT @tabc+'@MaxWriteFilter int 0 Maximum number of logical write operations to capture for the events specified' PRINT @tabc+'@MinSeverityFilter int 0 Minimum event severity level to capture for the events specified' PRINT @tabc+'@MaxSeverityFilter int 0 Maximum event severity level to capture for the events specified' PRINT @tabc+'@IncludeHostFilter sysname NULL Semicolon delimited list of host names to include in the trace' PRINT @tabc+'@ExcludeHostFilter sysname NULL Semicolon delimited list of host names to exclude from the trace' PRINT @tabc+'@IncludeHpIdFilter int NULL Id of the host process to target with the trace' PRINT @tabc+'@IncludeIndIdFilter int NULL Id of the index to target with the trace' PRINT @tabc+'@IncludeNTDomainFilter sysname NULL Semicolon delimited list of NT domain names to include in the trace' PRINT @tabc+'@ExcludeNTDomainFilter sysname NULL Semicolon delimited list of NT domain names to exclude from the trace' PRINT @tabc+'@IncludeSysobjectsFilter int NULL Integer specifying whether to include system objects in the trace (1=Yes, 0=No)' PRINT @crlf+'Supported events:' EXEC master..xp_trace_geteventnames PRINT @crlf+'Examples: ' PRINT @crlf+@tabc+'EXEC sp_trace' PRINT @crlf+@tabc+'EXEC sp_trace ''ON''' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF''' PRINT @crlf+@tabc+'EXEC sp_trace @OnOff=''ON'', @filename=''d:\mssql7\log\mytrace.trc''' PRINT @crlf+@tabc+'EXEC sp_trace @OnOff=''ON'', @Events=''37,43''' PRINT @crlf+@tabc+'DECLARE @ColsToGet int' PRINT @tabc+'SET @ColsToGet=4 | 4096 | 2097152' PRINT @tabc+'EXEC sp_trace @OnOff=''ON'', @Cols=@ColsToGet' PRINT @crlf+@tabc+'EXEC sp_trace @OnOff=''ON'', @IncludeTextFilter=''EXEC FooProc%''' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@tracename=''General Performance''' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF'',@tracename=''General Performance''' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@filename = ''d:\mssql7\log\mytrace'',' PRINT @tabc+@tabc+'@TraceName = ''General Performance'',' PRINT @tabc+@tabc+'@TraceType = 0,' PRINT @tabc+@tabc+'@Events = ''10,11,14,15,16,17,27,37,40,41,55'',' PRINT @tabc+@tabc+'@Cols = DEFAULT,' PRINT @tabc+@tabc+'@IncludeTextFilter = NULL,' PRINT @tabc+@tabc+'@IncludeObjIdFilter = NULL' RETURN 0 GO IF (CHARINDEX('7.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_trace07','P') IS NULL) RAISERROR('Error creating sp_trace07',16,127) GO IF OBJECT_ID('dbo.sp_trace08','P') IS NOT NULL DROP PROC dbo.sp_trace08 GO PRINT '' RAISERROR ('===== Creating sp_trace08', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_trace08 @OnOff varchar(4)='/?', @FileName sysname=NULL, @TraceName sysname='tsqltrace', @Options int=2, @MaxFileSize bigint=4000, @StopTime datetime=NULL, @TraceType int=0, @Events varchar(300)= -- 11 - RPC:Starting -- 13 - SQL:BatchStarting -- 14 - Connect -- 15 - Disconnect -- 16 - Attention -- 17 - Existing Connection -- 33 - Exception -- 42 - SP:Starting -- 43 - SP:Completed -- 45 - SP:StmtCompleted -- 55 - Hash Warning -- 67 - Execution Warnings -- 69 - Sort Warnings -- 79 - Missing Column Statistics -- 80 - Missing Join Predicate '11,13,14,15,16,17,33,42,43,45,55,67,69,79,80', @Cols varchar(300)= -- All columns '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,', @IncludeTextFilter sysname=NULL, @ExcludeTextFilter sysname=NULL, @IncludeObjIdFilter int=NULL, @ExcludeObjIdFilter int=NULL, @IncludeObjNameFilter sysname=NULL, @ExcludeObjNameFilter sysname=NULL, @IncludeHostFilter sysname=NULL, @ExcludeHostFilter sysname=NULL, @IncludeSpidFilter int=NULL, @ExcludeSpidFilter int=NULL, @TraceId int = NULL, @AppName sysname='PSSDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end SET NOCOUNT ON IF @OnOff='/?' GOTO Help SET @OnOff=UPPER(@OnOff) IF (@OnOff='LIST') BEGIN IF (OBJECT_ID('tempdb..PSSDIAGTraceQueue') IS NOT NULL) BEGIN IF (@TraceId IS NULL) BEGIN DECLARE tc CURSOR FOR SELECT * FROM tempdb..PSSDIAGTraceQueue WHERE AppName=@AppName FOR READ ONLY DECLARE @tid int, @tname varchar(20), @tfile sysname OPEN tc FETCH tc INTO @tid, @tname, @tfile IF @@ROWCOUNT<>0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN SELECT TraceId, TraceName, TraceFile FROM tempdb..PSSDIAGTraceQueue WHERE TraceId=@tid SELECT * FROM ::fn_trace_getinfo(@tid) FETCH tc INTO @tid, @tname, @tfile END END ELSE PRINT 'No traces in the trace queue.' CLOSE tc DEALLOCATE tc END ELSE BEGIN SELECT TraceId, TraceName, TraceFile FROM tempdb..PSSDIAGTraceQueue WHERE TraceId=@TraceId SELECT * FROM ::fn_trace_getinfo(@TraceId) END END ELSE PRINT 'No traces to list.' RETURN 0 END -- Declare variables DECLARE @OldQueueHandle int -- Queue handle of currently running trace queue DECLARE @QueueHandle int -- Queue handle for new running trace queue DECLARE @On bit -- Necessary because of a bug in some of the sp_trace_xx procs DECLARE @OurObjId int -- Used to keep us out of the trace log DECLARE @OldTraceFile sysname -- File name of running trace DECLARE @res int -- Result var for sp calls SET @On=1 -- Stop the trace if running IF OBJECT_ID('tempdb..PSSDIAGTraceQueue') IS NOT NULL BEGIN IF EXISTS(SELECT * FROM tempdb..PSSDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName) BEGIN SELECT @OldQueueHandle = TraceId, @OldTraceFile=TraceFile FROM tempdb..PSSDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName IF @@ROWCOUNT<>0 BEGIN EXEC sp_trace_setstatus @TraceId=@OldQueueHandle, @status=0 EXEC sp_trace_setstatus @TraceId=@OldQueueHandle, @status=2 PRINT 'Deleted trace queue ' + CAST(@OldQueueHandle AS varchar(20))+'.' PRINT 'The trace output file name is: '+@OldTraceFile+'.trc.' DELETE tempdb..PSSDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName END END ELSE PRINT 'No active traces named '+@TraceName+' for '+@AppName+'.' END ELSE PRINT 'No active traces.' IF @OnOff='OFF' RETURN 0 -- We've stopped the trace (if it's running), so exit -- Do some basic param validation IF (@Cols IS NULL) BEGIN RAISERROR('You must specify the columns to trace.',16,10) RETURN -1 END IF ((@TraceType=0) AND (@Events IS NULL)) BEGIN RAISERROR('You must specify either @TraceType or @Events.',16,10) RETURN -1 END -- Append the datetime to the file name to create a new, unique file name. IF @FileName IS NULL SELECT @FileName = 'c:\TEMP\tsqltrace_' + CONVERT(CHAR(8),getdate(),112) + REPLACE(CONVERT(varchar(15),getdate(),114),':','') -- Delete the file if it exists DECLARE @cmd varchar(8000) SET @cmd='DEL '+@FileName+'.trc' SET @cmd=REPLACE(@cmd,'sp_trace','*') -- Delete all trace files so that SQL Server's rollover functionality works EXEC master..xp_cmdshell @cmd -- Check for proper permissions -- This check is only valid if xp_cmdshell and SQL Server are running under the same account -- First try accessing the output folder DECLARE @outputfolder varchar(255) SET @outputfolder=@FileName -- Whack off the filename portion of the full file path SET @outputfolder=REVERSE(@outputfolder) SET @outputfolder=SUBSTRING(@outputfolder,CHARINDEX('\',@outputfolder)+1,255) SET @outputfolder=REVERSE(@outputfolder) PRINT 'Output folder='+@outputfolder /* CREATE TABLE #dirlist (linein varchar(8000)) SET @cmd='DIR '+@outputfolder INSERT #dirlist EXEC @res=master..xp_cmdshell @cmd IF (1=@res) BEGIN RAISERROR('Warning: Error accessing output folder %s. Reason: The path does not exist or SQL Server lacks sufficient rights to access it',10,10,@outputfolder) RETURN @res END ELSE BEGIN -- Check the amount of free space DECLARE @spaceline varchar(255) SELECT @spaceline=linein FROM #dirlist WHERE linein LIKE '% bytes free%' IF @spaceline IS NOT NULL BEGIN SET @spaceline=LEFT(@spaceline,CHARINDEX(' bytes free',@spaceline)) SET @spaceline=SUBSTRING(@spaceline,CHARINDEX('Dir(s) ',@spaceline)+LEN('Dir(s) '),255) PRINT 'Free space='+@spaceline+' bytes' DECLARE @freespace int SET @freespace=CAST(REPLACE(@spaceline,',','') AS bigint) / (1024*1024) -- If free space < 64MB, issue a warning IF (@freespace < 64) BEGIN RAISERROR('Warning: The target drive has only %d MB of free space. Your trace may not complete successfully.',10,10, @freespace) END END -- Now try creating a file in the output folder SET @cmd='ECHO test>'+@outputfolder+'\_ms_pss_tst.txt' EXEC @res=master..xp_cmdshell @cmd IF (1=@res) BEGIN RAISERROR('Warning: Error creating file. Reason: The drive is out of space or SQL Server lacks sufficient rights to write files in %s',10,10,@outputfolder) END ELSE BEGIN -- File created; delete it SET @cmd='DEL '+@outputfolder+'\_ms_pss_tst.txt' EXEC master..xp_cmdshell @cmd, no_output END END DROP TABLE #dirlist -- End permissions check */ -- Create the trace queue --if MaxFileSize is not more than 0, sql server runtime will report invalid parameter error. In this case, set MaxFileSize default value based on BOL IF @MaxFileSize<=0 SET @MaxFileSize=5 EXEC @res=sp_trace_create @TraceId=@QueueHandle OUT, @options=@Options, @tracefile=@FileName, @maxfilesize=@MaxFileSize, @stoptime=@StopTime IF @res<>0 BEGIN IF @res=1 RAISERROR('Trace not started. Reason: Unknown error.',16,10) ELSE IF @res=10 RAISERROR('Trace not started. Reason: Invalid options. Returned when options specified are incompatible.',16,10) ELSE IF @res=12 RAISERROR('Trace not started. Reason: Error creating file. Returned if the file already exists, drive is out of space, the path %s does not exist, or SQL Server does not have sufficent rights to write files in it.',16,10, @outputfolder) ELSE IF @res=13 RAISERROR('Trace not started. Reason: Out of memory. Returned when there is not enough memory to perform the specified action.',16,10) ELSE IF @res=14 RAISERROR('Trace not started. Reason: Invalid stop time. Returned when the stop time specified has already happened.',16,10) ELSE IF @res=15 RAISERROR('Trace not started. Reason: Invalid parameters. Returned when the user supplied incompatible parameters.',16,10) RETURN @res END PRINT 'Trace started.' PRINT 'The trace file name is : '+@FileName+'.' -- 2004/03/25 - BD: removed Errorlog event (22) from templates to avoid shiloh bug 471314. -- Also note that the "Missing Column Stats" event (79) was previously removed to avoid bug 356136. IF @TraceType=1 SET @Events='75,76,92,93,94,95,16,21,33,67,69,55,79,80,61,25,27,59,58,14,15,81,17,10,11,34,35,36,37,38,39,50,11,12' ELSE IF @TraceType=2 SET @Events='53,75,76,60,92,93,94,95,16,21,28,29,30,31,33,67,69,55,79,80,61,25,27,59,58,14,15,81,17,10,11,34,35,36,37,38,39,50,11,12,97,98,18,100,41,19,' -- Specify the event classes and columns to trace IF @Events IS NOT NULL BEGIN -- Loop through the @Events and @Cols strings, parsing out each event & column number and adding them to the trace definition IF RIGHT(@Events,1)<>',' SET @Events=@Events+',' -- Append a comma to satisfy the loop IF RIGHT(@Cols,1)<>',' SET @Cols=@Cols+',' -- Append a comma to satisfy the loop DECLARE @i int, @j int, @Event int, @Col int, @ColStr varchar(300) SET @i=CHARINDEX(',',@Events) WHILE @i<>0 BEGIN SET @Event=CAST(LEFT(@Events,@i-1) AS int) SET @ColStr=@Cols SET @j=CHARINDEX(',',@ColStr) WHILE @j<>0 BEGIN SET @Col=CAST(LEFT(@ColStr,@j-1) AS int) EXEC sp_trace_setevent @TraceId=@QueueHandle, @eventid=@Event, @columnid=@Col, @on=@On SET @ColStr=SUBSTRING(@ColStr,@j+1,300) SET @j=CHARINDEX(',',@ColStr) END SET @Events=SUBSTRING(@Events,@i+1,300) SET @i=CHARINDEX(',',@Events) END END -- Set filters (default values avoid tracing the trace activity itself) -- You can specify other filters like application name etc. by supplying strings to the @IncludeTextFilter/@ExcludeTextFilter parameters, separated by semicolons --SET @ExcludeTextFilter='sp_trace%'+ISNULL(';'+@ExcludeTextFilter,'') -- By default, keep our own activity from showing up SET @OurObjId=OBJECT_ID('master..sp_trace') -- EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=7, @value=N'EXEC% sp_trace%' IF @ExcludeTextFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=7, @value=@ExcludeTextFilter IF @IncludeTextFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=6, @value=@IncludeTextFilter IF @IncludeObjIdFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=0, @value=@IncludeObjIdFilter -- EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=1, @value=@OurObjId IF @ExcludeObjIdFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=1, @value=@ExcludeObjIdFilter IF @IncludeObjNameFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=34, @logical_operator=0, @comparison_operator=6, @value=@IncludeObjNameFilter IF @ExcludeObjNameFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=34, @logical_operator=0, @comparison_operator=7, @value=@ExcludeObjNameFilter IF @IncludeHostFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=8, @logical_operator=0, @comparison_operator=6, @value=@IncludeHostFilter IF @ExcludeHostFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=8, @logical_operator=0, @comparison_operator=7, @value=@ExcludeHostFilter IF @IncludeSpidFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=12, @logical_operator=0, @comparison_operator=0, @value=@IncludeSpidFilter IF @ExcludeSpidFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=12, @logical_operator=0, @comparison_operator=1, @value=@ExcludeSpidFilter -- Turn the trace on EXEC sp_trace_setstatus @TraceId=@QueueHandle, @status=1 -- Record the trace queue handle for subsequent jobs. (This allows us to know how to stop our trace.) IF OBJECT_ID('tempdb..PSSDIAGTraceQueue') IS NULL BEGIN CREATE TABLE tempdb..PSSDIAGTraceQueue (TraceId int, TraceName varchar(20), TraceFile sysname, AppName sysname) INSERT tempdb..PSSDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END ELSE BEGIN IF EXISTS(SELECT * FROM tempdb..PSSDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName) BEGIN UPDATE tempdb..PSSDIAGTraceQueue SET TraceId = @QueueHandle, TraceFile=@FileName WHERE TraceName = @TraceName AND AppName=@AppName END ELSE BEGIN INSERT tempdb..PSSDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END END RETURN 0 Help: PRINT 'sp_trace -- Starts/stops a Profiler-like trace using Transact-SQL eXtended Procedure calls.' DECLARE @crlf char(2), @tabc char(1) SET @crlf=char(13)+char(10) SET @tabc=char(9) PRINT @crlf+'Parameters:' PRINT @crlf+@tabc+'@OnOff varchar(3) default: ON -- Starts/stops the trace' PRINT @crlf+@tabc+'@FileName sysname default: c:\temp\YYYYMMDDhhmissmmm.trc -- Specifies the trace file name (SQL Server always appends .trc extension)' PRINT @crlf+@tabc+'@TraceName sysname default: tsqltrace -- Specifies the name of the trace' PRINT @crlf+@tabc+'@TraceType int default: 0 -- Specifies the type of trace to run 1=General performance, 2=Detailed performance' PRINT @crlf+@tabc+'@Options int default: 2 (TRACE_FILE_ROLLOVER)' PRINT @crlf+@tabc+'@MaxFileSize bigint default: 2000000000 (MB)' PRINT @crlf+@tabc+'@StopTime datetime default: NULL' PRINT @crlf+@tabc+'@Events varchar(300) default: SP-related events and errors/warnings -- Comma-delimited list specifying the events numbers to trace' PRINT @crlf+@tabc+'@Cols varchar(300) default: All columns -- Comma-delimited list specifying the column numbers to trace' PRINT @crlf+@tabc+'@IncludeTextFilter sysname default: NULL -- String mask specifying what TextData strings to include in the trace' PRINT @crlf+@tabc+'@ExcludeTextFilter sysname default: NULL -- String mask specifying what TextData strings to filter out of the trace' PRINT @crlf+@tabc+'@IncludeObjIdFilter sysname default: NULL -- Specifies the id of an object to target with the trace' PRINT @crlf+@tabc+'@ExcludeObjIdFilter sysname default: NULL -- Specifies the id of an object to exclude from the trace' PRINT @crlf+@tabc+'@TraceId int default: NULL -- Specified the id of the trace to list when you specify the LIST option to @OnOff' PRINT @crlf+@tabc+'@AppName sysname default: PSSDIAG -- Specifies the name of the calling application' PRINT @crlf+'Examples: ' PRINT @crlf+@tabc+'EXEC sp_trace -- Displays this help text' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'' -- Starts a trace' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF'' -- Stops a trace' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'', @Filename=''d:\mssql7\log\mytrace'' -- Starts a trace with the specified file name' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@Events=''37,43'' -- Starts a trace the traps the specified event classes' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@Cols=''1,2,3'' -- Starts a trace that includes the specified columns' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@IncludeTextFilter=''EXEC% FooProc%'' -- Starts a trace that includes events matching the specified TextData mask' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@tracename=''General Performance'' -- Starts a trace using the specified name' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF'',@tracename=''General Performance'' -- Stops a trace with the specified name' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@filename = ''d:\mssql7\log\mytrace'', -- Starts a trace with the specified parameters' PRINT @tabc+@tabc+'@TraceName = ''General Performance'',' PRINT @tabc+@tabc+'@Options = 2, ' PRINT @tabc+@tabc+'@TraceType = 0,' PRINT @tabc+@tabc+'@MaxFileSize = 500,' PRINT @tabc+@tabc+'@StopTime = NULL, ' PRINT @tabc+@tabc+'@Events = ''10,11,14,15,16,17,27,37,40,41,55,58,67,69,79,80,98'',' PRINT @tabc+@tabc+'@Cols = DEFAULT,' PRINT @tabc+@tabc+'@IncludeTextFilter = NULL,' PRINT @tabc+@tabc+'@IncludeObjIdFilter = NULL,' PRINT @tabc+@tabc+'@ExcludeObjIdFilter = NULL' PRINT @crlf+@tabc+'To list all the traces currently running:' PRINT @crlf+@tabc+@tabc+'sp_trace ''LIST''' PRINT @crlf+@tabc+'To list information about a particular trace:' PRINT @crlf+@tabc+@tabc+'sp_trace ''LIST'', @TraceId=n -- where n is the trace ID you want to list' PRINT @crlf+@tabc+'To stop a specific trace, supply the @TraceName parameter when you call sp_trace ''OFF''.' RETURN 0 GO IF (CHARINDEX('8.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_trace08','P') IS NULL) RAISERROR('Error creating sp_trace08',16,127) GO /* IF OBJECT_ID('tempdb.dbo.SQLDIAGTraceQueue') IS NOT NULL DROP TABLE tempdb.dbo.SQLDIAGTraceQueue --GO */ IF OBJECT_ID('dbo.sp_trace09','P') IS NOT NULL DROP PROC dbo.sp_trace09 GO PRINT '' RAISERROR ('===== Creating sp_trace09', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_trace09 @OnOff varchar(4)='/?', @FileName sysname=NULL, @TraceName sysname='tsqltrace', @Options int=2, @MaxFileSize bigint=4000, @StopTime datetime=NULL, @FileCount int=NULL, @TraceType int=0, @Events varchar(300)= -- 11 - RPC:Starting -- 13 - SQL:BatchStarting -- 14 - Connect -- 15 - Disconnect -- 16 - Attention -- 17 - Existing Connection -- 33 - Exception -- 42 - SP:Starting -- 43 - SP:Completed -- 45 - SP:StmtCompleted -- 55 - Hash Warning -- 67 - Execution Warnings -- 69 - Sort Warnings -- 79 - Missing Column Statistics -- 80 - Missing Join Predicate '11,13,14,15,16,17,33,42,43,45,55,67,69,79,80', @Cols varchar(300)= -- All columns '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,', @IncludeTextFilter sysname=NULL, @ExcludeTextFilter sysname=NULL, @IncludeObjIdFilter int=NULL, @ExcludeObjIdFilter int=NULL, @IncludeObjNameFilter sysname=NULL, @ExcludeObjNameFilter sysname=NULL, @IncludeHostFilter sysname=NULL, @ExcludeHostFilter sysname=NULL, @IncludeSpidFilter int=NULL, @ExcludeSpidFilter int=NULL, @TraceId int = NULL, @AppName sysname='SQLDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end SET NOCOUNT ON IF @OnOff='/?' GOTO Help SET @OnOff=UPPER(@OnOff) IF (@OnOff='LIST') BEGIN IF (OBJECT_ID('tempdb..SQLDIAGTraceQueue') IS NOT NULL) BEGIN IF (@TraceId IS NULL) BEGIN DECLARE tc CURSOR FOR SELECT * FROM tempdb..SQLDIAGTraceQueue WHERE AppName=@AppName FOR READ ONLY DECLARE @tid int, @tname varchar(20), @tfile sysname OPEN tc FETCH tc INTO @tid, @tname, @tfile IF @@ROWCOUNT<>0 BEGIN WHILE @@FETCH_STATUS=0 BEGIN SELECT TraceId, TraceName, TraceFile FROM tempdb..SQLDIAGTraceQueue WHERE TraceId=@tid SELECT * FROM ::fn_trace_getinfo(@tid) FETCH tc INTO @tid, @tname, @tfile END END ELSE PRINT 'No traces in the trace queue.' CLOSE tc DEALLOCATE tc END ELSE BEGIN SELECT TraceId, TraceName, TraceFile FROM tempdb..SQLDIAGTraceQueue WHERE TraceId=@TraceId SELECT * FROM ::fn_trace_getinfo(@TraceId) END END ELSE PRINT 'No traces to list.' RETURN 0 END -- Declare variables DECLARE @OldQueueHandle int -- Queue handle of currently running trace queue DECLARE @QueueHandle int -- Queue handle for new running trace queue DECLARE @On bit, @Off bit -- Necessary because of a bug in some of the sp_trace_xx procs DECLARE @OurObjId int -- Used to keep us out of the trace log DECLARE @OldTraceFile sysname -- File name of running trace DECLARE @res int -- Result var for sp calls SET @On=1 SET @Off=0 -- Stop the trace if running IF OBJECT_ID('tempdb..SQLDIAGTraceQueue') IS NOT NULL BEGIN IF EXISTS(SELECT * FROM tempdb..SQLDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName) BEGIN SELECT @OldQueueHandle = TraceId, @OldTraceFile=TraceFile FROM tempdb..SQLDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName IF @@ROWCOUNT<>0 BEGIN EXEC sp_trace_setstatus @TraceId=@OldQueueHandle, @status=0 EXEC sp_trace_setstatus @TraceId=@OldQueueHandle, @status=2 PRINT 'Deleted trace queue ' + CAST(@OldQueueHandle AS varchar(20))+'.' PRINT 'The trace output file name is: '+@OldTraceFile+'.trc.' DELETE tempdb..SQLDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName END END ELSE PRINT 'No active traces named '+@TraceName+' for '+@AppName+'.' END ELSE PRINT 'No active traces.' IF @OnOff='OFF' RETURN 0 -- We've stopped the trace (if it's running), so exit -- Do some basic param validation IF (@Cols IS NULL) BEGIN RAISERROR('You must specify the columns to trace.',16,10) RETURN -1 END IF ((@TraceType=0) AND (@Events IS NULL)) BEGIN RAISERROR('You must specify either @TraceType or @Events.',16,10) RETURN -1 END -- Append the datetime to the file name to create a new, unique file name. IF @FileName IS NULL SELECT @FileName = 'c:\TEMP\tsqltrace_' + CONVERT(CHAR(8),getdate(),112) + REPLACE(CONVERT(varchar(15),getdate(),114),':','') -- Delete the file if it exists -- Ensure xp_cmdshell is enabled before we try this if (select value from sys.sysconfigures WHERE config=16390)=1 BEGIN DECLARE @cmd varchar(8000) SET @cmd='DEL '+@FileName+'.trc' SET @cmd=REPLACE(@cmd,'sp_trace','*') -- Delete all trace files so that SQL Server's rollover functionality works EXEC master..xp_cmdshell @cmd END -- First try accessing the output folder DECLARE @outputfolder varchar(255) SET @outputfolder=@FileName -- Whack off the filename portion of the full file path SET @outputfolder=REVERSE(@outputfolder) SET @outputfolder=SUBSTRING(@outputfolder,CHARINDEX('\',@outputfolder)+1,255) SET @outputfolder=REVERSE(@outputfolder) PRINT 'Output folder='+@outputfolder -- Create the trace queue -- found if @filecount parameter is set 1, sql server runtime will report invalid parameter error. only the parameter value is above 1, it works IF @FileCount<=1 SET @FileCount=NULL --if MaxFileSize is not more than 0, sql server runtime will report invalid parameter error. In this case, set MaxFileSize default value based on BOL IF @MaxFileSize<=0 SET @MaxFileSize=5 EXEC @res=sp_trace_create @TraceId=@QueueHandle OUT, @options=@Options, @tracefile=@FileName, @maxfilesize=@MaxFileSize, @stoptime=@StopTime, @filecount=@FileCount IF @res<>0 BEGIN IF @res=1 RAISERROR('Trace not started. Reason: Unknown error.',16,10) ELSE IF @res=10 RAISERROR('Trace not started. Reason: Invalid options. Returned when options specified are incompatible.',16,10) ELSE IF @res=12 RAISERROR('Trace not started. Reason: Error creating file. Returned if the file already exists, drive is out of space, the path %s does not exist, or SQL Server does not have sufficent rights to write files in it.',16,10, @outputfolder) ELSE IF @res=13 RAISERROR('Trace not started. Reason: Out of memory. Returned when there is not enough memory to perform the specified action.',16,10) ELSE IF @res=14 RAISERROR('Trace not started. Reason: Invalid stop time. Returned when the stop time specified has already happened.',16,10) ELSE IF @res=15 RAISERROR('Trace not started. Reason: Invalid parameters. Returned when the user supplied incompatible parameters.',16,10) RETURN @res END PRINT 'Trace started.' PRINT 'The trace file name is : '+@FileName+'.' -- 2004/03/25 - BD: removed Errorlog event (22) from templates to avoid shiloh bug 471314. -- Also note that the "Missing Column Stats" event (79) was previously removed to avoid bug 356136. IF @TraceType=1 SET @Events='75,76,92,93,94,95,16,21,33,67,69,55,79,80,61,25,27,59,58,14,15,81,17,10,11,34,35,36,37,38,39,50,11,12' ELSE IF @TraceType=2 SET @Events='53,75,76,60,92,93,94,95,16,21,28,29,30,31,33,67,69,55,79,80,61,25,27,59,58,14,15,81,17,10,11,34,35,36,37,38,39,50,11,12,97,98,18,100,41,19,' -- Specify the event classes and columns to trace IF @Events IS NOT NULL BEGIN -- Loop through the @Events and @Cols strings, parsing out each event & column number and adding them to the trace definition IF RIGHT(@Events,1)<>',' SET @Events=@Events+',' -- Append a comma to satisfy the loop IF RIGHT(@Cols,1)<>',' SET @Cols=@Cols+',' -- Append a comma to satisfy the loop DECLARE @i int, @j int, @Event int, @Col int, @ColStr varchar(300) SET @i=CHARINDEX(',',@Events) WHILE @i<>0 BEGIN SET @Event=CAST(LEFT(@Events,@i-1) AS int) SET @ColStr=@Cols SET @j=CHARINDEX(',',@ColStr) WHILE @j<>0 BEGIN SET @Col=CAST(LEFT(@ColStr,@j-1) AS int) if (@Col<>1) OR (not (@Event IN (10,11))) EXEC sp_trace_setevent @TraceId=@QueueHandle, @eventid=@Event, @columnid=@Col, @on=@On else EXEC sp_trace_setevent @TraceId=@QueueHandle, @eventid=@Event, @columnid=@Col, @on=@Off SET @ColStr=SUBSTRING(@ColStr,@j+1,300) SET @j=CHARINDEX(',',@ColStr) END SET @Events=SUBSTRING(@Events,@i+1,300) SET @i=CHARINDEX(',',@Events) END END -- Set filters (default values avoid tracing the trace activity itself) -- You can specify other filters like application name etc. by supplying strings to the @IncludeTextFilter/@ExcludeTextFilter parameters, separated by semicolons --SET @ExcludeTextFilter='sp_trace%'+ISNULL(';'+@ExcludeTextFilter,'') -- By default, keep our own activity from showing up SET @OurObjId=OBJECT_ID('master..sp_trace') -- EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=7, @value=N'EXEC% sp_trace%' IF @ExcludeTextFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=7, @value=@ExcludeTextFilter IF @IncludeTextFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=1, @logical_operator=0, @comparison_operator=6, @value=@IncludeTextFilter IF @IncludeObjIdFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=0, @value=@IncludeObjIdFilter -- EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=1, @value=@OurObjId IF @ExcludeObjIdFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=22, @logical_operator=0, @comparison_operator=1, @value=@ExcludeObjIdFilter IF @IncludeObjNameFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=34, @logical_operator=0, @comparison_operator=6, @value=@IncludeObjNameFilter IF @ExcludeObjNameFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=34, @logical_operator=0, @comparison_operator=7, @value=@ExcludeObjNameFilter IF @IncludeHostFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=8, @logical_operator=0, @comparison_operator=6, @value=@IncludeHostFilter IF @ExcludeHostFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=8, @logical_operator=0, @comparison_operator=7, @value=@ExcludeHostFilter IF @IncludeSpidFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=12, @logical_operator=0, @comparison_operator=0, @value=@IncludeSpidFilter IF @ExcludeSpidFilter IS NOT NULL EXEC sp_trace_setfilter @TraceId=@QueueHandle, @columnid=12, @logical_operator=0, @comparison_operator=1, @value=@ExcludeSpidFilter -- Turn the trace on EXEC sp_trace_setstatus @TraceId=@QueueHandle, @status=1 -- Record the trace queue handle for subsequent jobs. (This allows us to know how to stop our trace.) IF OBJECT_ID('tempdb..SQLDIAGTraceQueue') IS NULL BEGIN CREATE TABLE tempdb..SQLDIAGTraceQueue (TraceId int, TraceName varchar(20), TraceFile sysname, AppName sysname) INSERT tempdb..SQLDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END ELSE BEGIN IF EXISTS(SELECT * FROM tempdb..SQLDIAGTraceQueue WHERE TraceName = @TraceName AND AppName=@AppName) BEGIN UPDATE tempdb..SQLDIAGTraceQueue SET TraceId = @QueueHandle, TraceFile=@FileName WHERE TraceName = @TraceName AND AppName=@AppName END ELSE BEGIN INSERT tempdb..SQLDIAGTraceQueue VALUES(@QueueHandle, @TraceName, @FileName, @AppName) END END RETURN 0 Help: PRINT 'sp_trace -- Starts/stops a Profiler-like trace using Transact-SQL eXtended Procedure calls.' DECLARE @crlf char(2), @tabc char(1) SET @crlf=char(13)+char(10) SET @tabc=char(9) PRINT @crlf+'Parameters:' PRINT @crlf+@tabc+'@OnOff varchar(3) default: ON -- Starts/stops the trace' PRINT @crlf+@tabc+'@FileName sysname default: c:\temp\YYYYMMDDhhmissmmm.trc -- Specifies the trace file name (SQL Server always appends .trc extension)' PRINT @crlf+@tabc+'@TraceName sysname default: tsqltrace -- Specifies the name of the trace' PRINT @crlf+@tabc+'@TraceType int default: 0 -- Specifies the type of trace to run 1=General performance, 2=Detailed performance' PRINT @crlf+@tabc+'@Options int default: 2 (TRACE_FILE_ROLLOVER)' PRINT @crlf+@tabc+'@MaxFileSize bigint default: 2000000000 (MB)' PRINT @crlf+@tabc+'@StopTime datetime default: NULL' PRINT @crlf+@tabc+'@FileCount int default: NULL' PRINT @crlf+@tabc+'@Events varchar(300) default: SP-related events and errors/warnings -- Comma-delimited list specifying the events numbers to trace' PRINT @crlf+@tabc+'@Cols varchar(300) default: All columns -- Comma-delimited list specifying the column numbers to trace' PRINT @crlf+@tabc+'@IncludeTextFilter sysname default: NULL -- String mask specifying what TextData strings to include in the trace' PRINT @crlf+@tabc+'@ExcludeTextFilter sysname default: NULL -- String mask specifying what TextData strings to filter out of the trace' PRINT @crlf+@tabc+'@IncludeObjIdFilter sysname default: NULL -- Specifies the id of an object to target with the trace' PRINT @crlf+@tabc+'@ExcludeObjIdFilter sysname default: NULL -- Specifies the id of an object to exclude from the trace' PRINT @crlf+@tabc+'@TraceId int default: NULL -- Specified the id of the trace to list when you specify the LIST option to @OnOff' PRINT @crlf+@tabc+'@AppName sysname default: SQLDIAG -- Specifies the name of the calling application' PRINT @crlf+'Examples: ' PRINT @crlf+@tabc+'EXEC sp_trace -- Displays this help text' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'' -- Starts a trace' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF'' -- Stops a trace' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'', @Filename=''d:\mssql7\log\mytrace'' -- Starts a trace with the specified file name' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@Events=''37,43'' -- Starts a trace the traps the specified event classes' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@Cols=''1,2,3'' -- Starts a trace that includes the specified columns' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@IncludeTextFilter=''EXEC% FooProc%'' -- Starts a trace that includes events matching the specified TextData mask' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@tracename=''General Performance'' -- Starts a trace using the specified name' PRINT @crlf+@tabc+'EXEC sp_trace ''OFF'',@tracename=''General Performance'' -- Stops a trace with the specified name' PRINT @crlf+@tabc+'EXEC sp_trace ''ON'',@filename = ''d:\mssql7\log\mytrace'', -- Starts a trace with the specified parameters' PRINT @tabc+@tabc+'@TraceName = ''General Performance'',' PRINT @tabc+@tabc+'@Options = 2, ' PRINT @tabc+@tabc+'@TraceType = 0,' PRINT @tabc+@tabc+'@MaxFileSize = 500,' PRINT @tabc+@tabc+'@StopTime = NULL, ' PRINT @tabc+@tabc+'@FileCount = NULL, ' PRINT @tabc+@tabc+'@Events = ''10,11,14,15,16,17,27,37,40,41,55,58,67,69,79,80,98'',' PRINT @tabc+@tabc+'@Cols = DEFAULT,' PRINT @tabc+@tabc+'@IncludeTextFilter = NULL,' PRINT @tabc+@tabc+'@IncludeObjIdFilter = NULL,' PRINT @tabc+@tabc+'@ExcludeObjIdFilter = NULL' PRINT @crlf+@tabc+'To list all the traces currently running:' PRINT @crlf+@tabc+@tabc+'sp_trace ''LIST''' PRINT @crlf+@tabc+'To list information about a particular trace:' PRINT @crlf+@tabc+@tabc+'sp_trace ''LIST'', @TraceId=n -- where n is the trace ID you want to list' PRINT @crlf+@tabc+'To stop a specific trace, supply the @TraceName parameter when you call sp_trace ''OFF''.' RETURN 0 GO IF (CHARINDEX('9.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_trace09','P') IS NULL) RAISERROR('Error creating sp_trace09',16,127) GO IF OBJECT_ID('dbo.sp_trace10','P') IS NOT NULL DROP PROC dbo.sp_trace10 GO PRINT '' RAISERROR ('===== Creating sp_trace10', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_trace10 @OnOff varchar(4)='/?', @FileName sysname=NULL, @TraceName sysname='tsqltrace', @Options int=2, @MaxFileSize bigint=4000, @StopTime datetime=NULL, @FileCount int=NULL, @TraceType int=0, @Events varchar(300)= -- 11 - RPC:Starting -- 13 - SQL:BatchStarting -- 14 - Connect -- 15 - Disconnect -- 16 - Attention -- 17 - Existing Connection -- 33 - Exception -- 42 - SP:Starting -- 43 - SP:Completed -- 45 - SP:StmtCompleted -- 55 - Hash Warning -- 67 - Execution Warnings -- 69 - Sort Warnings -- 79 - Missing Column Statistics -- 80 - Missing Join Predicate '11,13,14,15,16,17,33,42,43,45,55,67,69,79,80', @Cols varchar(300)= -- All columns '1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,', @IncludeTextFilter sysname=NULL, @ExcludeTextFilter sysname=NULL, @IncludeObjIdFilter int=NULL, @ExcludeObjIdFilter int=NULL, @IncludeObjNameFilter sysname=NULL, @ExcludeObjNameFilter sysname=NULL, @IncludeHostFilter sysname=NULL, @ExcludeHostFilter sysname=NULL, @IncludeSpidFilter int=NULL, @ExcludeSpidFilter int=NULL, @TraceId int = NULL, @AppName sysname='SQLDIAG' AS BEGIN exec dbo.sp_trace09 @OnOff, @FileName, @TraceName, @Options, @MaxFileSize, @StopTime, @FileCount, @TraceType, @Events, @Cols, @IncludeTextFilter, @ExcludeTextFilter, @IncludeObjIdFilter, @ExcludeObjIdFilter, @IncludeObjNameFilter, @ExcludeObjNameFilter, @IncludeHostFilter, @ExcludeHostFilter, @IncludeSpidFilter, @ExcludeSpidFilter, @TraceId, @AppName END GO /* The board chagned the Product Version format in Katmai. The current foramt starting from Katmai will be single zero for minor version instead of two zeros in previous sql versions. " 10.m.bbbb.rr " */ IF (CHARINDEX('10.0.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_trace10','P') IS NULL) RAISERROR('Error creating sp_trace10',16,127) GO /* sp_code_runner */ IF OBJECT_ID('dbo.sp_code_runner07','P') IS NOT NULL DROP PROC dbo.sp_code_runner07 GO PRINT '' RAISERROR ('===== Creating sp_code_runner07', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_code_runner07 @StartCmd nvarchar(4000)='/?', @StartTime char(8)=NULL, @StopCondition nvarchar(4000)=NULL, @StopMessage nvarchar(4000)='Stop condition met.', @IterationTime char(8)=NULL, @Duration char(8)=NULL, @StopCmd nvarchar(4000)=NULL, @PollingInterval char(8)='00:00:05', @PauseBetweenRuns char(8)=NULL, @OutputDir sysname=NULL, @OutputFileMask sysname=NULL, @NumFiles int=16 AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end SET NOCOUNT ON IF @StartCmd='/?' GOTO Help -- Do some minimal parm checking IF COALESCE(@Duration, @StopCondition) IS NULL BEGIN RAISERROR('You must supply either the @Duration or the @StopCondition parameter.',16,10) RETURN -1 END IF @OutputFileMask='*' BEGIN RAISERROR('You may not specify an empty file mask.',16,10) RETURN -1 END IF (@OutputDir IS NOT NULL) AND (@OutputFileMask IS NULL) BEGIN RAISERROR('You must supply a file mask when supplying a directory.',16,10) RETURN -1 END -- Wait until the start time if there is one IF @StartTime IS NOT NULL WAITFOR TIME @StartTime -- Declare some variables and assign initial values DECLARE @Stop int, @i int, @EndTime datetime, @CurDate datetime, @CurDateStr varchar(25), @FName sysname, @DelCmd varchar(255), @OutputDirCmd varchar(255), @SCmd nvarchar(4000), @IterationDateTime datetime SET @CurDate=getdate() SET @EndTime=@CurDate+@Duration SET @Stop=CASE WHEN @CurDate >= @EndTime THEN 1 ELSE 0 END -- @Duration of 00:00:00, perhaps? SET @i=0 SET @StopCondition='IF ('+@StopCondition+') RAISERROR('''+@StopMessage+''',11,1)' IF @OutputDir IS NOT NULL BEGIN -- If we're going to generate file names, delete any old ones IF RIGHT(@OutputDir,1)<>'\' SET @OutputDir=@OutputDir+'\' SET @DelCmd='DEL '+@OutputDir+@OutputFileMask -- EXEC xp_cmdshell @DelCmd, no_output -- Delete all files matching the mask SET @OutputDirCmd='DIR '+@OutputDir+@OutputFileMask+' /B /ON' -- Prepare for Dir listing (below) END --IF (@Stop<>1) AND (@StopCondition IS NOT NULL) -- Check the stop condition - don't start if it's met -- EXEC @Stop=sp_executesql @StopCondition WHILE (@Stop=0) BEGIN IF @OutputDir IS NOT NULL BEGIN -- Gen a file name using the current date and time SET @CurDateStr=CONVERT(CHAR(8),getdate(),112) + REPLACE(CONVERT(varchar(15),getdate(),114),':','') SET @FName=REPLACE(@OutputFileMask,'*',@CurDateStr) IF (@@MICROSOFTVERSION >= 134217922 /* SS2K RTM */) BEGIN DECLARE @p int SET @p=CHARINDEX('.trc',@FName) IF (@p<>0) SET @FName=LEFT(@FName,@p-1) END SET @SCmd=@StartCmd+', @FileName='''+CAST(@OutputDir+@FName as nvarchar(255))+'''' END ELSE SET @SCmd=@StartCmd EXEC sp_executesql @SCmd -- Execute the start command SET @IterationDateTime=getdate()+ISNULL(@IterationTime,'23:59:59.999') WHILE (@Stop=0) AND (getdate()<@IterationDateTime) BEGIN -- IF @IterationTime IS NOT NULL -- Do the per iteration pause -- WAITFOR DELAY @IterationTime /* -- Special handling for .trc files IF (CHARINDEX('.TRC',@OutputFileMask)<>0) BEGIN --Cab and delete inactive trace files -- we won't be able to open active files SET @DelCmd='for %d in ('+@OutputDir+'*.trc) do '+@OutputDir+'compress '+@OutputDir+' %d' SELECT @DelCmd EXEC master..xp_cmdshell @DelCmd, no_output END */ IF @PollingInterval IS NOT NULL -- Do polling interval delay WAITFOR DELAY @PollingInterval SET @Stop=CASE WHEN getdate() >= @EndTime THEN 1 ELSE 0 END -- Check the duration IF (@Stop<>1) AND (@StopCondition IS NOT NULL) -- Check the stop condition EXEC @Stop=sp_executesql @StopCondition END IF @StopCmd IS NOT NULL -- Execute the stop command if there is one EXEC sp_executesql @StopCmd SET @i=@i+1 IF (@OutputDir IS NOT NULL) AND (@i>@NumFiles) BEGIN -- Get rid of extra files CREATE TABLE #files (fname varchar(255) NULL) INSERT #files EXEC master..xp_cmdshell @OutputDirCmd SELECT TOP 1 @DelCmd='DEL '+@OutputDir+fname FROM #files WHERE fname IS NOT NULL ORDER BY fname IF @@ROWCOUNT<>0 EXEC master..xp_cmdshell @DelCmd, no_output DROP TABLE #files END IF @PauseBetweenRuns IS NOT NULL -- Do pause between runs delay WAITFOR DELAY @PauseBetweenRuns END RETURN 0 Help: DECLARE @crlf char(2), @tabc char(1) SET @crlf=char(13)+char(10) SET @tabc=char(9) PRINT 'Procedure: sp_code_runner' PRINT @crlf+'Purpose: runs a specified TSQL command batch or stored procedure repetitively for a specified period of time' PRINT @crlf+'Parameters:' PRINT @tabc+'@StartCmd nvarchar(4000) default: (none) -- the TSQL command or procedure to start' PRINT @tabc+'@StartTime char(8) default: NULL -- the time to begin processing' PRINT @tabc+'@StopCondition nvarchar(4000) default: NULL -- the condition to check to determine whether to stop @StartCmd' PRINT @tabc+'@StopMessage nvarchar(4000) default: NULL -- the message to display when the stop condition is met' PRINT @tabc+'@IterationTime char(8) default: NULL -- the time that should elapse between iterations' PRINT @tabc+'@PollingInterval char(8) default: 00:00:10 -- the time to pause between checks of the @StopCondition' PRINT @tabc+'@Duration char(8) default: NULL -- the total amount of time @StartCmd should run' PRINT @tabc+'@StopCmd nvarchar(4000) default: NULL -- the TSQL command or procedure to run to stop @StartCmd' PRINT @tabc+'@OutputDir sysname default: NULL -- the target directory for the output file (if applicable -- proc must support @FileName parameter)' PRINT @tabc+'@OutputFileMask sysname default: NULL -- the filemask for output files (if applicable -- proc must support @FileName parameter)' PRINT @tabc+'@NumFiles int default: 16 -- the number of output files to retain (if applicable -- proc must support @FileName parameter)' PRINT @crlf+'Examples: ' PRINT @tabc+'EXEC sp_code_runner @StartCmd=N''EXEC sp_trace ''''ON'''''',' PRINT @tabc+'@StopCondition=N''OBJECT_ID(''''tempdb..stoptab'''') IS NOT NULL'',' PRINT @tabc+'@StopMessage=N''Trace stopped'', @IterationTime=''00:30:00'',' PRINT @tabc+'@StopCmd=N''EXEC sp_trace ''''OFF'''''',' PRINT @tabc+'@OutputDir=''c:\temp'',@OutputFileMask=''sp_trace*.trc'', @NumFiles=16' PRINT @crlf+@tabc+'EXEC sp_code_runner @StartCmd=N''EXEC sp_trace ''''ON'''''',' PRINT @tabc+'@IterationTime=''00:30:00'', @Duration=''12:00:00'',' PRINT @tabc+'@StopCmd=N''EXEC sp_trace ''''OFF'''''',' PRINT @tabc+'@OutputDir=''c:\temp'',@OutputFileMask=''sp_trace*.trc'', @NumFiles=10' PRINT @crlf+@tabc+'EXEC sp_code_runner @StartCmd=N''EXEC sp_blocker_pss70'',' PRINT @tabc+'@StopCondition=N''EXISTS(SELECT waittime FROM master..sysprocesses WHERE waittime>60000 AND blocked>0)'',' PRINT @tabc+'@StopMessage=''Longterm block detected'',' PRINT @tabc+'@IterationTime=''00:05:00'', @Duration=''12:00:00''' PRINT @crlf+@tabc+'EXEC sp_code_runner @StartCmd=N''EXEC sp_blocker_pss70'',' PRINT @tabc+'@StartTime=''00:22:00'', @IterationTime=''00:05:00'', @Duration=''12:00:00''' RETURN 0 GO IF (OBJECT_ID('dbo.sp_code_runner07') IS NULL) RAISERROR('Error creating sp_code_runner07',16,127) GO if (CHARINDEX('8.00.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_code_runner07 to sp_code_runner08', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_code_runner08','P') IS NOT NULL drop proc dbo.sp_code_runner08 EXEC sp_rename 'sp_code_runner07','sp_code_runner08' IF (OBJECT_ID('dbo.sp_code_runner08') IS NULL) RAISERROR('Error renaming sp_code_runner07 to sp_code_runner08',16,127) END ELSE if (CHARINDEX('9.00.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_code_runner07 to sp_code_runner09', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_code_runner09','P') IS NOT NULL drop proc dbo.sp_code_runner09 EXEC sp_rename 'sp_code_runner07','sp_code_runner09' IF (OBJECT_ID('dbo.sp_code_runner09') IS NULL) RAISERROR('Error renaming sp_code_runner07 to sp_code_runner09',16,127) END /* The board chagned the Product Version format in Katmai. The current foramt starting from Katmai will be single zero for minor version instead of two zeros in previous sql versions. " 10.m.bbbb.rr " */ ELSE if (CHARINDEX('10.0.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_code_runner07 to sp_code_runner10', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_code_runner10','P') IS NOT NULL drop proc dbo.sp_code_runner10 EXEC sp_rename 'sp_code_runner07','sp_code_runner10' IF (OBJECT_ID('dbo.sp_code_runner10') IS NULL) RAISERROR('Error renaming sp_code_runner07 to sp_code_runner10',16,127) END /* For KJ version 10.50, since sqldiag still use sp_code_runner10 to capture traces if maxfilesize=-1(if maxfilesize!=-1, sqldiag use sp_trace10 to capture traces) we use the same store procedure name sp_code_runner10 as the katmai version 10.0 does */ ELSE if (CHARINDEX('10.50.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_code_runner07 to sp_code_runner10', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_code_runner10','P') IS NOT NULL drop proc dbo.sp_code_runner10 EXEC sp_rename 'sp_code_runner07','sp_code_runner10' IF (OBJECT_ID('dbo.sp_code_runner10') IS NULL) RAISERROR('Error renaming sp_code_runner07 to sp_code_runner10',16,127) END GO /* sp_blocker_pss */ if object_id('dbo.sp_blocker_pss07','P') IS NOT NULL drop procedure dbo.sp_blocker_pss07 GO PRINT '' RAISERROR ('===== Creating sp_blocker_pss07', 0, 1) WITH NOWAIT GO create proc sp_blocker_pss07 (@latch int = 0, @fast int = 1, @appname sysname='SQLDIAG') as --version 12 if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end set nocount on declare @spid varchar(6) declare @blocked varchar(6) declare @time datetime declare @time2 datetime declare @time3 datetime set @time = getdate() select spid, ecid, blocked, waittype, dbid, 'ignore_app' = case when convert(varchar(128),hostname) = @appname then 1 else 0 end into #probclients from master..sysprocesses where blocked!=0 or waittype != 0x0000 create unique clustered index pc on #probclients (blocked, spid, ecid) set @time3 = getdate() if exists (select spid from #probclients where ignore_app != 1 or waittype != 0x020B) begin set @time2 = getdate() print '' print '7 Start time: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time2)) + ' ' + convert(varchar(12), datediff(ms,@time,@time3)) insert #probclients select distinct blocked, 0, 0, 0x0000, 0, 0 from #probclients where blocked not in (select spid from #probclients) and blocked != 0 if (@fast = 1) begin print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage,last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121), net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid from master..sysprocesses where blocked!=0 or waittype != 0x0000 or spid in (select blocked from #probclients where blocked != 0) or spid in (select spid from #probclients where blocked != 0) print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from #probclients where waittype != 0x0000 if exists(select blocked from #probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from #probclients where blocked = 0 and spid in (select blocked from #probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' set @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'IS' when 5 then 'SIU' when 6 then 'IS-S' when 7 then 'IX' when 8 then 'SIX' when 9 then 'S' when 10 then 'U' when 11 then 'IIn-Nul' when 12 then 'IS-X' when 13 then 'IU' when 14 then 'IS-U' when 15 then 'X' when 16 then 'BU' end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end from master.dbo.syslockinfo s, #probclients p where p.spid = s.req_spid print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end -- blocking via locks else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) end -- fast set else begin -- Fast not set print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage,last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121), net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid from master..sysprocesses print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from #probclients where waittype != 0x0000 if exists(select blocked from #probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from #probclients where blocked = 0 and spid in (select blocked from #probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' set @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'IS' when 5 then 'SIU' when 6 then 'IS-S' when 7 then 'IX' when 8 then 'SIX' when 9 then 'S' when 10 then 'U' when 11 then 'IIn-Nul' when 12 then 'IS-X' when 13 then 'IU' when 14 then 'IS-U' when 15 then 'X' when 16 then 'BU' end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end from master.dbo.syslockinfo print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) end -- Fast not set print '' print 'DBCC SQLPERF(WAITSTATS)' dbcc sqlperf(waitstats) print '' print '' Print '*********************************************************************' Print 'Print out DBCC INPUTBUFFER for all blocked or blocking spids.' Print '*********************************************************************' declare ibuffer cursor fast_forward for select cast (spid as varchar(6)) as spid, cast (blocked as varchar(6)) as blocked from #probclients where (spid <> @@spid) and (blocked!=0 or (waittype != 0x0000 and ignore_app = 0) or spid in (select blocked from #probclients where blocked != 0)) open ibuffer fetch next from ibuffer into @spid, @blocked while (@@fetch_status != -1) begin print '' exec ('print ''DBCC INPUTBUFFER FOR SPID ' + @spid + '''') exec ('dbcc inputbuffer (' + @spid + ')') fetch next from ibuffer into @spid, @blocked end deallocate ibuffer Print '' Print '*******************************************************************************' Print 'Print out DBCC OPENTRAN for active databases for all blocked or blocking spids.' Print '*******************************************************************************' declare ibuffer cursor fast_forward for select distinct cast (dbid as varchar(6)) from #probclients where dbid != 0 open ibuffer fetch next from ibuffer into @spid while (@@fetch_status != -1) begin print '' exec ('print ''DBCC OPENTRAN FOR DBID ' + @spid + '''') exec ('dbcc opentran (' + @spid + ')') print '' if @spid = '2' select @blocked = 'Y' fetch next from ibuffer into @spid end deallocate ibuffer if @blocked != 'Y' begin print '' print 'DBCC OPENTRAN FOR tempdb database' exec ('dbcc opentran (tempdb)') end print '' print 'End time: ' + convert(varchar(26), getdate(), 121) end -- All else print '7 No Waittypes: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time3)) + ' ' + ISNULL (@@servername,'(null)') GO IF (CHARINDEX('7.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_blocker_pss07') IS NULL) RAISERROR('Error creating sp_blocker_pss07',16,127) go -- SP3 and later if object_id('dbo.sp_blocker_pss08','P') IS NOT NULL drop procedure dbo.sp_blocker_pss08 GO PRINT '' RAISERROR ('===== Creating sp_blocker_pss08 (SP3 and later)', 0, 1) WITH NOWAIT GO create procedure sp_blocker_pss08 (@latch int = 0, @fast int = 1, @appname sysname='SQLDIAG') as if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end --version 14SP3 set nocount on declare @spid varchar(6) declare @blocked varchar(6) declare @time datetime declare @time2 datetime set @time = getdate() declare @probclients table(spid smallint, ecid smallint, blocked smallint, waittype binary(2), dbid smallint, ignore_app tinyint, primary key (blocked, spid, ecid)) insert @probclients select spid, ecid, blocked, waittype, dbid, case when convert(varchar(128),hostname) = @appname then 1 else 0 end from master..sysprocesses where blocked!=0 or waittype != 0x0000 if exists (select spid from @probclients where ignore_app != 1 or waittype != 0x020B) begin set @time2 = getdate() print '' print '8.2 Start time: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time2)) insert @probclients select distinct blocked, 0, 0, 0x0000, 0, 0 from @probclients where blocked not in (select spid from @probclients) and blocked != 0 if (@fast = 1) begin print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage, last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121),net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid, sql_handle, stmt_start, stmt_end from master..sysprocesses where blocked!=0 or waittype != 0x0000 or spid in (select blocked from @probclients where blocked != 0) or spid in (select spid from @probclients where blocked != 0) print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from @probclients where waittype != 0x0000 if exists(select blocked from @probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from @probclients where blocked = 0 and spid in (select blocked from @probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' select @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' when 10 then 'APP' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'S' when 5 then 'U' when 6 then 'X' when 7 then 'IS' when 8 then 'IU' when 9 then 'IX' when 10 then 'SIU' when 11 then 'SIX' when 12 then 'UIX' when 13 then 'BU' when 14 then 'RangeS-S' when 15 then 'RangeS-U' when 16 then 'RangeIn-Null' when 17 then 'RangeIn-S' when 18 then 'RangeIn-U' when 19 then 'RangeIn-X' when 20 then 'RangeX-S' when 21 then 'RangeX-U' when 22 then 'RangeX-X'end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end, req_transactionID As TransID, req_transactionUOW As TransUOW from master.dbo.syslockinfo s, @probclients p where p.spid = s.req_spid print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) print '' end -- fast set else begin -- Fast not set print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage, last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121),net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid, sql_handle, stmt_start, stmt_end from master..sysprocesses print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from @probclients where waittype != 0x0000 if exists(select blocked from @probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from @probclients where blocked = 0 and spid in (select blocked from @probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' select @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' when 10 then 'APP' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'S' when 5 then 'U' when 6 then 'X' when 7 then 'IS' when 8 then 'IU' when 9 then 'IX' when 10 then 'SIU' when 11 then 'SIX' when 12 then 'UIX' when 13 then 'BU' when 14 then 'RangeS-S' when 15 then 'RangeS-U' when 16 then 'RangeIn-Null' when 17 then 'RangeIn-S' when 18 then 'RangeIn-U' when 19 then 'RangeIn-X' when 20 then 'RangeX-S' when 21 then 'RangeX-U' when 22 then 'RangeX-X'end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end, req_transactionID As TransID, req_transactionUOW As TransUOW from master.dbo.syslockinfo print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) print '' end -- Fast not set print 'DBCC SQLPERF(WAITSTATS)' dbcc sqlperf(waitstats) Print '' Print '*********************************************************************' Print 'Print out DBCC Input buffer for all blocked or blocking spids.' Print '*********************************************************************' declare ibuffer cursor fast_forward for select cast (spid as varchar(6)) as spid, cast (blocked as varchar(6)) as blocked from @probclients where (spid <> @@spid) and ((blocked!=0 or (waittype != 0x0000 and ignore_app = 0)) or spid in (select blocked from @probclients where blocked != 0)) open ibuffer fetch next from ibuffer into @spid, @blocked while (@@fetch_status != -1) begin print '' print 'DBCC INPUTBUFFER FOR SPID ' + @spid exec ('dbcc inputbuffer (' + @spid + ')') fetch next from ibuffer into @spid, @blocked end deallocate ibuffer Print '' Print '*******************************************************************************' Print 'Print out DBCC OPENTRAN for active databases for all blocked or blocking spids.' Print '*******************************************************************************' declare ibuffer cursor fast_forward for select distinct cast (dbid as varchar(6)) from @probclients where dbid != 0 open ibuffer fetch next from ibuffer into @spid while (@@fetch_status != -1) begin print '' print 'DBCC OPENTRAN FOR DBID ' + @spid exec ('dbcc opentran (' + @spid + ')') print '' if @spid = '2' select @blocked = 'Y' fetch next from ibuffer into @spid end deallocate ibuffer if @blocked != 'Y' begin print '' print 'DBCC OPENTRAN FOR tempdb database' exec ('dbcc opentran (tempdb)') end print 'End time: ' + convert(varchar(26), getdate(), 121) end -- All else print '8 No Waittypes: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,getdate())) + ' ' + ISNULL (@@servername,'(null)') GO -- Pre-SP3 PRINT '' RAISERROR ('===== Creating sp_blocker_pss08 (pre-SP3)', 0, 1) WITH NOWAIT GO create proc sp_blocker_pss08 (@latch int = 0, @fast int = 1, @appname sysname='SQLDIAG') as if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end --version 14 set nocount on declare @spid varchar(6) declare @blocked varchar(6) declare @time datetime declare @time2 datetime set @time = getdate() declare @probclients table(spid smallint, ecid smallint, blocked smallint, waittype binary(2), dbid smallint, ignore_app tinyint, primary key (blocked, spid, ecid)) insert @probclients select spid, ecid, blocked, waittype, dbid, case when convert(varchar(128),hostname) = @appname then 1 else 0 end from master..sysprocesses where blocked!=0 or waittype != 0x0000 if exists (select spid from @probclients where ignore_app != 1 or waittype != 0x020B) begin set @time2 = getdate() print '' print '8 Start time: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,@time2)) insert @probclients select distinct blocked, 0, 0, 0x0000, 0, 0 from @probclients where blocked not in (select spid from @probclients) and blocked != 0 if (@fast = 1) begin print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage,last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121), net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid from master..sysprocesses where blocked!=0 or waittype != 0x0000 or spid in (select blocked from @probclients where blocked != 0) or spid in (select spid from @probclients where waittype != 0x0000) print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from @probclients where waittype != 0x0000 if exists(select blocked from @probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from @probclients where blocked = 0 and spid in (select blocked from @probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' select @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' when 10 then 'APP' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'S' when 5 then 'U' when 6 then 'X' when 7 then 'IS' when 8 then 'IU' when 9 then 'IX' when 10 then 'SIU' when 11 then 'SIX' when 12 then 'UIX' when 13 then 'BU' when 14 then 'RangeS-S' when 15 then 'RangeS-U' when 16 then 'RangeIn-Null' when 17 then 'RangeIn-S' when 18 then 'RangeIn-U' when 19 then 'RangeIn-X' when 20 then 'RangeX-S' when 21 then 'RangeX-U' when 22 then 'RangeX-X'end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end, req_transactionID As TransID, req_transactionUOW As TransUOW from master.dbo.syslockinfo s, @probclients p where p.spid = s.req_spid print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) print '' end -- fast set else begin -- Fast not set print '' print 'SYSPROCESSES ' + ISNULL (@@servername,'(null)') + ' ' + str(@@microsoftversion) select spid, status, blocked, open_tran, waitresource, waittype, waittime, cmd, lastwaittype, cpu, physical_io, memusage,last_batch=convert(varchar(26), last_batch,121), login_time=convert(varchar(26), login_time,121), net_address, net_library, dbid, ecid, kpid, hostname, hostprocess, loginame, program_name, nt_domain, nt_username, uid, sid from master..sysprocesses print 'ESP ' + convert(varchar(12), datediff(ms,@time2,getdate())) print '' print 'SYSPROC FIRST PASS' select spid, ecid, waittype from @probclients where waittype != 0x0000 if exists(select blocked from @probclients where blocked != 0) begin print 'Blocking via locks at ' + convert(varchar(26), @time, 121) print '' print 'SPIDs at the head of blocking chains' select spid from @probclients where blocked = 0 and spid in (select blocked from @probclients where spid != 0) if @latch = 0 begin print 'SYSLOCKINFO' select @time2 = getdate() select spid = convert (smallint, req_spid), ecid = convert (smallint, req_ecid), rsc_dbid As dbid, rsc_objid As ObjId, rsc_indid As IndId, Type = case rsc_type when 1 then 'NUL' when 2 then 'DB' when 3 then 'FIL' when 4 then 'IDX' when 5 then 'TAB' when 6 then 'PAG' when 7 then 'KEY' when 8 then 'EXT' when 9 then 'RID' when 10 then 'APP' end, Resource = substring (rsc_text, 1, 16), Mode = case req_mode + 1 when 1 then NULL when 2 then 'Sch-S' when 3 then 'Sch-M' when 4 then 'S' when 5 then 'U' when 6 then 'X' when 7 then 'IS' when 8 then 'IU' when 9 then 'IX' when 10 then 'SIU' when 11 then 'SIX' when 12 then 'UIX' when 13 then 'BU' when 14 then 'RangeS-S' when 15 then 'RangeS-U' when 16 then 'RangeIn-Null' when 17 then 'RangeIn-S' when 18 then 'RangeIn-U' when 19 then 'RangeIn-X' when 20 then 'RangeX-S' when 21 then 'RangeX-U' when 22 then 'RangeX-X'end, Status = case req_status when 1 then 'GRANT' when 2 then 'CNVT' when 3 then 'WAIT' end, req_transactionID As TransID, req_transactionUOW As TransUOW from master.dbo.syslockinfo print 'ESL ' + convert(varchar(12), datediff(ms,@time2,getdate())) end -- latch not set end else print 'No blocking via locks at ' + convert(varchar(26), @time, 121) print '' end -- Fast not set print 'DBCC SQLPERF(WAITSTATS)' dbcc sqlperf(waitstats) Print '' Print '*********************************************************************' Print 'Print out DBCC Input buffer for all blocked or blocking spids.' Print '*********************************************************************' declare ibuffer cursor fast_forward for select cast (spid as varchar(6)) as spid, cast (blocked as varchar(6)) as blocked from @probclients where (spid <> @@spid) and ((blocked!=0 or (waittype != 0x0000 and ignore_app = 0)) or spid in (select blocked from @probclients where blocked != 0)) open ibuffer fetch next from ibuffer into @spid, @blocked while (@@fetch_status != -1) begin print '' print 'DBCC INPUTBUFFER FOR SPID ' + @spid exec ('dbcc inputbuffer (' + @spid + ')') fetch next from ibuffer into @spid, @blocked end deallocate ibuffer Print '' Print '*******************************************************************************' Print 'Print out DBCC OPENTRAN for active databases for all blocked or blocking spids.' Print '*******************************************************************************' declare ibuffer cursor fast_forward for select distinct cast (dbid as varchar(6)) from @probclients where dbid != 0 open ibuffer fetch next from ibuffer into @spid while (@@fetch_status != -1) begin print '' print 'DBCC OPENTRAN FOR DBID ' + @spid exec ('dbcc opentran (' + @spid + ')') print '' if @spid = '2' select @blocked = 'Y' fetch next from ibuffer into @spid end deallocate ibuffer if @blocked != 'Y' begin print '' print 'DBCC OPENTRAN FOR tempdb database' exec ('dbcc opentran (tempdb)') end print 'End time: ' + convert(varchar(26), getdate(), 121) end -- All else print '8 No Waittypes: ' + convert(varchar(26), @time, 121) + ' ' + convert(varchar(12), datediff(ms,@time,getdate())) + ' ' + ISNULL (@@servername,'(null)') GO IF (CHARINDEX('8.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_blocker_pss08') IS NULL) RAISERROR('Error creating sp_blocker_pss08',16,127) go /* sp_sqldiag_cleanup */ IF OBJECT_ID('dbo.sp_sqldiag_cleanup07') IS NOT NULL DROP PROC dbo.sp_sqldiag_cleanup07 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag_cleanup07', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag_cleanup07 @AppName sysname='PSSDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end IF (CHARINDEX('7.00.',@@VERSION)<>0) AND object_id('dbo.sp_trace07') IS NOT NULL EXEC dbo.sp_trace07 'OFF', @AppName=@AppName ELSE IF (CHARINDEX('8.00.',@@VERSION)<>0) AND object_id('dbo.sp_trace08') IS NOT NULL EXEC dbo.sp_trace08 'OFF', @AppName=@AppName EXEC('DBCC CACHEPROFILE(2)') -- Turn off cache profiling (wrap in EXEC() to prevent batch-aborting error on 7.0) DECLARE @spid int, @cmd varchar(30) DECLARE osqls CURSOR FOR SELECT spid FROM master..sysprocesses WHERE hostname=@AppName AND spid<>@@SPID FOR READ ONLY OPEN osqls FETCH osqls INTO @spid WHILE @@FETCH_STATUS=0 BEGIN SET @cmd='KILL '+CAST(@spid AS varchar) EXEC(@cmd) FETCH osqls INTO @spid END CLOSE osqls DEALLOCATE osqls GO IF (CHARINDEX('7.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_sqldiag_cleanup07') IS NULL) RAISERROR('Error creating sp_sqldiag_cleanup07',16,127) GO IF (CHARINDEX('8.00.',@@VERSION)<>0) BEGIN PRINT '' RAISERROR ('===== Renaming sp_sqldiag_cleanup07 to sp_sqldiag_cleanup08', 0, 1) WITH NOWAIT IF OBJECT_ID('dbo.sp_sqldiag_cleanup08','P') IS NOT NULL drop proc dbo.sp_sqldiag_cleanup08 EXEC sp_rename 'sp_sqldiag_cleanup07','sp_sqldiag_cleanup08' IF OBJECT_ID('dbo.sp_sqldiag_cleanup08') IS NULL RAISERROR('Error renaming sp_sqldiag_cleanup07 to sp_sqldiag_cleanup08',16,127) END GO IF OBJECT_ID('dbo.sp_sqldiag_cleanup09') IS NOT NULL DROP PROC dbo.sp_sqldiag_cleanup09 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag_cleanup09', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag_cleanup09 @AppName sysname='SQLDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end IF object_id('dbo.sp_trace09') IS NOT NULL BEGIN EXEC dbo.sp_trace09 'OFF', @AppName=@AppName EXEC dbo.sp_trace09 'OFF', @AppName=@AppName, @TraceName='tsqlblktrace' END DECLARE @spid int, @cmd varchar(30) DECLARE osqls CURSOR FOR SELECT spid FROM master..sysprocesses WHERE hostname=@AppName AND spid<>@@SPID FOR READ ONLY OPEN osqls FETCH osqls INTO @spid WHILE @@FETCH_STATUS=0 BEGIN SET @cmd='KILL '+CAST(@spid AS varchar) EXEC(@cmd) FETCH osqls INTO @spid END CLOSE osqls DEALLOCATE osqls GO IF (CHARINDEX('9.00.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_sqldiag_cleanup09','P') IS NULL) RAISERROR('Error creating sp_sqldiag_cleanup09',16,127) GO IF OBJECT_ID('dbo.sp_sqldiag_cleanup10') IS NOT NULL DROP PROC dbo.sp_sqldiag_cleanup10 GO PRINT '' RAISERROR ('===== Creating sp_sqldiag_cleanup10', 0, 1) WITH NOWAIT GO CREATE PROC dbo.sp_sqldiag_cleanup10 @AppName sysname='SQLDIAG' AS if is_member('sysadmin')=0 begin print 'Must be a member of the sysadmin group in order to run this procedure' return end IF object_id('dbo.sp_trace10') IS NOT NULL BEGIN EXEC dbo.sp_trace10 'OFF', @AppName=@AppName EXEC dbo.sp_trace10 'OFF', @AppName=@AppName, @TraceName='tsqlblktrace' END DECLARE @spid int, @cmd varchar(30) DECLARE osqls CURSOR FOR SELECT spid FROM master..sysprocesses WHERE hostname=@AppName AND spid<>@@SPID FOR READ ONLY OPEN osqls FETCH osqls INTO @spid WHILE @@FETCH_STATUS=0 BEGIN SET @cmd='KILL '+CAST(@spid AS varchar) EXEC(@cmd) FETCH osqls INTO @spid END CLOSE osqls DEALLOCATE osqls GO /* The board chagned the Product Version format in Katmai. The current foramt starting from Katmai will be single zero for minor version instead of two zeros in previous sql versions. " 10.m.bbbb.rr " */ IF (CHARINDEX('10.0.',@@VERSION)<>0) AND (OBJECT_ID('dbo.sp_sqldiag_cleanup10') IS NULL) RAISERROR('Error creating sp_sqldiag_cleanup10',16,127) GO PAD P PwRRuu$HQ@Q@^@a@ d@d@f@f@, h@h@h j@j@ l@l@ s@s@, y@@X @@ @@@@@@@@@@ @@@@@@@@@@@@@@@@@@@x@@@@,@@T@@@@@@@@H @ @!@@!@@"@@<"@@#@@$@"@$(@(@$'+@+@d'9@=@'O@O@D,V@W@,^@_@p.a@c@.m@m@ 1}@}@1@@1@@$2@@2@@2@@3bc3rr866p78#%:~<PP$?S]d?eeBggBii0Ckk|CmqCtttEvxEhFGJKKPLL(MNOxPNthPUnX]$p``qdl,rn|tzLzxz|@Finished dumping event logs (Perfmon started $File uploaded lSecondary background compression thread complete `Main background compression thread complete XCollection complete. Collector exiting HCab buffer flushed successfully PFinished creating CAB file %s @Dumping the %s Eventlog... @Shutting down the collector Password: TUser prompted for password at runtime $Instance: %s 8Starting Profiler trace <Starting Blocking script <Starting custom script %s HStarting custom TSQL command %s @Starting custom utility %s ,Starting Perfmon lStop file detected. Shutting down the collector 8SQL Server version: %d 0Machine name: %s %s ((this machine) D(a remote machine or cluster) @Target machine is a cluster HTarget machine is not a cluster Usage: %s [START | STOP | STOP_ABORT] [/O outputpath] [/I cfgfile] [/M machine1 [machine2 machineN]|@machinelistfile] [/Q] [/C #] [/G] [/R] [/U] [/N #] [/A appname] [/T {tcp[,port]|np|lpc|via}] [/X] [/L] [/B YYYYMMDD_HH:MM:SS] [/E YYYYMMDD_HH:MM:SS] 8\n[/O outputpath] = sets the output folder. Defaults to startupfolder\OUTPUT (if the folder does not exist, the collector will attempt to create it) \n[/I cfgfile] = sets the configuration file, typically either %s.ini or %s.xml. Default is %s.ini \n[/Q] = quiet mode -- supresses prompts (e.g., password prompts) l\n[/R] = registers the collector as a service \n[/C #] = file compression type: 0 = none (default), 1 = minimal (NTFS), 2 = ZIP \n[/B [+]YYYYMMDD_HH:MM:SS] = specifies the date/time to begin collecting data; "+" specifies a relative time \n[/E [+]YYYYMMDD_HH:MM:SS] = specifies the date/time to end data collection; "+" specifies a relative time \n[/G] = generic mode -- SQL Server connectivity checks are not enforced; machine enumeration includes all servers, not just SQL Servers IMPORTANT: Please wait until you see "Collection started" before attempting to reproduce your issue (Output path: %s bytes sent ,Uploading file... `Upload compressed diagnostics output to %s? dCtrl+C pressed. Shutting down the collector |Application close requested. Shutting down the collector lEnd time %s reached. Shutting down the collector LBegin time %s specified. Waiting Ending data collection. Please wait while the process shuts down and files are compressed (this may take several minutes) Waiting on secondary background compression thread to finish xWaiting on main background compression thread to finish \n\nThe files in %s have been added to %s. Delete the backups in %s%s? Compressing XCopying cabinet from temp folder: %d%% No error 4Creating CAB file %s 4Compressed file %-30s xConverting old format configuration file to new format XExecuting %s with params %s in dir %s. 8Deleting files in %s\n <Delete files in %s (Y/N)? @Getting SQLConfig report(s) (Cycling Perfmon @Collecting diagnostic data 4Collector version %s @Initialization starting... 8Initialization complete `Collection started. Press Ctrl+C to stop. xFCIAddFile() failed for file %s: code %d, type %d [%s] \Copying files from remote trace folder %s <Command line parameter %s DPSSDiag collector version %s TCollecting from %d logical machine(s) ,Cycling CAB file HStarting new CAB. Filename=%s \n\nIt appears that output folder %s has been used before. Overwrite the files it contains (Y/N)? dStarting custom diagnostic "%s" in group "%s"  (Default: ,Waiting on %s: %s \n[/N #] = output folder management at startup #: 1 = overwrite (default), 2 = rename (format is OUTPUT_00001,...00002, etc.) lAre you sure you want to delete output folder %s? `Ctrl+C pressed. Shutting down subprocesses @Service installed. Exiting DService uninstalled. Exiting xMonitoring tool for Microsoft Product Support Services %1 0Collection starting Collection started. Run %s STOP or click Stop in Diag Manager to stop collecting data. \n[/S] = collects the SQLDIAG report using SQLDIAG.EXE instead of a T-SQL script p\n[/U] = unregisters the collector as a service @Adding Perfmon counters... tSnapshot mode selected. Shutting down the collector XContinuous mode requested. Cycling... \n[/X] = snapshot mode -- takes a snapshot of all configured diagnostics and shuts down immediately \n[/A appname] = sets the application name. If running as a service, this sets the service name \n[/L] = continuous mode -- automatically restarts when shutdown via /X or /E \n[/M machine1 [machine2 machineN]|@machinelistfile] = overrides the machines specified in the config file. When specifying more than one machine, separate each machine name with a space. "@" specifies a machine list file \n[/C #] = file compression type: 0 = none (default), 1 = NTFS, 2 = CAB \n[/I cfgfile] = sets the configuration file, typically either %s.ini or %s.xml. Default is %s.xml \n[/K] = force cluster mode -- forces collector to assume target machine is cluster 4Service stopping... 0Service aborting... DSQLDiag collector version %s <\n[/O outputpath] = sets the output folder. Defaults to startupfolder\SQLDIAG (if the folder does not exist, the collector will attempt to create it) \n[/P supportpath] = sets the support path folder. Defaults to startupfolder if not specified `Moving trace files from temporary location ,%d counters added @Unpacking support files... 8Support files unpacked (Message logged 4Silent message logged 4Log size detected: %d 8Starting listener on %s \n[/T {tcp[,port]|np|lpc|via}] = connects to sql server using the specified protocol TExporting %s Registry Checkpoints... `WARNING: User %s cannot log in to %s\%s. Diagnostics for %s\%s will not be collected. To address this, ensure you can connect to %s\%s and restart the collection process WARNING: User %s is not a member of the sysadmin role on %s\%s. Diagnostics for %s\%s will not be collected Instances registry value not found (you can usually safely ignore this) WARNING: End time passed before begin time reached or wait canceled by user XWARNING: You are attempting to collect data from more than %d total instances. This is not supported. Diagnostics will be collected from the first %s instances only Warning unable to create thread %d. The collector will not collect data for machine %s, instance %s or any that follow it Warning unable to create background compression thread. Background compression disabled WARNING: Event log collection was interrupted by user action WARNING: SQLConfig collection was interrupted by user action WARNING: custom collection task was interrupted by user action Warning: Counter %s not added to collection due to WinSE 38534/36. Primary max: %d, Secondary max: %d 8Warning: You should supply your password when registering the service on a cluster. Failing to do so forces the service to be registered under the LocalSystem account. Running the service under the LocalSystem account may prevent the service from working properly on a cluster @Unable to locate log dumper LError collecting SQLConfig on %s `Error creating SQLConfig stored proc on %s PUnable to locate SQLDIAG.EXE for %s 8Error opening HKLM key @Error opening Software key @Error opening Microsoft key XError opening Microsoft SQL Server key @Error opening instance key 8Error opening Setup key pError querying installation path for SQLDIAG on %s DError opening MSSQLSERVER key HError running trace proc on %s LError running blocking proc on %s LError running custom script on %s XError running custom TSQL command on %s TError running custom utility %s on %s HError running custom utility %s dNo valid instances from which to collect data LError opening CurrentVersion key TError retrieving CurrentVersion value LError opening perfmon log file %s 8Error starting Perfmon 4Error cycling Perfmon <Error closing Perfmon log XError initializing internal collectors \Configuration file is corrupt or missing LError collecting perfmon counters @Error updating perfmon log @Error getting log file size @Error starting timer for %s TInvalid configuration file specified DInvalid output path specified PInvalid compression mode specified DInvalid begin time specified @Invalid end time specified |Output folder paths that contain spaces are not supported dUnable to resolve the specified relative path TConfiguration file %s does not exist lUnable to open log file. Last error=%d. Aborting dError reading FTP output file. Last error=%d HUnable to open FTP script file pError launching ftp or connecting to the FTP server lUnable to find ftp.exe -- unable to upload files lUnable to upload file. Please upload it manually You may not run the collector from a folder path that contains spaces Unable to locate T-SQL script execution utility (usually OSQL.EXE or SQLCMD.EXE). Aborting hError initializing Ctrl-C handler and stop file `Invalid configuration file type. Aborting `Error creating configuration file processor lError allocating startup events array. Aborting hError allocating worker thread array. Aborting hException thrown. Shutting down the collector xERROR: CAB file open failed for file %s with error: %u `ERROR: CAB read file failed with error: %u `ERROR: CAB file write failed with error %u `ERROR: CAB file close failed with error %u `ERROR: CAB file seek failed with error: %u dERROR: CAB file delete failed with error: %u dFailure opening file to be stored in cabinet dFailure reading file to be stored in cabinet @Insufficient memory in FCI LCould not create a temporary file <Unknown compression type DCould not create cabinet file 8Client requested abort <Failure compressing data $Unknown error 8No TEMP path. Aborting LFCICreate() failed: code %d [%s] tError backing up or deleting file %s. Last error=%d HNo files matching mask %s in %s XFCIFlushCabinet() failed: code %d [%s] LFCIDestroy() failed: code %d [%s] Error executing %s with params %s in dir %s. Result=%d. Msg=%s lUnable to find executable for external compressor 8No TEMP path. Aborting Error running external compressor to compress internal files. ExitCode=%d Error running external file compressor to compress diag files. ExitCode=%d \Failed to load XML configuration file: %s Failed to instantiate an XML DOM. Is MSXML4 or later installed? @Error getting server nodes DError getting instance nodes HError getting perfmon counters <Invalid node fetched. %s LError getting instance collectors DError getting Profiler events <Error getting collectors T%s. Function result: %d. Message: %s <Error getting event logs DError allocating handle array HError creating trace proc on %s PError creating blocking proc on %s 4Authentication failed <Could not add counter: %s Counter=%s (Perfmon cycled HInvalid command line parameter DOutput folder does not exist HUnable to open FTP output file. TError parsing command line parameters dError creating IO completion port. Aborting \Error creating worker threads. Aborting lError parsing custom diagnostics -- missing comma pError parsing custom diagnostics -- bad custom type dCall to RegSvr32.exe failed. Exit code=%d\n Invalid SQL Server version specified. SQL Server version %s is not supported by this version of the collector\n |Error expanding environment variables. Result code=%d\n Registry hive saving is not supported against remote machines\n |Error collecting output from the specified child task.\n lError parsing custom diagnostics -- bad wait type DError renaming output folder DError deleting output folder HInvalid service mode specified @Error installing service @Error uninstalling service LError managing service. Exiting LError copying remote trace files DError writing startup params <Error opening Cluster key PError retrieving ClusterName value XError opening application registry key @Error opening registry key HError reading machine list file Service control error -- API = %s, error code = %d, message = %s XFailed to allocate memory (%d bytes) xError creating event log output file %s. Message: %s `Error calling GetNumberOfEventLogRecords <Error opening event log <Error reading event log |Exception thrown while reading event log. Message: %s <Error writing event log LError creating event log thread <Error loading resource <Error locking resource DError creating script file @Error writing script file XError extracting XML schema file: %d XMSXML 4.0 is not installed. Aborting TError locating MSXML4 Doc interface PError unpacking files. Aborting hInvalid output folder management mode specified PInvalid support file path specified XError encrypting the specified password XError decrypting the specified password `Invalid start time %s specified. Ignoring \Invalid end time %s specified. Ignoring PInvalid machine list file specified HVariable specification missing 8Error starting service 8Error stopping service 8Error aborting service <Service started. Exiting Failed to instantiate an XML DOM. Is MSXML6 or later installed? DError updating perfmon log PError collecting perfmon counters DError getting log file size XError allocating and initializing SID @Error setting ACL entries XError allocating security descriptor \Error initializing security descriptor \Error setting security descriptor DACL LError creating output folder %s <Service stopped. Exiting <Service aborted. Exiting @Error locating dbghelp.dll Error locating MiniDumpWriteDump in dbghelp.dll -- no mini-dump possible DError opening mini-dump file DError writing mini-dump file <Exception 0x%X caught. HError starting mini-dump thread ,Mini-dump created @Unable to create mini-dump dUnexpected error. Creating mini-dump file... <Error duplicating handle 0Mini-dump complete Your must be a member of the Administrators group to use this tool Exception creating Perfmon log. Please see Microsoft Knowledge Base article 906532 for a possible remedy LError deleting remote trace files ,Exception thrown Error enumerating virtual servers. Is your SQL Server instance clustered? Error retrieving servers from the configuration file. Aborting. Please see Microsoft Knowledge Base article 906532 for more information @Creating mini-dump file... 8Error creating listener DError connecting to listener LError disconnecting from listener LError reading data from listener HError creating event log table HError dropping event log table DError create bulk load object PError binding columns for bulk copy TFailed to allocate environment handle Failed to set ODBC version (SQLSetEnvAttr(SQL_ATTR_ODBC_VERSION)) TFailed to allocate connection handle LFailed to enable bulk copy mode Failed to connect to SQL Server (server=[%s],db=[%s],trusted=%s,user=%s) `Bulk copy init for target table [%s] failed TFailed to set bulk copy TABLOCK hint XAttempt to flush bulk copy batch failed PAttempt to commit bulk copy failed |Failed to allocate memory for new bulk copy column buffer Bulk copy bind failed (colnum=%d,sqltype=%d,datalength=%d) PError: Bulk copy data buffer NULL Error: Invalid bulk copy column number (%d). Only columns 0-%d have been defined pFailed to allocate memory for resized column buffer Attempt to define new bulk copy column buffer failed for column %d \Attempt to send bulk copy data row failed ,Error Details:\n Possible eventLog corruption detected at record %d, skipping record HError parsing custom diagnostic Name pipe already in use by another process running under a different account tThere are no instances of version %s on this computer 8Instance name is empty LThere is no instance named as %s hThere already exists one sqldiag appname as %s PFailed to create mutex named as %s XThe length of appname is longer than %d PMachine list file %s does not exist <Invalid appname specified 4Failed to open %s key @Support path does not exist LFailed to create support path %s 4VS_VERSION_INFOd@2 @?StringFileInfo040904B0&PlatformNT x64ILegalTrademarksMicrosoft SQL Server is a registered trademark of Microsoft Corporation. CommentsSQL&GoldenBitsTrueLCompanyNameMicrosoft Corporationp$FileDescriptionCommand Line Server Status Recordert*FileVersion2009.0100.1600.01 ((KJ_RTM).100402-1539 )0InternalNameSQLDiagn%LegalCopyrightMicrosoft Corp. All rights reserved.@ OriginalFilenameSQLDiag.EXEJProductNameMicrosoft SQL Server> ProductVersion10.50.1600.1DVarFileInfo$Translation Command Line Server Diagnostics Collector PADPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADDINGXXPADDINGPADD$ȫЫث LPX`hpx  (0ة0 (08@PX`hpxȪЪت (08@HPX`hpxȫЫث@4 (08@HPX`hpxPȡСء 08@HPX`hpxȢТآ (08@HPPX`hpxȤp,ȦЦئЧا (08@HPX$ (08@HPX`hLxء@ȢآPpإ0(PP`0S *H D0@1 0 +0h +7Z0X03 +70% <<<Obsolete>>>0!0 +:D#.Og ?:10`0L .P\0 +0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 070822223102Z 120825070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0"0  *H 0 y}]E941%5IwEqFԌkLRbMIl/$>e# HuEP%+ #A$bEJͳ/"J-|o;99ݽ)f;-2'Hlc\򸔣8P'N0==l9.4. }bxfs Oc,2EJ;PSfQyV>Pn5{$Rf=N+~3nGўJnS00U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0U00Uvp[NQD.Dc0 U0 +{~J&μNtX't*uLxMi|CʇSŸVocDDȚ  )}s9=j8m҈#i 4|.)Bk(q8 ]hͽAkf4|zB{ p֒O8|-=4 b7j#\cZ9`U3; _,˫ 0  *RA^0(ip΀Brv0z0b a>0  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Code Signing PCA0 091207224029Z 110307224029Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR10UMicrosoft Corporation0"0  *H 0 0ErSkO#=Y@8s&S<B8auM\F^i[s)DdY/]nǫ9eħuꇗ&&v89&+ZT!򗍇)I,?}͖ q B5׸?ݎE }K[vrw#}5]PKGmUTN؁B1U SI0奈|^zZ7i2$00U% 0 +0U8xs2_Uƙt0U0U#0vp[NQD.Dc0DU=0;09753http://crl.microsoft.com/pki/crl/products/CSPCA.crl0H+<0:08+0,http://www.microsoft.com/pki/certs/CSPCA.crt0  *H ( oBvCB$e4uq0r7:pQ q(ps{V4ZrN {DO aun+Z 9`jT;1_,nM*v{Ƈֱ*rTn*ȞobKk=/zw9gj{cI&Bޕ" _s2r6)$ROfH&9iPNl.r!m$H@|t8JO00j O%EXzg0  *H 0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority0 060916010447Z 190915070000Z0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0"0  *H 0 7nBJqH>S,2ORȃ>3I1(dPKuǨծipfx'f趷 Y")/@VvmdmJT޿ǀL7VhGv\/}%V[jc|<%M9wt]\؆7,u9 |vlnz>q_*Ob`2҃N+"\hE/Pl%ׅvs6ƕz`3[AXn,HoCj&k(0$0U% 0 +0U0[pir#Q~Mˡr0p1+0)U "Copyright (c) 1997 Microsoft Corp.10U Microsoft Corporation1!0UMicrosoft Root Authority<<>c@0 +70UoN?4K;AC0 +7  SubCA0 U0U00  *H M1|PapEsT? -QS9V ތ;ɷQ!oi~k"Flm|"Fӄ6~p]Eݎ*|ɮ2Շc6!v;s!شTeJ(&`;exHϭ:ObX099!dcC/{FeJtn ̝(a|H!8Ŗ2@S=f7"̰wTQ:rD#00 a00  *H 0y1 0 UUS10U Washington10URedmond10U Microsoft Corporation1#0!UMicrosoft Timestamping PCA0 080725190115Z 130725191115Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1 0 U MOPR1'0%U nCipher DSE ESN:85D3-305C-5BCF1%0#UMicrosoft Time-Stamp Service0"0  *H 0 -g%&bK08e46$h{b,FKQ4lZ;G=.5kE<fiJ',gbT'9هN`G#{'@ 15 ӋxaŵA>6X':ڽ]L0 +0 *H  1  +70 +7 10  +70# *H  1. Dq=a|0X +7 1J0H&$SQL Server 2008 R2http://www.microsoft.com/sql0  *H +PTQu>Qo6ML~VnT^983l2ofDٓ|hEO