MZ@( !L!This program cannot be run in DOS mode. $I(((.I(.I(_2(^(^}f(^|(yH(yH(yH((Ր(_7(.I(.I(.Iq(.I(Rich(PEL^\c"!  D Pp`    @AC  8 %` r`mT nm@ .text)B D  `.data6` 6H @.idata ~ @@.tls  @.rsrc8  @@.relocr` t" @By0yyyI\@t[0yyyy`zp 0@P`@@ ` @`p 00P0"`#%'*-< ??BO Z ^Ppp@0=ApFJ`v z@P0`3 50L@Oa0dpePhlq@ux0}@ВP@ 0``@`@p   ` %/ 1`2:0AF L MOSW`XY\^Pehik mn p |PЍИP@4P77088;@;p;;;pBH^be0y 0` 0pp0  Pp 0P`0@``I[\@t`ttu0upu@@ד 4`ChildEBP RetAddr Caller, Callee ESP/REG Object Name eaxebxecxedxesiediebpChildFP RetAddr Caller, Callee SP/REG Object Name r0r1r2r3r4r5r6r7r8r9r10r11r12lrsp         ! I)"#))))"!a11))i92311999991q9y2rqqyyyyr qyy99yq     ) 9   ) y 9       - 3 33              #         !    "       4ƻ4`ESP%sCommand cancelled at the user's request. ...%02X | %04X!!!! !!!!EAXECXEDXEBXEBPESIEDI!!!! method size = %04X prolog size = %2u epilog size = %2u epilog count = %2u yesno epilog end = %s callee-saved regs = EDI ESI EBX EBP ebp frame = %s fully interruptible= %s double align = %s arguments size = %2u DWORDs stack frame size = %2u DWORDs untracked count = %2u var ptr tab count = %2u security check obj = yes exception handlers = yes localloc = yes edit & continue = yes profiler callbacks = yes varargs = yes EBP-ESP+ GuardStack cookie = [%s%u] Sync region = [%u,%u] epilog #%2u at %04X epilog at %04X argTabOffset = %x [E%cP-%02XH] [E%cP+%02XH] byrefpinned an untracked %s%s local ..BP-SP+ [E%s%02XH] a thisbyref %s%s pointer livedead reg %s becoming %s 'this' (iptr) pop %2d args (%d)ptrs push ptr %2d (%d) push non-ptr (%d) kill args %2d Unexpected special code %04X thisptr in EDI ESI EBX call [ EDI%cESI%cEBX%c] ptrArgs=[i%u%s ]] argMask=%02X (iargs=%02X) push push %d pop %d call %d [ EBP%c argOffs(%d) = %4X argMask=%02X iptrMask = %02X thisptr in %s %s %4d >>> %s:%d retjmpqword ptr [dword ptr [qword ptr ds:[dword ptr ds:[0xoffset ...EHHandler %d: %s HANDLER END EHHandler %d: %s CLAUSE END EHHandler %d: %s HANDLER BEGIN catch(%S) EHHandler %d: %s CLAUSE BEGINEHHandler %d: %s FILTER BEGIN %p %s (MethodDesc %s +%#x %S)%s)+%#x [%s:%d] (stub for %S)%s (MethodDesc %s %S) (JitHelp: %s)Current frame: , calling ====> Exception Code %x cxr@%p exr@%pMethod info block: Pointer table: ntdllPEBLdr Unable to read PEB_LDR_DATA address at %p PEB_LDR_DATAInMemoryOrderModuleList Unable to read InMemoryOrderModuleList address at %p LDR_DATA_TABLE_ENTRYInMemoryOrderLinksFullDllNameDllBaseSizeOfImage Unable to read FullDllName address at %p exception during reading PEB Statistics: String ValueTotalSizeCount%8s %12s %s Class NameMT%8s %8s %12s %s %8d %12I64u "%S" %s %8d %12I64u Free%9s UNKNOWN%S Total %d objects generation %d starts at 0x%p ephemeral segment allocation context: (0x%p, 0x%p) none Error requesting heap segment %p %p %p %p 0x%I32x(%I32d) sizeallocatedbeginsegment%8s %8s %8s %8s Large object heap starts at 0x%p Skipping allocation context: [%#p-%#p) bad object: %#p - bad MT %#p generation %d has %d finalizable objects (%p->%p) Finalizable but not rooted: Ready for finalization %d objects curr_object: %p > heap_segment_allocated (seg: %p) Last good object: %p curr_object: %p > end_youngest: %p Last good object: %s curr_object: %s ---------------- Error requesting gc heap details Error requesting GC Heap data Failed to get GCHeaps: integer overflow error Failed to get GCHeaps Error requesting details Traversing a gc heap failed Failed to retrieve segments for gc heap More than %d heap segments, there must be an error strike: Failed to store segment Object %p has no generation %p(%x:%x) Size: 0x%I32x (%I32lu) bytes total, 0x%I32x (%I32lu) bytes wasted. Unable to get JIT info Unable to get array of JIT Managers Error getting EEJitManager code heaps Unable to get code heap info LoaderCodeHeap: HostCodeHeap: %p Unknown Jit encountered, ignored Total size: IndcellHeap: LookupHeap: ResolveHeap: DispatchHeap: CacheEntryHeap: Unable to get information for %s. -------------------------------------- %s:LowFrequencyHeap: HighFrequencyHeap: StubHeap: Virtual Call Stub Heap: Unable to read module %p Module %s: Total size: vector too long{36PrM_.@`P0P @Pclr<unknown>%s(Unhandled CorElementType: 0x%x)structclass%svoidboolcharsigned bytebyteshortunsigned shortintunsigned intlongunsigned longfloatdoubleobjectstringIntPtrUIntPtr<unknown>[,]&<>%dSystem.EnumSystem.ObjectSystem.ValueTypethisparam_%dlocal_%d GetFrameContext failed: %lx               eb^p 0@@00 ``  0y#g6DK~LBOE>:Las/^z閏F :ĠI&(΄E~gi1:HogPrp:ݯDOV?,kO, OC'ĄMDʠN(g9SOS does not support the current target architecture. SOS failure! SOS failure9V'GOdhQ^nA$$---------------------------------------------------------------------------- The user dump currently examined is a minidump. Consequently, only a subset of sos.dll functionality will be available. If needed, attaching to the live process or debugging a full dump will allow access to sos.dll's full feature set. To create a full user dump use the command: .dump /ma ---------------------------------------------------------------------------- SOS: Failed to register callback events Failed to find runtime DLL (clr.dll), 0x%08x Extension commands need clr.dll in order to have something to do. Failed to load data access DLL, 0x%08x Verify that 1) you have a recent build of the debugger (6.2.14 or newer) 2) the file mscordacwks.dll that matches your version of clr.dll is in the version directory or on the symbol path 3) or, if you are debugging a dump file, verify that the file mscordacwks___.dll is on your symbol path. 4) you are debugging on supported cross platform architecture as the dump file. For example, an ARM dump file must be debugged on an X86 or an ARM machine; an AMD64 dump file must be debugged on an AMD64 machine. You can also run the debugger command .cordll to control the debugger's load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload. If that succeeds, the SOS command should work on retry. If you are debugging a minidump, you need to make sure that your executable path is pointing to clr.dll as well. { =========== BEGINGC %d, (requested generation = %lu, collect_classes = %lu) ========== GC Root %p RELOCATED %p -> %p MT = %pT GCHeap::Promote: Promote GC Root *%p = %p MT = %pT GC_HEAP RELOCATING Objects in heap within range [%p %p) by -0x%x bytes RelocsPromotesGCCount%8s %8s %8s ----------------------------------- %8d %8d %8d Root %p promoted multiple times in gc %d Root %p relocated multiple times in gc %d No duplicate promote or relocate messages found in the log. !Root NotesPromoted?Value%8s %8s %8s %9s %20s --------------------------------------------------------- %8d %p %p %9s promote/reloc records in error Duplicate promote/relocsError: There is a promote record for root %p, but no relocation record ... !ObjSearch MessageObject%8s %8s %40s %8d %p Promotion for root %p (MT = %p) NEWVALUEPREVVALUERelocation %s for root %p !object Roots%p, differing reloc values for this object! Unable to find stress log via DAC Attempting to read Stress log SUCCESS: GCHist structures initialized No Stress log in the image, GCHist commands unavailable FAILURE: Stress log unreadable Completed successfully. <error>B@User interrupt.weak shortweak longstrongpinnedref counteddependentasync pinnedsized refunknownFailed to walk dependent handles. GCRoot may miss paths. Error walking dependent handles. GCRoot may miss paths. Warning: These roots are from finalizable objects that are not yet ready for finalization. This is to handle the case where objects re-register themselves for finalization. These roots may be false positives. %p %S (dependent handle) -> %p %S%s unknown typeHandle (%s): %p -> %p: %d (0x%x) bytes (%S) Thread %x (%S): %S: %d (0x%x) bytes (%S) HandleTable: %p (%s handle) -> %p %S%s Thread %x: %p %p %S %p %S %S -> %p %S%s Finalizer Queue: %p Older Generation: Error requesting gc heap analyze data Failed to gather needed data, possibly due to memory contraints in the debuggee. To try again re-issue the !FindRoots -gen command. internal_root_array = %#p internal_root_array_index = %#p Failed to get GCHeaps: integer overflow Error requesting gc heap analyze data for heap %p Error requesting heap data. Error requesting heap data for heap %d. Failed to walk thread %x Failed to walk the HandleTable! Failed to request more handles.Failed to request number of entries.Failed to read GCDesc for MethodTable %p. Failed to enumerate GC handles. HRESULT=%x. Buffer overflow while enumerating handles. %s Error getting card table lowest address Error getting next card table Error reading card bits Failed to read card table entry. object %s: bad member %p at %p object %s contains free object %p at %p object %s:%s missing card_table entry for %p object %s: size %d too small Error requesting heap segment %p. Error during heap traverse tracing roots... Walking heap... &amp;&quot;"&apos;'&lt;&gt; t %zd 0 %S n %zd 1 %zd %zd ! 1 0x%p %zd o 0x%p %zd %zd dependentHandle="1" 0x%p r 0x%p INVALID TYPE %d Failed to enumerate threads in the process. stack.handle Last good object: %p. Object %s has a bad GCDesc.Object %s: Failed to read members.object %s: bad member %p at %pobject %s contains free object %p at %pObject %s: %s missing card_table entry for %pObject %s: Bad member %p at %p. Object %s contains free object %p at %p.Object %s:%s missing card_table entry for %pObject %s: Size %d is too small.Object %s is too large. End of segment at %p.string too longinvalid string positionlist too longOEndVoidBooleanCharI1UI1I2UI2I4UI4I8UI8R4R8StringPtrByRefValueClassClassCopyCtorMDArrayGENArrayTypedByRefVALUEARRAYIURFNPTRObjectSZArrayGENERICArrayCMOD_REQDCMOD_OPTINTERNAL[DEFAULT][C][STDCALL][THISCALL][FASTCALL][VARARG][FIELD][LOCALSIG][PROPERTY][UNMANAGED].Unsupported token type Dynamic Module in Unknown Module mdToken: %08x (%ws)Unable to get IMetaDataImport for module %p ERROR IN SIGNATURE: Signature should be larger. ERROR IN SIGNATURE: Not all of signature blob was consumed. %d byte(s) remain ERROR!! Bad signature blob value! [hasThis] [explicit] ()NoName[InvalidReference]<ELEMENT_TYPE_SENTINEL> PINNED __Canon[explicit] [hasThis] MT rem.unandorxorshlshrshr.unnegnotconv.i1conv.i2conv.i4conv.i8conv.r4conv.r8conv.u4conv.u8callvirtcpobjldobjldstrnewobjcastclassisinstconv.r.ununboxthrowldfldldfldastfldldsfldldsfldastsfldstobjconv.ovf.i1.unconv.ovf.i2.unconv.ovf.i4.unconv.ovf.i8.unconv.ovf.u1.unconv.ovf.u2.unconv.ovf.u4.unconv.ovf.u8.unconv.ovf.i.unconv.ovf.u.unboxnewarrldlenldelemaldelem.i1ldelem.u1ldelem.i2ldelem.u2ldelem.i4ldelem.u4ldelem.i8ldelem.ildelem.r4ldelem.r8ldelem.refstelem.istelem.i1stelem.i2stelem.i4stelem.i8stelem.r4stelem.r8stelem.refldelemstelemunbox.anyconv.ovf.i1conv.ovf.u1conv.ovf.i2conv.ovf.u2conv.ovf.i4conv.ovf.u4conv.ovf.i8conv.ovf.u8refanyvalckfinitemkrefanyldtokenconv.u2conv.u1conv.iconv.ovf.iconv.ovf.uadd.ovfadd.ovf.unmul.ovfmul.ovf.unsub.ovfsub.ovf.unendfinallyleaveleave.sstind.iconv.uprefix7prefix6prefix5prefix4prefix3prefix2prefix1prefixrefarglistceqcgtcgt.uncltclt.unldftnldvirtftnldargldargastargldlocldlocastloclocallocendfilterunaligned.volatile.tail.initobjconstrained.cpblkinitblkrethrowsizeofrefanytypereadonly.illegalendmaccodelabelTYXY\Y$!`Y$!dY$!hYlYpY$!tY$!xY$!$!|Y$!$!Y$!$!Y$!$!YY$!$!$!$!Y$!$!Y$!$!YYYMOTRTDFDMDPAIIMRCAPESGEVPRMORTSASARFLETMARnopbreakldarg.0ldarg.1ldarg.2ldarg.3ldloc.0ldloc.1ldloc.2ldloc.3stloc.0stloc.1stloc.2stloc.3ldarg.sldarga.sstarg.sldloc.sldloca.sstloc.sldnullldc.i4.m1ldc.i4.0ldc.i4.1ldc.i4.2ldc.i4.3ldc.i4.4ldc.i4.5ldc.i4.6ldc.i4.7ldc.i4.8ldc.i4.sldc.i4ldc.i8ldc.r4ldc.r8unusedduppopcallcallibr.sbrfalse.sbrtrue.sbeq.sbge.sbgt.sble.sblt.sbne.un.sbge.un.sbgt.un.sble.un.sblt.un.sbrbrfalsebrtruebeqbgebgtblebltbne.unbge.unbgt.unble.unblt.unswitchldind.i1ldind.u1ldind.i2ldind.u2ldind.i4ldind.u4ldind.i8ldind.ildind.r4ldind.r8ldind.refstind.refstind.i1stind.i2stind.i4stind.i8stind.r4stind.r8addsubmuldivdiv.unrem%S<unknown type def><unknown type ref><unknown field def>%S::%S<unknown method def><unknown member ref><Invalid record><unknown type spec><unknown type token>%S::%S error decoding IL ilAddr = %p Failed to read memory %*s.try %*s{ %*s} // end .try %*s.finally %*s{ %*s.catch %*s{ %*s} // end .finally %*s} // end .catch %*sIL_%04x: VAR OR ARG %d%d%fIL_%04x%ldTOKEN %x"%S"STRING %x(, )Error, unexpected opcode type m_handle%x "%S"%x (%p)m_value%x %S%x ""voidboolcharint8uint8int16uint16int32uint32int64uint64float32float64native uintnative intobjectstringtypedrefvaluetype class [ERROR! NIL TOKEN][][BAD: RANK == 0!]method METHOD<[> pinned*&/* UNKNOWN TYPE (0x%X)*/[*] [ERROR: INVALID TOKEN 0x%8.8X] [ERROR: Invalid TypeRef record 0x%8.8X] [ERROR: Invalid TypeDef record 0x%8.8X] $%s$%X%s..module [ERROR: Invalid token 0x%8.8X] [ERROR: INVALID TOKEN TYPE 0x%8.8X] token_0x%8.8X0@Could not read address %p.Object %p is misaligned.Failed to get header for object %p.Object %s has an invalid method table.Failed to request object data for %s.Could not request method table data for object %p (MethodTable: %p).<Unloaded Type>Attempt to move past the end of the iterator.Failed to get size of object.Failed to request GCDesc.Could not request segment data at %p.Failed to request segment data at %p.Failed to request GC heap data.Failed to get GCHeaps: Integer overflow.Failed to get GCHeaps.Failed to get GC heap details at %p.Failed to request GC details data.Failed to request SyncBlk at index %d.%s[]%s: "%s"<invalid object: '%s'>StressLog TaskSwitch Marker BAD TIMEHH:mm:ssLF_GCLF_GCINFOLF_STUBSLF_JITLF_LOADERLF_METADATALF_SYNCLF_EEMEMLF_GCALLOCLF_CORDBLF_CLASSLOADERLF_CORPROFLF_REMOTINGLF_DBGALLOCLF_EHLF_ENCLF_ASSERTLF_VERIFIERLF_THREADPOOLLF_GCROOTSLF_INTEROPLF_MARSHALERLF_IJWLF_ZAPLF_STARTUPLF_APPDOMAINLF_CODESHARINGLF_STORELF_SECURITYLF_LOCKSLF_BCLLF_ALWAYS`ALL``%4x %13.9f : %-20s (MethodDesc: %Ix) (BAD Method)UNKNOWN METHODDESC (%S)(MethodTable: %Ix) Low Bit(s) Set (BAD MethodTable) (%s) (Unknown VTable) (%s+%#llx (Unknown function)(#Could not read address of string#)(#Could not read address of string#)----- No thread logs in the image: The stress log was probably not initialized correctly. ----- Writing to file: %s Stress log in module 0x%p Stress log address = 0x%p ReadVirtual failed with code hr = %x. Invalid stress log chunk: %pwSTRESS LOG: facilitiesToLog = 0x%x levelToLog = %d MaxLogSizePerThread = 0x%x (%d) MaxTotalLogSize = 0x%x (%d) CurrentTotalLogChunk = %d ThreadsWithLogs = %d Clock frequency = %5.3f GHz Start time %S Last message time %S Total elapsed time %5.3f sec THREAD TIMESTAMP FACILITY MESSAGE ID (sec from start) -------------------------------------------------------------------------------------- ----- Interrupted by user ----- Could not read address of format stringTask was switched from %x ------------ Last message from thread %x ----------- ---------------------------- %d total entries ------------------------------------ eAcmnn0nHn \n@ln|nnnnnn n@n o(o8oLoXoho xo@ooooooo p@p$p7@@A0p" on the addr given in parenthesis. You can also look at the token table yourself, by running "!DumpArray %p". Invalid signature Out of memory !DumpSig Invalid parameters %s %s !DumpSigElem Missing EEClass address Invalid EEClass address EEClass has an invalid MethodTable address Class Name: %S mdToken: %p File: %S Parent Class: %s Module: %s Method Table: %s Vtable Slots: %x Total Method Slots: %x Class Attributes: %x Interface, Abstract, ComImport, Transparency: %s NumInstanceFields: %x NumStaticFields: %x NumThreadStaticFields: %x ContextStaticOffset: %x ContextStaticsSize: %x -MDMissing MethodTable address is not a MethodTable Free MethodTable EEClass:Module:Name:mdToken:File:BaseSize:ComponentSize:Slots in VTable:Number of IFaces in IFaceMap:MethodDesc Table NameJITMethodDescEntry Invalid object Free Object Size: %I32d(0x%I32x) bytes RCW: %s CCW: %s System.RuntimeTypeSystem.RuntimeType+RuntimeTypeCachem_runtimeTypeError when reading RuntimeType field Array: Rank %d, Number of elements %I32d, Type %s (Print Array)dwdbContent: Content: String: Object None ThinLock owner %x (%p), Recursive %x [%d]-start-length-details-nofieldsInvalid parameter %s Not an array, please use !DumpObj instead For multi-dimension array, length and start index are supported Start index out of range -nofields has no effect unless -details is specified Name: %S[,] Array: Rank %d, Number of elements %I32d, Type %s Element Methodtable: %s Integer overflow on array rank Failed to read lower bounds info from the array Failed to read bounds info from the array interrupted by user Failed to read element at %s null -refsGC Refs: offsetSystem.Security.SecurityException SP IP Function _xcode_HResult %s %s [%S @ %d] Not a valid exception object Exception object: %s Exception type: %S Exception type: _messageMessage: _innerExceptionInnerException: %S, Use !PrintException %p to see more. Use !PrintException %p to see more. _stackTraceStackTrace (generated): Unable to decipher generated stack trace _stackTraceStringStackTraceString: HResult: %lx m_debugStringSecurityException Message: -nested-lines-l-ccwIn order for the option -lines to enable display of source information the debugger must be configured to load the line number information from the symbol files. Use the ".lines; .reload" command to achieve this. No CCW pointer specified The current thread is unmanaged There is no current managed exception on this thread Invalid CCW pointer %s Invalid exception object %s There are nested exceptions on this thread. Run with -nested for details Error retrieving nested exception info %p Nested exception ------------------------------------------------------------- Usage: !DumpVC Not a managed object Missing RCW address Invalid RCW %s Error requesting RCW data Managed object: %s Creating thread: %p IUnknown pointer: %p COM Context: %p Managed ref count: %d IUnknown V-table pointer : %p (captured at RCW creation time) IsDCOMProxy IsUnique IsFreeThreaded IsJupiterObject IsContained IsAggregated SupportsIInspectable IsDisconnected Flags: %s%s%s%s%s%s%s%s IJupiterObject: %p COM interface pointers: Error requesting COM interface pointers ContextIP%8s %8s %8s Type %p %p %s %S Missing CCW address Invalid CCW %s Error requesting CCW data CCW: %p Managed object: %s Outer IUnknown: %p (NEUTERED)Ref count: %d%s IsExtendsCOMObject Flags: %s%s CLR Jupiter , Pegged byJupiter ref count: %d%s%s%s%s (STRONG) (WEAK)RefCounted Handle: %p%s Type%8s %8s Type IDispatch/IUnknown%p %s %S The garbage collector data structures are not in a valid state for traversal. It is either in the "plan phase," where objects are being moved around, or we are at the initialization or shutdown of the gc heap. Commands related to displaying, finding or traversing objects as well as gc heap segments may not work properly. !dumpheap and !verifyheap may incorrectly complain of heap consistency errors. -gc-loaderUnable to get AppDomain information Loader Heap: System DomainShared DomainUnable to get the array of all AppDomains. Domain %dJit code heap: Failed to request module list. Module Thunk heaps: Module Lookup Table heaps: Total LoaderHeap size: ======================================= Number of GC Heaps: %d Total Size: Failed to get GCHeaps: integer overflow ------------------------------ Heap %d (%p) Heap Size: GC Heap Size: printsortException occurred while trying to %s the GC stats. -xmlusage: HeapTraverse [-xml] filename Unable to open file Assuming a uncorrupted GC heap. If this is a crash dump consider -verify option XmlCLRProfilerWriting %s format to file %s Gathering types... Error initializing heap traversal Unable to write heap report file %s saved Error getting System.RuntimeType.m_handle offset Shared %8sSystem %s? %s %S DomainAddress%8s %8s %8s Type Name ------------------------------------------------------------------------------ -mt-type-stat-strings-thinlock-min-max-live-deadFailed to parse command line arguments.Cannot specify both -mt and -typeCannot specify both -live and -dead.wrong argumentIn a minidump without full memory, most gc heap structures will not be valid. If you need this functionality, get a full memory dump with ".dump /ma mydump.dmp" SyncBlock %d corrupted, points to invalid object %p Failed to get object header for object %p while inspecting syncblock at index %d. Object header for %p should have a SyncBlock index of %d. Size Free %s %s %8d%s %s %s %8d ThinLock owner %x (%p) Recursive %x Found %d objects. Fragmented blocks larger than 0.5 MB: Followed byAddr%8s %8s %16s %p %6.1fMB %p %S No heap corruption detected. Managed OOM occured after GC #%d (Requested to allocate %d bytes) %s, please contact PSS Reason: %s LOHSOHDetail: %s: %s (%d bytes) - on GC entry available commit space was %d MBGC Heap not initialized yet. Error requesting OOM data Heap %d: Error requesting OOM data ---------Heap %#-2d--------- object %#p does not have valid method table object %#p is a valid object %S %s %12d (0x%x) %S Usage: !ListNearObj Address %p does not lie in the managed heap Failed to find the segment of the managed heap where the object %p resides Before: Before: couldn't find any object between %#p and %#p Current:After: After: couldn't find any object between %#p and %#p Heap local consistency confirmed. Heap local consistency not confirmed. -inclUnrooted-iuGen2Gen1Gen0Heap%-8s %12s %12s %12s %12s Heap%-4d %12I32u %12I32u %12I32u %12I32u Free space: Percentage Heap%-4d %12I32u %12I32u %12I32u %12I32uSOH:%3d%% LOH:%3d%% Unrooted objects: Percentage Total %12I32u %12I32u %12I32u %12I32u -allError requesting SyncBlk data Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner , continuing...SyncBlock %d is invalid%s %5d %p %11d %9d orphaned XXX none %8d %s %S----------------------------- Total %d CCW %d RCW %d ComClassFactory %d Free %d RuntimeCallableWrappers (RCW) to be cleaned: THREADCONTEXTRCW%8s %8s %8s Apartment (FreeThreaded)(MTA)(STA)%8p %8p %8p %9s Free-Threaded Interfaces to be released: %d MTA Interfaces to be released: %d STA Interfaces to be released: %d An error occurred while traversing the cleanup list. -detail-allReadySyncBlocks to be cleaned by the finalizer thread: ComClassFactoryCCWSyncBlock%8s %8s %8s %8s %8p %8p %8p %8p SyncBlocks to be cleaned up: %d ---------------------------------- Heap %d Statistics for all finalizable objects that are no longer rooted: Statistics for all finalizable objects (including all objects ready for finalization): %s 0x%08x %S Usage: DumpModule [-mt] Fail to fill Module %p Name: %S Attributes: PEFile Reflection SupportsUpdateableMethodsAssembly: %s LoaderHeap: %p TypeDefToMethodTableMap: %p TypeRefToMethodTableMap: %p MethodDefToDescMap: %p FieldDefToDescMap: %p MemberRefToDescMap: %p FileReferencesMap: %p AssemblyReferencesMap: %p MetaData start address: %p (%d bytes) Types defined in this module TypeDef%8s %8s %s Types referenced in this module TypeRef%8s %8s %s Fail to fill AppDomain Shared Domain: %s System Domain: %s Domain %d:%s %s Unable to get system domain info. Unable to get shared domain info Unable to get array of AppDomains Failed to get appdomain %p, error %lx Invalid Assembly %s Fail to fill Assembly Parent Domain: %s Name: %S Name: Unknown MemoryTaskSyncThreadpoolIOCompletionAssemblyGCSecurityThreadCount:UnstartedThread:BackgroundThread:PendingThread:DeadThread: (Hosted Runtime:LockAptGC Alloc ContextGC ModeStateThreadOBJOSIDIDFiberExceptionFailed to request Thread at <<<< XXXX CooperativePreemptive%p:%pSTAMTANTAUkn(Finalizer) (GC) (Threadpool Worker) (Threadpool Completion Port) <Invalid Object> ( (nested exceptions)Failed to retrieve Tls Data index Failed to require current Thread ID Failed to require total thread number Special thread typeFailed to get thread ID for thread Failed to switch to thread Failed to get Teb for Thread Failed to get Tls expansion slots for thread Failed to get CLR Tls data for thread Failed to get thread type info not found for thread GC Timer Gate DbgHelper Shutdown SuspendEE Finalizer ADUnloadHelper ShutdownHelper IOCompletion ThreadpoolWorker Wait ProfilingAPIAttach ProfilingAPIDetach Failed to switch to original thread %s No thread states for '%s'.-specialSpecial thread information is not available in mini dumps. Not supported on mini dumps. Can't get Watson Buckets Watson Bucket parameters: b1: %S b2: %S b3: %S b4: %S b5: %S b6: %S b7: %S b8: %S b9: %S bp %pSetting breakpoint: %s [%S] !bpmd pending breakpoint list Breakpoint index - Location, ModuleID, Method Token %d - %ws!%ws+%d, 0x%p, 0x%08x %d - %ws:%d, 0x%p, 0x%08x %d - %ws, %ws, %p Cleared Invalid pending breakpoint index. All pending breakpoints cleared. SOS error: IXCLRDataModule->GetFileName failed hr=0x%x SOS error: GetClrModuleImages failed hr=0x%x SOS warning: No symbols for module %S, source line breakpoints in this module will not bind hr=0x%x Failed to set code notification 3` 50`@JITTED %S!%S Failed to request module address. Xb4~$E{d`SOS: warning, optimizations for this module could not be suppressed because this CLR version doesn't support the functionality SOS: warning, optimizations for this module could not be surpressed because an optimized prejitted image was loaded SOS: warning, optimizations for this module could not be surpressed hr=0x%x CLR notification: GC - Performing a gen %d collection. Determined surviving objects... bp /1 %pExpecting first chance CLRN exception Error processing exception notification g!bpmd is not supported on a dump file. -md-nofuturemodule-list-clear-clearallUnable to parse line number Line number must be positive Usage: !bpmd -md Usage: !bpmd [-nofuturemodule] [] Usage: !bpmd : Usage: !bpmd -list Usage: !bpmd -clear Usage: !bpmd -clearall See "!help bpmd" for more details. Error getting MethodDescs for module %p Found %d methods in module %p... MethodDesc = %p %p is not a valid MethodDesc This DynamicMethodDesc is not yet JITTED. Placing memory breakpoint at %p ba w4 /1 %p "bp poi(%p); g"Unable to set breakpoint with IDebugControl::Execute: %x Attempted to run: %s Unable to get method name for MethodDesc %p Adding pending breakpoints... sxe -c "!HandleCLRN" clrnt|̲ܲWarmupInitializingRandomMoveClimbingMoveChangePointStabilizingStarvationThreadTimedOutUndefined-tiCPU utilization: %d%% Worker Thread: Total: %d Running: %d Idle: %d MaxLimit: %d MinLimit: %d Failed to examine a WorkRequest Work Request in Queue: %d AsyncTimerCallbackCompletion TimerInfo@%p Unknown Function: %p Context: %p Thread Injection History Time Transition New #Threads #Samples Throughput Failed to examine a HillClimbing log entry %8.2lf %-14s %12d %12d %11.2lf Number of Timers: %d Completion Port Thread:Total: %d Free: %d MaxFree: %d CurrentLimit: %dFailed to request ThreadpoolMgr information %p is not a valid object Error getting AppDomain information AppDomain: %s Name: Shared Domain ID: (shared domain) Name: System Domain ID: (system domain) Error getting AppDomain %p. NoneName: %S ID: %d The type is declared in the shared domain and other methods of finding the AppDomain failed. Try running !gcroot %p, and if you find a root on a !gcroot %p, and if you find a root on a stack, check the AppDomain of that stack with !threads. Note that the Thread could have transitioned between multiple AppDomains. Error! integer overflow on numThread 0x%08x ID TEB APT APTId CallerTID Context %3d %4x %p STA MTA NTA Ukn %8x %8x %pEHHandler %d: %s catch(%S) (duplicate)Clause: [%p, %p] [%x, %x] Handler: [%p, %p] [%x, %x] Filter: [%p] [%x] No EH info available Unable to get codeHeader information Failed to perform EHInfo traverse No GC info available entry point %p unknown Jit Normal JIT generated code preJIT generated code GC info %p Could not allocate memory to read the gc info. Could not read memory %p Untracked:-gcinfo-ehinfoUnmanaged code Failed to get method desc for %p. Not jitted yet not a valid MethodDesc Begin %p, size %x. Cold region begin %p, size %x Begin %p, size %x Failed to gather EHInfo data Hot region: Cold region: StressLog.txt-addrclr!StressLog::theLogPlease provide the -addr argument for the address of the stress log, since no recognized runtime is loaded. Attempting to dump Stress log to file '%s' SUCCESS: Stress log dumped No Stress log in the image, no file written FAILURE: Stress log not dumped CLR not loaded GCLog.txtclr!SVR::gc_log_bufferclr!WKS::gc_log_bufferclrgc!SVR::gc_log_bufferclrgc!WKS::gc_log_bufferCan't get either WKS or SVR GC's log fileDumping GC log at %08x Attempting to dump GC log to file '%s' failed to create file: %d failed to read memory from %08x GCConfigLog.txtclr!SVR::gc_config_log_bufferclr!SVR::gc_config_log_buffer_offsetclr!WKS::gc_config_log_bufferclr!WKS::gc_config_log_buffer_offsetCan't get either WKS or SVR GC's config log bufferInteresting data points %20s: %d Compacting reasons MW[%s]%35s: %d Expansion mechanisms %30s: %d Other mechanisms enabled %-30s: %d [info per heap] Error requesting interesting GC info Heap %d: Error requesting interesting GC info --------info for heap %d-------- %u.%u.%u.%u Checked or debug build retail freeGC Heap not initialized, so GC mode is not determined yet. Server mode with %d gc heaps Workstation mode In plan phase of garbage collection SOS Version: %u.%u.%u.%u retail buildJanFebMarAprMayJunJulAugSepOctNovDec!ProcInfo is not supported on a dump file. -env-time-mem--------------------------------------- Environment ProcessParameters_RTL_USER_PROCESS_PARAMETERSEnvironment%IdSKernel32.dllGetProcessTimesProcess Times Process Started at: %4d %s %2d %d:%d:%d.%02d Kernel CPU time : %d days %02d:%02d:%02d.%02d User CPU time : %d days %02d:%02d:%02d.%02d Total CPU time : %d days %02d:%02d:%02d.%02d ntdll.dllNtQueryInformationProcessProcess Memory WorkingSetSize: %8d KB PeakWorkingSetSize: %8d KB VirtualSize: %8d KB PeakVirtualSize: %8d KB PagefileUsage: %8d KB PeakPagefileUsage: %8d KB %ld percent of memory is in use. Memory Availability (Numbers in MB) AvailTotal %8s %8s Physical Memory %8d %8d Page File %8d %8d Virtual Memory %8d %8d Usage: !Token2EE module_name mdToken You can pass * for module_name to search all modules. Module: %s Assembly: %S Usage: !Name2EE module_name item_name or !Name2EE module_name!item_name use * for module_name to search all loaded modules Examples: !Name2EE mscorlib.dll System.String.ToString !Name2EE *!System.String Invalid argument %s Did not find a path from %p to %p. -nostacksInterrupted, data may be incomplete. Found %d roots. Found %d unique roots (run '!GCRoot -all' to see all roots). -brick-cardCouldn't get size for object %#p: possible heap corruption. Address Gen Heap segment begin allocated size %p %d %2d %p %p %p 0x%x(%d) Address Gen Heap segment begin allocated size Address %#p not found in the managed heap. !FindRoots is not supported on a dump file. -genanyIncorrect options. Usage: !FindRoots -gen where N is 0, 1, 2, or "any". OR !FindRoots Your version of the runtime/DAC do not support this command. The command !FindRoots can only be used after the debugger stopped on a CLRN GC notification. At this time !GCRoot should be used instead. Address %#p is not in the managed heap. Object %s will survive this collection: gen(%#p) = %d > %d = condemned generation. -perdomainPinnedRefCountedWeakShortWeakLongStrongVariableAsyncPinnedSizedRefDependentWeakWinRTUnknown handle type '%s'.Error getting per-appdomain handle informationDataHandleGC Handle Statistics for AppDomain (Shared Domain) (System Domain) Unable to display GC handles. A minidump without full memory may not have this information.Failed to walk the handle table.Error %x while walking the handle table. <free>UnknownHandles: Strong Handles:Pinned Handles:Async Pinned Handles:Ref Count Handles:Weak Long Handles:Weak Short Handles:Weak WinRT Handles:Variable Handles:SizedRef Handles:Dependent Handles:Other Handles:Pseudo-register number must be between 0 and 19 r$t%zd=0Error initialized register $t%d to zero -derived-create-create2Live debugging session required usage: StopOnException [-derived] [-create | -create2] [] ex: StopOnException -create System.OutOfMemoryException 1 -c-c2sxe %s "!soe %s %s %zd;.if(@$t%zd==0) {g} .else {.echo '%s hit'}" %xError setting breakpoint: %s Breakpoint set r$t%zd=1Failed to execute the following command: %s %p is not a valid object. sizeof(%p) = %d (0x%x) bytes (%S) ------------------------------------------------------------------------------- GCHandleLeaks will report any GCHandles that couldn't be found in memory. Strong and Pinned GCHandles are reported at this time. You can safely abort the memory scan with Control-C or Control-Break. Found %d handles: %p Searching memory Reference found in stress log will be ignored Failed to read whole or part of stress log, some references may come from stress log Quitting at %p due to user abort Searching %p... Found %p in stress log at location %p, reference not counted Found %p at location %p only read %x bytes at %p Some handles were not found. If the number of not-found handles grows over the lifetime of your application, you may have a GCHandle leak. This will cause the GC Heap to grow larger as objects are being kept alive, referenced only by the orphaned handle. If the number doesn't grow over time, note that there may be some noise in this output, as an unmanaged application may be storing the handle in a non-standard way, perhaps with some bits flipped. The memory scan wouldn't be able to find those. Didn't find %d handles: All handles found even though you aborted. A leak may still exist because in a general scan of process memory SOS can't differentiate between garbage and valid structures, so you may have false positives. If you still suspect a leak, use this function over time to identify a possible trend. []]&**(...)typedbyref = %S | %S = "%S" (empty) (1 element) (%d elements) %s.[%d] |- %s = %S |- %s = null (Unhandled CorElementType: 0x%x) = = @ 0x%I64x falsetrue = %s = '%C' = %d = %hd = %hu = %u = %I64d = %I64u = %f = object PARAMETERS: + (Error 0x%x retrieving parameter '%S') + %S %s + (Error 0x%x printing parameter %d) PARAMETERS: (none) LOCALS: + (Error 0x%x retrieving local variable '%S') + (Error 0x%x printing local variable %d) LOCALS: (none) .[basetype] |- %S %s |- %S %s |- < unknown type > %S Dumping managed stack and managed variables using ICorDebug. ============================================================================= Call SiteChild SP%-8s %-8s %s Stack walk complete. %p %s [NativeStackFrame] [RuntimeUnwindableFrame] TODO: Implement GetFrameName[%S: p] [IL Stub or LCG] -a (%S) <unknown register>+-: -> (pinned) (interior) - Failed to start stack walk: %lx Failed to enumerate GC references.Unable to walk the managed stack. The current thread is likely not a managed thread. You can run !threads to get a list of managed threads in the process PARAMETERS: %S () (0x%p) = 0x%s 0x%p LOCALS: -a-p-i%S!VMMap requires a full memory dump (.dump /ma) or a live process. !VMStat requires a full memory dump (.dump /ma) or a live process. Usage: SaveModule
Invalid arg Module does not have base address %p is not a Module or base address Failed to retrieve information about segment %p%u sections in file section %d - VA=%x, VASize=%x, FileAddr=%x, FileSize=%x Fail to read PE section info File not specified Fail to create file %s Fail to read memory %p %p !+%#llx * Ctx[BSI]: %08x %08x %08x (TransitionMU) (TransitionUM) at %p %p %s_remoteStackTraceString-ManagedExcepStackError! _EFN_GetManagedExcepStack(%P, wszStr, sizeof(wszStr)) returned: _EFN_GetManagedExcepStack(NULL, wszStr, sizeof(wszStr)) returned: Error: %lx Number of characters requested: %d Context information: EipEspEbpRipRspRbpPCSPFPUnsupported platform%p %p %p Simple Context information: 5DG qSOS: warning, prejitted code optimizations could not be changed. Failed to load ICorDebug HR = 0x%x SOS: warning, prejitted code optimizations could not be changed. This CLR version doesn't support the functionality SOS: warning, prejitted code optimizations could not be changed. This CLR version doesn't support NGEN SOS: warning, prejitted code optimizations could not be changed. GetDesiredNGENCompilerFlags failed hr=0x%x SOS: warning, prejitted code optimizations could not be changed at this time. This setting is fixed once CLR starts SOS: warning, prejitted code optimizations could not be changed at this time. SetDesiredNGENCompilerFlags hr = 0x%x TEXTDOCUMENTATIONError loading documentation resource COMMAND: %s.Documentation for %s not found. Expected newline in documentation resource. \\%.*scontents%p0x%x%xNot calculatedCriticalSafe criticalTransparent%-*.*p%*.*p0x%-*.*x0x%*.*x%-*.*x%*.*x%-*.*d%*.*dmap/set too longP?Y@@@A%s%s%s%s%s%s%s%s%s%S`hpxTAГГГГГГГГГГГГГГГГГГ8` ,T(PVoidBooleanCharSByteByteInt16UInt16Int32UInt32Int64UInt64SingleDoubleStringTypedReferenceIntPtrUIntPtr%s%s%s%s%s%s%sP7;;7;@;`z̾/P6Ou/<CLSID>Failed to instantiate {%ls} from installed .NET framework locations. Failed to instantiate {%ls} from DAC location. Unable to query IDebugSymbol3 HRESULT=0x%x. ;\Failed to instantiate {%ls} from debugger's image path. mscoree.dllCLRCreateInstanceDllGetClassObject%d.%d.%d%d.%d__::SOS Error: Out of memory The version of SOS does not match the version of CLR you are debugging. Please load the matching version of SOS for the version of CLR you are debugging. CLR Version: %u.%u.%u.%u SOS Version: %u.%u.%u.%u /f clr.dllPDB symbol for clr.dll not loaded %8hd%8d%I64d%8hu%u%8u%I64u%8p%8hx%8sdynamic statics NYIdynamic thread statics NYI >> Domain:Value Unable to get AppDomain %lx %s:NotInit %s:FailInit %s: << >> Thread:Value error getting thread %p, aborting this field %x: Display of context static variables is not implemented yet PTRBYREFVALUETYPECLASSVARARRAYFNPTRSZARRAYMVARAttrVTOffsetField%8s %8s %8s %20s %2s %8s %8s %s Invalid parent MethodTable Invalid parent EEClass Unable to display fields %s %8x %8x %20.20S %20.20s %2s TLstaticCLstaticshared%8s %8s%8s %S staticinstanceUnable to get appdomain store Failed to get appdomain list Unable to get AppDomain %p Unable to get array of Assemblies ClassLoader: %p SecurityDescriptor: %p Module Name %s Dynamic ModuleCREATINGREADYFORMANAGEDCODEACTIVEOPENUNLOAD_REQUESTEDEXITINGEXITEDFINALIZINGFINALIZEDHANDLETABLE_NOACCESSCLEAREDCOLLECTEDCLOSEDUNKNOWNLowFrequencyHeap: %p HighFrequencyHeap: %p StubHeap: %p Stage: %s Name: Error getting AppDomain friendly name Assembly: %s (Dynamic) [Free%-8s %s (%S[])Integer overflow error. Unable to get array of Assemblies for the given AppDomain.. Failed to request assembly. Failed to get the modules for the given assembly. Failed to request Module data from assembly. ----------------------- Member (mdToken token) of Field (mdToken token) of This token type is not supported Token: %p Field name: %S MethodDesc: %s MethodDesc: JITTED Code Address: %s Not JITTED yet. Use !bpmd -md %p to break on run. Not JITTED yet. Use !bpmd -md %p to break on run. Not JITTED yet. EEClass: MethodTable: EEClass: FAULTFINALLYFILTERTYPED ReJITID %p: CodeAddr = %s (READY to jit on next call) (CURRENT) (reverted)ReJITed versions: (... possibly more reverted versions ...) Method Name: %S Class: %s MethodTable: %s mdToken: %p Module: %s IsJitted: %s CodeAddr: %s Transparency: %s Unknown MethodDesc (Module %s, mdToken %08x)Failed to request threads from the thread store.mscoree.dll/f mscoree.dll\Error getting string data Missing quote in %s Incorrect argument: %s Wrong option: %s Invalid option %s Invalid option: option specified multiple times: %s Missing value for option %s Unknown option: %s *U\ L6"ǘoC*K =j0Unable to load '%S'. HRESULT = 0x%x. Failed to read module information for '%S'. HRESULT = 0x%x. Found '%S', but it does not match the CLR being debugged. Size: Expected '0x%x', Actual '0x%x' Time stamp: Expected '0x%x', Actual '0x%x' Loaded %S 8;@4Failed to get the dac module handle. hr=0x%x. GetModuleFileName(dacModuleHandle) failed. Last error = 0x%x mscordacIDebugSystemObjects::GetCurrentProcessHandle HRESULT=0x%x. Unable to get symbol path length. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. Unable to get symbol path. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. SymFindFileInPath failed for %S. HRESULT=0x%x. Please ensure that %S is on your symbol path.08;p;HpBy0xSI [%d]FzX TOP2Xcʀ?u*C(Q4SOS Warning: Loading symbols for dynamic assemblies is not yet supported diasymreader.dllSOS Error: Unable to CoCreateInstance class=CLSID_CorSymBinder_SxS, interface=IID_ISymUnmanagedBinder3, hr=0x%x This usually means the installation of .Net Framework on your machine is missing or needs repair SOS Error: Unable to query IDebugSymbols3 HRESULT=0x%x. SOS Error: Unable to get symbol path length. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. SOS Error: Unable to get symbol path. IDebugSymbols3::GetSymbolPathWide HRESULT=0x%x. Frame] <unknown method> [ @ Failed to enumerate GC references. Failed to enumerate GC reference errors. Unknown internal frame.Managed to Unmanaged transitionUnmanaged to Managed transitionAppDomain transitionLightweight functionFunction evaluationInternal callClass initializationJIT Compilation[%s: %p] @NANCGRdRdWrWrCpExExRdExRdWrExWrCpTOTALBLK COUNTAVERAGEMAXIMUMMINIMUMTYPE%-7s %*s %*s %*s %*s %*s ~~~~~~~~~~~~~~~~~~~~~~~~~%-7s %*sK %*sK %*sK %*s %*sK %s: SmallMediumLargeSummary|%08lxCommitReservePrivateMappedImageProtectAllocProtectLengthStopStart%-*s %-*s %-*s %-13s %-13s %-8s %-8s %p-%p %p %-13s %-13s %-8s %-8s alahblbhclchdldhaxbxcxdxsidibpespjmp (%S, mdToken: %p) (MT: %S) ("") (Object: %S) (MD: %S) %s @ %d: >>> hltclisti%08x (gcstress)mov call lea push ntdll!KiUserExceptionDispatcherScalarByRefUNSET{Scalar, Object}{Scalar, ByRef}{Object, Object}{Object, ByRef}{ByRef, Object}{ByRef, ByRef}!Impossible!???r%u not%08x%s interruptible %08x is a safepoint: (pinned)(interior)(untracked)%08x %c%scaller.sp %c%s%c%xProlog size: %d Security object: caller.sp%c%x GS cookie: GS cookie valid range: [%x;%x) PSPSym: Generics inst context: PSP slot: GenericInst slot: caller.sp%c%x (GENERIC_PARAM_CONTEXT_METHODDESC) (GENERIC_PARAM_CONTEXT_METHODHANDLE) (GENERIC_PARAM_CONTEXT_THIS) Varargs: %u Frame pointer: %s Has tailcalls: %u Size of parameter area: %x Return Kind: %s Code size: %x out of memory reported register in caller's frame reported frame register reported pointer relative to wrong base register reported invalid pointer decoder failed invalid GC info (code for MD: %S)de00 de01 de02 f7f0a001f7f0a002f7f0a003movw movt p  api-ms-win-core-synch-l1-2-0.dllkernel32.dllInitializeConditionVariableSleepConditionVariableCSWakeAllConditionVariable8n0csm $`api-ms-win-core-fibers-l1-1-1api-ms-win-core-synch-l1-2-0kernel32api-ms-ext-ms-FlsAllocFlsFreeFlsGetValueFlsSetValueInitializeCriticalSectionExnUnknown exceptionnbad exception  ( 4 @ L X h t |    $!        `   a    a   ` a ܂        $ ( , 0 4 8 < @ L X ` l       $ D h        ( 8 \ d p      4`|8H$!\p__based(__cdecl__pascal__stdcall__thiscall__fastcall__vectorcall__clrcall__eabi__ptr64__restrict__unalignedrestrict( new delete=>><<!==!=operator->++---+->*/%<=>=()~^&&||*=+=-=/=%=>>=<<=&=|=^=`vftable'`vbtable'`vcall'`typeof'`local static guard'`string'`vbase destructor'`vector deleting destructor'`default constructor closure'`scalar deleting destructor'`vector constructor iterator'`vector destructor iterator'`vector vbase constructor iterator'`virtual displacement map'`eh vector constructor iterator'`eh vector destructor iterator'`eh vector vbase constructor iterator'`copy constructor closure'`udt returning'`EH`RTTI`local vftable'`local vftable constructor closure' new[] delete[]`omni callsig'`placement delete closure'`placement delete[] closure'`managed vector constructor iterator'`managed vector destructor iterator'`eh vector copy constructor iterator'`eh vector vbase copy constructor iterator'`dynamic initializer for '`dynamic atexit destructor for '`vector copy constructor iterator'`vector vbase copy constructor iterator'`managed vector copy constructor iterator'`local static thread guard'operator "" operator co_await Type Descriptor' Base Class Descriptor at ( Base Class Array' Class Hierarchy Descriptor' Complete Object Locator'EEE50P( 8PX700WP `h````xpxxxxEEE00P('8PW700PP (`h`hhhxwpwpp(null)(null) Tc-^k@tFМ, a\)cd4҇f;lDِe,BbE"&'O@V$gmsmrd'c%{pk>_nj f29.EZ%qVJ.C|!@Ί Ą' |Ô%I@T̿aYܫ\ DgR)`*! VG6K]_܀ @َЀk#cd8L2WBJa"=UD~ $s%rс@b;zO]3AOmm!3VV%(w;I-G 8NhU]i<$qE}A'JnWb쪉"f37>,ެdNj5jVg@;*xh2kůid&_U JW {,Ji)Ǫv6 UړǚK%v t:H孎cY˗i&>r䴆["93uzKG-wn@  _l%Bɝ s|-Ciu+-,W@zbjUUYԾX1EL9MLy;-"m^8{yrvxyN\lo};obwQ4Y+XW߯_w[R/=OB R E]B.4o?nz(wKgg;ɭVl H[=J6RMq! EJjت|Lu<@rd 6x)Q9%0+L ;<(wXC=sF|bt!ۮ.P9B4Ҁy7P,=87MsgmQĢR:#שsDp:RRN/M׫ Ob{!@fu)/wdq=v/}fL3. iLs&`@< q!-7ڊ1BALlȸ|Rabڇ3ah𔽚j-6zƞ) ?IϦw#[/r5D¨N2Lɭ3v2!L.2>p6\BF8҇i>o@@w,=q/ cQrFZ**F΍$'#+GK ŎQ1VÎX/4Bycg6fvPbag ;s?.❲ac*&pa%¹u !,`j;҉s}`+i7$fnIoۍut^6n16B(Ȏy$dAՙ,C瀢.=k=yICyJ"pפldNnEtTWtøBncW[5laQۺNPqc+/ޝ"^̯p?m- }oi^,dH94X<H'W&|.ڋu;-Hm~$P  %-5 > H R ] i u -C Y p        %  d'@Bʚ;minkernel\crts\ucrt\inc\corecrt_internal_strtox.h__crt_strtox::floating_point_value::as_double_is_double__crt_strtox::floating_point_value::as_float!_is_doubleINFinfINITYinityNANnanINFinfINITYinityNANnanSNAN)snan)IND)ind)SNAN)snan)IND)ind)   CorExitProcesspP@`0`  ((((( H ( 0 ((((( H   !"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~SunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssSunMonTueWedThuFriSatSundayMondayTuesdayWednesdayThursdayFridaySaturdayJanFebMarAprMayJunJulAugSepOctNovDecJanuaryFebruaryMarchAprilJuneJulyAugustSeptemberOctoberNovemberDecemberAMPMMM/dd/yydddd, MMMM dd, yyyyHH:mm:ssen-US&& &$&(&,&0&4&<&D&L&X&d&l&x&&&&&&&&&&&&&&&'''$','4'<'D'L'\'l'|'''''''''''(((( (((8(L(X('d(p(|((((((((($)8)        ! 5A CPR S WY l m pr   )    h,,$,(-p--.`X.../`//0X000api-ms-win-appmodel-runtime-l1-1-1api-ms-win-core-datetime-l1-1-1api-ms-win-core-file-l2-1-1api-ms-win-core-localization-l1-2-1api-ms-win-core-localization-obsolete-l1-2-0api-ms-win-core-processthreads-l1-1-2api-ms-win-core-string-l1-1-0api-ms-win-core-sysinfo-l1-2-1api-ms-win-core-winrt-l1-1-0api-ms-win-core-xstate-l2-1-0api-ms-win-rtcore-ntuser-window-l1-1-0api-ms-win-security-systemfunctions-l1-1-0ext-ms-win-kernel32-package-current-l1-1-0ext-ms-win-ntuser-dialogbox-l1-1-0ext-ms-win-ntuser-windowstation-l1-1-0advapi32user32AreFileApisANSIGetCurrentPackageIdLCMapStringExLocaleNameToLCIDINFinfNANnanNAN(SNAN)nan(snan)NAN(IND)nan(ind)e+000ccsUTF-8UTF-16LEUNICODE1111ja-JPzh-CNko-KRzh-TWuk(90989@9P9X9`9h9 p9 x9 9 9 99999999999999:::: :!(:"1#0:$8:%@:&H:'P:)X:*`:+h:,p:-x:/:6:7:8:9:>:?:@:A:C:D:F:G:I:J:K:N;O;P;V;W ;Z(;e0;$l8;D;P;1\;h;t;; 8) ; ; ;;;;11;;;;<<<(<4<@<L<X< d<!p<"|<#<$<%<&<'<)<*<+<,<-=/ =2=4$=50=6<=7H=8T=9`=:l=;x=>=?=@=A=C=D=E=F=G=I=J>K>L >N,>O8>PD>RP>V\>Wh>Zx>e>k>l>>>1> > > >>?? ?,?D?,P?;h?>t?C?k? ? ? ? ? ? ? ?; @k @$@0@<@ H@ T@ `@l@;x@@@@ @ @ @@;@@ A A A(A;@APA \A hAtA;A A A A; A$A $A $A;$A(B (B (B,(B ,4B ,@B0LB 0XB 0dB4pB 4|B 4B8B 8B<B <B@B @B DB HB LB PC| C|Carbgcazh-CHScsdadeelenesfifrhehuisitjakonlnoplptroruhrsksqsvthtruridbesletlvltfavihyazeumkafkafohimskkkyswuzttpagutateknmrsamnglkoksyrdivar-SAbg-BGca-EScs-CZda-DKde-DEel-GRfi-FIfr-FRhe-ILhu-HUis-ISit-ITnl-NLnb-NOpl-PLpt-BRro-ROru-RUhr-HRsk-SKsq-ALsv-SEth-THtr-TRur-PKid-IDuk-UAbe-BYsl-SIet-EElv-LVlt-LTfa-IRvi-VNhy-AMaz-AZ-Latneu-ESmk-MKtn-ZAxh-ZAzu-ZAaf-ZAka-GEfo-FOhi-INmt-MTse-NOms-MYkk-KZky-KGsw-KEuz-UZ-Latntt-RUbn-INpa-INgu-INta-INte-INkn-INml-INmr-INsa-INmn-MNcy-GBgl-ESkok-INsyr-SYdiv-MVquz-BOns-ZAmi-NZar-IQde-CHen-GBes-MXfr-BEit-CHnl-BEnn-NOpt-PTsr-SP-Latnsv-FIaz-AZ-Cyrlse-SEms-BNuz-UZ-Cyrlquz-ECar-EGzh-HKde-ATen-AUes-ESfr-CAsr-SP-Cyrlse-FIquz-PEar-LYzh-SGde-LUen-CAes-GTfr-CHhr-BAsmj-NOar-DZzh-MOde-LIen-NZes-CRfr-LUbs-BA-Latnsmj-SEar-MAen-IEes-PAfr-MCsr-BA-Latnsma-NOar-TNen-ZAes-DOsr-BA-Cyrlsma-SEar-OMen-JMes-VEsms-FIar-YEen-CBes-COsmn-FIar-SYen-BZes-PEar-JOen-TTes-ARar-LBen-ZWes-ECar-KWen-PHes-CLar-AEes-UYar-BHes-PYar-QAes-BOes-SVes-HNes-NIes-PRzh-CHTsr$lB:,HJq(9TJ`JlJxJJJJJJJJJJCJJKp:)K,Kk0:!DKc09PKD\K}hK89KEP9KGKX9KH`9KKKIKK0;AKh9KJp9LL L,L8LDLPL\LhLtLLKLLx9 LLLLLLLLMMM(M4M@MLMXMdMpM|M@:#Mex:*MlX:&Mh9 ML:.Ms9 MMMMMMN;> N:7N9 $NN:/0Nt9@@loglog10exppowasinacossqrt?D0 |?Q-8>=޶W?0 k8=ޮp? x9=>.ښ?pn5=Yح? Q*=c??b6=Y?T?=>?W!=@-32?Dz=p(?vP(=`?US?>=e?g7=`ŀ'?bͬ/=^s?}#=Jwk?zn=N ָ?LN9=@$"3?5Wg4p6=T?Nv$^)=&?.)<lB?M%=`j?w*= <śm?E2=ެ> ?E=t?? =OQ?w(@ <0?Ac 0=Pyp?dry?=St)?4K >=$?QhBC .=0 ub?-0=?a>-?=?Й,<(lX ?T@b ==P?3h,%=f??# =V ?ߠϡ6=Y?z $=G? $l35=@n?[+3=Rŷ?sdLi==p|?rx"#2=@.?|U2=lԝ?rF=a? 4=Y?sl׼#{ =`~R=?.i1=,? =vX?=p?h}s"= E[ ?%S#[k=7H?j=!V1?}a2=jq?20J5=?5=x¾/@?"B <1=iz?\-!y!=X0z?~b>==:? #.X'=HBO&?(~=xbb? .=Cq?y7i9+= v?:=0 ?2ض8=xPD?X1=??Q?Q?????????]?]?P?P? ? ?U?U?(?(?`?`?_?_?????z?z?1?1?p?p???(e?(e?@#?@#???`?`?hk?hk?,?,?x?x?????N?N?x?x?p?p???~?~?HN?HN???????p?p?Xi?Xi???????????8?8?s?s?pI?pI?&?&?????o?o? *? *???`?`?Z?Z???0?0???PY?PY???`?`???pm?pm?/?/??????tanhatanatan2sincostanceilfloorfabsmodfldexp_cabs_hypotfmodfrexp_y0_y1_yn_logb_nextafterUUTT^^!h]U Up]x]U]] ] ] ]]]]]]]]"]#]$]%]&]sinhcoshobad allocation`oooFF(I6F lcˍK^[k t:DhǤR2~pcHxg`ьK;מj{c;qF&;Y[*H98LqMdG0CgOhP^&kOixopd.[`N33ĂA:40fxE^`^Ќ}NNb3 jVK b_o=8u[K5c_o=8u[K5Ձn BYu{h<4-BdaKԸ'ZjB݄@̙$G;vyn|PYzԞEd'mBmD&ͺ㘲6vO=CW vD~) E* $<~EB:/Y d_o=8u[K55DG qd.Bmy^! f]9AHzDҁuXrLu<1ST,oMRv&mi(o.AA K9^QdHާGyRGA&_Z{h<4-{h<4-{h<4-{h<4-{h<4-J; {h<4-?mYD`{FfmiOB[2V+{K$NTN^F>+K f7F?>D}dUH8RqL{h<4-{h<4-,-E+b̝[~DyT[cvO`T]0lG).OPʶA&$0JJ^W;EcvO`T856UL!&^rC0 SJhF˄sآi@ƫ=_IA8;{h<4- I ÔMN)42( e-He2{h<4- ei_/E6DM~#G>= @=-f" @FYwȧB= d`XFӶMە["{h<4-zC @8{h<4- fF2*{h<4-T ^&F োIPV>Oۃ+e{h<4-{h<4-{h<4-lM㷜C̲@<ʚt#FA Җn=ҷI IJN"{h<4-{h<4-߰`I{P?ALc'薕k'F!s. {h<4-i_>Bqa${h<4-{h<4-{h<4-{h<4-{h<4-{h<4-{h<4- {h<4- {h<4-WzkzO C]=adUEEgzޙtC3!ɜLr]y=iH roɴ $cYCHWD*JKxbjJJ'yC/or̷EBA `L{d@6mǒ0UwMAО-}f]LYBW蠍 6Sb8&UDo9wLϘ0T!~Js=YoJ1EQ-/ԝ ,0B>V<4qG5)6JpYEgJ(;?b*U\ L6"ǘ*U\ L6"ǘF|pF"PM:<+X1C$ڑ1vLJ9kr T(Ibδk*7g}oLyU'q8C*"(]d 4NH]h;աIB^H[Abt/?M200۾`-|?X`JSkI Ĭ꺏rxH3BRnr mO&B@" <,KhѻS?~X#Le xE!s2 SW*LcO|5ԪCAΡ&)ULO{ t792BV')KU .SI%W4OpenVirtualProcessImplOpenVirtualProcess2CLRDEBUGINFOWINDOWSX86CLRDEBUGINFOx86mscordbi%s_%s.dllmscordacwks%s.dllmscordaccoreamd64armarm64.dbg.chk%s_%s_%s_%u.%u.%u.%02u%s.dll}uLgI}DrZ<4B GuR~#1HH2M>~*(I6F lFZ<4B GuRuฌ @(n2ӳ%AH2gH 89/jHFhQ1 MO8(Q9&ךKўBW vJl3EAoOf^\c xuxi^\c ui^\c huih PpJ X5  ؏ 80 Ln\ndn @Ln nnn @nԔ nnnnԔ @n (o8oDon @(o, tooon, @toL oooonL @ol p p0ponl @p PpV)b&X(nЕ*n@ۘHp&X6~@ @`8~PxX8hˢ Hx+pyۥ+_(`8k8٩I Hx٫KЬ0PpHȮ(`(XȰIٱR8b}ƶ6yȷ0 PP HpCм@pS@$XHP{0bM HHWK#6{7g[PH.v!h'P.hK(p\6` V)q2vFHxP0pO>1Ek $RSDS{^4]IϷ>|SOS.pdbGCTL.CRT$XCA.CRT$XCU.CRT$XCZ.CRT$XIA.CRT$XIC0.CRT$XIZ4.CRT$XLA8.CRT$XLZ<.CRT$XPA@.CRT$XPXH.CRT$XPXAL.CRT$XPZP.CRT$XTAT.CRT$XTZX.gfids`X.rdata n.rdata$T8n.rdata$rPp(.rdata$sxdataxu.rdata$zzzdbgy.rtc$IAAy.rtc$IZZy.rtc$TAA y.rtc$TZZ0y.text$diy.text$mn.text$mn$00U.text$x@.text$yd[.xdata$xC .edata` @4.data@ P.data$r .bss .idata$5 .00cfg .idata$2H .idata$3\ .idata$4 .idata$6 .tls .tls$ .tls$ZZZ .rsrc$01 h.rsrc$02Ujh*dP 3PEd QE  Eh@I4Md Y]h'4Yh4Y̹ h3YUVu3W} ʋ;u Au3B_^] Uuuuu up01y]UEPjuu u]U\ 3ĉ$XEd$ $$d$UMS](D$(E VuD$$E$T$(L$t$8D$\$xPlEP t3Gf;hp9u@M_^3["]pd%U SVWU3щ}Uߋ2EPE+Pu3ME PQNR Vx]9}tU;]r;]t +I_^[] UjhdPV 3PEdtP Md Y^]Uuj P ]VtPj P D$^Uuj P ]̃ S\$VW|$ W|$ jt$(WjD$ T$$1RPQvh ֋D$ j W0_^[t QD$U}S\$VW} D$tT~,~ uh\! uPh`! փhh!u փD$K@D$uuhl! ֋D$ D$_^[]YD$]Ỹ8D$@S\$TD$D$PD$ D$D$UW|$Tth)ω|$ ׃D$ ?T$HD$PjPD$(PL$Xl$Ht$hX! ׃h) ׃jt$TD$(|$PՍL$ _][8̃4SUl$@V\$ ׋D$@ <%u$!D%u$!>QPhL% ׋D$0 ED$(d$H\$4D$ SyI RGx;й{y%FЄxt$0t$,L$0T$(ٹ{ЃT$$y'FЄxt$0t$,L$0T$$ًL$4+PQGt$(>Ńhp!D$< ׋>hh% ׋D$(D$(>Php! ׋D$P@l%up%>UPht% ׋D$@ %u$!%u$!>QPh% ׋D$, vD$H3l$|$@3D$D$D$ CL$0L$,΃+PW5~\$t>Uhp! ׃D$0%@u%>Q4x!h% ׃ |$t>h% ׃|$t>h% ׃>hX! ׋|$D$D$D$$T$(T$ s@up@tl@D$Ë+PW0~\$t>Uhp! ׃D$Ph(&> ׋|$D$HG,$ D$D$cD$D$UT$,7.l$,D$;T$ L$0.T$ ؋L$0T$(D$Ë+PWWUΉ\$t$(>h% ׋D$P>@uD$+D$(Ph%D$  ׃h& ׃>hX! ׋|$D$xË+PWUΉ\$Lt$(>h& ׋D$P@uD$(>@Ph &ωD$  ׃|$t>h% ׃|$t>h% ׃>hX! ׋|$D$D$D$T$ ,؋΋+PWUΉ\$t$ hD&T$ l,؋D$D$ lQh\&$3D$(L$0L$$L$,L$4 CL$\$ $tK% ЉT$(SƒT$TCD$CL$(ȃL$0D$$kƒD$C T$$l$D$(\$  L$0 kD$CD$,C \$4؉L$$tD$(l$D$Ë+PW[>h|&\$ ׋D$ th& th&|$@mh&> ׋|$P CD$L$(l$\$ Ë+PW~\$t>Uhp! ׃>h& ׋D$ l$$t*>$ Ph& ׋D$$t*>$ Ph& ׋D$$t(D$$>$ Ph& ׃|$,>h& ׋\$8{нyEЄx݃&u$!>QPh& ׋l$8 v>h& ׃l$,u>h& ׋\$$1t$(h& ׋D$8t>Ph' ׃>hX! ׋l$|$U3ɉL$$L$(CD$@ uO+ljl$PW~\$t>Uhp! ׃>h' ׋|$땍T$8(؋΋+PWv~\$t>Uhp! ׃t$8h$'?uT$4'l$4l$0ȃD$4L$0l$Ë+PW~\$t>Uhp! ׃t$0h4'3D$L$0L$L$ !t7ȉL$$L$,ɉL$L$0  $T$$&؋΋+PW ׋|$Ë+PWD$4!h' kD$CD$$D$,C L$(D$ D$aT$,ˉD$<&؍T$/&L$؋D$,L$0D$$2D$CȃL$0L$$L$,,!l$Ë+PWL~\$t>Uhp! ׃t$$>hD' ׋D$0D$(D$L$$t-> Ph& ׋D$$L$$t)> Ph& ׋D$$t,D$$>$ Ph& ׋D$$t(D$$>$ PhX' ׃>h& ׃|$t\t$ >h`' ׃|$ v7l$ IT$<$t$<>hp' ׃u֋l$\$:D$0t>Phx' ׃L$(t>Qh' ׃>hX! ׋|$pË+PWh6hX! փ+\$@_^][4 i5ۙJܑJۙ>`ۙŨSUVًT$(Wt$ \$#l$(SU } D$uT$D$"D$E }uT$D$"D$E}uT$"D$E}u(T$y"T$D$ωEe"D$E}uT$K"D$ED$,30h! E3Ph! E3Ph" E3Ph$" փD"EuH"3PhL" ֋3hl" փEt3h" փE t3h" փE@t3h" փ}r3h" փ3hX! փD"EuH"3Ph" փD"EuH"3Ph" փD"EuH"3Ph" E3Ph# ֋3uh0# ֋3u hX# ֋3uhx# փEt3h# փEt3h# փE t3h# փE@t3h# փEt3h$ փ}r3h8$ փMt&EX$u`$3QPhh$ փ Etu3Ph$ փ M$<w;t.L$,E3 +Qh$ փ3D$T$vn$wyvCxT$L$\$QRL$ 3h$ ֋T$ EBT$;r|$t@wнyvEЄx3Rh$ փL$ 3D$+tDl$+؃vSPuhX! ֋D$L$ ÉD$;r_^][ ̀ytVt$1hp! փ^́@ 3ĉ$< T$SU$LVWRq,Pl$  ֋t$$hT)(jUVjg hX!(0 ux( P(;u  $=  Py  ׅ=  `y D$jjPVĘ0 L$Qt$x  ׃|$5jUt$FP }u"|$thd)'jUt$jg t hX!'0 $PD$ P;D$4PD$,Pt$$V ׅ0 L$,Qx ׋0 D$,Pz jt$PU t`hp)F'|$t$h)+'jt$$h)'D$( tjPh)' hX!&l$;u @h,!& $L_^][3@̋L$9uy8t,(AH ALtAA@ ADuhh qH jKhh qPq@. 3SUl$VWwNt:kXÃx(u$L$;H u;h$u0$PVh4(% NXuɋwNtAkX$Ãx(u$L$;Hu;hu0q$PVhT(% NXu39_37~(D$;FD$;F6$PSht(Q% >u ~8t,(@FH FLtFF@ FDuhh vH誇jKhh vPv@a- Ph($hX!$CX;_Hl$39_3I7~(D$;FD$;F 6Q#PSh($ >u ~8t,(@FH FLtFF@ FDuhh vHކjKhh vPv@, Ph(%$hX!$CX;_Hl$39wv>3ۋÃx(u)8u$L$;H0u;h4uj"PVh(# FX;wr_^][Wjjjjjht$  jW L$ u W 3_SjjjjjW ؅uW [3_VjjjjS S W ^[_̋tyu$!̃ D$SUl$VWD$3D$}P\$D$;#uC;-uCjh (SH tPGjD$PS}t$$ htHuFt$L$EuVD$t P)Gu D$<,t< uCL$tE؉EtjjUuF赙+_^][ >]u͋L$jh$(S|$,H u{|$ < tL $<+t@t7 Pq  օtU ubGG|$ < u?+u]D$ Pbt$ >(uJD$FPVL$E9)u2_F^]+[ h,!H! _^]3[ |$tjh$(S9G u{<(tC It1u Pq  օt uGG<(u?(uD$GPWt$E>)o~]ejjUP"+_^][ ̡j Vjh 0jdjt$vpP ^% S\$8[u @[VW=0 0 =tF=0 0 =d't'j P3E u _^[=0 0 =tF=0 0 =d(t(jP3E u_^[_^3[S\$tP Du,t t[[Vt$WVtT8]tC8t<= % Py  ׅt}= 8]u8]u@StsPyCuc,t^ tY9  Py  ׅ= h,!U _^ItPBu ,t uM8tF= u= Py  ׅt = uh,! [_^QVjD$Pt$蛅T$ EEPEOPMEEPEO8PMoE EPEO\PME EPEPM>E EPEPMEhrENjMd Y_^]UjhbdPQVW 3PEdh`"jFF P }Eth`"jW 3E>u!qƋMd Y_^]FdƋMd Y_^]UjhdPQV 3PEduENt&F+jPQX?FFFENMd Y^]UjhdPQV 3PEduENt&F+jPQ>FFFEuE@Ejj6>Md Y^]Ujh&dPQV 3PEduENt&F+jPQ8>FFFENMd Y^]UjhdP 3PEdj j1=Md Y]UjhdP 3PEdjj1=Md Y]UjhdP 3PEdjj1S=Md Y]UjhXdPQ 3PEdMEj j1=Md Y]UjhdPQ 3PEdMEjj1<Md Y]UjhdPQ 3PEdMEjj1h<Md Y]UjhdPQV 3PEduENt&F+jPQ<FFFENtMd Y^]Ujh(dPQ 3PEdME~Md Y]UjhndPQV 3PEduENt&F+jPQ8;FFFENMd Y^]UjhdPQVW 3PEd}E@G;t2Rj P ;7uEj j7:Md Y_^]UjhЕdPQVW 3PEd}E@G;t2Rj P ;7uEjj79Md Y_^]UjhdPQV 3PEduE ;Ejj69Md Y^]UjhdPV 3PEdt%F+jPQD9FFMd Y^]UjhdP 3PEdtPj P Md Y]UjhdPVW 3PEd}EvEME\EuE Nt&F+jPQS8FFFENEw\uE Nt&F+jPQ 8FFFENEw8uENt&F+jPQ7FFFEN4EwuENt&F+jPQ~7FFFENEO QEOBMd Y_^]UVutS]W} } u_[^]UjhndP SVW 3PEdu~jj P EEt$@@@ @3EFu gI>tU}ύQffu+A3ɉE Qj P ؉EtWuS^F F]]]]~$=  Pq  օ= M9t9ff;uftfQf;Pufu32y ;vGtoG tXjj P ؉]Et$CCC C3EyE8tZMQffu+ʺA3ɉE Qj P E+uuPG]E ECE Cy_ Md Y_^[]_Md Y_^[]GE GMd Y_^[]h,! Md Y_^[]UjhdPSVW 3PEdً{9{d3ɋlj}X Qj P uEttkXPjV 3Eu3Md Y_^[]kCXP3VCd 3j P 3k{Xu;CMd Y_^[]UxSVWjX3ۉMESP .uL0HD0LMEL0hD0lM3ɉEMDLE M$= < Py  ׅ= j MQu8uP ׋Ѕx)M;NHuM;NLu FEȋF EEȋEE̅C=_MEPIt4MU ‰MU?MAM_^[]h/g3_^[]hhl/J3_^[]uuh(,, 3_^[]h,! _^3[]UE]UE]UjhdPSVW 3PEdًCtPj P CC { j WQ օt!h.P3Md Y_^[]3uu97t}{E3 3ɋǺ QV P uj jVs8P ׅth.3C3ɉE E Qj P }Ethuh Ww3E{u `33҉U9Sv3}{t(C j Pt94Q j KQR ׅu{Cˋ}PtVU B}U;SrEtVj P ENjMd Y_^[]h@/x3h/g3VW7t'FtPs*F tPd*j$VL_^V~tU~u ~t7WI>~GFt7j P jW~u_F^UE W};S]+Vu E}I `y EjjPW[UU]3K~@I;8t F;|+ DRPRPh,aU| };s|E;xXu(x` 3ۉ]u ]};} [^[_]E ;tu ]EPEPSRWuPuPWh,~]륋]t;wuk6t^놋Ex ypMQMQs/9u[u ^SUW}Whh,hp,h|,h,h,u Wt8tt8ph,hh,hp,h|,h,h, u W_]Ujh@dPSVW 3PEdjXtjP] CEtQj|Hj WP}0 ֋Ѕx2t;KHux;KLu CEC |EEEtjWh(, 43E}=  Pq  օ= E苕|;uEOЃ;E;rF{uuSjV5j t%gjVh(,N ;u E;DEPW`uuu@M 3Q~ ;9t @;| M 9| ;;{Xu {` EPEPjVW}ut3jVuWS蛙uMuVW Uu}d3tQj|hj WP}0 ֋Ѕx2t;KHux;KLu CEC |EEE3E}=  Pq  օ= |;ry}}j tQjW0P ֋Ѕx2t;KHux;KLu CEC |EEE==EPWoEMQMQjPWE*}utt}jVuWStluMuVW U}Md Y_^[]jujWh-EjPh- jj jWEPEtxu$!Qh,.EM+EtPh.hD._h,!" hX.>jPjWh-EC(jPjWh-E jjjPEPEtxu$!Qh. EMjjj jWEPլEtxu$!Qh,.EM EjjjPEP腬Etxu$!Qh.rEMЦhD.h,! h-3Md Y_^[]UjhdP|SVW 3PEduj0jV EEEEPjX\jP }x\8HEEPEPME} tjxOmEE;_H=  Pq  օ= j \QjS0P ֋dx/\;OHu`;OLu GEG hUEu?uFPEPjWuRun];_HDWjS5j \mtjSh(, 34G3ۉEu uwPug ;uu6uEPjWuuVE Cuu u0 ;v' \8h=  Pq  օh= rj \QjS0P ֋dx/\;OHu`;OLu GEG hUEE$PjjWuRu]CEMąt&E+jPQ"EEEEEEEEE@E;Mt1Qj P ;uuEuj P ExEE؅tPj P NjMd Y_^[] h,! 3UjhۘdPH 3ʼnESVWPEd]} DžDžEP)d/u~h PPhjPj RP օthx. 3uuWSPP)V3j RP օth.33 th.r3j jQS0P օth.133h jPzhjPgj 0Qt4P օuPPtUG;tEtPj P ƍMd Y_^[M3荾] h /;3h/*3UESVW3] sPd$M;sG ;vMUU:CX C\t2;KXr-C` ;s#MCX_C`A3:^[]E_^[@3:]UVuVuuu utE^]uu uBt+EM@F^]3^]UXESVWjXjPZ r} \8h=  Pq  օ= j MQjS0P ֋Uȋux#;wHuE;GLu GEG EUEuAMЋE;rt;r]؅\_^3[] E_0^HP[] jSh(, 3_^[] h,! _^3[] UXESVWjXjP 2} \8H;_H=  Pq  օ= j MQjS0P ֋Uȅx&E;GHuE;GLu GEG EUEuQMЋu;r;r];_H_uEu_0HPE^[E@]jSh(, _^3[]h,! 3_^[]uWjS5j Mu;ur;wsu]uSWV&tEEЉCG_C^[]USVW3]P=  Pq  օ= s3Wh+G J;vh+UzXNjr\ t$J`Bd PQVWh,_^[]h ,l_^[]h,!X _^[]U\SWjXEjP }\8h]V=  Pq  օ= j MQjS0P ֋]ЅxM;OHuhE;GLu`GEG EEuXűˋU+PQ+PuSRVjuhL,cM (E+E̋]]:^_[]E]Ejuh(,$ ^_[]h,! ^_[]UXESVWjXjPJ b}\8HE ;_H=  Pq  օ= j MQjS0P ֋Ux&M;OHuE;GLu GEG EUEMЋ+PPuRuQjShL,M $E+EЋ];_H=WjS5j M;u4wƋM+PPjVuQjShL,E $+u0_^[]jSh(, _^[]h,! _^[]UjhdPSVW 3PEdu]E= u Pq  օA= KO+G GuPQVh -w ww7h8-$Fu#;{u}t>u hD-oVu +jD4ˉE싃EeuP+PQhd-h8- }tb+}NjWWh//h80% }}C;]rEuj P ]Et h0Eԃ@]܉E;EQh0EMnI67@EM[I#h|0h,! ]h1iWWh/]EЃtPPh0G h80:EtSj P ENjMd Y_^[]SVqAtV AF qu39YtGWyG AwtV AF quGG t_yu_^YA[UU3V3 ‰5  E t-j hpu 0RP  ֋ 5 QQh/) tVVh0 h80 M^t  ] UQMUS3W;}Vd$= un Pq  օt8= uFjjEPWBt4--MU;rh,!\ MU^}u +  SRu Qh/"_[]UjhdPQVW 3PEd}t;w pp uj$j P EEt98@@ @@@ @@@3Eu<3Md Y_^]Md Y_^]UjhdPSVW 3PEdى]Eu+P;th+h$+h0+h8+!hH+h$+h0+hT+hX+s3ۅ=   Py  ׅ= MF؃9t6jvPhl+7jj j6EP~Etxu$!jvvQh+cEM6t h+h+2h+hh 2 hh 62*h h+vSh+zMd Y_^[]h,!Y Md Y_^[]UjhdP\SVW 3PEdjHEjPkj M} 0QWu vP ֋؅yuh1Gh1uVh1 NFu++PEjjWu EP؎Etxu$!Qh'ţEM#h1E2EPuuh1EPuuh2EPuudh2EPuuh1WWh/utVVh0 h80Et8Et0ËMd Y_^[]UEPPh/NE tPPh08 h80+]UjhHdPSVW 3PEd33ۉut h42 339] EhjECKEEPV?M_^K AC[]h2$iUjh`dPVW 3PEd@G;td$2Rj P ;7uMd Y_^]UjhdP SVW 3PEdM@A;3CuEEx}E IG;t!0Pj P ;7uuE7j P Sj P E;0uMd Y_^[]Uju u]Uj u u]Uju u`]Uju u@]USVW} h5ᆳ%P)&iҧAi +yN#ʋVvɋ;uJ ;tH;s;HrE_0^[]UE2AA]33H3833UE `3]UEV3pO E t*h2PQ%u95y ujg4y ^](UM VW2 ;u+sMEQp _3^] l ;u s_@^] USW}GP, ؅u0t,O2tVQp ^j W_[]3 Ujh&dPQ 3PEdMEhpFhjQ覝Md Y]UWtVQp ^E_]̸( UEPjuuu uhp0  y]UEPju jupQ]5UjhXdPQV 3PEdu$6EE5t jV膡ƋMd Y^]UEV5t jVF^]UjhXdPQV 3PEdu5EE5t jVƋMd Y^]̋ H tVQp H ^UUM A8BBB A@BB]UUM BBB BB]UVu lWi}}_^] UVu Wi}}_^] 3UE]̸̡(` ̡` ̡,` ̡` UE0` E ]UE` E ]UE@@]UE]UjhdP 3PEdd, ؏  ;~Wh \= uAE 5E $6EhИEh ӛ Md Y]Ujh6dP 3PEdd, ؏  ;~Wh 講= uAE 5E 5Eh@ Eh # Md Y]̸̸LUE@8]UE]h` ̡$` V5| t'SWI>ϋ^ jV u_[| ^UQh7蒲E,7EhxPUQ UVWR3P ֋E=Lu ME=uuh6=0 @_^]É=0 3_^]Ujh~dPVW 3PEdEE EPh87y^EMQhH7P06 օEL 0hL P@ օbu t hX7f^jj P ȉMEtA3E| AEj j | H  P EEtu3EEE7Ph2W6 ֋Wp ֡H uP ֋y5h 9MQr ֋NjMd Y_^]EPq hEPq 3Md Y_^]UE=@ ,EPh87s\EMVQht60P6 օu?EMjjQ0h8PvT օuE裠 EPq ֋EMQhH7P06 օu[Eh4 P օu @ EMQh8 P0 ֋EPq ֋EPq ^] u@  4 ] U} uE ] UVW} h hd6W0 ֋< h< ht6W0 ֋ h h6W0 ֋ h h6W0 ֋ h h6W0 ֋ux h h6W0 ֋uT h h6W0 ֋u0 h h6W0 ֋u = _^]u _^]̋  VtQp   < tQp <  tQp   tQp   tQp   tQp   tQp   tQp  ^UjhdP 3PEdMd Y]UVWjj~ P Ѕt$E HJHJ@ B V:_^]3F8_^]UVWjj~ P Ѕt$E HJHJ@ B V:_^]3F8_^]USVWjj_  P t+U JNJNB F BFw _^[]3G _^[]UV5 M>S:utX:Zuu3u3M EAEAEAEEPv h[^]L>:utX:Zuu3u9M EAEAEAEAEEPv [^]|>:utX:Zuu3u3M EAEAEAEEPv [^]=:utQ:Puu3uE vF@ Ė 5 [^]S39 VWЖ GtI0jP趒ƅuGt0jP薒ƅut$0jPvƅu3CGGGGG; r_^ [É [Uuh9h9h@:h:h:اh(;Χh;ħh;躧h <谧hl<覧hX!蜧h<蒧h<舧h8=~hX!t@hx=gh=]]UuhL9@h96 ]UjhhdP SVW 3PEdEuy؅:؅   ,؅tShL9諦h9衦 ؅tSxr5lZ  uE=j }EhBN3EtWx ׉]]tVp ։]EËMd Y_^[]UjhdPSVW 3PEdEuI؅M ؅>  *؅tShL9{h9q ؅t SH5lZ  uE=j }Eej UEERP Ӆth(B@ChLBܤ5< juu؅uhlBuhBhB裤EtWx EEtVp EEVËMd Y_^[]UjhdP0SVW 3PEdEu؅,Z؅  ,)؅tShL9ˣh9 4؅t S5lZ  u؉uE=j }EEEEEȍEPjEEPjju I}thA1uT  hAhTAh?h\A]hP@E= ̖ jSvhlA踢EEEtLI9C ut&wNw wNWj P EN4MEΌEF$tPj P Md Y_^]USVWFFtPj P ExF@;FrPc6NF+SPHP ~_^[]US]EVWSPE;GuVOEGEEPsSйG +ȃr0@ωG SBGPPEPmE_^ []hlN4UjhPdPVW 3PEd}EWP*E;FjjMEE$EEE؍EjjȉEEEEEM܋EE܋EMMEMEEPEPtuEMŎEM趎F Md Y_^] Md Y_^]UEVCthVCq^]UjhdPV 3PEdFtPj P FtPj P Et jVpƋMd Y^]UW} tJVutAEPjuVW%7p0Ox ~MIttQ+hLVPoX^_]UE S] VW< `y EjjP%Pa `y PjEPGPCup `y +uPjEPPu1Eu}u_^3[]_^[]hHI=3_^[]h(I%3_^[]hH 3_^[]UQSVWC0;tG~ t9GtPj P GtPj P jWn6;suC@0;t$jv n6;s@uKHK8|HK\tHiH+s j EEPj_ǃǃ^f[]VWG0;tIjvn6;wuGG@G;OtI1Qj P ;wuG G @G;O t1Qj P ;w u_^UVME t jNjF (jj(Vh ^6Tjj'hdJ!jj'~ uhKvU0~ uhX!vTjj'jj'hxJ蹂FjVh ZҢjjW'jjL'F^]3^]UEVWt 9BuBHt 9uN @@@ f@@E~ PwWXйTUUF+ȃr@FWB_^]hlN).UQUSVW9unWE ;O;v+ڋ < EPG SE1Pjv PQ ֋MOtTG_^[]M G;vȉ_< SQw 0jRPv  օt _^[]U SVW}ً?tpK8EGPEPE;C@u^sdGPEPK\9ut/GuEtA tGAWEK8u_^3[]P O_^J@ []UjhdP 3ʼnESVWPEdE3Dž}j RP օyPhH] $QQ0j@Pv օxM3҅t+d$;s$xt G] B0;r߃@thHNPhH>EtQr DžNjMd Y_^[M38`]UjhdP|SVW 3PEdEEEPEEP3u(jhxjPu3 }9}j x Rj0QPvD օ|EEEEjjPEP|@y|hG}[39uvT3EL Lt9K DuPhLhKsOuPhKsO F8;ur}EEtPj P EG};}}uhPL_}EEtPj P EMd Y_^[]USٍMQM]QK8E;C@t @ []VsdEWP{\E}P9ubuEPEP-jju E5= & Pq  օ= uWuˍwVˉKu~_tVuMGCPvdEP59utS7Gt@uMCPE{P_]W]l4_^3[]x;t/}s@GPEPK89uuGPK88?uԋE_^[]h,!z{ _^3[]USW4P]t/˥;t&VoSϋj*^_[]jju s_[]USVWr]u VLHTLj RQM8PU ׋Ѕx(;KHuN;KLu CF@C FF@F ҉FD}r7Uw;V(r-E;uE;uKC N3;r^w;rXN0V4 ‰MUtij VRQ8P ׋Ѕx;KHpN;KLdCF@C __^[]EPEPh$Jy _^3[]Uuu uMA]UjhdP 3ʼnESVWPEd]Dž Dž,E,j Qj 0QP օy hCDž(,(Q0Q0jPv օ(3@$ F `y j$jPvDž$$P؍QˋpPйTUUC+ȃr7HKPB(G0;c hlNL$hCwE,tPq Dž,Md Y_^[M3X]UjhXdP@SVW 3PEd}] { SUUu1jEEPR#EPUC C Cu3Md Y_^[]38Ou8HtWPRJȉMtCMEQut]}FP6u}] MC xzQu荷jjjM VEI Q IMMuRumE}u5MtjjMؗP`XMQ}tEMLEPEP M};t(G 0;tjjvMX6;w uEP0HƋMd Y_^[]UVuPRj }u jzF\^]UjhdPTSVW 3PEd]MQFM]QȉE(E;Ft@ Md Y_^[]jj P }Et1GGG fGGG3EEjHjPkj M 0QjSP օtOGtPj P GtPj P jWS^3Md Y_^[]EȉGẺG}G `y EjjPCPUy,hHHsj3Md Y_^[]Ey GEG43F Qj P Gu$jM3Md Y_^[] < jRP1+‰URv PQ օy/jShpH s j3Md Y_^[]GEG MEP8NjMd Y_^[]UQVW} wt?SEjPEEPtN\"!j`Dž`PstA`t7Wt\PSlƅ\~t WSUX0dAX;'#h,!r]  h(H\]lEhtQr DžhNjMd Y_^[M3P>]UjhHdPSVW 3PEdEEE3}EVVPEuPWEwyWhG\u9u3=  Pq  օ= EL L{tK\  Ett8U׋J( J,u B0 B4MtEuuVuRVEEu{tEpPV E܃8@E;E&h,![ uEEtPj P EƋMd Y_^[]U$ 3ʼnEQ EEKEKEKELE LELE$LE0LuSw09U tDDPh'q, M3<]PhPq qhEWu t[SW~Du$!~ u2u j73GGu CSPjvhE3W6u_[hX!W^] UjhdPSVW 3PEd}tuhEV}u ~$Eju1v,v(P辫Euv,v(v4v0hEV&v(PPlEuv,v(hEfVEEEEtPj P EjVEPDEuhEVut\~Du$!~ u2u j72GGu CSPjvhEU6uhX!UEEEEtPj P EMd Y_^[]UQVWjEEPu #EPt ~u j6F1Fvu CEE PVPPEju p ppfPh4ET$_^]UjhdP(VW 3PEdhjEEE P 3ɉEE@fME̋u Q9N$uv,v(PDE v(PiEPMEEEEtPj P EjVEPEEjPuE}#EPKt ~u j6/Fvu CEEPVuPPuVuhdEXSEEEEtPj P EEEEtVj P EMd Y_^] UEVQu0u PvD ^] USVuW@s@3ɋƺ Qj P ؋t(PVSZ 7j P w_^[]3fw_^[]Ujh+dP 3ʼnESVWPEdDžDžEj QP օQQ0j@Pv օxd39vMd$C uQhLhKsd#uQhKsL# F0;r@rEtPq DžMd Y_^[M3/2]UjhpdP(SVW 3PEde}EO\y9z O\y sDjjjw\EPEVH-PhMu uWEM'w\O\y;v+jjjw\EP{E,PhNEEE4EPEPEPWV uuuWjw\Vt!u uMd Y_^[]EMd Y_^[]E܃Pu uuyE2Md Y_^[]UjhdPVW 3PEduu s\jjPuEP@Etxu$!VQhJ,, EM3Md Y_^]}tbu E}PEEPEEPVWEuuuVujVWtVWMd Y_^]Md Y_^]UXEjXjPmEE tju EPuPuEuu Pu]UjhdPpSVW 3PEd} ]GPuQ؍Mj#WEkE}MnsEPVvxEPEPjuV7|uRjjjWEPsEtxu$!MVvjPjVShIU*EM3ۉ]u詘tTjjjWEPEtxu$!MujPjVShI)EMV3ۉ]}MujV ytpjS y3;tXjjjWEPE0txu$!McujPh$!VhI^)EM3ۉ]]Mm}iEMËMd Y_^[]UjhydP\ 3ʼnESVWPEdMp\v6t΋sjjPOQ `y wyމ3F Qj P E < +jSP1ǙRPv Q օjjjPEtxu$!QhLu E EtPj P Dž2˻yA+ȋ;sً < jSR1RPv Q օy8jjjPEtxu$!QhLȉ;s>$VP0;r̋QPЃ;$z;3 Pq  օ;rX;0+;s؋ < jSP1ǙRPv Q օD+PVqPPjVv蠓Y9t/PV 4utjW  u3;; Pq  օl;tEtPj P DžMd Y_^[M31(]DžjjjP"E@x;$!QhL>jjjPEtxu$!Wh$!Qh@MijjjPEjWjV#PhM;jjjPsEtxu$!WVQhLu Rh$C蠮r;tDž Py  ׅtL;rX;+;s؋ < jSP9ƙRP Q ׅ+PWenPPjWsbn9t/PW rtjV q3; Py  ׅU;H;t;TjjjP7 EUxP$!QhLSjjjP E txu$!Vh$!QhM{jjjP E txu$!VWQhMAjjjP Etxu$!VWQhpMU SCC K C yN]EMEyN]u]EAuFs sWQF{9?tVsˋ6VFPEPf;u^_[]U SCC K C yN]EMEyN]u]EAuFs sWQ覄{9?tVsˋ6VFPEPV;u^_[]U SCC K C yN]EMEyN]u]EAuFs sWQ{9?tVsˋ6VFPEPF;u^_[]UjhdPSVW 3PEdeuE=va^]v$鸫;v+;؍<vEGP4ȉME,EE@PMEEu]}MFEP~r6Q; jCP6a VQ; E~Md Y_^[]UVujjVVFBI ^]UjhۥdPQV 3PEduVFBI NMEFjjV訁Md Y^]UVuj jVVFBI m^]UQE I9t@E]UEVh5ᆳ%P+iʧAi +yF#^]UEM ]UEVp0PVI^]hDNhTNUEu]=wI=r*H#;v>Qj P ȅt-A#H]Pj P uZUUE S]VW{;M+;r;u3 9NN~r3PfsFF Md Y_^]UtU;tsII u3]U tA]UQVu EW}jjPEE@ `y P%y hdI5#E_^] UVMV;zS]W{;}n+E;E sE +}E;r+E E;ECE+E EEljE;s/uF~r 3f3f9Fs PMU ;u8{r~r?PECPJ?PECPJ;tvFr ]]urEuEP UBPMAPN6 {r~r֋M?PECPJP/ ] ;stFrUur֋]?PECPJP5N rEur֋EM]PE CPBE;wkFrUur֋EP ]CPBP`5F r΃r֍?PEAMPJ ;ЉUFwkrUur֋E]PEXPBP4F r΃r֍?+} }PyMPJrUur֍]PECPJP4F r΃r֋EE]PPEǍBPH4F rփr΋+E PEǍBPEP4M ~N_[r3fH^]3^fH]pU VW~r֋M;w3FB;s)ru+QVu u_^]NU;\+S] E;s؋U+ˋ;?E+ÉE;s>rMur>MUP BPEGP2U ~+uu+~~r3[_f^]3[_^f]9~s WU;sIFrMurEuMEP ]CPMAP[2U ~r΍PEuAP+ ~~r3[f x_^]3f x[_^]UU SVWNffu]+Kffu+ًQffu}+rQu jwPCЉUtdMAEffu+MQuVRE Pffu+rPu EPwQߠЉEu_^[] UVutW} WvFv u_^]UUS]VuW}zu^zuXM AHuOB ;AuB$;At?;B(uA;B,uB R$;Q,rw;A(r;Qw r;As_^[]UVut+S]W} SWvSv6 ׋v u_[^] ̍AUEPju up0 ]UEPjuu uqp0蛂y]UjhdPSVW 3PEd}EPhjP$ j P 1PEv4RPQ օuPPj3ۋtQp uuhQ,GENjMd Y_^[]UjhdPQVW 3PEd}EtQp Md Y_^]UQWOuQVrffu+֋uFEffu+uEP`^x W BuJuPQ 3_]UU xE ɉ]$E GuHV3fQQ0QQvxQQhQQuP օ=3f3f =t-hh 7PnxhQhh   Phh   P0tyhQ&QhR&y h\R&^M3_]Ujh`dP SV 3PEduME}uCEEuH3fMf EPu u^y 39]KEEtPq EËMd Y^[]UH 3ʼnEESVuWE3ẺuPV}EЃOĘ@tAu hREuh(S"r @t s` EċuNQ$ffu+ʋUBEffu+U ΍EPCPuHuRQtS uJq$ffu+MP>CPuHhRRQuȍẼ P>PXEE˃uh8SGEPE +P>P>}ЋEȊ8h4EGEY3E9EvOIth40\EЋPE +PEP;E}@E;Erh4$ 4` ẼhRẼ m&EPEPEЋĘ@thHS%QĘ th`S4Ẽ4a EPEPQEEЋPE +PEPe}ЋhREEątQ$E ;M+QPEȋP}Ѓmth4DyohR-\!hxS=EȍMjj Q8PEEsEԋPhR j Ejh 1hRPQ ֋h wt_^@[M3] EЋPE +PEPj}ЋhR%QEPEPj Ej EPuEP} hREPEP0j Ej EPu(EP}uhRq^IEPEPj EЍEj PuEP0\hRF}ЃmuEPEPxj Ej EPEPElEP}EPEPj EЍEj Pu(EPhRw}ЃmuEPEPMEЋ%=t=tjj EPQEQ P x=Ẽt u0hRxEЋPE +PEPx};} v@EM3͉8_^[>] Ujh`dP VW 3PEduME}u=EEuHu 3fMf EPVuy ;uG3EEtPq ENjMd Y_^]UjhdPVW 3PEdhPjPc j P 1PEv4RPQ օPP }EtPu W օt6EWp EMd Y_^]EtWp E3Md Y_^]U`VhjPs j ` 1PEv4RPQ ^u`P]3]UjhdPVW 3PEdEEEE j PE1p0v0Q օx$EMQh|lP06 օx}3EMtQr ENjMd Y_^]UjhdPSVW 3PEde3}fM%=t'=t =t@Md Y_^[]E=uuWu QuEw=E 0jjjjjjjjURhh URQP ֋uE=t*}t$]SWu P*uhQSW ]E=s$3f h SW{ E=u~E 0jjjjjURhh URQPvx ֋uxZE=t0}t*]SWu P~uhQSW ET]EIhQ@uEE@tEuƋMd Y_^[]U`VWhjP} 3f` j PE1RPQv4 օuu`uWu P _^]UjhdPH 3ʼnESVWPEd}3uVfT؉]EtuuWSu (rWVf?j@EjP"j M 0QMv(q,q(jjP փ}th,QhWj h@QhW;j  M0jh hq,v,q(P օuh hW f?uXQWu hxQuuEtSp EeMd Y_^[M3]U 3ʼnES] EVW}3jPEv0PhWuS օE$<3EPuS օuu̍FWPQMu VWSu]uPύQd$ffu+s+fOA3fO+M;vPuVW-3e_^[M3]UES;Cw C3[]PjE P Eu [] t sQP 3j P VWs_^ECECE3[]UEVQu0u jv(jP ^] Uu $l]V0jjjv0hh uP օR^x ]UUt0%=u U]=u U]R]$l]Uu $l]V0jhh v8juP օR^x ]UW}$h$!Wh$!Wuh^ Ah^ /F; u">h$!Wuh^h^   z5 h$!Wh_^  5 Bȉ uBȉ @a qqDA hHP $0  APh_  g  Ph_  <  Ph(_ r    $h,_C     Ph0_   Aы  DPRh8_   t    Pt QdGh<_ 5    1RjPTRPQ օPs=3fTh,(EjPu TfTt-._R rf;rf8f8u狽4TPhH_ SPhP_ :   3 Qj P 3҉~& = B;| h\_ 3~9t h`_  Ph0_ F;|Ӌhd_ j P 4W  APh(_  /  ٝم hh_[ hX!N  9 !^[M3_n] UýfɿAUjh8dP4 3ʼnESVWPEdE} EċǙ؋ʡ< jhh 0QSM̋v P] օh EPh EPX؅jWhl^! Sj P }E < jSWű1uQv  ֋th|^ SWuS3EtWj P EhX^3Md Y_^[M3]UVW} %==t=t4=%Pu jPWh__^]%PujjMEQ `y P=wjh_ju\=EMjjQ `y PEwhh uith Wh_x _^]h_c_^]%Pu8jh_jV<jjMEQ `y Pvjh_ju<EMjjQ `y PE[vhh ugh Wh_ _^]= ==ptWh__^]%PukWh`nj(jVh`W_^]UjhkdP 3ʼnESVWPEdM }%= ==7 jjPv0Ej1PQW օyDM]2+$t1ft fuu3fEPh\f7 Pj1Ev8PjQW օyƍM(]2+$tftfu넋7jjjjjjPj1EPPQW օyDMP]2+$tft fuu3f7jjPv0(j1PW օyW(]2+t+ft"fu3fEP(!u3fEP(== tPh\7jjPv|(j1PDžPQW ֻ]x(%=um7Pj2Ev8PjQW օgM(]2+$3f&fu=ui7jjPv0Ej1PQW օM]2+Iffu=jDžPWDžDžDž E QQ0P օyKM]2+d$tftfu3fJu3ffu5M$^2+tft fuu3fSEPhP^7 jjjvxjjPj1(PPQW օy@(]2+tft fuu3f7 jjPv0Ej1PW օy?M]2+tft fuu3f(PEPhx] Md Y_^[M3]UQEMVWQ0h`PE6 ֋xFMSjQr ֋؅t)3u h!6S ֋Sp [MtQp ֋_^]UQM3U ;A,w1r;Q(s*A0jjA8MQ `y PKnx E]3]V>s3^?ƃ^U 3ʼnEMS] tVW}u/wύFPuOf0af12aD1XSQ\ օu[Sh4a|hPI|NFu_+ύ3PVuGV|QPm %h=[=t =XDžxDžpDžl=Et%tlQSP0 օx0tpQxQ0SP օShXa|hP2|jPWWZ!Et%tlQSP0 օy DžltxQpQ0SPvx օy Shaipt8u4%P4XhajVrpltt\%=t =t]tBtSPQW[1]tSPQWGt j/W' j+W]hpQAu+ʍQttTxtJ8tFˍqIAu+ARjt P SthaSVyRj P tpSV jVWVj P t xt8tjPWfj.WjpWPtxQSP0Džx ֋x8j[WjhaW~== =#t Shatxjjj0jQj4jSPDžx ֋x8j[W4jxWfj]WtxjjQ0jjj0SPDžx ֋x8j[W jxW j]W mthQxQ0SP օy+Sha|hPJ|jPW utPWh@wύFPBuGV0-uG\_^[M3]UjhdP 3ʼnESVWPEdu ]hbuSIh8jP j 81PEv4RPQ օK8PaEDžEPW/DžDžDžEuu PFPuV0uuSjPjj$ EtPj P DžEtPq DžEtWp DžMd Y_^[M3]UjhdP 3ʼnESVWPEd} uU]`hdDž@DžDDžHEDžpDžtDžxE ClADGP$h`pP ɸaPpP 뵸 aPpPp 롸aPpP\ 덾 `u`n`g$``,`Y4`R<`KD`DL`=T`6\`/d`(l`!t``` ``΍QAuG+ʉh`PguG`V|dt`d`u$!\NFuG+`PuG`V\P `PS`ȋك luJwύFPuO`1`D1`D1`D1 f`fD1dhRWXdVWS5؉lx CllPlPuHwύFPuO`1`D1`D1`D1 `D14PVjP hd x CllP8l3Xt@dx CllPldF;r΋`xClPl3T\tphlPSЃu ;l鉍lt#uul F;\r`TwύFPxuGX0[P\u7u3u/wύFP>uOf\!f1^!D13ɉlhH)d`uS;sOd4Eh(_jPuNFuG+hPuGM;Ph(_EjPXuЃNFuG+hPcuGhMVQPyw ύFP8uOf\!f1^!D1l;Xsmd IPh(_EjPuNFuG+hPuGMhVQPl ;`s!wύFPuGl0,XA\l;P\TwύFPBuG0]iwύFP"uG0!xCPW8lPlPWvwύFPuG0!ϋwFPuG0!xCPW*wύFPuO`1f`fD1`D1ϋwFPTuO`1f`fD1ldVWS؋dlHw@TύFPtuO`1uO`xClPul2tL$Nt%Gω`@PuG`,dhWSSذuwύFPMTtuOajuO&YtUQhaEj@P۾uNFuG+hPuGVMQhP tFPppuVpphu hNFuG+`PMuG`VhPa EptPj P DžpEÍ0Md Y_^[M3]~^q]}Wj UVuW~GPE t 9_^]D>_^]UQVuWuu NFu+}ϋGEPuGEVu P _^] U 3ʼnESVWu }Eh(_jPuNFu_+ύ3P'uGVMQPAM 3_^[]UVuW~GPuFW8uF_^]UQVu WNd$Fu}+ϋGEPȅuO΅uGuPQ uGVu P _^]US]C u[]VsW{t>r4Cƃt#st&>r$ƃt<+} _^[]UU 3VuFFF FFFF $<u$fFBF fF^]u_BFBFBF J$<0r7u3BJȃNt$?<u NF^]U 3ʼnEE PuhD PUjh8dPQVW 3PEdщUuzCE8bE‹Md Y_^]Ujh8dPQV 3PEduu FCjuhPsp0;E8bEƋMd Y^]UjhdP 3ʼnESVWPEd3{GGG j WP օy hdl?({ lj{3 t h4dNj jQW0MP օy h`d{3ɋlj}  Qj P uEthWh V3E339{~C3҉U j PE1t4Q օx3UG U;{|‹ÍeԋMd Y_^[M3E]ËMt4hxd;h j P uEt"h jV*hFHjP3E3Cj VP օRhdUUƒAAA AA;u]Rh\bLUE UAƒAA AA;u]Rh\bLUjh٩dPSVW 3PEd}jXjWGX G\G`GdGhGlGpEEGxEGtG|LJAEEE QLJ WjLHj QMP0 օ;CHuG;CLu CG@C GG@G GDGxw(;rGlt jHPGpt jPMw\G`GdGlGp;u@GωENjMd Y_^[]MQhcOUEVE FEFEF F FFFFF F$F( ^]UE VEFfFF FFFFF F$F(, ^]UHSVWjHj_GSGtjHEjPgj M0QjP օxEGWj SRP օx _^[]whdUjhdPQ 3PEdMECMd Y]UjhdPV 3PEdFtPj P FMd Y^]VFt jHPF^t jPUjhIdPQV 3PEduEtPj P EFlt jHPpFpt jP^Md Y^]UVFt jHP+Ft jPEFFFF^]USVW};Cj PWR2 օx _^[]3hd̍A\UQA EjtURPFujMQ `y PNE]uh@bh̡ VWPr  օt l _^h$CFW GGu5;G rxOGWA+ȃ;r[JO$G(OG _;G r1WVwN+G#GDGGO^G G$G(9GrG _hXcEUjhxdPQV 3PEduEECthVƋMd Y^]̃yUjhdPp 3ʼnESVWPEdeuuEuM EM9=z ÍM[ t M}EEtMAPhdu VPt0j EPMEPMPhdju V#MPh3ju V#EMqEMEMd Y_^[M3ȼ] jjj]p Pjj$ 3ɺ Qj P }EVWjr Pjj$ Wh eu uEMWVW7P ?u!nNI(F@,GF@@G~uFt6L GF_F ^U졄 `VWPy  ׅ$~(VxF|;r;v);r;v!;r;v;r;v u_^]S9V\u`j`EjP] j E 9PFxRPQ ׅy)v(N\FtF\;Fxs"F\;Fxr[_^]h$CWBVFtPj P F^UjhdPQVW 3PEdjHj P uEtjHjVd 3Eωw< j wj1PQ օy#jHwGw7hbMd Y_^]UjhdPpSVW 3PEdGt;z t3Md Y_^[]j`EjP j ] 1SRPQ օy*jj j7EPLE辴Phb#u EGEMd Y_^[]Ujh dPV 3PEd~uy `y EjjP6Gy*jj j6EP訟EPhbEu)jj P6EPxEPhb@FFMd Y^]V~u j6FF^u C̋A̋A+A$V~uF^U졈j Vju0u j1P 3Ʌ^]U VMjjQ `y P~FEt 2^]W}UE ?EGj RQP0vH օt GEG?tt _^]_3^]8PhxbV~uPP脱FF^u CV~uBF ^UjhHdPSVW 3PEdG$EjtURPxME]2]UXVjHjPj X 0QjuP օy 2^] p tW}tWu Qu_^] S3Ej@VPމu f97 Pq  օj MQu0SP օM"}E܋]؉EurEfE Eu^jjMQ `y P<x\ut?j`jP j  ƙ1WRPQ ֋}x3f9#[_^] [_2^] h$C4Ujh٫dPQ 3PEduEu q1MEEEMd Y] ̋ыB$;B uzBuBVpFr$8Wu*I+΃ s8t_B^Ã8uF_B^UjhdP8 3ʼnESVWPEdE3ɋ}]j@7jHPÉ0v ΙRPWT օ   @u!)PhhjVhh}u Shho Dždd3,3ۋȉH ʉLDž$84j0j P 7jj0SLv HW ֋PCsȉL‰D`DžHDž<h@j P \Et#GLJ@LJ @3ETjh@W`0DPv  ։P@ @s9`hkhWgthȨt5wtIƋvh@P;wuj0WuˋPh`hMd Y_^[M3]3҅t,VWqttzF ;G r wF;Gvы u_^UEVjj0jQjvPjuu P ^] UjhKdP 3ʼnESVWPEdEE] }u $uE$hgSđVPhgS译 DžDžDž E3Whh : G ΋<{u G}<}u G{<%<%uGtjPjZPMMuX! v P3Ft j>tjPjPM蜴M貯uX! v P趭E EߍEPj~_^]UVW~tj>tjPj[PMMuX! v P3Ft j >tj PjPM蝳M賮uX! v P跬~_^]UVW~tj5>tj西Pj{PM2MhuX! v P<3Ft j@>tj@PjPM轲MӭuX! v =P׫~t j>tjپPj课PM$VM$luX! v Pp~_^](UEVEE WE~EEtj?>tj8PjPMųMuX! v 5PϪ3FEEEPj~t j>tj追Pj蕽PM<MRuX! v PV~t jX>tjXPj.PM հM uX! v UPE,EߍEPj~ E0ΉEEPj_^],UEVEE WE~EEtj (>tj蘼PjnPM%M[uX! v P/3FEEEPjN~t j >tjPjPM蜯M貪uX! v P趨~t j >tj踻Pj莻PM 5M KuX! v PO~t jQ >tjQPj'PM,ήM,uX! v NPE8EߍEPj~_^]4UEVEE WE~EEtj ( >tj蘺PjnPM%M[uX! v P/3FEEEPjN~t j >tjPjPM蜭M貨uX! v P趦~t j >tj踹Pj莹PM 5M KuX! v PO~t jQ >tjQPj'PM,ޮM,uX! v NPE<EߍEPj~_^]8UQS] +]VWWG++;vX?ڸ?+;w ;rt jRQVQuM W7Qu芢G_^[] ;v5]4VSQM uWwQPQG_^[] Su4Qئ w_^[] UjhdP SVW 3PEde}2ufF EuFPEƋMd Y_^[]uM34jj`UjhЬdP SVW 3PEde}u ue1uEuNQEƋMd Y_^[] juMq*7jjǞUEM V3;tQFx uFPz u‹z u0‹z tPz u;Bu‰ERz t‰E;u^] UyxxxS]Vu+ƒ(~ou@WiiM]S1UPRVS] PS+PE+}WP+EVPWVSu_^[]uVu S|^[]UjhdPSVW 3PEdeى]E} W`cEPEP!c0uMC;4tvu;FrF;sZ6uE}};t!OH1N9VHNOHWEKʋ;Cu29C|IuibE0@Md Y_^[] ;u9AA;tKD@DE_EE8@Md Y_^[] uEPMb0EPMgjj8uMajj$USVWj(quG؋MK;u X} t ;u Y;HuXCx  FP ;utJy tq;pu Vu0F@ F@@ FHBBx uHAB;Hu PJA;Hu PJJzy u@ A F@@ Fp];0u V 1F@ F@@ FHQAx uHAB;HuPA;uP QFx _^@@ E[]hKUjhdP SVW 3PEdeEsEM~ u4ލF} tQP/ PQ.Et6ȋvËutE;u1uQSjEPE@Md Y_^[]M]-uMQFP.t uuSu묋E0@Md Y_^[]jjkU 3ʼnEEM Udl;S؉h;VW"pt󥋽dt2WP քt+PWP諟 kltxSP6 քt;ptp"SPl0 քuNjphltÈ"󥉝h;] #_^[M3X~] UVW9w~ uPS]CNff;uftfQf;Pufu3uv6~ t[_^]U 3ʼnEEM U+ȉpyxxxlʉ`&+SAV\+ipWdtKXh";}a$]iˈʍxPlQ0 քtKp"dii;|;u-`u#i"ix󥋽\lhtPSWRmpdX_^[M3h|] US] VuWu6S քt+"xu"}x"E}SW0 քtlEu"x}""x0S քt+"xu"}x"_^[]USVuyxxx+M W}i؈xWP] Su E9] s=7xSPΉE քuu7S քu]9] rɋEu;sA7SP քu)U7RS ֋uEuE;rEuӋU}d$;xEEWS0 քuaESW0 քu^MUˆMU;t."hu"}h"}Lj};}xUE ;}xE7SP քuOu7S քuYE;t1"""}EU-EU9U rUE ;Ћ}U;}D;t,"X""X}ˆÉUÈ׋Lj"}E"U"}u,U;}ur;t)"H""HE-"E""}uE"8}""8}uLjgE_^P[]U MSVW} AEߙ+‰}UE;}X$]iˈʍxPEQ0 քtKU"Eii;|M;u%u ixi"}uuuWR_^[]UQVuW} 9}}MSG+‹iÈVEEPE0 քtu"i}u9]|u[i"}_^]Ujh0dPSVW 3PEdeuuu urFFtEvWc'FiψȉNE6u uFEMd Y_^[] M'&jj贏UjhPdPSVW 3PEdeMEMtE EMd Y_^[]uMUjuMjjU 3ʼnEES] ˉlyxxxVu+鉵pƒxW|Ol"tt󥋵p"Pyxxx󥋵p+PjVyxxx+΁ƒ}_M^3[lt] UyxxxS]VW} +Eʃ uPWSEPƙ+‹+ȸyxxxM+MMyxxx+ˋ;ƋEuPV}EPSb] EWPS}ϸyxxx+Eʃ b|PWS_^[] ~PWSEPWS!_^[]UQEuQuu u] UjhpdPQSVW 3PEdeE}uE;E tPV6ƈuMEƋMd Y_^[]jjsUjhdP SVW 3PEde}76EEM ;t=;7tPViEE6u;tP7EEM E7VEPg(Md Y_^[]Mjj訋UU3u A |]]UW}t Vu "^_]UUtM ABABA B ]UjhdPSVW 3PEdeuN~;t#tEFMd Y_^[]+?uW+?+;v~ډ]Sk!ȉMEtEEQv6 !EtjF+PQrMAFFMd Y_^[];zډUsuuMqjjUM E;tU9t;uE]UES;E tZVWHCQK8wWйTUUC +ȃr9HK ˉWBCPPEPEE;E u_^[]hlNr:USVuFF}yNA;NrQF+FuPFPs ^^[]Vj@jFF P F@^US]VWM sGG3ɋ Qj P M AGw;rPf:OGu+PHPE GG@;GrP3:OGu+PHP __^[]USVuFFqvNA;NrQ9NFu+PHPU ^^[]VjXjV賃 ^3AAA AAAAA A$UjhdP( 3ʼnESVWPEdEN8~FF^FPPFF FF F$F(F,F0F4ÊE\jjF[EDžE,@G DžpDžDž DžDžtDžDž Dž$Dž(|Dž0Dž4Dž8Dž<DžDDžHDžLDžPXxTDžXDž\Dž`DždhG$Džl|_,G DžpEwGDžtE3EEčG0E3EԉE؍G(EPjDžxwPj EPEEEEEEEEEEE]EEȴEEdvEEEDžDžDž術u hc?u>u4btt h2;t0t hO ;Ov h0 tNuHP@u+3ɺp Qj P VPjG4jj$ EtPj P DžENjMd Y_^[M3h]UjhHdPQ 3PEdMAAEA AAAAA A$A(A,A0A4EMd Y]UjhdP\ 3ʼnEVPEduUFNF uFFFFF F$F(F,EF0F4F8F<EEEjjEEjE̍EjPREuEEEE|EEEEtEEEEdvMEEE蒐u hTEthPuNF EEtPj P EEƋMd Y^M3ef]huu F h(uuF h4u~u F ch@u^u F ChHu>u F #hTuu F h`uu F hluu F hxuu F MaPhUjhȮdPQV 3PEduFF EFtPj P hj P ȉɁNuF3fEƋMd Y^]UjhdPV 3PEdtPj P Md Y^]Ujh`dPVW 3PEdtRp Md Y_^]UjhdP 3PEdjj1Md Y]UjhdPQ 3PEdMEjj1HMd Y]Ujh(dPV 3PEduEP0EP0Ehj6Md Y^]UjhdP 3PEdhj1Md Y]Ujh`dPQVW 3PEd}E@G;t2Rj P ;7uEjj7Md Y_^]UjhdPV 3PEduEP0EPEhj6Md Y^]UjhdPV 3PEdt6Vyxxx+hPQ3FFMd Y^]UjhdP 3PEdA tPj P Md Y]UjhdPQV 3PEduEF4tPj P EN\E8uENt&F+jPQ1FFFEN Md Y^]Ujh(dPQV 3PEduE[EMMd Y^]UjhXdPQSVW 3PEdً{t];t)}EEݑj8Wh,hJwwj8Wc +ȍPVgC tPj P Md Y_^[]UjhdPQV 3PEduEN0EN NMd Y^]UjhdP 3PEdMd Y]UjhȰdPQV 3PEduEtPj P Md Y^]UjhdP 3PEd)MMd Y]UVtPj P E^]USVWFFtPj P ExF@;FrPF+FSPFPa ~_^[]USVFFtPj P u[eNA;NrQ(NFu+PHP? ^^[]UjhdPV 3PEd;ujjMEEEENE;t EP0vEEEENE;tEujjuI EM躁ƋMd Y^]UjhIdPT 3ʼnESVWPEdu]]EtUFEtK<OGu+^EjjupRPWV"VFt4t/3Ƀu 6 Q%u 6(Qu(_6Q6hEj@PKEj@PNEPCCdKA;KrQEPC+CPCP^ sEEÍeMd Y_^[M30Z]UjhdP$ 3ʼnESVWPEdEEPEEEPMEEE]EEEEtPj P E}jjjWjj$ 6\VSjWjj$ uSFFaNAE;NrQ8%NF+SPHPE FEEEEtWj P EƍeMd Y_^[M3X]UjhIdPT 3ʼnESVWPEdu]]EtTFEtJ<OGu+[Ejjupj0WV3VFt4t/3Ƀu 6 Q%u 6(Qu(_6Q6hEj@PHEj@PKEPCCaKA;KrQEPC+CPCP \ sEEÍeMd Y_^[M3AW]UjhdP$ 3ʼnESVWPEdEEPEEEPMEEEmEEEEtPj P E}jjjWjj$ 6YVSjWjj$ uSFF^NAE;NrQH"NF+SPHPE FEEEEtWj P EƍeMd Y_^[M3U]UjhIdPT 3ʼnESVWPEdu]]EtUF EtK<OGu+XEjjupp0WVBVFt4t/3Ƀu 6 Q%u 6(Qu(_6Q6hEj@PEEj@PHEPCC^KA;KrQEPC+CPCPY sEEÍeMd Y_^[M3PT]UjhdP$ 3ʼnESVWPEdEEPEEEPMEEE}EEEEtPj P E}jjjWjj$ 6VVSjWjj$ uSFF\NAE;NrQXNF+SPHPE FEEEEtWj P EƍeMd Y_^[M3R]̋ыx uBHy ux uIȋx t Ë@x u ;Hu @x t̋ыx t@Ëy uAx u6ȋAx t ËHy ud$;u Iy tx u UjhٱdPQ 3PEdE Ep0q1M!EEEMd Y]UjhdPQVW 3PEdu VEZMPVw7EEEMd Y_^]UM Eff;u(ftfPf;Qufu33]3]USVu[NA;NrQ)F+FuPFP?U ^^[]UESVWxF@;FrPNF+SPHP ~_^[]USVuXNA;NrQ)NFu+PHP ^^[]UjhRdPQSVW 3PEd]Suu bh$P P uEt=3dždždždž fff3EuhVu hPEE 7Md Y_^[]UjhRdPQSVW 3PEd]Su uIah$P P uEt=3dždždždž fff3EuhVu hPE 7Md Y_^[]UjhRdPQSVW 3PEd]Suu_h$P P uEt=3dždždždž fff3EuhPE EE 7Md Y_^[]UjhRdPQSVW 3PEd]Su u_h$P P uEt=3dždždždž fff3EuhPE  7Md Y_^[] UEthhu P ]UjhdPP 3ʼnESVWPEdM] ƅDžERQp օ(DžDžEQQ0jPv օuVtƅhJh4VS3fhPlZ MQu0Pv ֋uEu j0Pv, ֋!hSh`ShS EEtPq ENjMd Y_^]UdSV0W} W+ju+ȃRQPp0虧 x~j WD0HZ؃QwtEjEPW蜺ME QowtHEt@ttt-j h<Wx u6p CPhW8ǃ P@u+j WY؃K_^[]UW3ҋtOVu;tЋ u^_] uh$P;^_]h$P ;^_]UjhdPSVW 3PEd} EtEEE]PhdS36 օEUERPq ֋K}ucEEUERPq( ֋xE jPu-EEPq EEtE Sp 3EEE3PhXeS6 օx\EEUERPq$ ֋xE jPuzEEt-Pq ESp 3EEtPq EEMtQr ENjMd Y_^[] hhfOh\OhROhXHOh>Oh4OUS]VW=0 jjhvs 7jsv8 3ƃp _^[]UjhdP 3ʼnESVWPEduDžDžDžE3ۉ9_uhhT+hh?bNw<7PLE;athP<3t5gcE%_Md Y_^[M3o,]PKEtPj P Et jHP5tjP4pUjhbdP 3ʼnEVPEdvMH6P~~E;I~thPHc*HkPh:Hk~s;F rm;FwhHkP9tQHrkjjj0P.Etxu$!Qh''E| Hk;EtPj P Et jHPe3t jPP3Md Y^M3Y*]PIEUjhdPh 3ʼnESVWPEduXDžXDž\NXE3DžhDžlfpHDž$Dž(,Dž04Dž8<@Ew7P|E ;=  Pq  օ= Ni5z p;w.iq;G \;GS iP278h0Dhpuc ̉AAhvo ̃AA$0@@@ : < HPj~p1PDv RPQ օxrH3fEphP`PX`;Xu3dhlPjPDžhPXڦ@Xh ;h,! F EtPj P Et jHP/t jP/hX!EXLƅ`DžLDžPDžT`P0E`P΋L+PyxxxDž`0LPVS;{ $=  Pq  օ= ύQd$ffu+QWJOW ă @@ċO$@@LjG;PYh,!]D ETyxxx+=v薮i=r.tC;rs+؃sg#v]Sj P DžLDžPDžTE$gE XXP0dPEXj P Md Y_^[M3$]Ujh}dP 3ʼnESVWPEdu3hhT+hh?B(w7Pv];{thP((DžDžDždP2P(cljj (cjjPP| E(cjjj0PW Et~u$!0txu$!(Vc/kPSVhؖ"EEqjhsAC(Hc;EtPj P Et jHP,+t jP+Sh @Md Y_^[M3"]P@EtPj P Et jHP*tjP*|U` 3ʼnEE EMUS]W} u! uuu_[M3Q!]Vh@jPe7 j 3 PPP@1PEjvPjRPQ օt^_@[M3 ]E t7Sh`hhhR hR -hjP6 j DžQt0pPv4 օuWj Q0P օu t Ë RR1jRvuDu0t,hR K^_[M3]h+t3hpt#u2tR Vu(^_[M3(]h+t+PT t.QShthhhR }hR ~tM3^_3[]UjhƶdP 3ʼnESVWPEdhh3H&]u 誯DžDžDžEI= ' Py  ׅ= PhPEP.j%}Pu SVtuterMPVJ't+tVj P Džhz;@hz:4uPh+:h,!: EtPj P DžEtVj P DžMd Y_^[M3] U0VW URPq0 ֋}uEG < EjjPG1RPv Q օtjI=  Pq  օ= w聜jGU < jR1RPQv  օu uv UEERPq< jjEPuܰtO;MvE;wO t;vG  uhv9GG G ;Gs4h(w8_^]h,!8 _^]W_^]U0SVW39} URPq0 ֋]졘 UEERPq< օx*jjEPut;]vE;w t;vu;s~h(w#8@_^[]u5T  ֋؅uuhx7@_^[]}Au 5T  ֋$u 빹 Huh0x7@_^[] UERPqD uh|wY7 URPq uhw07uWS1_^3[]Up 3ʼnE= M S]W}t]UVRQpL օu9EPhxEjdP M0jQjP  ^M3G3_[] UjhdPSVW 3PEdj`tjP-} j ǙډEt1RSPQ ֋t#h5ƋMd Y_^[]xt+ u hjjjW,P Etxu$!Qh E,Rhh tth h8J5 hP;5j8PuV uԋuVVj P hX! hhG2t \E1jhxtjWfjjMQ `y Pth$1EtjjP薫h8h1t lE4jhxtjWejjMQ `y PEPh<1xtP tajhLxtjWQe~BjjMQ `y P觡}t&hh'1jjuȪh813Md Y_^[]U츬 3ʼnEE 3SVWj`fTQP)(} j Ǚ؋T1RPSQΉ օ `y PjPWР+A3h Q=؃ j jS1@PQ օtSj P <EEEffE3EjPS uEPIffu+NA;NrQVF+Fh`_PFPj  ~hNA;NrQF+FhPFP+  ~t?h`_NA;NrQɕF+Fh`_PFP  ~hrNA;NrQ芕F+FhPFP  ~ t?h`_$NA;NrQ<F+Fh`_PFPP  ~hNA;NrQF+FhPFP  ~@t?h`_NA;NrQ诔F+Fh`_PFP  ~hXNA;NrQpF+FhPFP  ~t?h`_ NA;NrQ#F+Fh`_PFP7  ~hNA;NrQN+NhQNQ  ~ƋMd Y_^[]̋AVt<t7u+f3f;FftFfu^ø^W3 tG uu_^ËAt6t1u& S3ۅÅtgfffCu[øËVW3 tIG uu_^̋At0t+u 3;AtAuøË3V3 tF uu^ËAVtGtBu6Q1Wu ux3 tjj RV G u_^ø^Ë3I tIF uu^̋UjhȷdPSVW 3PEd]MQSp  օEHn$}] uhT3hd3WS EEUMRQp օEURPq օEEUERPq  ֋EEEEMEQh|lP0v8 ֋EMQh|lP06 ֋xwEjhh u Pxh ht3WSEM輝EM谝EM褝WSuEM苝EMzEMnEMbEMSƋMd Y_^[] h|3uu h3uu h3uu }h3uu eh3uu Mh3uu 5h3uu h h3uu P h4uu 8 h 4uu h,4uu  hL4uu h\4uu hl4uu uh|4uu ]h4uu Eh4uu x -EEMQSp ֋}] x WSuh4WS, E$WhhMURQEp$ Wh4WS]E3tWh4WSBEFH;rWhWhWhWSEM踚>huu q )huu \ Ph3uu F3Md Y_^[] 3Kc{é۩ #;S˪˪}}˪ϫk˪7/UjhdP VW 3PEd}MQWp  օEEEEE7PhdW6 օx-EURPq  օxuu uh4uu 3EEtPq EEEtPq ENjMd Y_^] U 3ʼnE\DžPTPDžTDžXu h5@M3e]álZ PVQ\0QP օt!h@^M3]ËXHw! jhخj0P ֋M@3^]USW}T]IV-UjhEujPU΃ t!j MQRu0PvD օt3EM E MuCu^_W[]jjEEPuuEEUhhSW tlMU t`EEEEj }W}W0RQP ֋}ujSWuu舲MU ujSWuum^_[]^_@[]_W[]Ujh0dP0 3ʼnESVWPEdE MЋu}EEEu}ҔE3ۉ]9]t/=0 p ֋M;t  U]RPqD օu^lZ MQu0Pv օu>EMQjP0v, ֋EPy ׅt@#E]3MQEEEjjj0hPv$ ֋\Eȋ=0 PVp ֋s Phu ֋=0 Qp ֋=0 Eڍ7Pv ֋=0 SuRPQp ֙RPh茍E E]9EuuDhME轮EtQuMQ0u&]C]̋=0 Qp ֋ j }WR1PQvT օ=0 Qp ֋=0 Eڍ7Pv ֍MЙQSuRPu uu[hM٭]̅uJ}u7hME训tZEtJQuMQ0u]̋}G}=sEPq օ3]C]Ⱦ]̋MȅtQx Eu]}t UЅuUEAPRQW[&MЅuMQffu+AM}t WEEЅtPj P EƋMd Y_^[M3]Ujh, hdPSVW 1E3PEdeE@EEu uuuuu uEEMd Y_^[]EE܉EËeEEMd Y_^[]UMQ}xH;|HSVWx1M]} ++4  9r t0@0y_^[];~hf3]_^3[]UjhdP$SVW 3PEdًEtFhj8CEEt b3EC;q3UЉEЉEԉE؉E܉EE䡈j RPq օ<E3ɃCh QЃUuEMЉ EԉBE؉BE܉B B j jPu9Q ׅ33ɉu8}EC h} 3 PEEthJhAu8xj8W3E{t(EMaMd Y_^[]EtVj P E3Md Y_^[]UMy4RCCuI03;`mtr3]]UVujhju ERCCjVD~-jjMQ `y PAtRCC3;^]MRCCuRjhju EjVD~0jjMQ `y PuMI;`mt rM3RCC^]US]VW,t(O8w@EEPEP$U9uu _^2[]0t.O8w@EEPEPT9uuҋ5z 48;t_^[]UjhdP SV 3PEd~t#M739FMd Y^[]~4tqM:PM观Ev4uVEEEtVj P EËMd Y^[]Md Y^[]UQEMVQh u0PE6 օx5EWuu0u Pv ֋MQr ֋_^]Ujh dPu 3ʼnEVWPEdEDžEjQP茼y3NDžEDžEDžEQhdP06 օRPq  օx`RPq օx?t5hQP0xj h4P{ G3EtPq DžEtPq DžEtPq DžEtQr DžNjMd Y_^M3]UVt+MU u;u9u9t u3^] ^] USV1Wt^}];uFSVu8E ff;uftfQf;Pufu3t u_^3[] _^[] USV1Wt6}] ;uuPvu9t u_^3[] _^[] U MVQM0QP ց}u, URP Eu3^]ø^]UL 3ʼnEE S]VW=0 E0 ֋}=u  3u'~#9 u 9< @;|塈j MQWS0PvT օu+j jh hu0uPvX օth+hh t Sh<Ej@Ph EPhD  M0jQjP ֡ =} < @ M_^3[]UjhPdP(V 3PEdu uMV+%EEjjjVPE0txu$!M3PEPPVuh4cEMEE܅t jHPEt jPMd Y^]V1Whht_f>jPtPVWhR PWhܪ5 Gu_^UjhdP  3ʼnESVWPEd] DžEj Qju0Pv0 ֋gDžEQh|lP06 ֋QDžQ0hPvx ֋yPh`0j\PtIpj\V uPjyWh`jVYyt]C EtS QAuu +ʍ^ً}VPuEpp0SWW*Stgtb3Ƀu9Mttm ,u9Muu9MtU ;~3Pu QB)M ;~}dtls3PQRe_^[M3F]UjhPdPVW 3PEdEEEEUERPEEq  օxj} tEURPq օxHt juurx3}tEURPq  օxt juuthX!EEtPq EMd Y_^] UjhdP 3ʼnESVWPEd}] $t{u;t h0[3;O,rw;G(v htA9Ku9Kt hS}hh wVh hȂ%9w$vh܂F;w$rhEjjw7P>Etxu$!Qh~+EM艶jH`jP j ` 0Qw7P օxNjjtEpP赻Etxu$!Qh~EMGPPh w Pw(w$hEjjwwP?Etxu$!Qh ,EM芵G | ~tt EuEG$3 ʋt h<>GLjVQwHMEiu h\GDjVQw@M؉Eiu h$uKtEU+ ;r3ҋ9W$vu+IIAB;W$r$uE w$uVuSDw$EVuSn $I= H Pq  օ= w0uEw8}utΉMejjEPVhuPhԃ G$3Et% $4hF;r}hX!aMG$3Eԅt4hF;r}M}jtMj jQwE7P跼Etxu$!QhEM"jjQEP菸Etxu$!Qh|EMڲ=}u=G$3Eԅtd$4hF;r}hMuU ztGj @}j t39BPVwyJt39BPQdj tHj G$EDw$uuS|$h,!8 h!3PMd Y_^[M3@] U UVEERPqD uh|w URPq uhwuuu uu-^]Ujh dPHe 3ʼnESVWPEdEDžEjQP{DžEDžEDžEDžEQhdP06 ֋RPq  ֋eRPq ֋>RPq  ֋RPq ֋DžEDžEQh|lP0v8 ֋Qh|lP06 ֋_QjDžQDž0QPDžvP օjjjQDžQDžQjjjDž0jP օx t=Qj0QvPQP օK@Pq  ֋E QjDž8XQƅ0QPvP օIQDžQjjjDžQDžQhDž0QjP օ%V=Vw]H$,E7)33;u;t tH##;u<;u8э##ڀPthƅ h Qj0QvPQP օ^Pq  3EAfE2fEtPq DžEtPq DžEtPq DžEtPq DžEtQr DžNjMd Y_^[M3o]I,:HVcmUjhHdPSVW 3PEdى]{`h hHhhTh\C\0;FEEEM܋F~^ Ex]EPjWy]E$juhl EM E6;p\uMd Y_^[]UVW.hh(!tAjjjjjVuN t! h@@X6Nt! h@@06Nt! h @@6Nt! h8@@5Nt! hL@@5N t! h`@@5N0t! ht@@h5N$t! h@@@5N(t! h@@5N,t! h@@4N4t! h@@4_^]UjhpdPSVW 3PEdeut^EE#Eu ~E.} uPhzEu@Md Y_^[]U 3ʼnE=Z Vuu`h`hh5 x tP5 X tP\ Z Z uhx^M3]VhhPٵP5Z u Vhj Puhj^M3]FI@hPttjjRQEP肧Etxu$!QhrEMӡMU t>jjRQEP8Etxu$!Qh(EM艡`PPh M' $ff;uftfHf;Nufu3u PPW M $ff;uftfHf;Nufu3jhhTPPW~bjjMQ `y P9NuHj`PP&E RP5j \t hEPu XpuPxthNjWhahX!7p tt  `y _jEjPGEPjM$t$}uuSPh 8 hLE=vuPS=hX!2h f=  uXQPh_Xuh\HjjWUhX! u hl%}  j ]3EԉE؉E܉EEE苅P1SRPQ ֋h(MփEt!VjWPPTPl htEEPMEE<tujuuh|S3 h{BEEt jHPIEąt jP7ƋMd Y_^[]UjhCdPT0 3ʼnESVWPEdE ]ME$E(DžDžERQp< ֋RPq ֋jMh\3jjjvxjPjjjjuDžS ֋hx39hDžjP uu!h@5hPS ctG3QPuS օx83jjjjPhPjjS ֍Q$ffu+uWhL5hP賉DžEQQ0jPv օyFQPh{ EPq Dž~hjP hPqjPPP蕡Etxu$!QPh> E蜚DžEQhdP06 օxCt9DžRPq փthK_Pht3hPhPjS3tWPh ESESG;&ESut hDžDžERQp4 ֋yRPq ֋RM 2DžE&xh39hjP* DžEt'PhPW&QQ0jPv ֍Qffu+uWh`5hPyFPVh   EPq DžhjP, hPjPPP&Etxu$!QPhϱ E-DžEQhdP06 օxCt9DžRPq փthdPht3hP襄hPjv0tWPh@v EPEuPG;{EWPEt1Pq DžuthpM }ut hX!3EtPq DžEtQr DžNjMd Y_^[M3豳]$UjhdP, 3ʼnESVWPEdu} jVP=oEF FF Phv]MjjQ `y P?jjPSEPEtxu$!QݫEM;ju! t^;Gu ;W uhR;Gu ;WuhГAjjRPEPzEPhؓqEMϐhܓhȓhh uY0jjjuEPEtxu$!h Qh EM]Md Y_^[]Ujh@dPVW 3PEdhX!h(!t莪j UԃERP  ֋yIhԦh(!tCƋMd Y_^]ƋMd Y_^]á UERPq ֋y 7h돡 UERPq$ ֋yh ZEEEEEEEEEEPjME$!'EEhPjMEEHPjM39} MQMEQE0jWPv, օyM}EE(h\h(!tŨNM#hX!9 uPq օy;EEEE hh(!t YMM돡 UEERPq< օy-E艅||PhEE Mԃ@s EhjjEEPEPAu3E艅ppPhDžtDžx yM؅nEԃjjMEQPAu3E艅ddPhDžhDžl .EjjMEQ,P&Au3E艅XXPhDž\Dž` }EЍMLLPjDžPDžTEM@@PjDžDDžH M1;EEthLM9YEthPM%YEthXMYEth`MXEthlMXE thxMXE@thMXEthMXEthMXEthM|XEthMeXE thԨMNXE@thܨM7XEt hM XE܍ME؍EPjEM`EEEEPwUW$й F+ȃr@FWB_^]hlN?UEVQu0u P0 ^] UQEVWE0MQh uP6 օx1EWu0u Pv  ֋MQr ֋_^] UQEVWE0MQh0uP6 օx+EWPq ֋MQr ֋_^]UQEVWE0MQh0uP6 օx1EWu0u Pv  ֋MQr ֋_^] UEVQu0u P ^] UEVQu0u P ^] UEVQu0u P ^] UEVQu0u P ^] UEVQu0u P( ^] UQEVWE0MQh0uP6 օx.MGpPQr ֋MQr ֋_^]USVuW@s@Vj P ؋t(PVSu 7j P w_^[]w_^[]UjhXdP(SVW 3PEd}EP3S7W]v օ|7EPẺ]PvW օCEMjQE0ju Ev4P օE3ɺh Q5y؃]EtQMSju1u Qv4 օu139}v'EEd$v6Gv;}r}EtSj P E}]uB} u8~t EP EMJMd Y^]UjhHdPSVW 3PEdsM[GEsjjjjj`jjjj jjV~jj3K09Psu h{u%hhhhTAhh39{4I= s Pq  օ?= I{0ts8C8 +ύ4ȃ;Ah h(!tcgK<EEEDEhh(!tc'M,uhh(!tpcuhhX!{u"hX!h(!t5c辅jVà{ u*hhX!h(!tc莅V蓞G;{4h,!m EMqHMd Y_^[]UjhdPSVW 3PEdEEy Whj MQhP06 օy}h 评E]SPq ֋@u뺁utWhbZuDEUERPq  ֋yWh9]thp3WhEEtPq ENjMd Y_^[]UVW} t\utU֍Jffu+ыSYffu+[;wsf~u2~u,~ u&hyhh$h,h0y} MUt F H u FXF`PQRuuu uhhy ^] UjhPdPSVW 3PEd}} E] Pq  օG t;0t8*O43҅~GFEFMd Y_^[]uuM覱jjiUUV2FFx uPBF;PupVr^]B;PupVr^]0Vr^]Vt6Vyxxx+hPQ蕰FF^UME +PQu p ] UEu]=?wJ=r*H#;v>Qj P ȅt-A#H]Pj P uUEu]=wMi=r*H#;v>Qj P ȅt-A#H]Pj P uZUUjhdPSVW 3PEdX{ u$vr6Sj P ~ t܋@@GMd Y_^[]Uju u]Uhu u蝮]UHESVWjHjPc} M ]d$j URQW0P օuYhh W~ ˍ$ff;uftfQf;Pufu3t}ЋNjM u_^3[] _^[] UQE UVW7;u;uS_^E] ;t]x uAPz ux u-IЋx tPz u;Bu‰E Rz tU QEPE ;EuM_^] UE SVىEWM 7M1~ tyAx tU z; quw9Hux 9u>~9u" t׀x u Ћx t9J t ΉJM|Gπx u ȋAx tJM^V;Qu ruw>ABAP9HuPA9uPABEJ @ B EH Ȁy ;xI ։Uuu;urNy uA VF lNրy x u Ax tkAx uQ@ A QNF A F AV@ Jy uA VF Uy uAx uSx uKA v};P,}MG Qj P CM tHCE_^[]x uAQ@ A {F A F V@ UU EW;u;ucE_] ;t2VB2Rj0 BAO P E։U ;u^M_] USVW} W6;tCSOff;uftfAf;Bufu3t E_^[]E_0^[]UjhbdPQSVW 3PEdut_>up] 3ɋÉ^Xh Q2Q}Eth=SjXW r3E>ut3Md Y_^[]k}X>uMd Y_^[]UHESVWjHjP]} ] t>j MQSW0P օu;=z u;z t}ЋNj] u_^33[]Nj_^[]UHESVWjHjPz]} ] twj MQSW0P օuUhh WY  ff;uftfQf;Pufu3t}ЋNj] u_^33[]Nj_^[]UEm VW tut_2^] E8_^] U= Vu0 Pq  օuh,!d 3^]= uu6cPuhxd V>tPhd~(t hdWhX!dvNv}ϋFPF QNσPQhUdv N vF$σPQϸNFPQh)d<>uN0v0F4σPQhܸdhX!c_^]UjhdPT 3ʼnESVWPEdEu6؅G؅8  ؅tShL9hch9^c ѳ؅t S55lZ  uE=j }Ethuch4v]uuhdbJj8EEjP;Z òuOj URP Ӆthb@}EP蕀E3 thD QuMuj[,P hq_}u)u3 6PY ӡ URPY< ӋEju406h8_EjjPEPEjjM QPhEyhD!thLthTh\^EjjPEPtujhdp^EjjPE4PtujhlD^EjjPE8Pjtuht^ jht ^ h\]hX!]G;}uЋ}̡ uPY 3EtWx ׉]EtVp EEwÍeMd Y_^[M3>]UjhMdP 3ʼnESVWPEdM EPEP虮؅0Z؅!  ,؅tShL9\h9\ 4؅t S蘴5lZ  L E=j $EDžHDžXDž\Dž0Dž8Dž4Dž<Dž@Dž`EhhF؃TEuyHhX|\E0E8E4E̍E 豕؅t S5lZ  uE=j }E藸ґthuDh4vD3AEEEEEEPjEEPjEEdvPu EEEE{Ou3u̍MEE3EЍUЉEԉE؉E܉EE䡈j RPY Ӌ؅th$D]%jHjPq; ÙRP5j ؅thC5h1CEM3;u1U;u*jjRQEP Ev Ph {M;u1U;u*jjRQEP E> Ph, C8 $!s&jjjPEP E PS8hD~ EMP43Qh1BEjjuuP, EPh,& EMjHHjP: Huu5j }؅th`mBHP3h1OBEjjuuP EPhEMuԍHu5j ~؅thAMHPl3E3ɺh Q+ȃME u93EM[EMEtWx EEtVp EEEËMd Y_^[]j jQuP[ Ӌ؅thAU3ۉ]9]E)68E썍Ht45j }؅h1@$!} s&EMjjt4EPE ZPSuhDE M<HP1]C];]REMSt4ḥ#@tUjhdP$SVW 3PEdEui؅d*؅U  ؅tShL9?h9? ؅t Sh5lZ  uE=j }E%thu7?h4v-?3zNTuhx?3]] E訽PctCCPcu;t]Muhd>3 谎EEtht}hؽhc}h EV} `y jEEjPuͮ؅ `y EjjPu譮؅EuhH">@oPh(>u h@=@jhjjjh@u E0 Phh=hX=EtWx EEtVp EE_ËMd Y_^[]EhPEO'Eu蹰]]SjP4 jSuu蚴uuh<]jjjSD jEEPuuSH 3u h UjhdP 3ʼnESVWPEdEEP؅ 賉؅  ؅tShL9$<h9< 荌؅t S5lZ  XE=j \Em計thu;h4v;&hd;3EtWx Dž\EtVp DžXE?ÍDMd Y_^[M3a]hhjPv2 h5j 23tmh: |h :迊u=5j hth4:@hPWWd3 t hthmwjjMEQ `y PEh7wjjMEQ `y P谨EuuhļwjjMEQ `y P~EuChvjjMEQ `y PLEuh7@gPh(7Sh@ 7@jhjjjh@S EuC0 Phh`7hXS7EDƋMd Y_^[]hh6!؃u 衪}ehjSo. jhSu|uuh6<*uyjEPG}PSWH 3SV P W ;h 6UjhdPxSVW 3PEdeEuևu=蛃u2  qt:VhL96h96 EƋMd Y_^[]\t(VEĈƋMd Y_^[] lZ EEj EE'btQhut5h4vj5EM{EMoEC3Md Y_^[] SFuhx5E[Eu MEMEMuy}p Ph'4EMɱEM轱E葇@Md Y_^[]UjhdPSVW 3PEdEuƅ؅ 臁؅  Y؅tShL93h93 a؅t Sŋ5lZ  uE=j }EG肀thu3h4v33 EEEEEEE̍EPjEEPjEEPu EdvEEEExEEEE>u3uMEEuhx23a}tPj)L Cuhx23*ju g`]thjP)3 TX\`dhlptx|EÙRP5j qtjuhy1 3|mD HYuSSh4y1 Cj`jP)j`,jP(EP,PPStu;jjPSEPE6PhyEM3h<Euhy13 < jP[ RPQ Ӌ؅th|^0Ehz0hDz0hz0juhz0,Puuj P hTjP' T($5j ;nthdy-03TPgEEuh|y03MQMQ,P Ӆthy/3Jj MQu($P[@ Ӆthy/3 uu&EM茬EMEtWx EEtVp EEËMd Y_^[]UjhHdP@SVW 3PEdEuY؅|؅u  lZ ؅tShL9؅tSh9s.hPwi.  5j uE=lZ }E{thu(.h4v.E<EEEEEEEEEE̍EPjEELPjEEPu EEE8}v EtEEtT P 3ɉEԉMM؋E uh9 thT.l3ɉEԉM7j URP Ӆth(B-@aM؋E uhp,@F]Sh,5< Suua؅uh uh(hX,EEtPj P EEtPj P EtWx EEtVp EE/ËMd Y_^[]UjhdP8SVW 3PEdEui}؅r*y؅c  ؅tShL9+h9+ ,|؅t Sh5lZ  uE=j }E%xthu7+h4v-+3EEEčEEԍEPjEEPjEEdvPu EEEE5u3+uMEjjju) 3EMEtWx EEtVp EEQ}ËMd Y_^[]UjhdPh 3ʼnESVWPEdM EDžEPo{؅0w؅  ؅tShL9)h9)  z؅t Sn5lZ  E=j Evthu1)h4v')3DžH\PjDžPjDDžD}PDžLDžPDžTDžXdvDž`DždDžhDžg3u3S+EDžDžDžDžDžDžDžDžEuh}p3PNtuh}P p3{jHjP RP5j Eeth}o34h} AAA xh}AAA wDžEOPh}uP'( h}AAvfuXQPh}t h~AAv$ h~AAdv h ~fAAujjx h4~fAAtVjjjjjyjj誝jj h1mhT~wmhh~hp~ht~h~q3f;3$j QVDžjP Ӆt5haxxPh~Dž|DžmW@PPP5ejpllPjDžpDžtmhP`Pz3` ÙRP5j GcuAj8PP tp5j  u~u p~u ~hjP3 (,048<@DHLPTRP5j _bu PZ ;rXZ ;s~Pjlhh 謃Dž Pj>mF;.3EHEE)EtWx DžEtVp DžEtËMd Y_^[M3]UjhWdP 3ʼnESVWPEdM EEPr؅n؅  l؅tShL9 !h9! tq؅t Sx5lZ  E=j ETmhu h4v 3EtWx DžEtVp DžE>sËMd Y_^[M3f]DžPjDžPjDžPDžpDžDžDžDždvDžDžDžDž^*thC EhjP RP5j \؅t)jh E9PPfuXQPhh ,t h$t(t h,^@ t h8HhX!;jj$ P|EPhTvEhdLHhTPh\Xhġd`hlhhpHtph$W|xhDA t- tRQhdhhh~hhT+hh  j hhPR[8PjQ hhh~hhT+hxh n j hhPR[8PjQ 3EOUjhdP 3ʼnESVWPEdM EMEPlm؅;-i؅,  ؅tShL9h9 l؅t Sks5lZ  uE=j }E(hthu:h4v03QEEEEEEEEE̍EEEEdPjEEPjEEPuEEEEEEEdvEEEEx%u3}uT  u؍M]*Euuh5139EPS9؅}hDžhDžlDžpDžtDžxDž|EEEhh`h fju87EAuc8;ȃ ĉ8@@Bȃ ĉh@@k8S;AtE8KEhEMEEtPj P EtWx EEtVp EEkËMd Y_^[M3]UjhKdPSVW 3PEdEui؅we؅  I؅tShL9h9 Qh؅t So5lZ  uE=j }E7EEEE؉TEEEPjEDžPdvPjPDžXPu Dž\Dž`E,"u3u؍ME}uhX}uT  Ӌ؉]uu hpLjXdjP) djS5j 貅؅th]EPjS5j djjx3Ʌt@I!MPEPhE@uuhplh܊uuhuhuuh@8E쀋}uE$!Ù9duEԐ9htE$!}EܜuE$!}EuE$!}u$!}Ћu$!}u$!}u$!uuuuSRQPh$}tu|h8 hPE3ɉEh Q؉E ]EthujS3ۉ]E]EuEM?j juuju苛,P Ӌ؅thlEEMhT+hhhU3ɃM|] Ctehh 3xvjjs@3P3Eh Psss shE@zUMAM;|EM=3EMEEtPj P EtWx EEtVp EE fËMd Y_^[]UjhdPHSVW 3PEdEuId؅ `؅  ܗ؅tShL9{h9q Vb؅t SHj@5lZ  uE=j }Eʅ_thuh4v 3jjjEEEԍEjPu EdvEEEu3muMEhT+hhhh 3EEEEEEĉEȉE̍EjPh13EMqEtWx EEtVp EEdËMd Y_^[]UjhdP,SVW 3PEdEuIb؅ ^؅  ܕ؅tShL9{h9q o`؅t SHhY5lZ  uE=j }Eʃ]thuh4v 3EEEEEE̍EEԍEPjEEPjju Etg}th {RuT  uT ˉE ӋMtt jPQuuh0{U 3EMdEMXEtWx EEtVp EEaËMd Y_^[]UjhdP,SVW 3PEdEu)`؅[؅  輓؅tShL9[h9Q o^؅t S(fY5lZ  uE=j }E誁Zthu h4v 3EEEEEE̍EEԍEPjEEPjju Etg}thL{ RuT  uT ˉE ӋMtt jPQuuh0{5  3EMDEM8EtWx EEtVp EE_ËMd Y_^[]Ujh#dP 3ʼnESVWPEdM EMEP]Yt  lZ 芑؉EtShL9\؉]tSh9 hPw   5j uE=lZ }EXthu h4v EEEEE̍EEEtE|pPjtEPjEEPuEEtwEEEExwEEEEdvEEEDžxE}Eu7 URPY  ӅExE}u EuEuMrEU ERPYD uh|wa  URPY uhw8 EPEM@EtWx EEtVp EuE\ƋMd Y_^[M3]UjhdP\SVW 3PEdEu [؅V؅  蜎؅tShL9; h91  Y؅t Sav5lZ  uE=j }E|Uthuh4v3EEEEEEEEEEčEE̍EPjEEPjEEPu EXxEEEEdvEEEEE)u3.uMEuuuuAEMEMEMEtWx EEtVp EEZËMd Y_^[]UjhdPDSVW 3PEdEuX؅T؅  \؅tShL9h9 sdW؅t S^]5lZ  uE=j }EJzSthuh4v3EEEEEȍEEЍEPjEEPjEEPu EdvEEEEEu3^uME}th3,utRuh@3juu`EMEtWx EEtVp EEjXËMd Y_^[]UjhdP 3ʼnESVWPEdM ExEPV؅bZR؅S  ,؅tShL9h9 4U؉tt S\5lZ  u{\lj \RP Ӆ7T8PP\PFT%P8h3 th؅o9؅`  q؅tShL9Xh9N )<؅t S%D5lZ  uE=j }E_8thuh4v3EEEEEEPjEEPjEEdvPu EEEEu3%uMUEEjP3UEEĉEȉẺEЉEԡj RPY ӅthhERPXڋ ÉM]jjSQEPGEPhAEM袭E;Eu!;]uhh0;Eu!;]uhصh{ jHHjP HSu5j K'uaj jh huuP[ Ӆu3f9  u0Ph<uhL]Suhjh\h1tEPPhж uhhHhh EjPhLl 3EM{EtWx EEtVp EE<ËMd Y_^[]UjhdP 3ʼnESVWPEdM EDEP9:؅^5؅O  m؅tShL9kh9a 8؅t S8@5lZ  0E=j 4E[4thuh4v3h/th3KDžH@EH<L(Pj(DžLPjDž<PDDž8DžDž DžDždvDžDž Dž$Dž,u3b<8ŦEHtFh@PpRu Dž@UHT  Ӌ؉@|~LuhH~lZ DDžDQhgP Ӆyh,@uP ⋅DRjP ӡ jh4jP $PP}uhhP uhxjL KjLuhU ;y ~QjjjLP聭E5y SjLPhlEʧCEL5y biPhPE3E8货EHEtWx Dž4EtVp Dž0E57ËMd Y_^[M3]]S܃Ukl$jhgdPS 3ʼnEVWPEdK CEPB5 0  htVhL9dh9Z 3t V+;5lZ  \E=j p`EV/t&huh4vDžhPhhhXhPDžttDžHdvLHDžPjjjjPDžTDžX?u WtdEhh2 aPhDžrS2 j7h uhX!@;vċphDžDžDžDžEDžxDž|1t$hT 3ɉx| Pj xRPȉ t h(B|x 5< QPU"thh PRPQ@pȉ ʉ9lr ;bI= 4 PA ȉ = %uQh < PhDžPRPQ@ ȉ  $ 3 3lhh$ 2 ;uQWVe*WVjthh 2 @;r@=$p$tPh59wH;h,! Rh` Dž33Ʌ2 uBA;rh Fh<h`2h(hhPh hh h@,33ɉI2 u:jRhFƃ %yH@u hX!A;rhX!uih `h\Vthph809h,h"h0hh DžEEdEtWx Dž`EtVp Dž\E.Md Y_^M3讼][UjhdPXSVW 3PEdeEu,u={(u2  Q`t:VhL9h9 E-ƋMd Y_^[]<+t(V2E-ƋMd Y_^[] lZ EEj EENB'thuTh4vJ.Eu MVSEMzREM\EEM+WEMWE,3Md Y_^[]}p ։EEP}"2UjhdP 3ʼnESVWPEdEu EP* &s  ^tWhL91h9' < )t W0& lZ  Ej E|L%thuh4v3jDžjEEjEEjPVDžEEEEEEEEEdvEEE&u3Ehhhhhh'4Hj 4RP օthx.kOTP4P.xl`Tjh4Nh`D|pdXjh p4dXۅyNٝمl`TۅyNٝص|ٝۅ|yNٝ م xۅxyNٝ م n؍PbPh؛G h-uth\jh th\ۅyNٝمl`TۅyNٝصEٝEyNٝ م xۅxyNٝ م `؍PTPh؛9 3j RP օth.É 3 thUjhdP 3ʼnESVWPEdM EEP)؅؅  L؅tShL9[h9Q ؅t S(y5lZ  `E=j dE:thuh4v34DžtE0E̍tEH,PjHDžPjEEPEEEEȬEEEEdvEEEDžL#u3thEDžPDžTEPPjEEEDžXDž\Dž|DžpDžxtNPx%lPxPj`uh|4j RP Ӆthx.pPXP|PEPPAhxPPjujujuj|jhX~8X388<@Dj RP Ӆth./ @3 tht2I<wPtPUF>u֋u>!uFVh@3EEtPV P EXƋMd Y^]UjhdPl 3ʼnESVWPEdM EEP؅J ؅  D؅tShL9軾h9豾 $؅t S5lZ  E=j E2? thuQh4vG3PjDžPjDžPSDždvDžDžDžDžu3e~}EuShhv腽"j QRQP[T Ӌ؅thxv<jjPxEPhvrEjW DžRPY  Ӆx t?hPPRPxPhv^ 3EjEtWx DžEtVp DžEËMd Y_^[M3"]VW=0 0 3=L_^UjhdP 3ʼnESVWPEdM EMEP ؅Q؅B  @؅tShL9h9  ؅t S5lZ  uE=j }Em.thu躺h4v谺gEEdEЉ|EPj|EPj`Dž`dvPuDžhDžlDžpE;}uMyE @u hx3EM}ujuЋع ]u"PShp 3EM|kMEQtEQ\EQMDžtQPSDžxu"PShT 3EMc|EEEEEEEEEEEEEE+E s j M.IE荋;wjjMQ `y P)];]rjEPS6xNEPEPuuut4EPM\(E؋]ÉE܍EPuEuP~)E;Eu]];]sE;Et/MQPEEPEPuuu]EMĉM9MuAAE܍EPQx*]čEPEPuuStEEE܋]E;Ev=;Es8MQP:x'EPEPuuut E؋]ÉE]E;EsA]ܐEPSxEPEPuuSNu ];]rE]}tuSuh蜭jujuh}tuuuh8j}tu]SuhLPjujuh`誶]܃}t'}t!UU؋M;u E;t;uhhm3EMEMpyhLD3EtWx EEtVp EEËMd Y_^[M3]UjhHdPSVW 3PEdEu)؅t؅e  :؅tShL9[h9Q .؅t S( 5lZ  uE=j }E(EEE܍EPjEEPjju }u?=hZ t`utuPQh|u賴 WluxuPQh|u蘴 Pt V}5lZ  DE=j E t&huҕh4vȕDžPDž(E,($PjDž,PjjTDžDž SB$th8',uh  ( LPjj™RPQ@<ȉT TubPPT VRTP@Apȉ< ;|:4+A8d$@H HH$HH(HH,uድDTEʉẺAE؉AEԉA uԋ0q@q01Ph&04@@(;<L8u$hhۑȍQAuL+H8P|t"8vP`uꋵDjjjjjh@L @uLh0N=QERPhHSE|8hujG;3DžE4E8Ujh.dPSVW 3PEdEu؅w؅  I؅tShL9th9t KQ؅t S55lZ  uE=j }E7rthuth4vzt3EEEEEEEEEEЍEPjEETPjEEPu EEEXxEEEE~t}t{h\s3EM|EtWx EEtVp EEËMd Y_^[] 菄u hxrh\iuEEP/Z t hIEuhsEPPE}uuPhrh$rPuh8 3P9EPu!u+h\ru>Z3EPWuZuh|]r 3EP)oUjhhdP SVW 3PEdEu؅Z؅  ,؅tShL9qh9q 4؅t S5lZ  uE=j }EUu,ft hhWq3EtWx ׉]]tVp ։]EËMd Y_^[]UjhhdP SVW 3PEdEuI؅ ؅  ؅tShL9{ph9qp ؅t SH5lZ  uE=j }Eudt hp3EtWx ׉]]tVp ։]EËMd Y_^[]UjhdP 3ʼnESVWPEdeEEPu=贼u2  t+VhL9)oh9o E脿tVE lZ Ej EX蓻tHhunh4vnEEEn3m uhxOnEE謇54b50b,PE$;tLhP,t ,輏2ۈPm,؝릍PuE,эt hnmE,謍p Ph'5m$\E:E+E@Md Y_^[M3$N]UjhdPDSVW 3PEdEu)؅؅  ؅tShL9[lh9Ql ļ؅t S(5lZ  uE=j }Ethukh4vk3EEEEEȍEPjEEPjEEdvPu EEEEvu3uMX+EEPuxfEPEPjuu_tM q|uhx3kBju juuuPtjuh juhj 3EM-EtWx EEtVp EE蔽ËMd Y_^[]UjhKdP 3ʼnESVWPEdEuû؅脷؅  V؅tShL9ih9i ^؅t S5lZ  u܉uE=j }ԉ}E>jjjEEEEjPu EHEEEat}|jh؉U܍PjP`E܋˃ PS5j P2PEEjPutEEtu MEhSRP=NEPuhhhSh+hhSjj NhhSh+}h hhjjEEPjEEPjuS؅tSh*h]Shh3ɍCh Q REu wo0 hX  0 EPQEu:uj P  0 jX  0 PEPuEPuuPN؅t7ShOguj P uj P ]Sh+gh$ g 3th<h@hD6[thHhLhP[hThXh\h?f}vZu30 X  0 ӋSiRPS葤RPS)RPhx]fG;}ru܋}ԋ]uj P E3ɺh Q2PEuSj P jjMQPEPSuL؅t8Sheuj P EPj P 2heth<h@hD2WZthHhLhPmZtkhThXh\h?@e}v2]us ssss3hxe[uڋuuj P Dh`duj P uj P Eh`duj P Sj P h\vd3EtWx EEtVp EE'ÍI  PVtDžuߋPt DžE`|dAd;(TuAs u$jW DžDž|ESDžPj@qÃ(|+Ã(T(hS0|PvuhF SjP > jS u$ h kF @jEEl u50 =udlphPh zjd FPp 3ɉ9ttfhj/؉\Et&3CCC hܹE@3ۉEuNH L8Q#P@!j haP ӅthDtPj P jS.3ɉIhD0 8#PT[PR  0 h,?DT؉M#‹HPPP0 PR[  0 Ӌt!tPj P jS-t h 3E|IE`GUjhdP SVW 3PEde}u uuEuNQEƋMd Y_^[] juM衅jj=UjhdPSVW 3PEdeى]EE x 3x3x38#{}}WEP0uIC ;4t/vuFPu Tuu FPBtZ6uE}};t!OH1N9VHNOHWEK ʋ;Cu29C |IuE0@Md Y_^[] ;u9AA;tK D@DEEE8@Md Y_^[] uEPM0EPMjji<uMHjjU<UUtM ABABA B AB]UjhdPSVW 3PEdu^j]jCQEF FFEF+F s jN N EEPjFFEƋMd Y_^[]UQEWu>9j w6 UVRP ^xEt3?tj _]Ujh6dPQV 3PEduhpFhPhjV<$EdždžEƋMd Y^]Ujh`dPVW 3PEdt,hpFppjP&$PV)Md Y_^]UjhdPQV 3PEduEN t&F+jPQ踀F FFENMd Y^]UjhdP 3PEdjj1SMd Y]UjhdPQ 3PEdMEjj1Md Y]Ujh dPQVW 3PEd}E@G;t2Rj P ;7uEjj7Md Y_^]UjhdP 3PEdI Md Y]̃9t j ̋tVp jP&ƅu^US]EVWSPE;GuhOECECEC EGEEPsSйH$ G+ȃr0@ωGSBGPPEPKE_^[]hlN`UMU V ;us33^]:u'A:BuA:BuA:Bu33^]3^]̋D$0̋D$<UEE]%( UEE]%( UQS]3Vu W}~ 99t@;|;<}9E% t2=ut&hܹ:_^ []E3ɺ Qj P ȉMtP3Q5 3j P E_^[]UjhVdP 3ʼnESVWPEd]s sh 9S K$ tQRh$9 h<9C,3Ƀ Qj P Ez j jPs,1s3v Pq  օ= jj DPQP>Etxu$!QhL.Eh,jP 0j , 0Qv4P օuFP,P79ft\TuXQPh+'8G;{,#h,!8  h7EtPj P DžMd Y_^[M3]UjhdP( 3ʼnEVPEduMEuEEEEF E}u5h/7EFFF P s=j uv0j EPuu TEPPE4uuuuuu TEPFFF ! EEMƋMd Y^M3]UjhdPSVW 3PEdEMEEEE E}u;h5uE܃PFFF Z 3]3tӸGuE Q$Au+ʋU rffu+֋uFEffu+uwM;vKMVj P E܅tΉME!MZhE49E܃=j URvUSu 4QPh\QPuEPFFF " EEMƋMd Y_^[]Ujh)dP< 3ʼnESVWPEdu]E} uhjP]EEVPuWSEEËMd Y_^[M3]UjhqdP4 3ʼnEWPEd}ME}EEEEf E}u8hO3EGGG P=j u vHj EPuuPu Ej Puu PEPPEPE4uuuuuuPEPGGG &EEMNjMd Y_M3]UjhdPSVW 3PEd]} }G3ɺ Qj P uEuh1EEP?PVSPu:E Vj P EMd Y_^[] EPVyVh\k1EMMd Y_^[] Pj P uEuh1EEPWVS蓨u6EtQVj P EMd Y_^[] uV3Vh(!0EMcMd Y_^[] UjhdPQVW 3PEd=j ~G0;td$vP =j 6;wu}EO t&G+jPQHrG GGEO4j Wj Md Y_^]VFtuBFut"Pj P x }ƀj Ft jPFFF ^VFtPj P FFtPj P F^Ujh2dP( 3ʼnESVWPEdE ؏ u }]d, z ;~;hz R=z u%Ez Ehz M9 z u z y z 3jQh< -hTPT  DžEQhlh m @uPVjjS EPq Džy4EyPq DžZDžEPEQ̉y&EE>SV$ ׋DžQQVp ֋nhP3 @BPSE1Et+Pq DžWVjjS tPP =z NjMd Y_^[M3 ]̸@ UMVuEPu u<t^]Qp ֋EW}W0jju v0uP օu/t0t#u5EPq _@^]WuPuuuusXMQr ֋_^]UVW} 3t S]tPBF;r[_^]UVW}tMGFG F Gt F_^]jj P t3GFu^F_^]V3FFj t@|ƀj  j F~u(hj P uF^UjhvdP 3ʼnESVWPEd}]u EHPTu @`<p@tDxHjp|EjPm E ȃ\t2WQTVS8pPhPNEȃ \j `Dž`RP$ օxUhhP`S_t:ThhP#  uWhPPSpPh褞E@\$DždEd Qh,P06 օ3Dž@ЍDžDLp$@XPjjdDžX Ӆ<X3 Qj P `EuEjXVd Ӆt#EVj P Dž`\PhV PhhP赑hhhP u?ThhPe  u!WhPPH\Phj] tE`L@LzpPh虜EdtPq DždTMd Y_^[M3]E`iEd跢3UjhdP SVW 3PEd5j 3j V P u}tEPEP=E3Ejj5j  P ȉMEtИA3E| 5j A | ]ESPE;FtxDžujWu thhPT uTMd Y_^[]EEEPhX_S ֋؅x5Euu 0jPv  ֋؅xu j g3ۉ8 tWP EMtQr EËMd Y_^[]US]VW3E;z u-j W P hjV~ _^[];z u E tEj MQjj}0jSP օE3Ƀ Qj P  j jWu1jSQ օyWj P 3_^[]}t#E[fLG]Ef G3ɋEfLG_^[]U=j wcj VP腡=j v,=j u# M Qu0jjPvD ^]á M Qu0jPv< ^]UQ,{ u( MVQh,{ 0P ֡,{ ^]U  3ʼnEMU SVW}j SDžDž0RQP օ  SS0jRQvu2ufubvjj jWv EvPiEtxu$!Q{EMIMd Y_^] 3ɄMEMQ `y tjRPW4)$ЫE}Pt hh(_E߃}uthuuhX Md Y_^] }tEPhEPh}EPthn}uth[uuh Md Y_^] }juh Md Y_^] E$h,_ Md Y_^] EՃ}EPt hh(}jj jWv EvPtEP0EtSjjjPEPlEtxu$!Q^EM,Md Y_^] jjh Md Y_^] h&hMd Y_^] ݪϩ2թGZت- UjhFdP 3ʼnESVWPEd}]utMj Phh~h0@hphxhh|hhT+h$4{ C8{[ jH0jPj 0 0QSWP օthB3j Qs0sP օth,u juP0PssFF j@jPDžhjPj 0Qs sv4P օP||E $d$9 4{ r@9#=  Pq  օ= j P躙j Q0P օ"{uu t u } ujjPcEtxu$!V PQhFEt uHu"t$Qj P  wƁj t jPDžDžDžDžt  ts j jh h1RPQ ֹ 3ҍqd$ffu+vQ..U fU U Ph u<=t/jhh W P 3ҍqffu덋;u"sUtJ8tEPhPhLhPV0PhPVPhP Ph| ~tt xuutuPh$9hx9hDhLY jhh WPXh h\)dthdhjPhj  0Qs sv4P օPS2hTj0HjPj H0Qs sP օthd]Et puh39s|PtERPVw  _u>dt4 < PjHt1Pt‹v RPQ օu9Eu[3^M3]j \QSh0PvT օu\M[3^]UEVW}j8jPGj Uă RPq  օ6Eąt*3ɺ Qj P MS]܋ M=  Pq  օ= jh\jPj \ 0QuvDSP օ~l pt;W3~91t@;|;uJO4tD ]ËM M0[_^]h,! [_^]UjhdPSVW 3PEd3j`PEEPj } 0Qu WP օ{jHPPj  0QP օ6hPPVj  0Qv4P օj@P(Pj ( 0Q v(jjP օEЍUЉEԉE؉E܉EE䡈j RPq օx8<;]0;u'WMEEPME* }E.&uE3 3ɋ Qj P ؉]Ej jSu0Pv օ39u~IjHhjP ht45j 44uS9}tF;u| EDEEMs]uEMË֋Md Y_^[]EMsEM33ҋMd Y_^[],()?؋ˉu uu΁ u>jHhjP hV5j >(?]u70U@`VjHjPj ` 0Qu uP օt 33^]hjP<j  0Qlhv4P օuj@PEPj M 0Qv(jjP օsEUEEEEEj RPq օ@EU;Eu;Uu uu=^]U| 3ʼnEEM S]VW3EE]MEE9}vSAE=  Pq  օ= EGE;}r}t;=  Pq  օt}= PP:I= uS Pq  օt#= u1CCP]uh,! _^3[M3] E'{-CE؉]: t'Shl3_^[M3,]PuUd$>tI=  Py  ׅ= FFPXt}<-{tI=  Py  ׅ= FFP0t}EPwVS.u#u=T  ׋}ȉMMGWtHEw M MGWtHwE;}}މ]t^];b_^[M3]Sh3_^[M3]EPhw3_^[M3]EPhQ3_^[M3]EPh+3_^[M3[]Sh3_^[M38]ShM33_^[]UlZ MV0WQju vluP ֋u=lZ MuQ0Pvp ulZ uP0vt օt@y_^] U, 3ʼnEMSVW}Mt GURQ ֋؅t3_H^#[M3!] EMQMQ0P օIE t;EuD MQMEQjuEuE0Pv< օx73ۅu$EMQMQ0P օtEEG@Euu؋0P ֋M_^3[@] UQt E]A]UQt E]A]USVWj8EjPj Uă RPq  ֡ URPqD ֋]܋Ëu tRjh\jPj \ 8QVSDP ׅu`;Et]Ëu u_^33[]_֋^[]UM y<th] }EI0SWX=`y KEt);rH;w+M_[] LJU;s < EVP1hWv RPQ ^u(EMELJ+8_[] xME_[] ̡ Vjj0jh2Pv8 ^x3U졐 VW30WWWv8h2P օx jj4u1h 4$Z 4 Z jQ _@^]UjhdPTSVW 3PEdE] E=`y Et;r;w+fLJU;s < EPh1WRv PQ օuE쉇ELJ+8E]hjCC P 3ɉC@fMh4EKA;KrQCKC+h4PHPSs j j0h hju苶P օx)h KA;KrQՕh 'hXKA;KrQ謕hKC+PHP:SE Ms EEEEP-rEhEEEOQM6u؋EЋMh+QpPR uEEPEPMvEMh$Q,wEp8C@;CrPДKC+WPHPbRs EEEEtPj P EEEEEtPj P EEEEEtPj P EEEEEtPj P Ej MQEE0ju v\P օj jh hu0uPvX օxFh  KA;KrQtSK+h Q QQQ sh,KA;KrQ.KC+h,PHPP sMEEURQp  օxyEEUERPq, օx1Eh jh0jPv օu h 2vEEtPq EEEtPq EËMd Y_^[] UjhPdP SVW 3PEd} ]}tEEEM졈j Qu0P< օJEURPq օ+E3ɺ8 Qj P M SPuMQ1v օ]EEUERPq օy hxEURPq օy hsQE3ɺ Qj P MWP1uQv օy&h&EM1`"EM`3h`@EMtQr ENjMd Y_^[]@Md Y_^[]̡j u-j Vhj P ^uj j @3U3UEEEEj VRP ^#E]UQ}u(S]VWu}PSWE3t >tP>F;rE_^[]UjhdPSVW 3PEd] wzttupj MQMSEE0jQPv` օuSVMt+EMd Y_^[] thHjSh p1t UMU jjRQEPEcPh~EM趰jHjP uu5j  uFjjE PEPh~vEMD&hhh jhh SV h h~Md Y_^[] jhh SVh hqMd Y_^[] MU txjjRQEP蓧EPh芼EMXj jh hu0uPvX օt3Mjhh SQhjhh SVh h~u} hDjP D3EEWV5j EEEEEEEĉEȉẺE9DtXjjXETPpEPhgEM5Md Y_^[] =j v+MEQPQPh$Md Y_^[] uuhT Md Y_^[] h hhl^Md Y_^[] UjhdP$SVW 3PEd]S}Eu ֍JIBu+3If1fM@{ A;vEEMj QjS0Pv0 օEMQjh@{ 0PvL օEME3QMQ0PvP օuvIt hBEMjQP0v  օuPuufEPq ֋EMQMQ0PvP օtEuuЋ0PvT օeE@{ j+Suj/St-3MfEQu0SPv$ օ _뱋}EPu7SWv$ օxjuuj.Sfx.u3f7E؍EPuv$SW օ]؍EPjEE7PSuvDEPW օx"}uhjuu=EE7PjEԋvTPSuEPW օx}u h,믋}EEtPq EEtWp EMd Y_^[]U 3ʼnEEM SV0Wωv8QQSP օs$;;u|3ɋ Qj P tAWQ0SPv8 ־ t_^[M3l]_^[M3T]Wj P _^[M3,]3t!ϋtt t;v uፅ;tWj P 03M_^3[ι]UjhdPx 3ʼnESVWPEdEEEEDž|EEEEEM Qh,P06 օEPEPEPju u^EMQuu0uP օEMQMQ0P օ}3}E@]I |Qju0uuv(SWP օxgE8u3muEEtmPq ETEEtPq E3TEEtPq E}] |Qju0uuv(SWP ֋Md Y_^[M3買]UM u @]S]W=`y Et;r;w+LJU;s < EVP1hWv RPQ ֋^tx8E _[ ]EM ELJ+83ɋE _[]̡j u-j Vhj P ^uj j @ 3UM %=t3]j UVRQEE0juv`P ^xŋEu9Eu ]P #E]USVu/]$EJBu+3If1fM A;vW} EPjh 7WEvL օ7EEPEvPPW օu83ۋECPq ֋7EPEPvPW օtЉ]]u7uWvT ֋u3ɋƺ Qj P uhv_^[]E0E7Pjh vLW օ7EEPEvPPW օux3ۋEMjQP0v  օt EuuU  <tSEPq ֋7EPEPvPW օtu7uWvT _^3[]E_^[@]^@[]UQEMVQu 0Pv օuPuW}VjWu  Ft3VjWu  Fu@MQr ֋_^] Ujh0dPSVW 3PEdى]}}}MQu0Pv ֋xhEEUERPq ֋xu uuuuu u_EMtQr EEEtPq ENjMd Y_^[]7EjPjv$WE օE3ɺ Qj P ؉]EE7SPuv$W ֋l39}v5EURPq օx E9E:G;}r̋}EjPj7WEv ֋E3ɺ Qj P ؉]EE7SPuvW ֋E3t5}u uuuuu 4<EF;r3tPq G;}rEtSj P EEEtPj P E@Md Y_^[]EM}WQ0uPv  օyuh`5uWE } Wu0Pv8 օx*?t%39}vPq G;}r3w39}vPq G;}r@D39}vPq G;}r3EtSj P E]EtSj P EƋMd Y_^[]UjhpdPSVW 3PEdM܋E3ɉMEfME]PhHcS36 ֋EEMQSp ֋EEEEUERPq ֋xXEURPq  ֋x;EURPq ֋xuMuuu uujEEtPq EEEtPq EEEtPq EEEtPq ENjMd Y_^[]UjhdPSVW 3PEdj`jP5jHPjP%3j@PE؉E܉EEEEEPhPjPE0!8{ j Qu 0uP օtMd Y_^[]j P}]Q0WSP օuhl tjuRQu u[j MQWS0P օlj PQ\0XPv4 օ<}P]PuEM9 8{ Ij MQSW0P ֋u9Euf}PEhh V P"M ff;uftfQf;Pufu3t) 8{ A 8{  8{ E؋}Ћ];T3EtVq ENjMd Y_^[]UQEEPuy ]uEuRPu u%]UVuW} VWu t-;t)j\WtHw;s3_f^] _3^] UVW=0 0 _^=LuE 3]=duE 3]=uE 3]@]UjhdP 3ʼnESVWPEd}hP5  DžPPxtVj P ؉EtzSVjPAttfDžPDžPh Stt5 ESj P Dž'EtSj P Dž3Md Y_^[M3F]UE w|$t]]]]]]]]]]]] ]]r{UQEVWt tU r(U r }Mp(y<th_^]S]t2y8t,I0BIjMjQ `y P6xE7[_^]U졘 UVRPq օ MQu 0PvH օxi uPq օxMuW}WjV|E  WVPq  ֋ uQr ֋_^]USW}] Vj8EjPj Uă RPq  օtha@^_[]E3ɺ Qj P uh^_[]}܋NjM M$=  Pq  օ= jh\jPj \ 0QuvDWP օu*E <}NjM Ms^_3[]uWhwJ @^_[]h,!/ ^_[]_@[]UMSVt tE X(E X Y(uMy<th^[]}WI0=`y @IEMt,;r"H;w+M_^[]LJU ;s < EPh1WRv PQ օu0EuMELJ+8}_^[]x MEu_^[]UQEVWuLu +uFPj P u _3^]VuFPWtE8_^]Eujj Pu,)M E;E u_^]U  3ʼnE VW}DžDž0QWPv  օWhP蘦hPܱf::hP辱t!$f::hP蝱u桐 QDžDž0QPv  օxm_^M3[]hP2t=f__hPwf__hPuXM3_3^]UH u(W? H H fG _+UG ]U8ESVWj8jP誶} Eȋ] PE j RP1Qvh օuME؉EЉEȉ_^[]U=j w9=j v0j VP= M Qu0jjPvD ^]UUVQP2hRv ^]UjhdPSVW 3PEdً}EjjPE7RPv WE օt2Md Y_^[] E7MjjQv RPWE օuutujj P EEt 0@@@H 3EjE7jPEv RPW օt/3PcQX;uF<3,u_^[]_^3[]3[]UjhdP|SVW 3PEd3UE3EĉEȉẺEЉEԡj RP}q օt%h33ҋMd Y_^[]uлE3 t%hζ33ҋMd Y_^[]3ɋ Qj P ȉMEuh|u33{j jQuЋ0Pv օthDu33C3ۉ]9]/$[ujHPxPxj x 0QMvt4ًP օEuƻ3 3 Qj P ؉]E j jSu1|xv$Q օ39u~B苪E;u!E ;Du }|xEF;u|EM1]C];]]uEtVj P ENjӋMd Y_^[]hh觴EMX133띋ut4h~ 33USVWt/}X09] rw;rP39M rw;r@ u_^2[]_^[]UE3;z u; z u ]3]UVhhjPC j 3 EȉẺEЉEPPPE؉E܉EEEEEEh1PEjvPjRPQ ^@]UHEVjHjP̪ j E 1PERPQ ^@]U MVQM0QP ց}u, URP Eu hZ ^]3^]U MVQM0QP ց}u, URP Eu ^]3^]U`VhjP蓩 j ` 1PEv4RPQ ^@]UQEEPuyx z 3;M]3]U\ 3ʼnE < EVW}1jj@Pv ǙRPQ օt_3^M3襒] < jhPE܋1ǙRPv Q օuPt3STt: < UjjR1ǙRPv Q օu} t";r[_3^M3]M[_3^]US]VWQAuu +ʋ֍zBu+;s _^3[]ˍQd$Au+Kً΍QAu+ʍ~;r"PQݙ;uOK;} s;]r <\t<:u_^[]j u-j Vhj P ^u j j 3UQEEPuIx z 3;M]3]UV5t EjPj&E0 օt0M lZ hj h@Q0 օyj @^]3^]U$ 3ʼnEESىW} ;t_3[M3]VQWp@DžDž օQWpL օt%hn@^_[M3蛏]QWDžpDž օxW7PDžPvhW օx&PM^_3[]Ujh>dP SVW 3PEdك;t3Md Y_^[]j MEEEPQEah$hxihHia蕃yWhHh EEM𡐖 Qh,P06 ֋yWh$ɬjEMQEj0jP0 ֋yWh`苬,E3ɺ Qj P EEEMju1PQ0 ֋tWh)EEj j P }EtEt2M H@EtM H@3EMPSESu0juuvuP ֋y tQp EM(EM(EEtPq EEEtPq ENjMd Y_^[]UjhdP 3ʼnESVWPEdE}hjxDž P ؉EhjGG P 3ɉG@fj Qu0u DžPvT օyh2W.)hjP_3 @DHjLPTX\`dhlj h h0PvX օxFh KG@;GrPVOG+h PHP- wj jjj0QjjvPP օZh@jPNE@ j Q0Pv4 օuWj QL0HP օu t E RR1jRvFEFMd Y_^[]uuM@jjxUQSVuW_Ë+‹O+E;vS?ٸ?+;w;sޅt jQRYSuWu V7yG_^[]3;vF+ƒ;#tu RAB;uuu+uWu VwyG_^[]É]+ƒ;#t] RAB;u]__^[]茿Uju u萾]UU VWB3B3B 3B#GO 49Qu9uGO GDBA9uU B2jj0 BRAOE_0^]U S] VWK 3K3K3 #NV vuɋthQV[M wQV[M E@E rtW>thQV[ ΍QAu+ʋU+9Mshu_^[] ShR1PH_^[] S܃Ukl$ 3ʼnEVWhhThhhjhjh3jhHLgu,d$=  Pq  օ~=  PQL0WPvp օ]x=w"tt=u3$!,%=tPhEj PFEPEjPyZp =t5= t'=tPhEj PFE+ PEjP#Z EPEPj EPtPj EP`zP׋hlP3VƃQPRTWhsH,hLlHLXh,!s M_3^T][S܃Ukl$ 3ʼnEVWj@xjPjj@8DžxjPEEEjj@Dž8jPDžHDžXDžhQjj@DžjPDžDžDž(jj@xDžjPDžDžDžij@8DžxjPDžDžDži MHDž83DžHDžX0QWWvpPDžh} օEu=t= t=u Vx8uPE=t=t=u8xVPP U}؋MM܋0RQWvpMP օahjhj hjhjhjhhqh$jh,j h8jh8jh8jh@hp`h+hhpEPhp*EPhxEPhxPhhX!phhhtp HPhpXPhxhPh8PhhX!#phhhp PhppPhx_(PhNPh=hX!ohhho PhpPhxPhPhhX!cohhhTo PhpPhxPhxPh}hX!ohhhn HPhpPXPhx?hPh.8PhhX!n_^M3O][VW7t ƋhP}XutHSߋtƋhP;XuhS)Xu[_^U 3ʼnEE VQh 0Pv  օ< jjQ0Pv  օ|3S3W Rjh8RjhQP ׍h[PI^t FC|8t|_[M3^$N]US]VW3̉ w7SՒ tFr_^ [] Mt ԉ M t Љ _ȉ ^[] UQVuVuOItE^]SWE3PKESEPuEȃ tKE 9\t@ȉEEEPLtt E8]utt jjV6S_[^]U < E V1W}jv jPǙRPQ օfEh hg^] `y EjjPVV賷t+hegjjVhNg^]u̳t+hh uh hg^]Vt)hh V3h hf^]VTFtPhD)f^]U 3ʼnES]EW} jjPC `y PMVu_ `y EjjPCEPEUjÉ < jR1RPQv  օMU `y EjjPCEPH" < EjjE1WRv PQ օul `y PjWu < EjjP1RPv Q օu+EP7E^_[M3F]UME]Exut0u1EȃuЀtuu $<t^M_3[E]U 3ʼnEEQPPPPhPP#PDPDjh ubPDDžP@t PPP@M3D]3M3D]U 3ʼnEES]W}h@djPXZ DžL;} V $I= h Pq  օ4= >} uNhPDPXRP"x)D;LtPLPhxb tIX+u69w(CPGbhX!=bsp tЋX@Tt+jP;X;Eu hahPXPv!``PB`PB39}jh`赇 t6jh`蜇 tjh`胇 +uuhPHHP HT+QX+Hh a``PA```PAhP`jh`І `PyA`3T̉ w7P蕆 tTFrȉ  `PAPP\PdP`P\DŽhd+P jh` uw`P@PP\PdP`=t$P\tlj\dQP5DžhDžxDžjh`` `P @`3T̉ w7P% tTFr(ȉ  `P?PP\PdP`Lt\DŽhdDŽhjh`臄 `Pu?4?PP\PdP`tnPte\LX>`3T̉ w7P tTFrȉ  t DŽhhX!]E 9Xs}h,!] ^M_3[>]U$USVWGEWW GE G\GGHO w#EAG u FG G}O u(wA#G u FG G҃@CG39W\Ë0  | G~ +3W KJ#֊E$ʈG0‰ME‰u EGGƒ@E$G%} ErAO %EGq | G~ +ދ3Љw uWHGH] 'j EG8 }t%j jύp M+ȉw(uO,"u 9uuw,w(j @G(@G,tj GG}tj G G e}tj G0G0@>}tjo G4G4}ut!u G< j G<G<}tj G@G@}tjG$G$uwXj GXj| GLuwT jg GTtLtwGPBGP9t1w87oOWL+W W Gut Wh_^[]VqtƋvjPCu^UMA#؃t@u]UE VWH ֋3 3ǃ E  _^]USVuW]׋N F#AF u FF tj ǃN VA#:F u BF FtjjΉEEǃE3ۅjKN ЋFUY8 | F~ +3E^ x@r@;v~Y ]CE썛΅tAjN EFQ8 | F~ +3V UjUBЉUEx mEu}@FN 8Q | F~ +3V jΉ}tN EEFQ8 | F~ +3M[V UUTU|@r@C;C+ӍCUڍ]؉EFN EQE |%M N~E+ʋ@1EEV E΅tJjVN E:QE | F F~ +3EV jMȉMMCK; m<]M@FN 8Q | F~ +3V jΉ}N EEFQ8 | F~ +3M[V UUT|@r@C;C+ӍCUڍ]؉EFN EQE |%M N~E+ʋ@1EEV E΅tJjVN E:QE | F F~ +3EV j`MȉMMCK; m<]M;f FFF  x;sU΅t;jFN 8Q | F~ +3V jMC;rU;uWF  |F jΉF FN 8Q | F~ +3MV CU;st+ىM]ًF  |F F ΅t;j8FN 8Q | F~ +3V ju]UE;uQF  |F jΉF FN 8Q | F~ +3V CE;siF  |F F ΅t;jXFN 8Q | F~ +3V jEC;r_^[]UESEVW3U@JEMISK 2 | S~ M+3MC EIJ#֋u# uUt}E릹 ++M_^[]UESEVW3U@JEMISK 2 | S~ M+3MC EIJ##M ȉMUt}E_^[]U}t h) PE MUEEjuEEEEE ]UjhdPSVW 3PEdڋG|jh%PSE}u }u}u+7hh ֋7uhx փ7h| ֋Eu7h փ&+yع-7PQh փ 7h ֋Eu7h փ@+yع-7PQh ֋7 uuh փ 7h ֋Eu7h փ&+yع-7PQh փ 7h ֋Eu7h փ&+yع-7PQh փ 7h ֋Eu7h փ&+yع-7PQh փ 7h ֋EuhE+yع-7PQh փ }th }thDhl7 E7Ph ֋Eu*=vPhjjh\ (\ 7Ph E7Ph ֋7uh փur!7Ph ֋7uh ֋ETXDždDžxETEEEEPh hhhEEE }t7hX! փw{$D~h7 փ3Edt΋vjQ5uNjMd Y_^[]hh<hXhh둋7h փux낐;~}~~~~~U WEETSVE3ۍd$WO q | W~ +3ƒw Ћ˃M ʉMt봋uju @PVuΉE քuE@E;GTm^[_]U| 3ʼnEEEEV񉅨Eȃ@ FS3ۋFPWDž;FLs1u-39^TIjjG;~TrNT33ۉ jj΋@ ;r$;ыs )C;^Tr V}+}3ɉ9NLv?N F#AF u FF tjH3ɃFP;FL N^ ++^ى^ ًÃˍF^ ڋF艅 |. N~+ˋ@1J^ ⋍J#ЃFLЋVʃV ʉF#BF u FF <N VA#F u BF F3ƅۋEPr؉;3ɋEP:HtV;sA؍$uu WPIG;rԋـ;[RV+V V F3N F#AF u FF t'uu WPG;rFLV+V ƒV F~TC?jЉ[J^+H+^^ Nˉ$N эF | F~+3؋V #u,I+ʉuDž؃K^ًÉ^ F˸V#CF u BF FN F#AF u FF 3ƅҋEPˆ;ؐ3Ʉ MQ@t؀€;r7t9N VA#N u 3ɉVN t+u؋VF +ЉƒˉFCV 3# u3ۉ32ɉtT˸C# u3ۉ$uK˸C# u3ۉB뵋t OeɍtjGjjAȉj@ |# ~ +ȋ3Ћ9ڃ?N ~A#F u GF Ft?FN y | F~ +3Ѓ?~ ;v떉t,uu PB}t(Eu!PPV_[M3^!]S܃Ukl$ 3ʼnEVWCCKjjwC 7GCOG GhGjP6Džx 0@Hu@Hu\`BABABA B A $B$A$(B(A(,B,A,0B0A04BPf}jhL }jhmL tdjhTL tKjh;L t2jh"L tjh L uvh+uuPP\+Sh%Pf{%hq%P`%P1jh_K jhBK jh$%K uG8t?j#Y,tWQP Ppƅ]j=,tQP;ƅ(j#+tQPaƅhX!P$E 9s]jh,!0$ ^M_3[X]UEPjuuu up0x y]UE t3t tt3@0uuY}PY] jhX< ajYu3E]e= tj 5tML_h0hYYu)t hhNYY 2ۈ]EDd%>tV>Ytu ju6l 3@Ê]uYj hx< gl 3YHl Ee= tjv% EjuJYY3ɄBuYj h< } u9=l 3et t]1]SWuuSWuuSWu suu"uSPurSVuSVu`tuHSWu}ut5SWu:$MQ0hpuu u\Ëe3uE7UV5,u3@uu u^] U} uR uu u ] Uj u h  PĠ ]U$j7tjY)p  l h d 5` =\ f f | fX fT f%P f-L  Et Ex E  x | p  t  jXkǀ jXk LjX Lh0]Uj]Uj0tM)p  l h d 5` =\ f f | fX fT f%P f-L  Et Ex E x | p  t  jXkM h0]; uUEVH<AQAk(;tM ;J r BB ;r (;u3^]ËBu2dV P;t3u2^ð^ ta  PYt2jY=)u2Cu3);$)U u} uuMPu~ Uuu YY]u t h )YU(jY(U}u  p(u2]u j(Y]U = tVutu t&u"h Yuh YtF2K uW j Y+ȃ3 EEE EEuE_ ^]jjh< ] eMZf9u]<PEuL f9u>E+PQYYt'x$|!EE3Ɂ8ËeE2& U t}u 3 ]U= t} uu4u'YY]U졐 3 uȃu" h YY#E]UuYH]QL$+ȃ YjQL$+ȃ YTjh<  3ۉ]]];]tMMUE EC]EE ]EuuSu u{j h< E] Ë}NjuueO}t+uM]UEE}] uEu uWSVjh= %3u}u;utB+} }MUFEEEE܋E܁8csmt EEeE QL$+#ȋ%;r Y$-?jqYthY3jU졐 j Y+ȋE3 ]SVWjhh  ' h8 uh| thVT hVT hVT t7t3t/%̏ hȏ WYVЏ NYYԏ 3PPjP ̏ t_^[jh Ԡ ̏ tP UE ]U} EA d, ؏  ]RUV=ujdY>t!>td, ؏  ^]Mh ̠ á̏ u$V5 35ԏ hȏ ^Pؠ 5̏ ܠ h Р U=̏ Vu15 u35Џ h hȏ )$ju5̏  L3^]UEVt j V&YY^]̃= t7U$,$Ã= t<$XfftӍ$IU T$|$l$T$D$tt 8׃;r_^[SV y y;sW>t ׃;r_^[% hd5D$l$l$+SVW 1E3PeuEEEEdËMd Y__^[]QU% $S3C  j Yre3 3VW }S[wO3ɉW E܋}EGenuE5ineIEE5ntelE3@S[]܉E E ljsKS uCE%?=t#=`t=pt=Pt=`t=pu= = = }EE|2jX3S[]܉EsKS ]t= ]_^tl  tTtM3ЉEUEM3Ƀu2u.    t   3[]3@39 UW= }wwU  fnp۹#σ+3offtftf#uf#DžEЃSf#3+#I#[DžD_U t93t;DDžt Gufnƒf:cG@LBu_ø#fft#Ϻf#ufft@ft뽋}3كE 8t3_̋L$D$WSV=  fnpftufoftfڅuf~ڻ#؁w'offtftffكtۃtj:uЍNu9#ځw/o foftftftffڅut:bH^[_3^[_À9t#فwo"1f: fsKt tf~»#؁vt:tf:c@ ws׋#ށw)#ځwo f:cN qyLA:x뭊toqtUL$:tt :t u^[_3Ê:u~at(:uAtf:t3^[_XG^[_Ë^[_U Me3MEE EE@EMEdEEduQu.ȋEd]U8S}#uM 3@eE M3EЋEEԋE E؋EE܋E EeeeemdEȍEdEEEEE@EM EPE0UYYe}td]ȉd EdE[]UQSVu W}O ы_Mx6kÃtI}I9x}} };8}~uUNMyҋEAE;W w;w k_^[]IUQSE EddE] mc[]UQQSVWd5uEju uu E @M Ad=];d_^[]UVu N3ajVvv juvu& ^]UM VuH$Np$^]UVu;p$uH$F^]H$ A;t ȃyuFA#U@$tM9t @u3@]3]UQSE H3M E@ftE @$3@ljjE pE pE p juE pu% E x$u uu xjjjjjEPh#E] ck 3@[]USVWE3PPPuuuu uc% E_^[E]̋L$ D$׋|$<i % s D$% fnfp+ρ~L$$ffGfG fG0fG@fGPfG`fGpu% s>fnfp rG stb|9GD$tGutt $GuD$UV3= }-MfufE ;tf9uf9uf3bUfM f;uftHBu3f;ufnf:cuJfnf:cAs4Jt^]UVuW} t N3 8FN 3 8_^]USVu WEE^F3 PSE]}W]$E @fEE}~ FGGLEteV%Mxf~UE8csmu7=@t.h@踲t5@ju_֋u EЋY%9~ tlXMt]s]E$t,]~ t!h FP)%uSE_^[]h FP%^ ^SukMӋI$U S]VWjY}} tt Qp ΋x։]}t tE@EPuuu _^[]WVt$L$|$ ;v; s% % s D$ ^_Ë3Ʃu% % s vs~vftefoNvfo^0foF fon0v00fof: ffof: fGfof: fo 0}v foNvIfo^0foF fon0v00fof:ffof:fGfof:fo 0}vVfoNvfo^0foF fon0v00fof:ffof:fGfof:fo 0}v|ovfs vs~vfDtIuу $D$TT\h|D$ ^_ÐD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_Ð41<9 Q% t׃+ʊFGNOu $,D$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_ÐFGFGFGD$ ^_tINOurhooNoV o^0of@onPov`o~pOW _0g@oPw`pu r# ooNO ututuD$ ^_̋ƃуtf$fofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpJut_t!ooNOv  Jut0tuȃtFGIu$ID$ ^_Í$++Q‹ȃt FGIut vHuYSQQUkl$K = fS |Ffnpfp%=w<ffufuffu5j,f;t fu3f9H#$f;tftjXE3][Ë@  ȃ3Vt WVt$L$|$ ;v; s% % s D$ ^_Ë3Ʃu% % s vs~vftefoNvfo^0foF fon0v00fof: ffof: fGfof: fo 0}v foNvIfo^0foF fon0v00fof:ffof:fGfof:fo 0}vVfoNvfo^0foF fon0v00fof:ffof:fGfof:fo 0}v|ovfs vs~vftIuу $$D$ ^_ÐD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_Ð41<9 Q% t׃+ʊFGNOu $P`hxD$ ^_ÐFGD$ ^_ÍIFGFGD$ ^_ÐFGFGFGD$ ^_tINOurhooNoV o^0of@onPov`o~pOW _0g@oPw`pu r# ooNO ututuD$ ^_̋ƃуtf$fofoNfoV fo^0ffOfW f_0fof@fonPfov`fo~pfg@foPfw`fpJut_t!ooNOv  Jut0tuȃtFGIu$ID$ ^_Í$++Q‹ȃt FGIut vHuỸ= r_D$ fnpۋT$#+o fftftff#uf~3:E3D$ST$t :tYtQu WV ؋ ~333ƃu!%t%uu^_[3ÍB[ËB:t6t:t't:tt:tt^_B[ÍB^_[ÍB^_[ÍB^_[SQQUkl$(VW{ 3Mf;uCH %j^=w+jfZfsf3f;tuMS%=w[f:c vMf:c JK ljM%=w=%=w/ f:c qt>t6P & u^]UEM ;u3]Ã:utP:Qu u]Uu tV0PSYu^]UEt= tP(Y]UЋ t'VuuP7Ћ YjPaYYV^] Ã=Ћ u3SW0 5Ћ YtuYj5Ћ YYu3BVj(jYYtV5Ћ YYu3S5Ћ YY3V[Y^W$ _[h Ћ Yu2h PYYuáЋ tP Ћ YUSQE EEUuMmyVW_^]MUuQW]Y[ jh> tEt{8csmusxumx tx!t x"uRHtKQt'eRpE.38E Ëet@tQp3UVu2h^]aaAphUVFH `PEPYY^]UVFHPEYt j VYY^]j8h= 7EEe] CEԋ}wEP5YYEM@EB@E7x/MHe3@EEu uuuS{EeuYËe` U] zCCEz3ɉM9J v:k];D;] ~"];D;] kD8@EJE AM;J rPRjSK ee}EEUË] }EԉCu>Y6M̉H+MȉH?csmuPuJ t!t "u/]}u)t%w3Yt}PWYY]j$蜚xue^MjjHU} W} tu uWuC},uuWu,Vu$6uuWF@hu(GEp uuWu,^tWP=_]UE8csmu6xu0x tx!t x"uxu3AH ]3]UDS] VW}EECCE;Gu>csm~~ t~!t ~"~Ex6p.E@Eu>csmu+~u%~ t~!t ~"u ~BxtA@EuV`zYYuuYMMME>csm~~ t~!t ~" MQMQPu WU;UHEMy}ȋ}9A;A]Yۉ]] FM@ EЋEŰ}Љ}}U܅~*Ev0Q^ u(E܃EHME܅ًEHEM~.Uu؋Eu$Eu u0uWuuSV,UMEBUM;U&}t jVYY}%=!rsu G tg} uaG umwVYYuLp}$MVHu_S_M v}u(u$u PWuQSVZ xu_^[]jVYYMh> EPvu$jWuS@wUQQW}?SVF]xtEj( .9pt1?MOCt)?RCCt!u$u Suuu W{ EPEPuu SMU;syp E;F|c;F^~|tV\U{]u8~Nj}@u(ju$Nu QjPSuuu WU,MEAM;r^[_]USVu W>3ۅ~qEӉ]@@ MEȋEME~;F‰EUr1P uEMHEMEUEUu_^[]USVW}397~%ދGhؔ DPYYtF;7|2_^[]ðXY$̋AuPUM UVq…x I ^]jh= UM :}y zeuVRQ]S[t!u4jFPsYYPvWiFPsrYYPvWOE3@Ëejhx> S3ۋEH 8YPu9u x ]}y$t< EtUEtHttGPQ/t5xtԅtwpV u_>tZGP6YYI9_u&HttwGPQiYYPV 9Xqij[C]E3@ËeE3xUE8RCCt8MOCt8csmu!N`@x~5H3]jh= ExEppu@e;ut\~RM;q}JAUE|t'EPhPAt u=YËeeuuE;uuEpËuux~jHUSVWu|YRM3U"9p u":csmt:&t#;r A Bft%9q9ujQuu |9q u#=!r9qu ;rcA t]:csmu9zr39zv.Bpt$E$Pu uQuuu RCփ u uu$Quuu R 3@_^[]UUSVWBtvH9tn} tua_3;t0C:utY:Xuut3+ttEtt tt3F3@_^[]U졸 =?td E;Ar;Avj Y)]U졸 =?td E@;Ar;Avj Y)]SVWT$D$L$URPQQhd5 3ĉD$d%D$0XL$,3p t;T$4t;v.4v\ H {uhCCd_^[ËL$At3D$H3Uhp pp> ]D$T$Ut$L$)qqq( ]UVWS33333[_^]Ëj33333USVWjRhBQ躌_^[]Ul$RQt$ ] j Y+33 @ VWD 3jhWt t\ r۰2_^V5\ t kW, WԠ  \ u_^USVWUjjhu]_^[]ËL$At2D$H3bUhP(RP$R]D$T$SVWD$UPjhd5 3PD$dD$(Xp t:|$,t;t$,v-4v L$ H |uhDID_뷋L$d _^[3d yuQ R 9QuSQ  SQ L$ KCk UQPXY]Y[VEpt UW}tHtBQAu+SVYSYt7SVE ΃ 3@VY^[ M A_]UVu~t6Y&F^]ËUWMG t GA uh Gl GDVWRwHL HHP.V7SP^u PG _]UEt EA MH#E ]ËUu M@EPhu }t MP]ËUMtx~Qu u Qu um ]ËUu MEPju }t MP]ËUu MEPjut }t MP]ËUu MbEPju< }t MP]ËUu M*EPhu }t MP]ËU tjuYY]ËM H%]ËU tjuYY]ËM H]ËU tjuYY]ËM H]ËU tjuYY]ËM H]ËU tjuYY]ËM H%]ËUQUMVu u 9M u!3.tE tuuuj^0D^]S+Wu>Gt%u>Gt tuҋUu_[uu E jPDX&j"둋U]DSVL$ T$\$tP+t :uHt:Bv4u %=wڋ ;uӃv#Ʃt3^[^[̡ Vj^u;}ƣ jPj < = u+jV5 j  = u^W3 jhF P 4ǃ?k0Ȓ Dt tuF8G u_3^ËUkE8 ]̋V3 4 Y PԠ  u5 M% Y^ËUE P̠ ]ËUE PР ]j h> eE0YeM uE uE0YËU EMEEEPu EP]ËUQ}uASVuW}uu9u3]au$u u;v-GPVu uuM58"ul+cSVu EucDuu8"u5M)y(u" A_^[]ËUQ}u@SVuW}uu9u3]]u$u u;v-GPVu uuO18"up'gSVu Eu3ɃfL^uu8"u7M+y*3fu" ?_^[]ËU 3ʼnE}ES]u?ttVWu|M33ҫ ‰u uƅu Puu QP\ tKE3Ƀ tuuo;u*x);v%[ tMty ;tM t |P_^M3[m]ÅuË;uj^L밋U 3ʼnE}ES]u :>ttVWu|(M33ҫ ‰u uƅu Puu QP tQEtuuv;u.x0;v,btSty3f;tP3f Gt |P_^M3[]ÅuË;uj^3fD_뭋U}u<]Vut:}v4u uuuVu uyu W" J{<^]ËU}u)Z<]Vut<}v6u uuuVu uy3fu " <^]ÃuËËUQ3VuWs 2SS39uv;w1VsEYtEPQqEPY[_^]UEHt.t% t } tETt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, AuTt-hA8hu@A,AA,A, A,Q<3uz2uBA, A<6uz4uBA, Aut7ACt>D~GSu 2SjWZttVHuQ ҋɃpMt?g~1itntou@ 륋 뜃N Qj i 댋l냋4 wsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj PNv FPWEHPN ~tuWSHj0P j?|F tWSHj P_^[]ËUQSV3C3F1dlX>t7ACt>D~GSu 2SjWZttVHuQXҋɃpMt?g~1itntou 륋 뜃N Qj : 댋=냋 wsgHtЃgQi~0t(V 3WfEEt'tE-tE+ tE N1xtXu u2ۀat At2ut'D=0Xt At2$xD=^$+^8+ uFPSHj PKv FPWEHPKN ~tuWSHj0P j\ ?|F tWSHj P_^[]ËU 3ʼnESV3jAZjXF2Ydk;>t6;Ct?D~GSu 2jjWZttVHuSыȃpMt?g~1itntou뤋W뛃N Sj 닋Z낋vsfHtЃfSi8^0@V 3W‰]Af]j _t(t j-XfEtj+tf}N2xtjXXf;u t2at jA_f;t2j0_ut0jXXf|]f;t jAXf;t2$xffD]~$+~8+ uFPWHj P$v FPSEHP N ^tuSWHj0Pj ;|F tSWHj P_M^3[ܚ]Ày1*t A$PaÃAA@A$yI Y$fy2*t A$PÃAA@A$yI Y$ËUE w$=jX]3@]jj3]Ë%*/%33%%7%%3SVWFFxt6_t/v,F1Pv6^4t F8F<F8F4F8F<_^[ËSVWFFxt6_t/v,F2Pv6^4t F8F<F8F4F8F<_^[ËUQQVWN F(yF12ðÃytyt2ðËUMVA ujQwо Ytt?k0Ȓ ƀx)u"ttƒ?k04Ȓ F-tl2^]ËU@ txt1EPYYuE E ]Uы A;AE uy t@ @E]Uы A;AE uy t@ @fEf]U 3ʼnESVW~<t]F8~V~43ۅteePjEPEPu&9Et!v FPuEPHmC;^8uNv FPv8Hv4GM_^3[ ]U 3ʼnESVW~<t]F8~V~43ۅteePjEPEPLu&9Et!v FPuEPHPC;^8uNv FPv8Hv4*M_^3[c]UQQSVW~<uVF8~O^43t^3fEFPpESP|E~NQuH]G;~8uNv FPv8Hv4(_^[]UQQSً@ txu ME [E VuW}ljE&M;t2EPPE8u>*uPj?EG;}uԋM>ut_^[]UQQVW}E'Mp9pux t ME JEE+pS] ;rVu0CM 0px Et ;t0[M?ut_^]UQQS]WE #Mz9zuz t ME QEL+zE ;rV4?Vu2譧M 0^xx EtM  ;} t8M;ut _[]U,EUMEEEEEE MUEuϰ.tEEԍEE؍EE܍EEEEEPRYY]ËUu$u uuuuu u ]ËUu$u uuuuu u ]ËUu uuuuu uo]ËUu uuuuu u]ËUEt]ètt } wu } w2]ËUEt]èt+t}rw} wu}rwӃ} w2]ËUEMU Ht]ËU(M SW=t!}t0|$~&:k3ۋUtM _[]VuMWE 3uEE @E EPjP] u8EE-uE+uu F]u u tux,0< wÃ#,a<wÃ,A<wÃt u=j _8FEu fftu_u3fؙj"3ˋUE} ]ËUVuW} FAw GBw t;t+_^]ËU u(9Euo]Ã} t]ju u ]ËUMSVWus}t] uGFE􃸨u SW/YY-+MQPJ}MQP;}Ct;t+}t MP_^[]ËUQMSVuWu u 9M u3,tE t]t!u3fej^0_^[]Ëыf:tut˃u+fRft8u1t&[fft tuMMEuf[uE 3jPfTAXt3f×j"YU] UQUMVu u 9M u&33tE tu3fuu3flj^0^]S+Wu>fft,u%>fft tuҋUu3f_[ruE 3jPfTAX3fj"zU](UEu]ËM UVt2ft f;1u +^]ËUMIIA% !A]ËU38EVu 3ҋN  FN&f^]ËU38EVu 3ҋN  FNN^]ËU38EVu 3ҋN  FNȁf^]ËUM EI ȋE% ȋE3]ËUEVu3N  FE N%3  F3E3M%1F13^]ËU38EVu 3ҋN  Ff&f^]ËU 3ʼnEW}u辔~}tVuuNFu+uhͱu >x|Ml}Puxu uP.M]t^t hPM3_ fn4 3j0YE}f;uSw] ˋrRxtXtPffU3EFRfЉ}܋fU}3u؋uMj0EXMf;uP^RffUf;tuj0X3E:DžHDž``EjIEE DžLf @Ep Džx E DžXf Ep Džp E DžDf Ep Džhf Ep DžP E Ef Ep EPEZEEE E*E@EJEDž|DžtDžlDždDž\ADžTZEaEf; f;Us ƒ0f;Hf;`f;Us -`f;Uf;Us -f;Lf;Us -f f;xf;Us - kf;Xcf;Us -f Kf;pCf;Us - +f;D#f;Us -f f;hf;Us -f f;Pf;Us - f;Uf;Us -f f;Uf;Us -Pf;Uf;Us -wf;Urvf;Us - af;Ur`f;Us -@Kf;UrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w.M;tAME?N@fj0fUXE;NUfȋEuj0;fMXu*f;u%uNMfj0XfMf;tUuu䋽@f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew ;w&;tBUM XKUfj0fMXu&43Huu 9_FΉE؋FEJfE3˃EtPt et pu M8]PJfj-Xf;fMj+Zf;tf;uJffMj03Xf;u~Jfj0XfMf;t3f; f;Ms 0f;Hf;`f;Ms -`f;Mf;Ms -f;Lf;Ms -f f;xf;Ms - kf;Xcf;Ms -f Kf;pCf;Ms - +f;D#f;Ms -f f;hf;Ms -f f;Pf;Ms - f;Mf;Ms -f f;Mf;Ms -Pf;Mf;Ms -wf;Mrvf;Ms - af;Mr`f;Ms -@Kf;MrJf;|s -2f;tr.f;ls%-f;ds -u:f9\w f;Tv ff+Ef;Ewff+Ef;Ew  s.k ЉU;HUfj0fMXEQj0Zf;f;Ms +yHf;Z`f;`f;MrҋUf;Nf;MrLf;9f;Mrxf;$f;MrXf;f;Mrpf;f;MhDf;f;MOhf;f;M6Pf;f;MUf;f;MUf;f;MUf;rqf;MUf;r_f;MUf;rMf;MUf;r;f;|tf;r#f;lsf;du$f9\w f;Tv*Uff+f;Ev s-"FffM*Uff+f;Ew ΄t]u4Zt`EfE]uYuMV;tXyuI;u;tI;$;|'38EH@E؁P~j j;}j3+8EN*jX%u܍EuWPu܍EuWP^_[]ËUS]EV3EW} Ɖ}]u :Pt:TugDȋE@ EuQXGωEGED:Xt:`u-wDFuPXjX_^[]ÍMjM3ɄՋUS]EV3EW} Ɖ}]u f;pt f;xur3DfȋEf EuQAXGωEGEDff;t f;u0Cf uPWjX_^[]ÍM4jM(3ɄՋU SVuEW} 3ۉ}uE:ht:luJ2CCuPEWGωEGEC<(t)MMkjBWVYYtjWVYYtj[RVH>)t@t1ȍAЃ vAvAv _oqB<)uɀ>)YjX_^[]ËUSVuEW} 3ۉ}uEEf;t f;uPPBfuPgVGωEGE*Bff(t)MMsjAWVf5YYt E WVYYtRUENj)[f9tCft2ȍAЃ vAvAv _gAff;uf9OjX_^[]ËUSV3W}:t:uM AFu޳_^[]ËUSV3W}f;t f;uM Afuس_^[]ËUSV3W}:t:uM @Fu޳_^[]ËUSV3W}f;t f;uM @f uس_^[]ËUE $Uuu YY]uu 'E 38E3]ËE 38ދE 38ŋE 38묋E릋E 3@]ËE 3j8EX]ËE 3j8ݍIUU*UDU]UvUUUUUUE $Vuu YY]uu :E uPYY3]ËE uPE uPЋE uPuBujYY3@]ËE uPYYjX]ËE uP1YYjV-V:VSVhV}VVVVVU@M VWSt!},t%|$~Ewv3ЋTSuMm3M EEEЋE E=؍EPjQM =؍EPjP] u8E0E-uE+u M g=؈]Mtu{,0< wÃ",a<wÃ,A<wÃt uAj _2PuE2t@~0u}t&uEPEPWS>Gt'UM뙃\TuNFUM }u;Uu;Mt~0u}tEFX_^[]USV3W8^.u:FlNlYu-j^2*t AFlxu# t N13fi 뺃}F0EF4E]}t tGE33ɋE EMUt ;Uu;MtkN0PuΉE#1t@~.u}t&uEPEPWScEt'UM뜃_UuNDUM }u;Uu;Mt~.u}tE3fFp_^[]USV3W8^0u:FTNTYuh2*t AFTxu# t N/3fxh 뺃}F8EF2GkN( F 8u^f^^^^^ ^$^(F FF39%SAΉF9^[ËV39N t2^3NFFNN N$N(N,N0f9u FjP}YYt&FFFjP|YYuNj%Zf9udAf9t\FF34g792JkN0 F(u+j0+FffF3f9@AF^ÀytjhhhhD̀yujhhh`hq̋UM ytPu{YY]38M]ËU$SVu 3W};wwlj]tHƉ]܍Hu˃ E3Ҋ@E3J+ыM+ʉU8EMH%E;~uuBYYjX38EH%;5EHMىEM؉E@H33@ MEEƒUE33@ #E# u]EM## uˈM8]tEU## ŠtEut5zt=t =u]8]8]t 8]u8]tMNj} Ù t)M";]w;S]+]+]KGuuYYjMډU@r 3J@3ME܃EƒUE33@#E# u]E܋M## uˈM8]tEU## ŠtEut5yt=t =u]8]8]t 8]u8]tMNjVÙM';r@w;v:M3]C8AH%;~Q~M֋]M ##EȀxtYPVWSu kPVWSu_^[]ËU3S]VW} 8SJ@w9M9vq39vI3ɀ}SPu3RQP!EwuQʋU}DE}UˆUt?"ЃuEUSuuQu3ۉueECU]eMj@Y+ȋEMTU3MEEU3ҋD}#ENjMU3#EMȋEM€}Eu}t2ۈ]tM9I"؈]uMEuuuuPQ0_^[]ËUM ytPuYY]38M]ËU, 3ʼnEM 3SVW8A}Hy3ۋG;rȃWщ++‰333ɉ,;u k 733ʚ;00F;u䋽,tLss0,@,1,jP0hP9,3҅t30B,;utZss0,C,?,jP0hP'9,33k AG;3j Yʉ&vj&X 4W1jPLPPPP3A;u3,P;ut3300G;utO,ss0,C,43ۍSP0,hP7/,+;0,PP0SP\73uP,PS,@;3300F;u ;Íu 0tЉ0Ӊu33\`+`u;!`O\33st[;u`@lj\`\@F;ut4s;u`F\3`\FȃsG;,P`Ph0Pm5,t1+0,+YtEu%jh 6YYE΍EP9u6Y^]Àyt ø3̋US]u3[]W} u _33[]VpAu-OM؃u/sKPPhQ3^_[]ÅuIsjP{DžhW3ҋu؃3;ʉ^3_ []3EE}tDEF@E4d$jQ3 WP"Uv3҉]ЋMUmMMu΋]jDžPshVEU3;ȉ>CE^A_ [];wG֍H+ЉMȋ;|2F+4<;u I;}u +‹D;DsBu ^_33[]Ë}ȋE 4DEƉut + M+Eąt)EMMe ũvu MċD E3EU,K M:KE M;EwA3}Q EEEMvI‹M3UMM Ƌu}EurEEMċD EujuPR ]3؉u؋‰]E]Euv*jũPS3u؉]]EEwPrwIPS3ɋ MjuM;r)w;Ev"E]}̉EUEu vE]uM33tUE ]EME؋Ee؋ȋEe3;s+EmEu]M3;wGr9}s@t5u U؍$ v3RNˉJ؃u]UEHEu3UËMEmJ]H}UME3UB;sH I@;rt <u u֋^_[]ÃAQƒQVq t9qr w9Qv2^Ë Gȃ^"ÃAQƒQVq t 9qrw9Qw 'f;u3^ËыJ;JuAJËыJ;JuJÍQ V3+;#tAF;u^ËV43 +;#t@F;u^ËUU u21Et'tuRD* BvՃ ]UU f;u23Et)tuRL Bfvf ]A(x~+~t t t 3q q Y38A$@ËA0x~+~t t t 3q(q(Y38A,@Àyt ø3ËSV^uiW~uTt u~t~pu u P2tv$t 60_^[ËSV^urW~0u]t !u~\~Xuf;uPtv$t 260g_^[Ày.tËA+AjjPÀy0tËA+AjjP`ËA@ wA$ؘj+jjjj jj jjjjj2ÛآИAH wA$Ljjjjjjj jjjjj`'2)/59?DVN$tt2^Ë^^VN5tt2^Ë^&^NUQQVzu EEu Pv4Fv0PQ菡vh,}u2~.t jRPA^]UQQV1u EEu PvTt,hP:huA A^A @A A^@A A^Íp3ux2uAA ^À6ux4uA A^Àdtitotut xtXu\q@A A^Ãlt$ttzu;@A A^@A A^ÍP:luA A^A Q^ËAVjItVLtBTt.jh^;Pf92uA(A^A(A( A^ÃA(A^Íp3ufx2uAA( ^Ã6ufx4uA( A^Ãdtitotut xtXudq빃A(A^jl^;t(ttzu?A(A^ÃA(A^ÍPf92uA(A^A(Q^ËV_"Vf Pt6Fu&3F *FfFFFFF F$F(2 @NF^QPj][f;t2Hf;vˋCEf;tVFf;uuQnFFUj]Yf9u]Ff8u j12t]F[_^]ËUVu yNF ^]UVuRyNF^]A uA$t tuA$ËA(uA,t tuA,ËUf}Ct!f}Sty( u3Ƀ tA2]UUVʁyIA3@j2X^]UVW}}yOG3ҋBj0X_^]UEtt t3]jjX]ËUE w$%jX]3@]jj3]Ë     UAQƒQVq t 9qwr9QwEtGtu_u j"3jh? 3uu3s3} t38tӀ>u эEP9Y}u 봃eeuuWV=uE KËuu u9Yu@YËUVuu#j^0U$huu  u 03^]ËUVuu QF W t9Vc#V$V`6P=y~t vnfYVP8Y_^]jh(? !uu3uV臂;F Vt8Ye?YeV1YuE Ëuu?YËUMSu.:]sKEPS!YYt$}E苀 t E䃠P}t M䃡P3fEEEx~.ÍMEQPRYYtEE3j]EYI3*3]AEfEUEEjpjRQMQu EPr?$u8EgE䃠PXu}Et+M䃡PUE Ѐ}t M䃡P[]ËUu ju9 ]ËUu hu ]ËU tjuYYMAw ]ËUEffu+EH]ËU uuUuC]ËM tSVWjA_jZ+[ f;r f;w f;r f;w ftf;t_^+[]ju u ]ËUMSVu7]tu uoEWuBjAYjZ+Z3f;r f;w f;r f;w ft:f;t3MQP=M[QP=vftf;t+_}^[t MP‹]̋L$t$tNu$$~Ѓ3ƒtAt2t$tt͍AL$+ÍAL$+ÍAL$+ÍAL$+ËU]=Uu ML6EMH%}t MP]ËUhWu2YY]ËUQEuE3SVW} ft0ftf;t 2fu3f9 t fu3ҋf9t<ftUf;Ut fu3f9u f9u3fM_+#^[]ËUEu =}3]Ã} t}u8tPu u ]ËUQQ 3ʼnEE SVu+ƃW39u #tEt  UG;uM_^3[]ËUQ 3ʼnEVuW>t ׅu ;u u3M_3^U]ËUcsm9Et3]u PYY]ËUQQ 3ʼnEVCS3W;t}99t ;u˅tyu3 u 3Y@FEE FyB$PlX ;u^9wOtD9t39t"9t9uoFfF]FTFKFB9t39t"9t9u"FFFFvj Y^qY ׋EYF_[M3^]ËU3}csm]j hH? ݾuuBt uzYj:Ye= 3@ E} u< Ӄj Y+33Ë ;t33PPPˋ hБ  u hܑ h YeuhLh<YYhThPYYu E'u,u*E0Ëe uj:YËUt d0@huu PĠ uOYu, j ȅu2øMZf9uA<8PEu f9HuۃxtvՃËUQQ 3ʼnEeEPh<j0 t#VhuT t u ^}t uP M3]ËUE ]jjj ËUjju ]á ËU }Vt}t8j^0jxSWeBh 3VW4 @ 5H t;uލE}PE}PWWSjuu u j _81EPEPEPVSy}uEH4 Ƌ8 JE}PV<YYtE&Uϋ9:t@A98ulj 4 E߉8 P& Y}V Y_[^]ËUQES]VuW#}E t8E 2ɈM>"u ɰ"FM5tGFEPDYt tGFEtMu< t< utGNE>< t< uF>M t9M E3B3F@>\t>"u1uMtN9"u M3҄E Ht\Gut;}u< t1< t-t#tGPFCYt FtGFwtG5M _^[t!E]ËUVu?r3=WM 3ҋu;s M+;w31jPjQ _^]ËU]= t3VW?Cu*V0YuP ̑ 3jYVY_^ËUQQSVW}3ҋ<=tB΍YAu+FuBjP0YYtm]RύQAu+ʀ?=AEt7jPYYt0WuV4 uAEj0EOEY?uS)j5YY3j*Y_^[]3PPPPPt̋UVutW PYuVY_^]ËUQ 3ʼnEVW~MV UY;uM_3^]̋UE;̑ tPtY]̋UE;ȑ tPTY]ËUA+уV3;#t UFI;u^]h @hđ 15̑ 5ȑ YYj hp? eE0?3YeM uE uE0Z3Yj h? keE02YeM uE ~ uE0 3YËU EMEEEPu EP]ËU EMEEEPu EP]ËU졐 j Y+ȋE3 ]ËU 3ʼnEESu VW;[3u3˅}]j Y+33ƒ;r`9t3M3΋Ή ֋E u@3ʉM3‹MȋM;Mu j Y;EtMME뎃t W  Y3҃j Y+ʋM3 PP_3^M3[]ËU EV0u SW~3؋v33;+;wƍ<0uj _;rjWS>jEOMu(j~WS>jE/MuىE4 }j Y+3ȋ3 E+ǃ;#ЉUtU3@I;EuE@0S] GP V A  A3_[^]ËUuhБ ^YY]ËUQEEEPjYY]ËUVuu(;Fu j Y+33 FF3^]ËUQQEEE EEPjYY]h  |hБ s$ܑ gYw̡̰ Vj 3Y+35 V:nVF>V?VLBV^jY̡В VuВ  ;t PY5В 5Д  5Ԕ 35Д 58 5Ԕ 5< 58 5< ^hh<YY hh"=YYËUuUY]j h? p te 3@ËeE>tj>Y t!jůtjY)jh@jk j̋U}t-uj5L  uV0 PoY^]ËUVuw0uF@t V<YtVj5L  t  3^]ËUVut j3X;E r4u uF@t V4<YtVj5L  t B 3^]U]EUQHLMMQPEYY]ËU$ 3ʼnESu]M*$C=w EXzÍMEQPYYtE܈E3j]EY 3]3ɈEAEfEEjpEPQEPEjP?u8Et EP3E#E }t MPM3[J]jh? E0_+YeM A00YYE E0w+Yjh@ E0+YeE HHtu tQYE E0+Yjh0@ 'E0*YejE 0TYYE= E0*Yjh? E0c*YeE @HE E0*YËU EMEEEPu EP]ËU EMEEEPu EPp]ËU EMEEEPu EP]ËU EMEEEPu EP]ËUQQE3AjCHEEPEY@H EfHlEfrELEEEPj}EEE EEPj]̋U}tuuYY]UQEt QuEYp^]ËUVu ;В tMԒ Pu?0^]3 @jhP@ t 95 t*j%YeVh ->YY E~j&YËUM3; Ű*t'@-rAwj X]ÍDjY;#]ËŴ*]ËUVMQY0^]ux Ãut ÃËUESVW@  ʋ3;titcu;ut6YYu/;uu 3t)u PT tVY빋 ً j Y+3;3_^[]ËUEW< t A#WS,VhjS u'0 Wu VVS 3u 3ƇtVP ^[_]ËUQ 3ʼnEVh0h0h0jt  3@M3^]ËUQ 3ʼnEVh0h0hjttu  M3^O]UQ 3ʼnEVh0h0hjut   M3^]UQ 3ʼnEVh0h0hjut   M3^]UQ 3ʼnEVh1h0hjru ut   M3^J]UQ 3ʼnEVh$1h1h$jtuu u  u u M3^] UQ 3ʼnEVh,1h$1h,1jt'u(u$u uuuuu u  uuuuu juP< M3^`]$UQ 3ʼnEVhD1h<1hD1j/tu u  u=YM3^]̡ Wj @ Y+33 j Y_ËUQQ 3ʼnE t 3TVh1h1h1jt'eEjP փzu3ɺ A  jX 2^M3I]̋U}u'V >t>t6P &@ u^]jhp@ ej$ Yej^u;5 tX tI@ t 40YtE䡠  PԠ  4dY $FE EZjYËUMVq $<t3KtAW9+a~0WPQYP&B ;t jX tjX!3_^]ËUVuu V=Y.V~YtF tVoP;YYu3^]jYjh@ HeejYe5  Eԋ]u;tt>}؅tVWYEG t2uWIYt!EuG tW+Yu E܃eEԃ땋]uuYEEtEË]j_YËUVuW~  t$tvY!3FF_^]ËUHEP f}ESV0X3E ;|VCȔ Y;~W3tVEt@t;t4u QD t!Njσ?k0EȒ BB(EGCE;u_^[]ËSVW3Njσ?k04Ȓ ~t ~tN({F(ttjjjXP@ ؃t t SD 3t%^uN(@)u$N(N(@F t @GU_^[j h@ jNY3ۈ]]SBYuf]E Ê]j]Y̋V3Ȓ tP'BȒ Yrݰ^ËUSVu t]t>uEt3f3^[]WuME􃸨uMtf3GEPPYYt@}~';_|%39EPuwVj w$ }u ;_r.~t(139E3PuEGWVj p$ u*}t MP_1Ujuu u]ËUS] W}utEt 3zEtVv=j^0oZSuMpE39u]fEf;v6tt WVS@ j*^0}t M샡P^_[]Ått_Et΍MuQVWSjMQVp| ȅt9uuEt0 zutt WVS ij"^0YlUjuuu u]ËU VW||uփj X+#ЋE ;sЍ<2;t 9tA;u+;+ǃ+Wtu ;uE 9tA;u+w|uuփjX+#ЋE ;sЍ<2;t 9tA;u+;uZ+fɋǃ+(ftfu;uE 9tA;u+UʋE ;t 9tA;u+_^]ËUQ MVWt'E эA;}3f9:r;ufj X+#E ;sq3U;Mt f9:t;Uu+;'Q+΋+Wɍ Juu ;uEM Hf9:t;u+wt'E эA;3f9:;ujX+#E ;sq3U;Mt f9:t;Uu+;ufQfɋ+΋+ȍ J(fufu;uEM Hf9:t;u+E эA;t3f9:t;u+_^]ËUESV3ҋp#W;uC;u?Á u@0΋ t ;u ;ujX# tjj3_^[]ËUE3ҋH tB]ËU0SVW}3ۅyu Mu( G 9Ewj"_8UUJE%=uR;uNSu$SWuuuVR$tbjeV YYt8] ɀpX: t-FJ38] j0EK3' ]XuFB % u!M E1FFMuEԋB%Ew :ej0XEM~SR#E#ыM藘j0Yf9vËMUFEEEOMEfyfxWR#E#ыM?fv6j0F[ftFuH];Et9u: @~Wj0XPV E8u} 4U$pRǗ3ہ+Mxr F+F-كۋj0X|?;rjPSQ0UF;u |drjjdSQח0UF;u | rjj SQ赗0UFj0X3F}t MЃP_^[]ËU EVuWuu~PEWp0=9MtM3}-+3+ȍEPW} Q3Ƀ}-3P<tu(EjPu$u VuW _^]ËUVW}~3 9E wj"^0ER_^]Su$M? U ]t%M3P39-Pu SU E8-u-s~FFE􋀈39E t+E h1PV' [uvN8EtEUB80t/RyF-jd_;|™Fj _;|™FV}u90ujAPQ }t EP33PPPPPVQ̋U 3VWu}uE}PEWp0;9MtM3}-+ȋu EPEP3}-QP:tu EjPWuV _^]ËUMSVWuU}]JI}t;u3:-f0:-u-sBjVu S:0F~RjVu SEFEHy)}u;}WVu SWj0V}_^[t EP3]ËUSVWu3}uE}PEWp0u:E3ɋ] }-HE49EtE+MQWPV]9tUEH9E|*;}&t FuFu(EjPWuSu(EjPu$u WuS _^[]ËUH 3ʼnEUMS] Ã;sj XM3[]Ät-AJX1Eh1E38]E\1EÉEKd1Et1EԃE؉EEEV`1E1Wj Y}EPsYtxx8xHE 7Ëuj YËUE3ɉEHEHEHEHEHEHE ]ËUQS VW=  ]A7tSF u.V\YV   u] ШuVIY;uE _^[]ËE0j8jjJ tуHjh P7 F VY벋U3S]VW}u𫫋t u CF> t3 tu>Cjh1V uj XF8t>=umF8tjh1VSM u  ?jh1V4M u   jh1VM u F> t[DG_^[]ËUVWu EP}YY}_^u3UhuEuuPSuދE  M E3ɉHEHEHEMEAE]ËUM@t2]Ã@]ËUMt2] ‰]ËUMt2] ]ËUE 8t2]ËMI]ËUE 8t2]ËMa]ËUE 8t2]ËUuJJ]ËUMt2] @]ËU]}j h@ %eE0,YeE 0ƃ?k0Ȓ D(t VY+ uE  uE0-YËU EMEEEPu EPZ]ËUQVuu Sx7;5Ȕ s/Ƌփ?k0Ȓ D(tEEEPV}YY[ f D^]ËUVW}W.Yu3NȒ u u u@Xtj-j-YY;tW-YP u0 W-Yσ?k0 Ȓ D(t VY3_^]ËUQQ 3ʼnESVuW~Vu TY;Yp|}$u Ex}$39E(jjVuPW$ EJ;tRJ;#J=w;#蕽܅L;#P Y-3ۅuSVujW$ }3PPPPPWSuu Et8E ;3QQQPuWSuu 6J;tJJ;#J=w;#谼td;#P?YtI3t8jjjVWuSuu 't3PP9E u:PPVWPu$| u.W|Y3SsYƍe_^[M3Ƹ]u uWNYҋUuMu(Eu$u uuuuu P$}t MP]ËUEt8uPY]ËUf9Eu MWE싀u!MAfw f EfEjf9Us0uYYu fEEMEMQjMQRP$Qu fEEfE}t M胡P]ËUW}u u oY$Vu u W$Yv%3 3^_]PtVYtVWj5L L t̋VWؔ 3jhWt 8r۰ j%Y2_^ËUkEؔ P̠ ]̋V5 t kW WԠ   u_^ËUkEؔ PР ]̋UE ;Ev]]ËUE Vuj^0P?Xu3SWى}]M9tVEfE*?P6M4TYYuEPjj6'MQP6 39u]}e+ljMЃB;߉U#t0׋ً AEAu+MCEك@E;u݋U]]juR ugEEЉU;tN+ljEAEAu+MAP7EE+EPRu6EU8UU;uE 30jYM0_[^]3PPPPP >̋UQMQAu+ʃW}A+ljM;vj XYSV_jSYYtWu SV4u5u+ߍ>uSPuMVjY^[_]3PPPPPw=̋UP 3ʼnEM S]VuWu+jj{j uj XMFF+>wSj?S6 uj ^ NF3jY[_^ËU]jjh8A FE0YeM HEd E0YËU EMEEEPu EP]ËVj @H@ @H@ @H @H Pj h Q@HPQh Q@HPQh ٲВ 0uВ = tPkY@HВ @H^ËUE-t(t tt3]á1]á1]á1]á1]ËUMjh%, Eu, \ ,u, 8 uE, @}t MP]ËUS]VWh3sWV{3{ { +7Fu9Au_^[]ËU  3ʼnESVuWPv` 3ۿÈ@;rƅ Q ;s Ƅ @;vuSvPWPjS SvWPWPWS@SvWPWPhS$MtL tL A;rYjX+‰‰ w LA wH AA;rM_^3[߭]ËU -EuwYMEIH;Au3SSVWh Yt.uvHWu'gYY;uUW+Y_^[]À} u[E@HKuExH t pHYϋE3HHEPuԒ uEEEPj} YYtВ l v̀=0 ujjYY0 j hA F3u Ԓ Pt9wLt wHuhjYuwHu;5В t0tu tVYВ GH5В uE렋ujYËËU 3ʼnESVuu YuVY3W3ϋljM9 A0M=rPX EPS` hFWP^ 3ۉC9]vQ}Et!HtLA;v8uߍF@uv^~3~ 9=, t VhFWP kE0Eȍ E8t5At+s DBA;v9u΋EGErS^FEN j _fRfIuVY3_M^3[%]ËUVuM@u EML0u39UtEp#E…t3B}^t MP‹]ËUjjuj]d @ h D ËUUW3f9:t!Vʍqff;u+Jf9:u^B_]ËUQSVWl 3tVVYWWWW+SVWW| Et4PYt3PPuWSVPP| t33WY߅tVp _^[]ËU]UVu tj3X;Es 3BS]Wt SGY3uVSYYt;s+;VjP菾 _[^] L ̃%L ËUQ 3ʼnEW};} uWVSt ӄt;u u;u u,;t&~tt j YF;u2[^M3_詧]ËUQ 3ʼnEVu 9ut#W>t j YF;Eu_M3^\]ËUuP 诼]ËUQ 3ʼnEV.tu Yt3@3M3^]j hXA 蒳ejYe5 ΃35P ΉuE 蟳Ëuj/Yj hA @eE0Ye5 ΃35\ ΉuE J uM1YËU EMEEEPu EP]ËUEHt-t ttt3]ø\ ]øX ]ø` ]øT ]ËUk x E ;tU9Pt ;u3]ËUQEPj]YY]ËUuT uX u\ u` ۺ]j,hxA r3ۉ]!]̱Muj_;t5Ft"Ht'HuL tt ~;6VE؉]ԅu3VYY3Ʌu-у2ɈME؃et jYMeEeE؄t ʃ3ʊM‰E3҃‰UȈUutjYjҴ;t tu#CEЃc;u;E;u"k| k  ȉE;t%` 𡐋 j Y+33 M؉E1}uk;u6(pWM UY+j_u]ԊEEȀ}tjYVM UY;t tuEЉC;u M̉H3pá 3d ËUud 蝸]ËUQ 3ʼnEV5 35d ΅u3u YM3^]áh ËU 3ʼnESVWuMMu E@ȉE339E WWuuPQ$ EK;tJK;#K=w;#跥t`;#PFYtEt4SWVM uVuuju$ tuPVu H VY}t E胠PǍe_^[M3ʡ]ËUE@ H|ttttVjH(^yp t tyt QtuNY^]ËUQSVuWtl= teF|t^8uYt8uPؼYYt8uP趼YYv|衼薼YYtE8u@-Pt+Pa+PSHYjXE~(p tt8uP3 YYEtGt 8uPYEEuVԻY_^[]ËUMtH)t3@@]ø]ËUVut H)tuVVxYY^]ËUMtH)tH]ø]ËUEtsH H|t t t t VjH(^yp t t yt Qt uZY^]j hA 莫eF Ԓ PtwLuCjYe5 GLP0YYuE u#ujYËjËUVu WtYFD;$ tP,YFH;( tPYFL;, tPY^]ËUVutY; tPYF; tPոYF; tPøYF0; tP豸YF4; tP蟸Y^]ËUE SVuW3+΃;#t6mGvY;u_^[]ËUVujVFjPF8j PFhj PjP| jPMjP?Dj P.j P LjPT袷X藷\茷`職(^]ËUSVW3}];EU+‹jA_M4(CMjZ+[1f;r f;w f;r f;w mt ftf;t‹M}]+tyY]y};o,C_^[]ËU}tu1Yx=s 2]3]j hA X3uE0 YuE 8ǃ?k0Ȓ D(t!W3 YP uD0 H uE $ uM1 YËU EMEEEPu EPD]ËUQVuu ۽ Kx7;5Ȕ s/Ƌփ?k0Ȓ D(tEEEPVYY蓽 "^]ËU8 3ʼnEE ȃ?Sk0VȒ W}}ЉMԋDE؋EljE uM܉E3FF;=/3fEEԈmȒ L-tD.EEjmL-P:躵fHt$;}jEWP) GjWEP 3ɍEQQjPjEGPQu| E̅jMQPEPuH tqF+EljFE9Erf} u,j XjfEEPjEPuH t8}r:FF;})UԊ Ȓ D.Ȓ L-F0 M_^3[]ËUQSVu3W} FFEljE;s?S8Yf;u(F uj [S8Yf;uFF;}r0 _^[]ËUQVuV Yu2XW?k0Ȓ D0(t螸@LuȒ |0)u2EPȒ t0 _^]ËUЛ 3ʼnEM ?k0S]Ȓ VuWLE&Ãffe;sC< uF GEG;rލ+jPWPQH tF;r;r0 M_^3[&]ËU 3ʼnEM ?k0S]Ȓ VuWLEÉ3҉VVu;s+ u Fj ZffE;rэ+jPWPQH tF;r;r0 M_^3[8]ËU 3ʼnEM ?k0SVȒ 3ۋuWDME^^;P;s! u j ZffM;rSShU QP+PPSh| utLj+QPPH t';rˋ+EF;s3N0 M_^3[ ]jhA 虠uuķ Ϸ ;5Ȕ ƃ?k0MȒ D(tiVY}eȒ MD(uh J uu VG }E )u}V-Y  JËU0 3ʼnEMMVuW} }Ѕu3u軶!8ǶSƋ?k0]Ȓ EԉU\)tu(Шuh sQED( tjjjVr3VYt9t"ˀuEWPV uEWVPE Ȓ ED(tFÃt.tuEWVPuEWVPuEWVP롋D3QMMMMQuWPH u 0 Eu}إE܅ucE؅t$j^;u] ?0Vw ShFP芷Nv0^ԍFF F f^;ű}^SlY_[]ËUVut%S W;tWԠ 0;uV4Y_[^]jh8B } u,j ^0^3ujTYuȔ }9E|94Ȓ u1Ȓ uj ^uE묡Ȕ @Ȕ G뻋ujJYËUEȃ?k0Ȓ P̠ ]ËUQSVuxi;5Ȕ saƋރ?k0Ȓ M|uCW0} u"tt uWjWjWj Ȓ M|3_ ^[]ËUEȃ?k0Ȓ PР ]jhB 聛j Y}3ۉ]]ԁ}MȒ E؅uSȒ t/Ȕ @WYǃ?k0Ȓ D(}EIÍ Mj0Xu;t`F(uV̠ F(tVР Mj0X+u؋ƙj0Y4΃?k0Ȓ D(Ȓ |tC}j^YËUSVuWxg;5Ȕ s_Ƌ?k0Ȓ D(tD|t= /u#3+tt uPjPjPj Ȓ L3K - _^[]ËUMu  Cx'; Ȕ s?k0Ȓ D(tD]а ۰ ]ËUUVu蹰j^0} vM~3@9E w 臰j"̋utSZW~0~tG0@IZx?5| 0H89t:1uFˍqAu+΍APSRެ _3[^]ËVV-Y<uF V-YF^ËUd 3ʼnES]lVW}u 3΁ -uΉ3_ }u"΋ǁ uhxu`EPYt AzE|@}u Eݕω%u3 2Ҿ33@)-QQ$/.YYx=t=u303ۅ4C,j^Dž;3ɋ ; 0u䋅3҃j Y+ȉ3@VHωЉtA3j X+V9ssut2jrY;rщʉ0+;rm;s83F;s @3##苍狍 lj0INt,돋t ΍03󫀽t B,3,+3P,P0SP衊3jXA\PP`SPj\3@j Y+ȉ3@U,HɉЉtA3j X+;9ssut2jrY;rщ‰0+ ;rg;s93F;sA3##狍苍 0HNt,땋j^t 30󫀽t B,3,+3P,P0SP轈3@\jjYDž;3ҋ;0u䃥tP3j X+‹;8;s F;sW3ҋ3ЋNt,38+,VjP襛3@5G@,tH3j X+ssut2jrY;s˃ti0<;s F;sW3ҋ3ЋNt,뮋t A,3,+,jP0hPg3G+VjP\3@5C\PP`SP 3j Yc񉅐ʉq&vj&X 4W1jP谙PPP覝wzu3\\\3ɉ3``F;u`\Z\`P\P`SP评u3\P\\3ɉ3``F;u\s=3\P;\`u\t \33+|u%;!V`33Ή9stW;u@Ɖǃ@A;ut4s;uA3Aȃs|F;‰\PP`SP苂tl+} t9uv^]juu u^]ËU}SVWuMޱ}t] tM;vuNE􃸨uQSW 3+MQPxMQPxCmtt;t+}t MP_^[3]jhXB |3uuޓj^0g39Etރ}tE%t3EEEuuuu uVEPc}Et_|Ëu}}t%t?k0Ȓ d(68YËUQEU?SW}(3k0Ȓ D(u3Vu$@u%E]PYE%@uC@%@=@tE=t,=@t%=t+=@t$=t=@u 뿹#;ut+t5+t,+t$@t踏39~jjX3@3fF Fyu@uEPYuz9}tt| #ExF@tNNN t N tN t N tN_^[]3PPPPP=̋UQVuƃ?k0Ȓ D(Ht33ySWjjjV ڋσ#˃uo8uN3_[^]3fEEjPV uf}uSWV t3PPPV[ #ƒu'뫋UQeEPuYYu,VuWu uuuVu u3V _^]ËUjuuuuu ]ËUDSVWuEuuPF}ԋjY9uuh E 0n] ;uA 3JϋEuԃe3AE E#jYEEPu% }ukM؋#;u5Et/EuԉMjYPu }u+ ?k0Ȓ d(0 P\YWD uG0 V=Y ?k0WȒ d( E uE @ Eu W3EUYY U?k0UԋȒ T( ?k0EȒ D)t3Yu(EEPuuԃjY3v$t3DYȃ?k0E Ȓ D) ?k0 Ȓ E2D-$0D-EHuEt ?k0Ȓ L( uع#;Etu Eu؍ujYPuЃ u20 P蚊 ?k0Ȓ d(3Y ?k0Ȓ T3_^[]ËUM38t ;E t@<u]ËUVu~VuAY;Yp|3PPPuuVuu ug^]̋UQ 3ʼnEMS] ;vlEVW;w(IMWV U~E;vM;t!t+RLDJuEM+؍;w_^M3[e]̋UE W};t&Vut+@TLPu^_]̋U 3ʼnEMU VuW}u$t :_^M3 e]Åt܅tDžJSщ3+XwVWQ}SQΉ փ~WS  փ~W S փ~WS ;v7;s%SV ~;w=;wSV ׋~ۋ+;vSW փዕ;r^;t3ދ׋+ߊRLDJu답;މ;s2$+;v%SW t;r/+;vSW ֋t݋Nj++;|9;s |@;sL΋j;s T@;s׋+x T[M_3^a]UV3PPPPPPPPU I t $u t $sF ^ËUju u ]ËU}uAr3gVu u%V9ur3CuMNUztNI9Mw Du++N}t MP^]3ɄËU}u蜄]uj5L  ]jhxB "m}uM X ;=Ȕ Mǃ?k0UȒ D(t|W]Yuԋމ]؃eEȒ MD(u ȃ uuu WSuԋډ]E .}]؋uWY聃 范 ֋plËUQQVuWV-Y;uU NjMuMQuu P u0 PYӋEU#;tNjE΃?k0 Ȓ d1(_^]ËUuuu ug]ËUuuu uQ]ËUQ0 u 0 ujMQjMQP tfE]áx ËUV_uF3^]ËUQQeeVu6vEP ;Eu F;Eu33@^]ËUQQeEePYt3@)MUEAEPUxYu3]̃= \$D$%=u<$f$ffd$uU= t2\$D$%=u<$f$ffd$u $ ÍT$=R<$tLD$ f<$t-Tt^uA= \ RYuԩu|$u%t-pT"uŃ|$u-T=  RZÃ= .\$D$%=u<$f$ffd$~D$f(Rf(f(fs4f~fTRffʩtL= |}f=2  fL$D$f.{$T$ ԃT$T$$iD$~D$ff(f=|%=2fTRXfL$D$RfRfTRf\$D$ËUEM?U SVWk0Ȓ ML8MMt : uL8(d8( ډE;B  t FC@M;s8 u F FC@C@jEEPjEPu t]}tWMȒ D8(HtU u> Ȓ T8*.} u U ;u Fjjjuf} t FU EM;0M Ȓ D9(@u D9( F+_^[]ËUEM?SVuWk0Mj Ȓ [T8UU t f9uL8(d8(rډE;WB MM"j Zf9UU tMf;Es3j Zf9U uj Yfj ZfjEEPjEPu }Mj Ȓ D8(HXt:fUf;ufgj XfȒ j T8*Ȓ t8+Ȓ ZT8,;f9EuU ;u fE)jjjuj Xf9Et j XfEU ;] Ȓ D9(@u D9( f f+_^[]ËUQQSu] Suȃ 'EU?Wk0UȒ E|8)uVsxF3Bw;rNB0 t0 u{*@;uSED8(Ht5FL8*rMF Ȓ D9+uE Ȓ FD9,+ڋjRPucu+uVSjh$ Ѕu0 PzYE;֋ Ȓ 2D9-$0D9-^_[]ËUEVW} G;s^OSt7 u ;sj _f99} uj [f f;rEȃ?k0 Ȓ L([+_^]ËU(S]WuEȒ D,E< t)t%E]j_@]IEEMȒ D, SYtqEMȒ D(t]EPu tL}uJjEPEPuu u0 PjwYVzoY^EMWS$ Eu0 Pt3GPlYt0uVjuWS$ u0 PotY M Ƌ3GVtlY_[^]ËUVW}3jVVWȉE#ʉUu VtTjVVWjȃ#ʃtS] +؋E‰E;jh{lYYut hWYEEY|rPVW tI+؋E‰E|uuWV}k 3VuuW#ƒuxsx\s8u es ZsV86kYQ;|;sVuu W[#ƒtWYP us r0 3[_^]3PPjPjh@hR 0 ̡0 t tP ËU }= fE3ɋW?t)tjZttt tt ]EEUE?t)tjYttt tt ʋ_=fM3?t2tjXttt tt ]j K 3U$~$fD$f(ffs4ff( Sf( Sf(Sf(%0Sf(5@SfTfVfXf%f(PYf(@UfTf\fYf\XfYf(fXƁ*f Df( Sf(f(SfYfYfXf(SYf(-PSfYf(`SfTfXfXfYYfXf(TfYf(ffY˃f(fXfXXXfD$D$fD$f( SfwHt^wlfD$f( Sf(SfTfVftSúOfS^f S4f SYs:fW^ɺ fL$T$ ԃT$T$$$D$fT$fD$f~fs f~с t릍$ƅp u; ƅp2+at@u tF t2tK-Tƅpݽ`aAuƅp-T uS u[ uu tƅp-Tu t Xݽ`au-T tƅp-Tƅp u-T-.Tٛݽ`aAuݽ`aݽ`ٛu BTٛt øVtV$$vft^t̀zuf\?f?f^٭^T剕lݽ`ƅpa$؃#zuf\?f?f^٭^T剕lݽ`ƅpɊaݽ`ɊaŊ$׊$ ؃#t۽bۭbi@tƅpƅpT۽bۭbi@t ƅpƅp۽bۭbi@t ۽bۭbi@t ƅpƅp-pTpƅp -T t tT tËT$fT$l$étTËB%=tËB D$B  D$ $,$ BËD$%=tËD$f<$t,$Zf$f=tf tf t Z,$ZÃ$D$%$D$%t==t_f$f=t*f u!f tt{Z]Z,$ZTTs TTTv TUEEEEE UE]MEMEMEMPQR% Ef}tmËU$ 3ʼnE= VWt5 t `E!jY+txtjtVETEϋuEE ]E]P] YYh!IMETET뢉METEEUtQ tCEUEϋuEE ]E]P] YE|EUEt[tJt9 t(t-t EEUEUEUEUEEUEϋuE ]E]P] Yu Kg"EM_3^KC]ËUQQSVVh?EYYM#QQ$f;u7 HYYwVSEYYcE US\$$j j?UEDzVS>EYY uS\$$j j^[]ËUQ}E]ËUQQ}M Ef#M#E f fMmE]ËUM t -(U]t-(U]t -4U]t ؛ t]]ËUQ}E]ËUQQEQQ$ YYuJEQQ$yEYYDz+ `]QQU$VEYYDzjX 3@3]ËUE9Mu;}uuz^AE9Eu;}u5z AE^9M u.}EAsE{b\9E uY}uSEQQ$EYYыAu^u zu_E3]ËSQQUkl$ 3ʼnECVs W|t)t ttturjj jjj_QFPW uGKtt teEF]EFPFPQW|PEPB|hQ>YYt t V0Yu6 YM_3^I?][ËUQQE]E]ËUE tjt3@]ètjtjX]]ËSQQUkl$ 3ʼnEVs CWVPs u&ePCPCPs C sPEPqs s^Y#t)t%CV\$\$C$s WS$W$VCYYM_3^1>][ËUS]VtEtjY#EtjYwEj{EY #tT=t7=t;ubM ^{LHM {,^2M z^M z^^EW3tGM DEPQQ$E EU=}3GY3AuBEfEE;}++ȋEEtuGEEt EmuEtE 3G_tj"YtE t j Y3^[]ËUjuuuuu u]ËUE3S3CHEW HEH Mt E Xt EHt EHt EHt EHMVu 3A1AM3A1AM3A1AM3A1AM3A#1ATtMI tEH tEH tEH  tE X  #t5=t"=t ;u)E!MM E #t =t ;u"E M MEM31E X } t,E` EEXE X`E]``EXP:MA A EEXE X`M]A`A`EXPuEPjjW MAt&At&At&At&At&ߋt5t"t u( % % !tt u!#  # } ^tAPAP_[]ËUEtw]"]\!]ËUU 3ɋ9]t@| ]MtUEEEEEEEVuEE hu(EE$uE&EPf uVUYE^hu(u9E ]ËUEWDz 3VfuƩu|M UutjٿAu3@3EuɉM yM OEtfuUf#fut f fuEjQQ$1 #jQQ$ ^E8_]ËUQQMEE%] fME]ËU} Euu@]Á} u ujX]fMf#f;ujf;uE utj3]ËUfMff#f;u3EQQ$|YYttt3@]jjX]ø]ɁfuE u}tɃᐍ]EDz ɃA@]Ɂ]HH͜HH3UVu"f _^]aaA_ _UQQEVEEEVH"bRPvYY^]UVue4_^]UQVuu4_^]UVure(_^]UVuRe@_^]UQVuu6@_^]̍AHP'vYU MhB EPNU Mu~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌ_F;BB+t3Ʌ M2~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ My~B+t3Ʌ MWNB+t3 E3Ʌ1F;BB~+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3ɅF;BB+t3Ʌ Ml~B+t3Ʌ MJ~B+t3Ʌ M(NB+t3 E3ɅF;BB+t3Ʌ M~B+t3Ʌ M~B+t3Ʌ MNB+t3 E3Ʌk~B+t3Ʌ MIB~+S3Ʌ M8M1+t3EqB+t3EqB+t3EIB+t3 EUu  +t3EujJF+t3EuLJF띋Uu  +t3Eu JFnEE ]3^[]Ë5zKgo؃S9A~% ~#XPQR ZYX̍MMMxMpMhM`MXMPMHT$B J33s/MMT$B J3a3T;/̋T$B J31/̋T$B J3.̋M8M?T$B J3+.̋M;M;M=M:M;M =M29MwT$B J3`,̋M=M:>M;M*:T$B J3l,̋Mu)jEPjEPËT$B J3(3ۋEX SEPËT$B J3d(̍M83ۋE  SEP{ËT$B J3o(̍MMMMT$B p3>,%(̍M:xM:M4M7M4M7Mu9M5M4T$B t38'̍9T$B 3J3'̍MT$B J3iP'3ۋE̹ SEPÍM駬3ۋEȹ SEPÍM~T$B J3&j$EPËT$B J3 &̍MHT$B J3&̍MT$B J3iP&̍MT$B 836&̋T$B J38%̋T$B J3p%̋T$B J3H%̋M5Mm3M2T$B J3}%hpFhjEP`ËT$B J3[4B%̋M8vT$B J3)%̹ vT$B J3 $̹ uT$B J3$h Yù uT$B J3r$h Yù ZuT$B J3Kh2$jEPj EPËT$B J3T#̍M؀MM鸩T$B J3 #̍M阀M逩MxMp5T$B J3 h#̍MXM@M8M05T$B J3A l(#̍MMMM4T$B J3 ("̍MMM鸨T$B J3 "̋M/M`0M2T$B J3 m"̋T$B J3a H"̋T$B J3A ("̋T$B J3! P"̋T$B J3 `!̋T$B J3 !̋T$B J3 |!̋T$B J3 x!̋EPEPӠËT$B J3p |W!̋MT$B J3I 0!̋M%M,M4B0T$B J3  ̋M0T$B J3  ̋M鵩M4/M,T$B J3 z ̍Mx-M0.Mh0M`-M.MP0M鈞M@0T$B J31  ̋M騞T$B J3 ̍ťT$B 3 J3 D̍M(M T$B t3 Hu̍,UT$B 3c J3Y @̍M8T$B J3) jEPËT$B J3jEPËT$B J3̍0M靧M5M-T$B 3{b̍MXT$B J3It0̍M(T$B J3J3̍MxT$B |3$̍ŦT$B 3J3|̍heT$B T3sJ3iP̍MȢT$B J39P ̍MT$B J3 J3̍MhM`MXT$B J3̍M(M MMT$B J3Th̍ET$B 3SJ3I0̍MMT$B J3l̍MT$B J3̍MȤM`MXMPT$B J3,̍T$B 3J3̋T$B J3̋M*T$B J3̋T$B J3$; h̋Me*T$B J3V=jEP ËT$B J3" jEP ËT$B J3X̋M鸟T$B L3` ̋M鈟T$B J3 ̍MXMMHT$B J3Y4 @̍MHMT$B J3! ̍MT$B P3 ̍M鸞T$B J3 ̋T$B J3 ̍MhT$B J3yJ3o@ V̍M؝T$B J3IJ3? &̍饝T$B 3J3 T ̍ŝ麝OT$B 43J3( ̍@p T$B <3xJ3n ŰMT$B J3I 03ۋE  SEP h EP ËT$B J3J3 ̋M\?M(T$B J3 ̋MT$B J3y `̋M\5?M'(T$B J38P ̍M>M>M鈛T$B J3J3 jHEPËT$B J3d ̍MHT$B J38 ̍MMT$B J3a  H̍MȚT$B J39  ̍M=T$B J3  ̋T$B J3 ̋E eM=ËT$B J3 h@\P_ËT$B 3iJ3_ F̍řT$B 33J3) ̍M 鈑T$B J3 ̋T$B J3,0 ̋T$B J3. ̋T$B J3/ x̋T$B J3q@. X̋T$B J3Q. 8̋T$B J31H/ ̋T$B J30 ̋T$B J3- ̋T$B J3- ̋58'"ܘ\T$B 3fJ3\ CM؝T$B J394  ̋MEM0zM邗T$B J3J3# ̋MHT$B J3 ̋MؗT$B J3 p̋M騘T$B J3Y( @̋M鸗MpT$B J3!  ̋MؗM@T$B J3\ ̋T$B J3$; ̋M85 M\*M"M M "T$B J3}, d̋MT$B J3Y` @̋MțT$B J3)# ̋M5M0jT$B J3$ ̋MHT$B J3 ̍MMPMM!T$B J3q X̋E eMȌËT$B J38J3. ̍M阌M鐌E܃ eMxËT$B J3J3 ̋E eM8ËT$B J3 ̋E eMËT$B J3h Oh$EP"ËT$B J3/@ ̍T$B 3J3&  ̋Ee|EÍM % ̋E eM阆ËT$B J3@ ̍MȎMM鸎M鰎M騎T$B J3' ̍MxMpT$B J3`' h̍M8MT$B 3NJ3D, +hEPÍM閍hEPËT$B J3# ̍MXT$B J3 ̍配zodT$B 3rJ3h& O̍M(0MT$B J31 ̍T$B 3J3 ̍MxT$B J3 ̍M鈌T$B J3J3p v̍MXT$B J3i P̍M(M T$B J31,+ ̍MMMMMT$B \3J3 饋隋鏋鄋yncT$B 3qJ3g' N̍M-T$B J39L  ̋T$B J3 ̍M-MMMMxT$B 3D ̍酊z/dYNC-T$B 3;J31( ̍镁銁T$B 3J3x* ̍MH,M`T$B J3 ̍M8M0M(T$B J3yp `̍M鈏MЀT$B @3>4 %̍MM須T$B J3J3' ̍ň麈鯈餈YN郈T$B 3J3( n̍MHMM؇M逎MxT$B T3+* ̍M8MMxMpMh`]$R0G<<M4) M T$B 3yd `̍MMT$B J3A (̍MM順MMT$B J3( ̍ņ麆鯆餆陆鎆郆x-bW T$B 3ZJ3P ) 7̍M鸅T$B J3) ̍MMT$B J3< ̍鵅J韅T$B 3J3 ̍MhT$B 3k R̍M(T$B J39$$  ̍M阄M鐄MT$B J3h+ ̍MXMpT$B J3+ ̍M鈄T$B J3l ̍MX'T$B J3i P̍M('M&T$B p3.$ ̍T$B 3J3P$ ̋T$B J3 ̋T$B J3 ̋T$B J3 x̋T$B J3qP X̋T$B J3Q 8hEPËT$B J3 ̍MYMM؂T$B J3J3 ̍MYM頂M阂T$B J3J3 ̍uY Z$O`DTف(.,#T$B 31J3'+ ̍XdځhρtlT$B 3J3 ̍oXM}MuMmM%T$B h3s Z̍WEXM-M%M MXhhPÍM鍀XT$B P3 ̍W骀韀)#>3(T$B 3vJ3l SEWM-M%MMMMMMMMT$B 3p ̍MVMMT$B J3 ̍WVXj\_T$B P3mJ3c J̍M8VT$B J39d  ̍VM~M~MMT$B x3 ̍SUM~M~MMEM}~T$B L3 r̍MXUM@~M8~M0 M( T$B J39  ̍MUM}M}MT$B J3 ̍T}}ك T$B 3J3 i̍UT:}/}$T$B 3'J3$ ̍7SM|M|MMh 8T$B 03J3( ̍?SMm|Me|M]MU@ hEP<ÍM{@T$B 833 ̍MSM{M{MT$B J3 ̍MRM{M{MMT$B J3h ̍ouRM]{MU{MMT$B h3[J3Q 8̍M(RM{M{MMMT$B J3H ̍;Q$ %̍QMyMyT$B x3J3! ̍PMyMyM靿 RT$B 3 ̍uP$Zy(Oy,D8~T$B 3GJ3= $̍GPMxMxMM饾T$B @3p ̍O0x4xH8鉾>T$B 3J3w# ^̍GEO\*x`xdT$B 83J3 % ̍MNMwMwM}T$B J3% ̍Nwwt wT$B 3wJ3m T̍ENM-wM%wMMvT$B 3#D  ̍MMvMvMͼT$B 3J3|" ̍+M`zvdovhdPYT$B $3gJ3]" D̍M8MM T$B J318- ̍MuuԻ鉻T$B 3J3t ̍[LMuMuM}MT$B T3J3y$ `̍MHLM0uM(uT$B J39P  ̍Ltt龺SthT$B x3J3! KMmtMetM]MUMT$B 3P% 7̍%KM tMtJT$B 3X" ̍wJXs\sx`陹T$B p3J3< ̍3uJ\Zs`OsT$B ,3]J3ST! :̍M(JMsMsT$B J3J3 ̍WIrr(T$B H3J3x, ̍I jr$_rDT8IT$B 3WJ3MT% 4̍%IM rMrM0鲷 霷T$B 3 ̍?HMqMqT$B 83L ̍MxHT$B J3y` `̍MHHM0qM(qM T$B J31J3' ̍{Gpp鹶Np|cT$B t3J3x! ̍OuGM]pMUpMMPiT$B H3P  7̍M(GMpMpT$B J34, ̍+Foo,T$B $3J3 ̍MFMpoMhoM`T$B J3q X̍OEFM-oM%oT$B H33J3)- ̍EnnT$B 3J3 ̍MEMnMnM nT$B J3 x̍MhEMPnMHnT$B |3VJ3L 3M(EMnMnMT$B J3 ̍oDX\PTm@Im`mLm,mT$B h3J3 seDlJmp?m`4|lh\PËT$B x3"J3 ̋T$B J3< ̋T$B J3; ̋M8MpM鵱M T$B J38 rhpFhjEPPËT$B J3Kd6 2̋T$B J3!$; ̋MM zT$B J38 ̋T$B J3$; ̋M(T$B J38 ̋M8MT$B J3aP8 H̍jڰT$B (3(J3|2 ̍M騰EЃ eM鐰ËT$B J3J30 ̍MXE eM@ËT$B J3 1 w̋E eMËT$B J3XJ3NL1 5̍MدEă eMËT$B J3J30 ̍MhiM`iT$B J33 ̋M鸭M齮M "T$B J37 zhz YÍIi>iT$B 3LJ3B6 )̍di`hT$B <3J36 j EPËM٬jEPÍMhT$B J37 ̍M8M0M(T$B J3y\9 `̍|5hT$B L38J3.1 ̍MgM鰭M騭M頭M阭T$B 39 ̍MHgM`T$B J3H2 ̍M8M0M(M MT$B J3iX: P̍MT$B J394:  ̍M鸬T$B |3: ̍M M`fT$B 3d3 ̋E eM(^ÍM^M^M^M^M_fMWfT$B J3h6 O̍M(fM fT$B J315 ̍M鸫M鰫M騫M頫T$B 303 ̍MeMeT$B J32 ̍MeT$B x3J3<5 sMXeMPeMdMdT$B J3Q44 8̍MeMeMeMeT$B J34 ̍MdT$B L31 ̍EdT$B 3J32 jEPeËT$B J3r3 Y̍M8dM0djEP%ËT$B J321 jEPÍMcjEPÍMcMcT$B J3J3: ̍M8cM0cT$B t39 ̍MhcM`cMbMPcj EPEj EP6ËT$B J3CX4 *̍bxZÍxbmZbZWZLZAZ6ZT$B <3J3`5 ̍aaaT$B p3MJ3C2 *̍baaaT$B 3J3\7 ̍a:aT$B 3J3: ̍M3ۋEĹ 3 PEP?ÍM`M+aT$B J3<5 #`T$B t3J3 3 ̋T$B J37 ̋T$B J3 9 ̍TʼnT$B P34< zT$B J3xh= _T$B J3]P> DUjh*dP 3PEdE tPj P  Md Y]V5  t/Ft P  F t P  j$V^UjhdP 3PEd $6E 5Md Y]UjhdP 3PEd 5E 5Md Y]̡ t"V h$Pƅu^ ̹ r"" 8ȐАؐ$"@"@ai"" \`hs{P_"""P"0"\Зؗ"И""h "$4"l"Кۚ""˓֓ޓ"L """ȕ""P"" "$P"\08@K""PXc" <"L\"ɒђ ܒ     "d +6ALWes  Ŗ͖ؖ(08 "  "P|""", ,"XP""""`o"D@ P "`hpx" (08"L""""<"h "Х""( (08@H`ks"hП۟"P"p" "80"l """"@"H"t`"P"""4"x"0"p" ` y(`h"L8"  !B7,MncXȤФؤ" "Pڈ|""">9[9"\L<3"55"@0 (7N7"::"XH83"24",<"t ?` <| " "8 gd "t  " PX"  " "X " 0" " " `"L "x 0" p" " "0 "\ @"  `  "  ˩"  0;"@ `"t "  `  "  pxT `  "| @" " " @",  "X " ̲Բܲ" X ", < "t PX`h"  " 08@"8 " p{ " &." "l PX`hpxpx" " "4 " " "< pxx"l 0" 08" ȼ" "h " px" "L " "  +" " "` "   &8@"  0;CKS[f{"  "  "0  #"X px" " Эۭ "P Яۯ"x " " "( ̴״"  ǵҵݵ"  LW+6A"T 0gr;FQ\8W "  " PX" @"D Vp "  W "   "  "L  ` p "  p{ ` [ "@  "p " @H" "H LZp "  " "8 P[cks~PX`"p "  !," "H  +6AL"  0;CKS[cks{ " `"8 " ɾԾ ܾ  " 08"$ "X `  O "  08@H" @"8 "d p{" " P" ", "` " "  "4 " `ks{" " "h 0;CKSP" " &1<G"4  (08@@"\ " " `ks"!  " ",> <> pu> > > Ԕ  P  ,vֹ <{@rl/ UG;JpuB B >   `t,  upuB C B > L  tpu4C DC B > l  0uvvZcJ C F hI pe plPhl0Pq@ux0}@ВP@ 0``xP`@`@@pp@ 0"`#%'*-  ` %// 1`2::0AF L MOSS |W`XY\^YPehik mnpepe plPhq@0q@ux0}@ВP@ 0``@`@@p 0"`#%'*-'   ` %/`2: 1:0A MF M LOFS |Y\YW`X\J J J J K K "K 7K RK \K iK qK {K K K K K K K K K K K K K K L L L ,L 3L ;L CL KL \L cL kL uL |L L L L L L L L L L L L L M M M *M 3M 8M BM KM SM _M hM rM xM M M M M M M M M M M M N N N .N 6N AN MN UN ^N kN xN zN N N N N N N N N N O 4O DO OO RO WO `O iO lO rO vO {O ~O O O O O O O O O O O O O O P P P P -P 5P AP KP \P cP jP rP |P P P P P P P P P P P P P P P Q Q Q #Q -Q 1Q 7Q CQ GQ TQ \Q dQ kQ nQ }Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q R R R R R &R   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.dllAnalyzeOOMBPMDCLRStackCOMStateClrStackDebugExtensionInitializeDebugExtensionNotifyDebugExtensionUninitializeDumpArrayDumpAssemblyDumpCCWDumpClassDumpDomainDumpGCConfigLogDumpGCDataDumpGCLogDumpHeapDumpILDumpLogDumpMDDumpMTDumpModuleDumpObjDumpRCWDumpRuntimeTypesDumpSigDumpSigElemDumpStackDumpStackObjectsDumpVCDumpccwDumplogDumprcwDumpruntimetypesEEHeapEEStackEEVersionEHInfoEhinfoFinalizeQueueFindAppDomainFindRootsFindappdomainGCHandleLeaksGCHandleleaksGCHandlesGCHeapStatGCInfoGCRootGCWhereGcHeapStatGcWhereGchandleleaksHandleCLRNHeapStatHelpHistClearHistInitHistObjHistObjFindHistRootHistStatsIP2MDListNearObjMinidumpModeMinidumpmodeName2EEObjSizePathToPrintExceptionPrintexceptionProcInfoRCWCleanupListRcwcleanuplistSOSFlushSaveModuleStopOnExceptionStoponexceptionSyncBlkThreadPoolThreadStateThreadsToken2EETraverseHeapTraverseheapUVMMapVMStatVerifyHeapVerifyObjVerifyStackTraceVerifyheapWatsonBuckets_EFN_GetManagedExcepStack_EFN_GetManagedExcepStackW_EFN_GetManagedObjectFieldInfo_EFN_GetManagedObjectName_EFN_StackTraceanalyzeoomaobpmdclrstackcomstatedadclogdgcdlogdodsodumparraydumpassemblydumpccwdumpclassdumpdomaindumpgcconfiglogdumpgcdatadumpgclogdumpheapdumpildumplogdumpmddumpmoduledumpmtdumpobjdumprcwdumpruntimetypesdumpsigdumpsigelemdumpstackdumpstackobjectsdumpvceeheapeestackeeversionehinfofinalizequeuefindappdomainfindrootsfqgchandleleaksgchandlesgcheapstatgcinfogcrootgcwhereheapstathelphistclearhistinithistobjhistobjfindhistroothiststatshofip2mdlistnearobjlnominidumpmodename2eeobjsizepathtopeprintexceptionprocinforcwcleanuplistsavemodulesoesosflushstoponexceptionsyncblktthreadpoolthreadsthreadstatetoken2eetptraverseheapuverifyheapverifyobjvhvmmapvmstatvop !  $(,048<NNNNNNNNNNNNNNOOO(O@OLO`OpOOOOOOOOOOPP0PDPXP`PtPPPPPPPYYYYYYYYY Y Y Y Z Z ZZ$Z,Z4Z@ZHZPZ\ZhZtZZZZZZZZ Z !Z!"Z"#Z#$Z$%Z%&[&'''([() [ )*'*+[+,[,-([-.4[./<[/0D[01L[12T[23\[34h[45t[56[67[78[89[9:[:;[;<[<=[=>[>?[?@[@A[AB[BC[CD[DE[ EF[FG[GH\HI\IJ \JK,\KL8\LMD\MNL\NOX\OPd\PQp\QR|\RS\ST\TU\UV\VW\WX\XY\YZ\Z[\[\\\]\]^S^_S_`S`aSabSbcScdSdeSefSfgSghShiSijSjkSklSlmSmnSnoSopSpqTqrT rsTstTtu$Tuv,TvwZwxZxy8Tyz@Tz{HT{|PT|}XT}~`T~hTpTxTTTTTTTTTUU U$U,U4U J V h x Τ  0 B \ n z ȥ ޥ  " 2 B X d x ~ r d T B 2  ا  8 P \ j ֨   0 B T | Ʃ ֩ * : J X j x ƪ ت  Ϋ f  . L ܦ ¦ ?\  Ҧ @ Z أ ~ |  " 0 > J V h x Τ  0 B \ n z ȥ ޥ  " 2 B X d x ~ r d T B 2  ا  8 P \ j ֨   0 B T | Ʃ ֩ * : J X j x ƪ ت  Ϋ f  . L ܦ ¦ CreateFileATGetFileSizeCloseHandleMHeapAllocQHeapFreeGetProcessHeapMapViewOfFileUnmapViewOfFileCreateFileMappingAMultiByteToWideCharqInterlockedIncrementmInterlockedDecrementjGetLastErrorlSystemTimeToTzSpecificLocalTimeyFileTimeToSystemTimeGetTimeFormatWxFileTimeToLocalFileTimeSetFilePointerWriteFileDebugBreakFreeLibraryGetProcAddressLoadResourceLockResourceAGlobalMemoryStatusCreateFiberDeleteFiberConvertThreadToFiberiSwitchToFiberLoadLibraryAFindResourceAWideCharToMultiByteFindClose#GetCurrentProcess}GetModuleFileNameWLoadLibraryExWKERNEL32.dllCoCreateInstanceNCoInitializeole32.dllLSymFindFileInPathWdbghelp.dllGetFileVersionInfoSizeWGetFileVersionInfoWVerQueryValueAVERSION.dllDebugCreatedbgeng.dllGetModuleInformationPSAPI.DLL6RtlUnwindntdll.dllUnhandledExceptionFilterPSetUnhandledExceptionFilteroTerminateProcessIsProcessorFeaturePresent@EnterCriticalSectionLeaveCriticalSectionDeleteCriticalSectionSetEventResetEventWaitForSingleObjectExCreateEventWGetModuleHandleW<QueryPerformanceCounter$GetCurrentProcessId(GetCurrentThreadIdGetSystemTimeAsFileTimeiInitializeSListHeadIsDebuggerPresentGetStartupInfoWHRaiseExceptionfInitializeCriticalSectionAndSpinCountTlsAllocTlsGetValueTlsSetValueTlsFreepInterlockedFlushSListSetLastError<EncodePointermExitProcessGetModuleHandleExW|GetModuleFileNameAGetACPLCMapStringWGetStdHandleWGetFileTypeGetStringTypeWTHeapReAllocFindFirstFileExAFindNextFileAIsValidCodePageGetOEMCPGetCPInfoGetCommandLineAGetCommandLineW@GetEnvironmentStringsWFreeEnvironmentStringsWFlushFileBuffersGetConsoleCPGetConsoleMode/SetStdHandleCreateFileWVHeapSize SetFilePointerExWriteConsoleWXReadFileVReadConsoleWSetEndOfFileDecodePointer 8Ph   l TEXT DOCUMENTATION4VS_VERSION_INFOov?TStringFileInfo0040904B0LCompanyNameMicrosoft Corporation|*FileDescriptionMicrosoft NTSD extension for .NET Runtimej%FileVersion4.8.4614.0 built by: NET48REL1LAST_B0InternalNameSOS.dll/LegalCopyright Microsoft Corporation. All rights reserved.8OriginalFilenameSOS.dllTProductNameMicrosoft .NET Framework: ProductVersion4.8.4614.04CommentsFlavor=Retail4 PrivateBuildDDBLD357BDVarFileInfo$Translation ------------------------------------------------------------------------------- NOTE: THIS FILE CONTAINS SOS DOCUMENTATION. THE FORMAT OF THE FILE IS: COMMAND: \\ The first command is "contents" which is the general help screen. The rest correspond to SOS command names. This file is embedded as a resource in the SOS binary. Be sure to list any new commands here. ------------------------------------------------------------------------------- COMMAND: contents. SOS is a debugger extension DLL designed to aid in the debugging of managed programs. Functions are listed by category, then roughly in order of importance. Shortcut names for popular functions are listed in parenthesis. Type "!help " for detailed info on that function. Object Inspection Examining code and stacks ----------------------------- ----------------------------- DumpObj (do) Threads DumpArray (da) ThreadState DumpStackObjects (dso) IP2MD DumpHeap U DumpVC DumpStack GCRoot EEStack ObjSize CLRStack FinalizeQueue GCInfo PrintException (pe) EHInfo TraverseHeap BPMD COMState Examining CLR data structures Diagnostic Utilities ----------------------------- ----------------------------- DumpDomain VerifyHeap EEHeap VerifyObj Name2EE FindRoots SyncBlk HeapStat DumpMT GCWhere DumpClass ListNearObj (lno) DumpMD GCHandles Token2EE GCHandleLeaks EEVersion FinalizeQueue (fq) DumpModule FindAppDomain ThreadPool SaveModule DumpAssembly ProcInfo DumpSigElem StopOnException (soe) DumpRuntimeTypes DumpLog DumpSig VMMap RCWCleanupList VMStat DumpIL MinidumpMode DumpRCW AnalyzeOOM (ao) DumpCCW Examining the GC history Other ----------------------------- ----------------------------- HistInit FAQ HistRoot HistObj HistObjFind HistClear \\ COMMAND: faq. >> Where can I get the right version of SOS for my build? If you are running version 1.1 or 2.0 of the CLR, SOS.DLL is installed in the same directory as the main CLR dll (CLR.DLL). Newer versions of the Windows Debugger provide a command to make it easy to load the right copy of SOS.DLL: ".loadby sos clr" That will load the SOS extension DLL from the same place that CLR.DLL is loaded in the process. You shouldn't attempt to use a version of SOS.DLL that doesn't match the version of CLR.DLL. You can find the version of CLR.DLL by running "lmvm clr" in the debugger. Note that if you are running CoreCLR (e.g. Silverlight) then you should replace "clr" with "coreclr". If you are using a dump file created on another machine, it is a little bit more complex. You need to make sure the mscordacwks.dll file that came with that install is on your symbol path, and you need to load the corresponding version of sos.dll (typing .load rather than using the .loadby shortcut). Within the Microsoft corpnet, we keep tagged versions of mscordacwks.dll, with names like mscordacwks__.dll that the Windows Debugger can load. If you have the correct symbol path to the binaries for that version of the Runtime, the Windows Debugger will load the correct mscordacwks.dll file. >> I have a chicken and egg problem. I want to use SOS commands, but the CLR isn't loaded yet. What can I do? In the debugger at startup you can type: "sxe clrn" Let the program run, and it will stop with the notice "CLR notification: module 'mscorlib' loaded" At this time you can use SOS commands. To turn off spurious notifications, type: "sxd clrn" >> I got the following error message. Now what? 0:000> .loadby sos clr 0:000> !DumpStackObjects Failed to find runtime DLL (clr.dll), 0x80004005 Extension commands need clr.dll in order to have something to do. 0:000> This means that the CLR is not loaded yet, or has been unloaded. You need to wait until your managed program is running in order to use these commands. If you have just started the program a good way to do this is to type bp clr!EEStartup "g @$ra" in the debugger, and let it run. After the function EEStartup is finished, there will be a minimal managed environment for executing SOS commands. >> I have a partial memory minidump, and !DumpObj doesn't work. Why? In order to run SOS commands, many CLR data structures need to be traversed. When creating a minidump without full memory, special functions are called at dump creation time to bring those structures into the minidump, and allow a minimum set of SOS debugging commands to work. At this time, those commands that can provide full or partial output are: CLRStack Threads Help PrintException EEVersion For a minidump created with this minimal set of functionality in mind, you will get an error message when running any other commands. A full memory dump (obtained with ".dump /ma " in the Windows Debugger) is often the best way to debug a managed program at this level. >> What other tools can I use to find my bug? Turn on Managed Debugging Assistants. These enable additional runtime diagnostics, particularly in the area of PInvoke/Interop. Adam Nathan has written some great information about that: http://blogs.msdn.com/adam_nathan/ >> Does SOS support DML? Yes. SOS respects the .prefer_dml option in the debugger. If this setting is turned on, then SOS will output DML by default. Alternatively, you may leave it off and add /D to the beginning of a command to get DML based output for it. Not all SOS commands support DML output. \\ COMMAND: stoponexception. !StopOnException [-derived] [-create | -create2] [] !StopOnException helps when you want the Windows Debugger to stop on a particular managed exception, say a System.OutOfMemoryException, but continue running if other exceptions are thrown. The command can be used in two ways: 1) When you just want to stop on one particular CLR exception At the debugger prompt, anytime after loading SOS, type: !StopOnException -create System.OutOfMemoryException 1 The pseudo-register number (1) indicates that SOS can use register $t1 for maintaining the breakpoint. The -create parameter allows SOS to go ahead and set up the breakpoint as a first-chance exception. -create2 would set it up as a 2nd-chance exception. 2) When you need more complex logic for stopping on a CLR exception !StopOnException can be used purely as a predicate in a larger expression. If you type: !StopOnException System.OutOfMemoryException 3 then register $t3 will be set to 1 if the last thrown exception on the current thread is a System.OutOfMemoryException. Otherwise, $t3 will be set to 0. Using the Windows Debugger scripting language, you could chain such calls together to stop on various exception types. You'll have to manually create such predicates, for example: sxe -c "!soe System.OutOfMemoryException 3; !soe -derived System.IOException 4; .if(@$t3==1 || @$t4==1) { .echo 'stop' } .else {g}" The -derived option will cause StopOnException to set the pseudo-register to 1 even if the thrown exception type doesn't exactly match the exception type given, but merely derives from it. So, "-derived System.Exception" would catch every exception in the System.Exception heirarchy. The pseudo-register number is optional. If you don't pass a number, SOS will use pseudo-register $t1. Note that !PrintException with no parameters will print out the last thrown exception on the current thread (if any). You can use !soe as a shortcut for !StopOnException. \\ COMMAND: minidumpmode. !MinidumpMode <0 or 1> Minidumps created with ".dump /m" or ".dump" have a very small set of CLR-specific data, just enough to run a subset of SOS commands correctly. You are able to run other SOS commands, but they may fail with unexpected errors because required areas of memory are not mapped in or only partially mapped in. At this time, SOS cannot reliably detect if a dump file is of this type (for one thing, custom dump commands can map in additional memory, but there is no facility to read meta-information about this memory). You can turn this option on to protect against running unsafe commands against small minidumps. By default, MinidumpMode is 0, so there is no restriction on commands that will run against a minidump. \\ COMMAND: dumpobj. !DumpObj [-nofields] This command allows you to examine the fields of an object, as well as learn important properties of the object such as the EEClass, the MethodTable, and the size. You might find an object pointer by running !DumpStackObjects and choosing from the resultant list. Here is a simple object: 0:000> !DumpObj a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type VT Attr Value Name 009038ec 4000008 4 Customer 0 instance 00a79ce4 name 009038ec 4000009 8 Bank 0 instance 00a79d2c bank Note that fields of type Customer and Bank are themselves objects, and you can run !DumpObj on them too. You could look at the field directly in memory using the offset given. "dd a79d40+8 l1" would allow you to look at the bank field directly. Be careful about using this to set memory breakpoints, since objects can move around in the garbage collected heap. What else can you do with an object? You might run !GCRoot, to determine what roots are keeping it alive. Or you can find all objects of that type with "!DumpHeap -type Customer". The column VT contains the value 1 if the field is a valuetype structure, and 0 if the field contains a pointer to another object. For valuetypes, you can take the MethodTable pointer in the MT column, and the Value and pass them to the command !DumpVC. The abbreviation !do can be used for brevity. The arguments in detail: -nofields: do not print fields of the object, useful for objects like String \\ COMMAND: dumparray. !DumpArray [-start ] [-length ] [-details] [-nofields] This command allows you to examine elements of an array object. The arguments in detail: -start : optional, only supported for single dimension array. Specify from which index the command shows the elements. -length : optional, only supported for single dimension array. Specify how many elements to show. -details: optional. Ask the command to print out details of the element using !DumpObj and !DumpVC format. -nofields: optional, only takes effect when -details is used. Do not print fields of the elements. Useful for arrays of objects like String Example output: 0:000> !dumparray -start 2 -length 3 -details 00ad28d0 Name: Value[] MethodTable: 03e41044 EEClass: 03e40fc0 Size: 132(0x84) bytes Array: Rank 1, Number of elements 10, Type VALUETYPE Element Type: Value [2] 00ad28f0 Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 2 x 5b9a628c 4000002 4 System.Int32 instance 4 y 5b9a628c 4000003 8 System.Int32 instance 6 z [3] 00ad28fc Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 3 x 5b9a628c 4000002 4 System.Int32 instance 6 y 5b9a628c 4000003 8 System.Int32 instance 9 z [4] 00ad2908 Name: Value MethodTable 03e40f4c EEClass: 03ef1698 Size: 20(0x14) bytes (C:\bugs\225271\arraytest.exe) Fields: MT Field Offset Type Attr Value Name 5b9a628c 4000001 0 System.Int32 instance 4 x 5b9a628c 4000002 4 System.Int32 instance 8 y 5b9a628c 4000003 8 System.Int32 instance 12 z \\ COMMAND: dumpstackobjects. !DumpStackObjects [-verify] [top stack [bottom stack]] This command will display any managed objects it finds within the bounds of the current stack. Combined with the stack tracing commands like K and !CLRStack, it is a good aid to determining the values of locals and parameters. If you use the -verify option, each non-static CLASS field of an object candidate is validated. This helps to eliminate false positives. It is not on by default because very often in a debugging scenario, you are interested in objects with invalid fields. The abbreviation !dso can be used for brevity. \\ COMMAND: dumpheap. !DumpHeap [-stat] [-strings] [-short] [-min ] [-max ] [-live] [-dead] [-thinlock] [-startAtLowerBound] [-mt ] [-type ] [start [end]] !DumpHeap is a powerful command that traverses the garbage collected heap, collection statistics about objects. With it's various options, it can look for particular types, restrict to a range, or look for ThinLocks (see !SyncBlk documentation). Finally, it will provide a warning if it detects excessive fragmentation in the GC heap. When called without options, the output is first a list of objects in the heap, followed by a report listing all the types found, their size and number: 0:000> !dumpheap Address MT Size 00a71000 0015cde8 12 Free 00a7100c 0015cde8 12 Free 00a71018 0015cde8 12 Free 00a71024 5ba58328 68 00a71068 5ba58380 68 00a710ac 5ba58430 68 00a710f0 5ba5dba4 68 ... total 619 objects Statistics: MT Count TotalSize Class Name 5ba7607c 1 12 System.Security.Permissions.HostProtectionResource 5ba75d54 1 12 System.Security.Permissions.SecurityPermissionFlag 5ba61f18 1 12 System.Collections.CaseInsensitiveComparer ... 0015cde8 6 10260 Free 5ba57bf8 318 18136 System.String ... "Free" objects are simply regions of space the garbage collector can use later. If 30% or more of the heap contains "Free" objects, the process may suffer from heap fragmentation. This is usually caused by pinning objects for a long time combined with a high rate of allocation. Here is example output where !DumpHeap provides a warning about fragmentation: Fragmented blocks larger than 1MB: Addr Size Followed by 00a780c0 1.5MB 00bec800 System.Byte[] 00da4e38 1.2MB 00ed2c00 System.Byte[] 00f16df0 1.2MB 01044338 System.Byte[] The arguments in detail: -stat Restrict the output to the statistical type summary -strings Restrict the output to a statistical string value summary -short Limits output to just the address of each object. This allows you to easily pipe output from the command to another debugger command for automation. -min Ignore objects less than the size given in bytes -max Ignore objects larger than the size given in bytes -live Only print live objects -dead Only print dead objects (objects which will be collected in the next full GC) -thinlock Report on any ThinLocks (an efficient locking scheme, see !SyncBlk documentation for more info) -startAtLowerBound Force heap walk to begin at lower bound of a supplied address range. (During plan phase, the heap is often not walkable because objects are being moved. In this case, DumpHeap may report spurious errors, in particular bad objects. It may be possible to traverse more of the heap after the reported bad object. Even if you specify an address range, !DumpHeap will start its walk from the beginning of the heap by default. If it finds a bad object before the specified range, it will stop before displaying the part of the heap in which you are interested. This switch will force !DumpHeap to begin its walk at the specified lower bound. You must supply the address of a good object as the lower bound for this to work. Display memory at the address of the bad object to manually find the next method table (use !dumpmt to verify). If the GC is currently in a call to memcopy, You may also be able to find the next object's address by adding the size to the start address given as parameters.) -mt List only those objects with the MethodTable given -type List only those objects whose type name is a substring match of the string provided. start Begin listing from this address end Stop listing at this address A special note about -type: Often, you'd like to find not only Strings, but System.Object arrays that are constrained to contain Strings. ("new String[100]" actually creates a System.Object array, but it can only hold System.String object pointers). You can use -type in a special way to find these arrays. Just pass "-type System.String[]" and those Object arrays will be returned. More generally, "-type []". The start/end parameters can be obtained from the output of !EEHeap -gc. For example, if you only want to list objects in the large heap segment: 0:000> !eeheap -gc Number of GC Heaps: 1 generation 0 starts at 0x00c32754 generation 1 starts at 0x00c32748 generation 2 starts at 0x00a71000 segment begin allocated size 00a70000 00a71000 010443a8 005d33a8(6108072) Large object heap starts at 0x01a71000 segment begin allocated size 01a70000 01a71000 01a75000 0x00004000(16384) Total Size 0x5d73a8(6124456) ------------------------------ GC Heap Size 0x5d73a8(6124456) 0:000> !dumpheap 1a71000 1a75000 Address MT Size 01a71000 5ba88bd8 2064 01a71810 0019fe48 2032 Free 01a72000 5ba88bd8 4096 01a73000 0019fe48 4096 Free 01a74000 5ba88bd8 4096 total 5 objects Statistics: MT Count TotalSize Class Name 0019fe48 2 6128 Free 5ba88bd8 3 10256 System.Object[] Total 5 objects Finally, if GC heap corruption is present, you may see an error like this: 0:000> !dumpheap -stat object 00a73d24: does not have valid MT curr_object : 00a73d24 Last good object: 00a73d14 ---------------- That indicates a serious problem. See the help for !VerifyHeap for more information on diagnosing the cause. \\ COMMAND: dumpvc. !DumpVC
!DumpVC allows you to examine the fields of a value class. In C#, this is a struct, and lives on the stack or within an Object on the GC heap. You need to know the MethodTable address to tell SOS how to interpret the fields, as a value class is not a first-class object with it's own MethodTable as the first field. For example: 0:000> !DumpObj a79d98 Name: Mainy MethodTable: 009032d8 EEClass: 03ee1424 Size: 28(0x1c) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 0090320c 4000010 4 VALUETYPE instance 00a79d9c m_valuetype 009032d8 400000f 4 CLASS static 00a79d54 m_sExcep m_valuetype is a value type. The value in the MT column (0090320c) is the MethodTable for it, and the Value column provides the start address: 0:000> !DumpVC 0090320c 00a79d9c Name: Funny MethodTable 0090320c EEClass: 03ee14b8 Size: 28(0x1c) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 0090320c 4000001 0 CLASS instance 00a743d8 signature 0090320c 4000002 8 System.Int32 instance 2345 m1 0090320c 4000003 10 System.Boolean instance 1 b1 0090320c 4000004 c System.Int32 instance 1234 m2 0090320c 4000005 4 CLASS instance 00a79d98 backpointer !DumpVC is quite a specialized function. Some managed programs make heavy use of value classes, while others do not. \\ COMMAND: gcroot. !GCRoot [-nostacks] !GCRoot looks for references (or roots) to an object. These can exist in four places: 1. On the stack 2. Within a GC Handle 3. In an object ready for finalization 4. As a member of an object found in 1, 2 or 3 above. First, all stacks will be searched for roots, then handle tables, and finally the freachable queue of the finalizer. Some caution about the stack roots: !GCRoot doesn't attempt to determine if a stack root it encountered is valid or is old (discarded) data. You would have to use !CLRStack and !U to disassemble the frame that the local or argument value belongs to in order to determine if it is still in use. Because people often want to restrict the search to gc handles and freachable objects, there is a -nostacks option. \\ COMMAND: objsize. !ObjSize [] With no parameters, !ObjSize lists the size of all objects found on managed threads. It also enumerates all GCHandles in the process, and totals the size of any objects pointed to by those handles. In calculating object size, !ObjSize includes the size of all child objects in addition to the parent. For example, !DumpObj lists a size of 20 bytes for this Customer object: 0:000> !do a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 009038ec 4000008 4 CLASS instance 00a79ce4 name 009038ec 4000009 8 CLASS instance 00a79d2c bank 009038ec 400000a c System.Boolean instance 1 valid but !ObjSize lists 152 bytes: 0:000> !ObjSize a79d40 sizeof(00a79d40) = 152 ( 0x98) bytes (Customer) This is because a Customer points to a Bank, has a name, and the Bank points to an Address string. You can use !ObjSize to identify any particularly large objects, such as a managed cache in a web server. While running ObjSize with no arguments may point to specific roots that hold onto large amounts of memory it does not provide information regarding the amount of managed memory that is still alive. This is due to the fact that a number of roots can share a common subgraph, and that part will be reported in the size of all the roots that reference the subgraph. Please note the -aggregate parameter to !ObjSize has been removed. Please see '!DumpHeap -live' and '!DumpHeap -dead' for that functionality. \\ COMMAND: finalizequeue. !FinalizeQueue [-detail] | [-allReady] [-short] This command lists the objects registered for finalization. Here is output from a simple program: 0:000> !finalizequeue SyncBlocks to be cleaned up: 0 MTA Interfaces to be released: 0 STA Interfaces to be released: 1 generation 0 has 4 finalizable objects (0015bc90->0015bca0) generation 1 has 0 finalizable objects (0015bc90->0015bc90) generation 2 has 0 finalizable objects (0015bc90->0015bc90) Ready for finalization 0 objects (0015bca0->0015bca0) Statistics: MT Count TotalSize Class Name 5ba6cf78 1 24 Microsoft.Win32.SafeHandles.SafeFileHandle 5ba5db04 1 68 System.Threading.Thread 5ba73e28 2 112 System.IO.StreamWriter Total 4 objects The GC heap is divided into generations, and objects are listed accordingly. We see that only generation 0 (the youngest generation) has any objects registered for finalization. The notation "(0015bc90->0015bca0)" means that if you look at memory in that range, you'll see the object pointers that are registered: 0:000> dd 15bc90 15bca0-4 0015bc90 00a743f4 00a79f00 00a7b3d8 00a7b47c You could run !DumpObj on any of those pointers to learn more. In this example, there are no objects ready for finalization, presumably because they still have roots (You can use !GCRoot to find out). The statistics section provides a higher-level summary of the objects registered for finalization. Note that objects ready for finalization are also included in the statistics (if any). Specifying -short will inhibit any display related to SyncBlocks or RCWs. The arguments in detail: -allReady Specifying this argument will allow for the display of all objects that are ready for finalization, whether they are already marked by the GC as such, or whether the next GC will. The objects that are not in the "Ready for finalization" list are finalizable objects that are no longer rooted. This option can be very expensive, as it verifies whether all the objects in the finalizable queues are still rooted or not. -short Limits the output to just the address of each object. If used in conjunction with -allReady it enumerates all objects that have a finalizer that are no longer rooted. If used independently it lists all objects in the finalizable and "ready for finalization" queues. -detail Will display extra information on any SyncBlocks that need to be cleaned up, and on any RuntimeCallableWrappers (RCWs) that await cleanup. Both of these data structures are cached and cleaned up by the finalizer thread when it gets a chance to run. \\ COMMAND: printexception. !PrintException [-nested] [-lines] [-ccw] [] [] This will format fields of any object derived from System.Exception. One of the more useful aspects is that it will format the _stackTrace field, which is a binary array. If _stackTraceString field is not filled in, that can be helpful for debugging. You can of course use !DumpObj on the same exception object to explore more fields. If called with no parameters, PrintException will look for the last outstanding exception on the current thread and print it. This will be the same exception that shows up in a run of !Threads. !PrintException will notify you if there are any nested exceptions on the current managed thread. (A nested exception occurs when you throw another exception within a catch handler already being called for another exception). If there are nested exceptions, you can re-run !PrintException with the "-nested" option to get full details on the nested exception objects. The !Threads command will also tell you which threads have nested exceptions. !PrintException can display source information if available, by specifying the -lines command line argument. !PrintException prints the exception object corresponding to a given CCW pointer, which can be specified using the -ccw option. The abbreviation !pe can be used for brevity. \\ COMMAND: traverseheap. !TraverseHeap [-xml] [-verify] !TraverseHeap writes out a file in a format understood by the CLR Profiler. You can download the CLR Profiler from this link: http://www.microsoft.com/downloads/details.aspx?FamilyId=86CE6052-D7F4-4AEB- 9B7A-94635BEEBDDA&displaylang=en It creates a graphical display of the GC heap to help you analyze the state of your application. If you pass the -verify option it will do more sanity checking of the heap as it dumps it. Use this option if heap corruption is suspected. If you pass the "-xml" flag, the file is instead written out in an easy to understand xml format: ... ... ... ... You can break into your process, load SOS, take a snapshot of your heap with this function, then continue. \\ COMMAND: threadstate. !ThreadState value The !Threads command outputs, among other things, the state of the thread. This is a bit field which corresponds to various states the thread is in. To check the state of the thread, simply pass that bit field from the output of !Threads into !ThreadState. Example: 0:003> !Threads ThreadCount: 2 UnstartedThread: 0 BackgroundThread: 1 PendingThread: 0 DeadThread: 0 Hosted Runtime: no PreEmptive GC Alloc Lock ID OSID ThreadOBJ State GC Context Domain Count APT Exception 0 1 250 0019b068 a020 Disabled 02349668:02349fe8 0015def0 0 MTA 2 2 944 001a6020 b220 Enabled 00000000:00000000 0015def0 0 MTA (Finalizer) 0:003> !ThreadState b220 Legal to Join Background CLR Owns CoInitialized In Multi Threaded Apartment Possible thread states: Thread Abort Requested GC Suspend Pending User Suspend Pending Debug Suspend Pending GC On Transitions Legal to Join Yield Requested Hijacked by the GC Blocking GC for Stack Overflow Background Unstarted Dead CLR Owns CoInitialized In Single Threaded Apartment In Multi Threaded Apartment Reported Dead Fully initialized Task Reset Sync Suspended Debug Will Sync Stack Crawl Needed Suspend Unstarted Aborted Thread Pool Worker Thread Interruptible Interrupted Completion Port Thread Abort Initiated Finalized Failed to Start Detached \\ COMMAND: threads. !Threads [-live] [-special] !Threads lists all the mananaged threads in the process. -live: optional. Only print threads associated with a live thread. -special: optional. With this switch, the command will display all the special threads created by CLR. Those threads might not be managed threads so they might not be shown in the first part of the command's output. Example of special threads include: GC threads (in concurrent GC and server GC), Debugger helper threads, Finalizer threads, AppDomain Unload threads, and Threadpool timer threads. Each thread has many attributes, many of which can be ignored. The important ones are discussed below: There are three ID columns: 1) The debugger shorthand ID (When the runtime is hosted this column might display the special string "<<<<" when this internal thread object is not associated with any physical thread - this may happen when the host reuses the runtime internal thread object) 2) The CLR Thread ID 3) The OS thread ID. If PreEmptiveGC is enabled for a thread, then a garbage collection can occur while that thread is running. For example, if you break in while a managed thread is making a PInvoke call to a Win32 function, that thread will be in PreEmptive GC mode. The Domain column indicates what AppDomain the thread is currently executing in. You can pass this value to !DumpDomain to find out more. The APT column gives the COM apartment mode. Exception will list the last thrown exception (if any) for the thread. More details can be obtained by passing the pointer value to !PrintException. If you get the notation "(nested exceptions)", you can get details on those exceptions by switching to the thread in question, and running "!PrintException -nested". \\ COMMAND: clrstack. !CLRStack [-a] [-l] [-p] [-n] !CLRStack [-a] [-l] [-p] [-i] [variable name] [frame] CLRStack attempts to provide a true stack trace for managed code only. It is handy for clean, simple traces when debugging straightforward managed programs. The -p parameter will show arguments to the managed function. The -l parameter can be used to show information on local variables in a frame. SOS can't retrieve local names at this time, so the output for locals is in the format = . The -a (all) parameter is a short-cut for -l and -p combined. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), SOS will look up the symbols for every managed frame and if successful will display the corresponding source file name and line number. The -n (No line numbers) parameter can be specified to disable this behavior. When you see methods with the name "[Frame:...", that indicates a transition between managed and unmanaged code. You could run !IP2MD on the return addresses in the call stack to get more information on each managed method. On x64 platforms, Transition Frames are not displayed at this time. To avoid heavy optimization of parameters and locals one can request the JIT compiler to not optimize functions in the managed app by creating a file myapp.ini (if your program is myapp.exe) in the same directory. Put the following lines in myapp.ini and re-run: [.NET Framework Debugging Control] GenerateTrackingInfo=1 AllowOptimize=0 The -i option is a new EXPERIMENTAL addition to CLRStack and will use the ICorDebug interfaces to display the managed stack and variables. With this option you can also view and expand arrays and fields for managed variables. If a stack frame number is specified in the command line, CLRStack will show you the parameters and/or locals only for that frame (provided you specify -l or -p or -a of course). If a variable name and a stack frame number are specified in the command line, CLRStack will show you the parameters and/or locals for that frame, and will also show you the fields for that variable name you specified. Here are some examples: !CLRStack -i -a : This will show you all parameters and locals for all frames !CLRStack -i -a 3 : This will show you all parameters and locals, for frame 3 !CLRStack -i var1 0 : This will show you the fields of 'var1' for frame 0 !CLRStack -i var1.abc 2 : This will show you the fields of 'var1', and expand 'var1.abc' to show you the fields of the 'abc' field, for frame 2. !CLRStack -i var1.[basetype] 0 : This will show you the fields of 'var1', and expand the base type of 'var1' to show you its fields. !CLRStack -i var1.[6] 0 : If 'var1' is an array, this will show you the element at index 6 in the array, along with its fields The -i options uses DML output for a better debugging experience, so typically you should only need to execute "!CLRStack -i", and from there, click on the DML hyperlinks to inspect the different managed stack frames and managed variables. \\ COMMAND: ip2md. !IP2MD Given an address in managed JITTED code, IP2MD attempts to find the MethodDesc associated with it. For example, this output from K: 0:000> K ChildEBP RetAddr 00a79c78 03ef02ab image00400000!Mainy.Top()+0xb 00a79c78 03ef01a6 image00400000!Mainy.Level(Int32)+0xb 00a79c78 5d3725a1 image00400000!Mainy.Main()+0xee 0012ea04 5d512f59 clr!CallDescrWorkerInternal+0x30 0012ee34 5d7946aa clr!CallDescrWorker+0x109 0:000> !IP2MD 03ef01a6 MethodDesc: 00902f40 Method Name: Mainy.Main() Class: 03ee1424 MethodTable: 009032d8 mdToken: 0600000d Module: 001caa38 IsJitted: yes CodeAddr: 03ef00b8 Transparency: Critical Source file: c:\Code\prj.mini\exc.cs @ 39 We have taken a return address into Mainy.Main, and discovered information about that method. You could run !U, !DumpMT, !DumpClass, !DumpMD, or !DumpModule on the fields listed to learn more. The "Source line" output will only be present if the debugger can find the symbols for the managed module containing the given , and if the debugger is configured to load line number information. \\ COMMAND: u. !U [-gcinfo] [-ehinfo] [-n] | Presents an annotated disassembly of a managed method when given a MethodDesc pointer for the method, or a code address within the method body. Unlike the debugger "U" function, the entire method from start to finish is printed, with annotations that convert metadata tokens to names. ... 03ef015d b901000000 mov ecx,0x1 03ef0162 ff156477a25b call dword ptr [mscorlib_dll+0x3c7764 (5ba27764)] (System.Console.InitializeStdOutError(Boolean), mdToken: 06000713) 03ef0168 a17c20a701 mov eax,[01a7207c] (Object: SyncTextWriter) 03ef016d 89442414 mov [esp+0x14],eax If you pass the -gcinfo flag, you'll get inline display of the GCInfo for the method. You can also obtain this information with the !GCInfo command. If you pass the -ehinfo flag, you'll get inline display of exception info for the method. (Beginning and end of try/finally/catch handlers, etc.). You can also obtain this information with the !EHInfo command. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), and if symbols are available for the managed module containing the method being examined, the output of the command will include the source file name and line number corresponding to the disassembly. The -n (No line numbers) flag can be specified to disable this behavior. ... c:\Code\prj.mini\exc.cs @ 38: 001b00b0 8b0d3020ab03 mov ecx,dword ptr ds:[3AB2030h] ("Break in debugger. When done type to continue: ") 001b00b6 e8d5355951 call mscorlib_ni+0x8b3690 (51743690) (System.Console.Write(System.String), mdToken: 0600091b) 001b00bb 90 nop c:\Code\prj.mini\exc.cs @ 39: 001b00bc e863cdc651 call mscorlib_ni+0xf8ce24 (51e1ce24) (System.Console.ReadLine(), mdToken: 060008f6) >>> 001b00c1 90 nop ... \\ COMMAND: dumpstack. !DumpStack [-EE] [-n] [top stack [bottom stack]] [x86 and x64 documentation] This command provides a verbose stack trace obtained by "scraping." Therefore the output is very noisy and potentially confusing. The command is good for viewing the complete call stack when "kb" gets confused. For best results, make sure you have valid symbols. -EE will only show managed functions. If the debugger has the option SYMOPT_LOAD_LINES specified (either by the .lines or .symopt commands), SOS will look up the symbols for every managed frame and if successful will display the corresponding source file name and line number. The -n (No line numbers) parameter can be specified to disable this behavior. You can also pass a stack range to limit the output. Use the debugger extension !teb to get the top and bottom stack values. \\ COMMAND: eestack. !EEStack [-short] [-EE] This command runs !DumpStack on all threads in the process. The -EE option is passed directly to !DumpStack. The -short option tries to narrow down the output to "interesting" threads only, which is defined by 1) The thread has taken a lock. 2) The thread has been "hijacked" in order to allow a garbage collection. 3) The thread is currently in managed code. See the documentation for !DumpStack for more info. \\ COMMAND: ehinfo. !EHInfo ( | ) !EHInfo shows the exception handling blocks in a jitted method. For each handler, it shows the type, including code addresses and offsets for the clause block and the handler block. For a TYPED handler, this would be the "try" and "catch" blocks respectively. Sample output: 0:000> !ehinfo 33bbd3a MethodDesc: 03310f68 Method Name: MainClass.Main() Class: 03571358 MethodTable: 0331121c mdToken: 0600000b Module: 001e2fd8 IsJitted: yes CodeAddr: 033bbca0 Transparency: Critical EHHandler 0: TYPED catch(System.IO.FileNotFoundException) Clause: [033bbd2b, 033bbd3c] [8b, 9c] Handler: [033bbd3c, 033bbd50] [9c, b0] EHHandler 1: FINALLY Clause: [033bbd83, 033bbda3] [e3, 103] Handler: [033bbda3, 033bbdc5] [103, 125] EHHandler 2: TYPED catch(System.Exception) Clause: [033bbd7a, 033bbdc5] [da, 125] Handler: [033bbdc5, 033bbdd6] [125, 136] \\ COMMAND: gcinfo. !GCInfo ( | ) !GCInfo is especially useful for CLR Devs who are trying to determine if there is a bug in the JIT Compiler. It parses the GCEncoding for a method, which is a compressed stream of data indicating when registers or stack locations contain managed objects. It is important to keep track of this information, because if a garbage collection occurs, the collector needs to know where roots are so it can update them with new object pointer values. Here is sample output where you can see the change in register state. Normally you would print this output out and read it alongside a disassembly of the method. For example, the notation "reg EDI becoming live" at offset 0x11 of the method might correspond to a "mov edi,ecx" statement. 0:000> !gcinfo 5b68dbb8 (5b68dbb8 is the start of a JITTED method) entry point 5b68dbb8 preJIT generated code GC info 5b9f2f09 Method info block: method size = 0036 prolog size = 19 epilog size = 8 epilog count = 1 epilog end = yes saved reg. mask = 000B ebp frame = yes fully interruptible=yes double align = no security check = no exception handlers = no local alloc = no edit & continue = no varargs = no argument count = 4 stack frame size = 1 untracked count = 5 var ptr tab count = 0 epilog at 002E 36 D4 8C C7 AA | 93 F3 40 05 | Pointer table: 14 | [EBP+14H] an untracked local 10 | [EBP+10H] an untracked local 0C | [EBP+0CH] an untracked local 08 | [EBP+08H] an untracked local 44 | [EBP-04H] an untracked local F1 79 | 0011 reg EDI becoming live 72 | 0013 reg ESI becoming live 83 | 0016 push ptr 0 8B | 0019 push ptr 1 93 | 001C push ptr 2 9B | 001F push ptr 3 56 | 0025 reg EDX becoming live 4A | 0027 reg ECX becoming live 0E | 002D reg ECX becoming dead 10 | 002D reg EDX becoming dead E0 | 002D pop 4 ptrs F0 31 | 0036 reg ESI becoming dead 38 | 0036 reg EDI becoming dead FF | This function is important for CLR Devs, but very difficult for anyone else to make sense of it. You would usually come to use it if you suspect a gc heap corruption bug caused by invalid GCEncoding for a particular method. \\ COMMAND: comstate. !COMState !COMState lists the com apartment model for each thread, as well as a Context pointer if provided. \\ COMMAND: bpmd. !BPMD [-nofuturemodule] [] !BPMD : !BPMD -md !BPMD -list !BPMD -clear !BPMD -clearall !BPMD provides managed breakpoint support. If it can resolve the method name to a loaded, jitted or ngen'd function it will create a breakpoint with "bp". If not then either the module that contains the method hasn't been loaded yet or the module is loaded, but the function is not jitted yet. In these cases, !bpmd asks the Windows Debugger to receive CLR Notifications, and waits to receive news of module loads and JITs, at which time it will try to resolve the function to a breakpoint. -nofuturemodule can be used to suppress creating a breakpoint against a module that has not yet been loaded. Management of the list of pending breakpoints can be done via !BPMD -list, !BPMD -clear, and !BPMD -clearall commands. !BPMD -list generates a list of all of the pending breakpoints. If the pending breakpoint has a non-zero module id, then that pending breakpoint is specific to function in that particular loaded module. If the pending breakpoint has a zero module id, then the breakpoint applies to modules that have not yet been loaded. Use !BPMD -clear or !BPMD -clearall to remove pending breakpoints from the list. This brings up a good question: "I want to set a breakpoint on the main method of my application. How can I do this?" 1) If you know the full path to SOS, use this command and skip to step 6 .load 2) If you don't know the full path to sos, its usually next to clr.dll You can wait for clr to load and then find it. Start the debugger and type: sxe -c "" clrn 3) g 4) You'll get the following notification from the debugger: "CLR notification: module 'mscorlib' loaded" 5) Now you can load SOS. Type .loadby sos clr 6) Add the breakpoint with command such as: !bpmd myapp.exe MyApp.Main 7) g 8) You will stop at the start of MyApp.Main. If you type "bl" you will see the breakpoint listed. You can specify breakpoints by file and line number if: a) You have some version of .Net Framework installed on your machine. Any OS from Vista onwards should have .Net Framework installed by default. b) You have PDBs for the managed modules that need breakpoints, and your symbol path points to those PDBs. This is often easier than module and method name syntax. For example: !bpmd Demo.cs:15 To correctly specify explicitly implemented methods make sure to retrieve the method name from the metadata, or from the output of the "!dumpmt -md" command. For example: public interface I1 { void M1(); } public class ExplicitItfImpl : I1 { ... void I1.M1() // this method's name is 'I1.M1' { ... } } !bpmd myapp.exe ExplicitItfImpl.I1.M1 !BPMD works equally well with generic types. Adding a breakpoint on a generic type sets breakpoints on all already JIT-ted generic methods and sets a pending breakpoint for any instantiation that will be JIT-ted in the future. Example for generics: Given the following two classes: class G3 { ... public void F(T1 p1, T2 p2, T3 p3) { ... } } public class G1 { // static method static public void G(W w) { ... } } One would issue the following commands to set breapoints on G3.F() and G1.G(): !bpmd myapp.exe G3`3.F !bpmd myapp.exe G1`1.G And for explicitly implemented methods on generic interfaces: public interface IT1 { void M1(T t); } public class ExplicitItfImpl : IT1 { ... void IT1.M1(U u) // this method's name is 'IT1.M1' { ... } } !bpmd bpmd.exe ExplicitItfImpl`1.IT1.M1 Additional examples: If IT1 and ExplicitItfImpl are types declared inside another class, Outer, the bpmd command would become: !bpmd bpmd.exe Outer+ExplicitItfImpl`1.Outer.IT1.M1 (note that the fully qualified type name for ExplicitItfImpl became Outer+ExplicitItfImpl, using the '+' separator, while the method name is Outer.IT1.M1, using a '.' as the separator) Furthermore, if the Outer class resides in a namespace, NS, the bpmd command to use becomes: !bpmd bpmd.exe NS.Outer+ExplicitItfImpl`1.NS.Outer.IT1.M1 !BPMD does not accept offsets nor parameters in the method name. You can add an IL offset as an optional parameter seperate from the name. If there are overloaded methods, !bpmd will set a breakpoint for all of them. In the case of hosted environments such as SQL, the module name may be complex, like 'price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'. For this case, just be sure to surround the module name with single quotes, like: !bpmd 'price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' Price.M2 \\ COMMAND: dumpdomain. !DumpDomain [] When called with no parameters, !DumpDomain will list all the AppDomains in the process. It enumerates each Assembly loaded into those AppDomains as well. In addition to your application domain, and any domains it might create, there are two special domains: the Shared Domain and the System Domain. Any Assembly pointer in the output can be passed to !DumpAssembly. Any Module pointer in the output can be passed to !DumpModule. Any AppDomain pointer can be passed to !DumpDomain to limit output only to that AppDomain. Other functions provide an AppDomain pointer as well, such as !Threads where it lists the current AppDomain for each thread. \\ COMMAND: eeheap. !EEHeap [-gc] [-loader] !EEHeap enumerates process memory consumed by internal CLR data structures. You can limit the output by passing "-gc" or "-loader". All information will be displayed otherwise. The information for the Garbage Collector lists the ranges of each Segment in the managed heap. This can be useful if you believe you have an object pointer. If the pointer falls within a segment range given by "!EEHeap -gc", then you do have an object pointer, and can attempt to run "!DumpObj" on it. Here is output for a simple program: 0:000> !eeheap -gc Number of GC Heaps: 1 generation 0 starts at 0x00a71018 generation 1 starts at 0x00a7100c generation 2 starts at 0x00a71000 segment begin allocated size 00a70000 00a71000 00a7e01c 0000d01c(53276) Large object heap starts at 0x01a71000 segment begin allocated size 01a70000 01a71000 01a76000 0x00005000(20480) Total Size 0x1201c(73756) ------------------------------ GC Heap Size 0x1201c(73756) So the total size of the GC Heap is only 72K. On a large web server, with multiple processors, you can expect to see a GC Heap of 400MB or more. The Garbage Collector attempts to collect and reclaim memory only when required to by memory pressure for better performance. You can also see the notion of "generations," wherein the youngest objects live in generation 0, and long-lived objects eventually get "promoted" to generation 2. The loader output lists various private heaps associated with AppDomains. It also lists heaps associated with the JIT compiler, and heaps associated with Modules. For example: 0:000> !EEHeap -loader Loader Heap: -------------------------------------- System Domain: 5e0662a0 LowFrequencyHeap:008f0000(00002000:00001000) Size: 0x00001000 bytes. HighFrequencyHeap:008f2000(00008000:00001000) Size: 0x00001000 bytes. StubHeap:008fa000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x3000(12288)bytes -------------------------------------- Shared Domain: 5e066970 LowFrequencyHeap:00920000(00002000:00001000) 03e30000(00010000:00003000) Size: 0x00004000 bytes. Wasted: 0x00001000 bytes. HighFrequencyHeap:00922000(00008000:00001000) Size: 0x00001000 bytes. StubHeap:0092a000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x6000(24576)bytes -------------------------------------- Domain 1: 14f000 LowFrequencyHeap:00900000(00002000:00001000) 03ee0000(00010000:00003000) Size: 0x00004000 bytes. Wasted: 0x00001000 bytes. HighFrequencyHeap:00902000(00008000:00003000) Size: 0x00003000 bytes. StubHeap:0090a000(00002000:00001000) Size: 0x00001000 bytes. Total size: 0x8000(32768)bytes -------------------------------------- Jit code heap: Normal JIT:03ef0000(00010000:00002000) Size: 0x00002000 bytes. Total size: 0x2000(8192)bytes -------------------------------------- Module Thunk heaps: Module 5ba22410: Size: 0x00000000 bytes. Module 001c1320: Size: 0x00000000 bytes. Module 001c03f0: Size: 0x00000000 bytes. Module 001caa38: Size: 0x00000000 bytes. Total size: 0x0(0)bytes -------------------------------------- Module Lookup Table heaps: Module 5ba22410:Size: 0x00000000 bytes. Module 001c1320:Size: 0x00000000 bytes. Module 001c03f0:Size: 0x00000000 bytes. Module 001caa38:03ec0000(00010000:00002000) Size: 0x00002000 bytes. Total size: 0x2000(8192)bytes -------------------------------------- Total LoaderHeap size: 0x15000(86016)bytes ======================================= By using !EEHeap to keep track of the growth of these private heaps, we are able to rule out or include them as a source of a memory leak. \\ COMMAND: name2ee. !Name2EE !Name2EE ! This function allows you to turn a class name into a MethodTable and EEClass. It turns a method name into a MethodDesc. Here is an example for a method: 0:000> !name2ee unittest.exe MainClass.Main Module: 001caa38 Token: 0x0600000d MethodDesc: 00902f40 Name: MainClass.Main() JITTED Code Address: 03ef00b8 and for a class: 0:000> !name2ee unittest!MainClass Module: 001caa38 Token: 0x02000005 MethodTable: 009032d8 EEClass: 03ee1424 Name: MainClass The module you are "browsing" with Name2EE needs to be loaded in the process. To get a type name exactly right, first browse the module with ILDASM. You can also pass * as the to search all loaded managed modules. can also be the debugger's name for a module, such as mscorlib or image00400000. The Windows Debugger syntax of ! is also supported. You can use an asterisk on the left of the !, but the type on the right side needs to be fully qualified. If you are looking for a way to display a static field of a class (and you don't have an instance of the class, so !dumpobj won't help you), note that once you have the EEClass, you can run !DumpClass, which will display the value of all static fields. There is yet one more way to specify a module name. In the case of modules loaded from an assembly store (such as a SQL db) rather than disk, the module name will look like this: price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null For this kind of module, simply use price as the module name: 0:044> !name2ee price Price Module: 10f028b0 (price, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null) Token: 0x02000002 MethodTable: 11a47ae0 EEClass: 11a538c8 Name: Price Where are we getting these module names from? Run !DumpDomain to see a list of all loaded modules in all domains. And remember that you can browse all the types in a module with !DumpModule -mt . \\ COMMAND: syncblk. !SyncBlk [-all | ] A SyncBlock is a holder for extra information that doesn't need to be created for every object. It can hold COM Interop data, HashCodes, and locking information for thread-safe operations. When called without arguments, !SyncBlk will print the list of SyncBlocks corresponding to objects that are owned by a thread. For example, a lock(MyObject) { .... } statement will set MyObject to be owned by the current thread. A SyncBlock will be created for MyObject, and the thread ownership information stored there (this is an oversimplification, see NOTE below). If another thread tries to execute the same code, they won't be able to enter the block until the first thread exits. This makes !SyncBlk useful for detecting managed deadlocks. Consider that the following code is executed by Threads A & B: Resource r1 = new Resource(); Resource r2 = new Resource(); ... lock(r1) lock(r2) { { lock(r2) lock(r1) { { ... ... } } } } This is a deadlock situation, as Thread A could take r1, and Thread B r2, leaving both threads with no option but to wait forever in the second lock statement. !SyncBlk will detect this with the following output: 0:003> !syncblk Index SyncBlock MonitorHeld Recursion Owning Thread Info SyncBlock Owner 238 001e40ec 3 1 001e4e60 e04 3 00a7a194 Resource 239 001e4124 3 1 001e5980 ab8 4 00a7a1a4 Resource It means that Thread e04 owns object 00a7a194, and Thread ab8 owns object 00a7a1a4. Combine that information with the call stacks of the deadlock: (threads 3 and 4 have similar output) 0:003> k ChildEBP RetAddr 0404ea04 77f5c524 SharedUserData!SystemCallStub+0x4 0404ea08 77e75ee0 ntdll!NtWaitForMultipleObjects+0xc 0404eaa4 5d9de9d6 KERNEL32!WaitForMultipleObjectsEx+0x12c 0404eb38 5d9def80 clr!Thread::DoAppropriateAptStateWait+0x156 0404ecc4 5d9dd8bb clr!Thread::DoAppropriateWaitWorker+0x360 0404ed20 5da628dd clr!Thread::DoAppropriateWait+0xbb 0404ede4 5da4e2e2 clr!CLREvent::Wait+0x29d 0404ee70 5da4dd41 clr!AwareLock::EnterEpilog+0x132 0404ef34 5da4efa3 clr!AwareLock::Enter+0x2c1 0404f09c 5d767880 clr!AwareLock::Contention+0x483 0404f1c4 03f00229 clr!JITutil_MonContention+0x2c0 0404f1f4 5b6ef077 image00400000!Worker.Work()+0x79 ... By looking at the code corresponding to Worker.Work()+0x79 (run "!u 03f00229"), you can see that thread 3 is attempting to acquire the Resource 00a7a1a4, which is owned by thread 4. NOTE: It is not always the case that a SyncBlock will be created for every object that is locked by a thread. In version 2.0 of the CLR and above, a mechanism called a ThinLock will be used if there is not already a SyncBlock for the object in question. ThinLocks will not be reported by the !SyncBlk command. You can use "!DumpHeap -thinlock" to list objects locked in this way. \\ COMMAND: dumpmt. !DumpMT [-MD] Examine a MethodTable. Each managed object has a MethodTable pointer at the start. If you pass the "-MD" flag, you'll also see a list of all the methods defined on the object. \\ COMMAND: dumpclass. !DumpClass The EEClass is a data structure associated with an object type. !DumpClass will show attributes, as well as list the fields of the type. The output is similar to !DumpObj. Although static field values will be displayed, non-static values won't because you need an instance of an object for that. You can get an EEClass to look at from !DumpMT, !DumpObj, !Name2EE, and !Token2EE among others. \\ COMMAND: dumpmd. !DumpMD This command lists information about a MethodDesc. You can use !IP2MD to turn a code address in a managed function into a MethodDesc: 0:000> !dumpmd 902f40 Method Name: Mainy.Main() Class: 03ee1424 MethodTable: 009032d8 mdToken: 0600000d Module: 001caa78 IsJitted: yes CodeAddr: 03ef00b8 If IsJitted is "yes," you can run !U on the CodeAddr pointer to see a disassembly of the JITTED code. You can also call !DumpClass, !DumpMT, !DumpModule on the Class, MethodTable and Module fields above. \\ COMMAND: token2ee. !Token2EE This function allows you to turn a metadata token into a MethodTable or MethodDesc. Here is an example showing class tokens being resolved: 0:000> !token2ee unittest.exe 02000003 Module: 001caa38 Token: 0x02000003 MethodTable: 0090375c EEClass: 03ee1ae0 Name: Bank 0:000> !token2ee image00400000 02000004 Module: 001caa38 Token: 0x02000004 MethodTable: 009038ec EEClass: 03ee1b84 Name: Customer The module you are "browsing" with Token2EE needs to be loaded in the process. This function doesn't see much use, especially since a tool like ILDASM can show the mapping between metadata tokens and types/methods in a friendlier way. But it could be handy sometimes. You can pass "*" for to find what that token maps to in every loaded managed module. can also be the debugger's name for a module, such as mscorlib or image00400000. \\ COMMAND: eeversion. !EEVersion This prints the Common Language Runtime version. It also tells you if the code is running in "Workstation" or "Server" mode, a distinction which affects the garbage collector. The most apparent difference in the debugger is that in "Server" mode there is one dedicated garbage collector thread per CPU. A handy supplement to this function is to also run "lm v m clr". That will provide more details about the CLR, including where clr.dll is loaded from. \\ COMMAND: dumpmodule. !DumpModule [-mt] You can get a Module address from !DumpDomain, !DumpAssembly and other functions. Here is sample output: 0:000> !DumpModule 1caa50 Name: C:\pub\unittest.exe Attributes: PEFile Assembly: 001ca248 LoaderHeap: 001cab3c TypeDefToMethodTableMap: 03ec0010 TypeRefToMethodTableMap: 03ec0024 MethodDefToDescMap: 03ec0064 FieldDefToDescMap: 03ec00a4 MemberRefToDescMap: 03ec00e8 FileReferencesMap: 03ec0128 AssemblyReferencesMap: 03ec012c MetaData start address: 00402230 (1888 bytes) The Maps listed map metadata tokens to CLR data structures. Without going into too much detail, you can examine memory at those addresses to find the appropriate structures. For example, the TypeDefToMethodTableMap above can be examined: 0:000> dd 3ec0010 03ec0010 00000000 00000000 0090320c 0090375c 03ec0020 009038ec ... This means TypeDef token 2 maps to a MethodTable with the value 0090320c. You can run !DumpMT to verify that. The MethodDefToDescMap takes a MethodDef token and maps it to a MethodDesc, which can be passed to !DumpMD. There is a new option "-mt", which will display the types defined in a module, and the types referenced by the module. For example: 0:000> !dumpmodule -mt 1aa580 Name: C:\pub\unittest.exe ...... MetaData start address: 0040220c (1696 bytes) Types defined in this module MT TypeDef Name -------------------------------------------------------------------------- 030d115c 0x02000002 Funny 030d1228 0x02000003 Mainy Types referenced in this module MT TypeRef Name -------------------------------------------------------------------------- 030b6420 0x01000001 System.ValueType 030b5cb0 0x01000002 System.Object 030fceb4 0x01000003 System.Exception 0334e374 0x0100000c System.Console 03167a50 0x0100000e System.Runtime.InteropServices.GCHandle 0336a048 0x0100000f System.GC \\ COMMAND: threadpool. !ThreadPool This command lists basic information about the ThreadPool, including the number of work requests in the queue, number of completion port threads, and number of timers. \\ COMMAND: dumpassembly. !DumpAssembly Example output: 0:000> !dumpassembly 1ca248 Parent Domain: 0014f000 Name: C:\pub\unittest.exe ClassLoader: 001ca060 Module Name 001caa50 C:\pub\unittest.exe An assembly can consist of multiple modules, and those will be listed. You can get an Assembly address from the output of !DumpDomain. \\ COMMAND: dumpruntimetypes. !DumpRuntimeTypes !DumpRuntimeTypes finds all System.RuntimeType objects in the gc heap and prints the type name and MethodTable they refer too. Sample output: Address Domain MT Type Name ------------------------------------------------------------------------------ a515f4 14a740 5baf8d28 System.TypedReference a51608 14a740 5bb05764 System.Globalization.BaseInfoTable a51958 14a740 5bb05b24 System.Globalization.CultureInfo a51a44 14a740 5bb06298 System.Globalization.GlobalizationAssembly a51de0 14a740 5bb069c8 System.Globalization.TextInfo a56b98 14a740 5bb12d28 System.Security.Permissions.HostProtectionResource a56bbc 14a740 5baf7248 System.Int32 a56bd0 14a740 5baf3fdc System.String a56cfc 14a740 5baf36a4 System.ValueType ... This command will print a "?" in the domain column if the type is loaded into multiple AppDomains. For example: 0:000> !DumpRuntimeTypes Address Domain MT Type Name ------------------------------------------------------------------------------ 28435a0 ? 3f6a8c System.TypedReference 28435b4 ? 214d6c System.ValueType 28435c8 ? 216314 System.Enum 28435dc ? 2147cc System.Object 284365c ? 3cd57c System.IntPtr 2843670 ? 3feaac System.Byte 2843684 ? 23a544c System.IEquatable`1[[System.IntPtr, mscorlib]] 2843784 ? 3c999c System.Int32 2843798 ? 3caa04 System.IEquatable`1[[System.Int32, mscorlib]] \\ COMMAND: dumpsig. !DumpSig This command dumps the signature of a method or field given by . This is useful when you are debugging parts of the runtime which returns a raw PCCOR_SIGNATURE structure and need to know what its contents are. Sample output for a method: 0:000> !dumpsig 0x000007fe`ec20879d 0x000007fe`eabd1000 [DEFAULT] [hasThis] Void (Boolean,String,String) The first section of the output is the calling convention. This includes, but is not limited to, "[DEFAULT]", "[C]", "[STDCALL]", "[THISCALL]", and so on. The second portion of the output is either "[hasThis]" or "[explicit]" for whether the method is an instance method or a static method respectively. The third portion of the output is the return value (in this case a "void"). Finally, the method's arguments are printed as the final portion of the output. Sample output for a field: 0:000> !dumpsig 0x000007fe`eb7fd8cd 0x000007fe`eabd1000 [FIELD] ValueClass System.RuntimeTypeHandle !DumpSig will also work with generics. Here is the output for the following function: public A Test(IEnumerable n) 0:000> !dumpsig 00000000`00bc2437 000007ff00043178 [DEFAULT] [hasThis] __Canon (Class System.Collections.Generic.IEnumerable`1<__Canon>) \\ COMMAND: dumpsigelem. !DumpSigElem This command dumps a single element of a signature object. For most circumstances, you should use !DumpSig to look at individual signature objects, but if you find a signature that has been corrupted in some manner you can use !DumpSigElem to read out the valid portions of it. If we look at a valid signature object for a method we see the following: 0:000> !dumpsig 0x000007fe`ec20879d 0x000007fe`eabd1000 [DEFAULT] [hasThis] Void (Boolean,String,String) We can look at the individual elements of this object by adding the offsets into the object which correspond to the return value and parameters: 0:000> !dumpsigelem 0x000007fe`ec20879d+2 0x000007fe`eabd1000 Void 0:000> !dumpsigelem 0x000007fe`ec20879d+3 0x000007fe`eabd1000 Boolean 0:000> !dumpsigelem 0x000007fe`ec20879d+4 0x000007fe`eabd1000 String 0:000> !dumpsigelem 0x000007fe`ec20879d+5 0x000007fe`eabd1000 String We can do something similar for fields. Here is the full signature of a field: 0:000> !dumpsig 0x000007fe`eb7fd8cd 0x000007fe`eabd1000 [FIELD] ValueClass System.RuntimeTypeHandle Using !DumpSigElem we can find the type of the field by adding the offset of it (1) to the address of the signature: 0:000> !dumpsigelem 0x000007fe`eb7fd8cd+1 0x000007fe`eabd1000 ValueClass System.RuntimeTypeHandle !DumpSigElem will also work with generics. Let a function be defined as follows: public A Test(IEnumerable n) The elements of this signature can be obtained by adding offsets into the signature when calling !DumpSigElem: 0:000> !dumpsigelem 00000000`00bc2437+2 000007ff00043178 __Canon 0:000> !dumpsigelem 00000000`00bc2437+4 000007ff00043178 Class System.Collections.Generic.IEnumerable`1<__Canon> The actual offsets that you should add are determined by the contents of the signature itself. By trial and error you should be able to find various elements of the signature. \\ COMMAND: rcwcleanuplist. !RCWCleanupList [address] A RuntimeCallableWrapper is an internal CLR structure used to host COM objects which are exposed to managed code. This is exposed to managed code through the System.__ComObject class, and when objects of this type are collected, and a reference to the underlying COM object is no longer needed, the corresponding RCW is cleaned up. If you are trying to debug an issue related to one of these RCWs, then you can use the !RCWCleanupList function to display which COM objects will be released the next time a cleanup occurs. If given an address, this function will display the RCWCleanupList at that address. If no address is specified, it displays the default cleanup list, printing the wrapper, the context, and the thread of the object. Example: 0:002> !rcwcleanuplist 001c04d0 RuntimeCallableWrappers (RCW) to be cleaned: RCW CONTEXT THREAD Apartment 1d54e0 192008 181180 STA 1d4140 192178 0 MTA 1dff50 192178 0 MTA MTA Interfaces to be released: 2 STA Interfaces to be released: 1 Note that CLR keeps track of which RCWs are bound to which managed objects through the SyncBlock of the object. As such, you can see more information about RCW objects through the !SyncBlk command. You can find more information about RCW cleanup through the !FinalizeQueue command. \\ COMMAND: dumpil. !DumpIL | | | /i !DumpIL prints the IL code associated with a managed method. We added this function specifically to debug DynamicMethod code which was constructed on the fly. Happily it works for non-dynamic code as well. You can use it in four ways: 1) If you have a System.Reflection.Emit.DynamicMethod object, just pass the pointer as the first argument. 2) If you have a DynamicMethodDesc pointer you can use that to print the IL associated with the dynamic method. 3) If you have an ordinary MethodDesc, you can see the IL for that as well, just pass it as the first argument. 4) If you have a pointer directly to the IL, specify /i followed by the the IL address. This is useful for writers of profilers that instrument IL. Note that dynamic IL is constructed a bit differently. Rather than referring to metadata tokens, the IL points to objects in a managed object array. Here is a simple example of the output for a dynamic method: 0:000> !dumpil b741dc This is dynamic IL. Exception info is not reported at this time. If a token is unresolved, run "!do " on the addr given in parenthesis. You can also look at the token table yourself, by running "!DumpArray 00b77388". IL_0000: ldstr 70000002 "Inside invoked method " IL_0005: call 6000003 System.Console.WriteLine(System.String) IL_000a: ldc.i4.1 IL_000b: newarr 2000004 "System.Int32" IL_0010: stloc.0 IL_0011: ldloc.0 IL_0012: ret \\ COMMAND: verifyheap. !VerifyHeap !VerifyHeap is a diagnostic tool that checks the garbage collected heap for signs of corruption. It walks objects one by one in a pattern like this: o = firstobject; while(o != endobject) { o.ValidateAllFields(); o = (Object *) o + o.Size(); } If an error is found, !VerifyHeap will report it. I'll take a perfectly good object and corrupt it: 0:000> !DumpObj a79d40 Name: Customer MethodTable: 009038ec EEClass: 03ee1b84 Size: 20(0x14) bytes (C:\pub\unittest.exe) Fields: MT Field Offset Type Attr Value Name 009038ec 4000008 4 CLASS instance 00a79ce4 name 009038ec 4000009 8 CLASS instance 00a79d2c bank 009038ec 400000a c System.Boolean instance 1 valid 0:000> ed a79d40+4 01 (change the name field to the bogus pointer value 1) 0:000> !VerifyHeap object 01ee60dc: bad member 00000003 at 01EE6168 Last good object: 01EE60C4. If this gc heap corruption exists, there is a serious bug in your own code or in the CLR. In user code, an error in constructing PInvoke calls can cause this problem, and running with Managed Debugging Assistants is advised. If that possibility is eliminated, consider contacting Microsoft Product Support for help. \\ COMMAND: verifyobj. !VerifyObj !VerifyObj is a diagnostic tool that checks the object that is passed as an argument for signs of corruption. 0:002> !verifyobj 028000ec object 0x28000ec does not have valid method table 0:002> !verifyobj 0680017c object 0x680017c: bad member 00000001 at 06800184 \\ COMMAND: findroots. !FindRoots -gen | -gen any | The "-gen" form causes the debugger to break in the debuggee on the next collection of the specified generation. The effect is reset as soon as the break occurs, in other words, if you need to break on the next collection you would need to reissue the command. The last form of this command is meant to be used after the break caused by the other forms has occurred. Now the debuggee is in the right state for !FindRoots to be able to identify roots for objects from the current condemned generations. !FindRoots is a diagnostic command that is meant to answer the following question: "I see that GCs are happening, however my objects have still not been collected. Why? Who is holding onto them?" The process of answering the question would go something like this: 1. Find out the generation of the object of interest using the !GCWhere command, say it is gen 1: !GCWhere 2. Instruct the runtime to stop the next time it collects that generation using the !FindRoots command: !FindRoots -gen 1 g 3. When the next GC starts, and has proceeded past the mark phase a CLR notification will cause a break in the debugger: (fd0.ec4): CLR notification exception - code e0444143 (first chance) CLR notification: GC - end of mark phase. Condemned generation: 1. 4. Now we can use the !FindRoots to find out the cross generational references to the object of interest. In other words, even if the object is not referenced by any "proper" root it may still be referenced by an older object (from an older generation), from a generation that has not yet been scheduled for collection. At this point !FindRoots will search those older generations too, and report those roots. 0:002> !findroots 06808094 older generations::Root: 068012f8(AAA.Test+a)-> 06808094(AAA.Test+b) \\ COMMAND: heapstat. !HeapStat [-inclUnrooted | -iu] This command shows the generation sizes for each heap and the total, how much free space there is in each generation on each heap. If the -inclUnrooted option is specified the report will include information about the managed objects from the GC heap that are not rooted anymore. Sample output: 0:002> !heapstat Heap Gen0 Gen1 Gen2 LOH Heap0 177904 12 306956 8784 Heap1 159652 12 12 16 Total 337556 24 306968 8800 Free space: Percentage Heap0 28 12 12 64 SOH: 0% LOH: 0% Heap1 104 12 12 16 SOH: 0% LOH:100% Total 132 24 24 80 0:002> !heapstat -inclUnrooted Heap Gen0 Gen1 Gen2 LOH Heap0 177904 12 306956 8784 Heap1 159652 12 12 16 Total 337556 24 306968 8800 Free space: Percentage Heap0 28 12 12 64 SOH: 0% LOH: 0% Heap1 104 12 12 16 SOH: 0% LOH:100% Total 132 24 24 80 Unrooted objects: Percentage Heap0 152212 0 306196 0 SOH: 94% LOH: 0% Heap1 155704 0 0 0 SOH: 97% LOH: 0% Total 307916 0 306196 0 The percentage column contains a breakout of free or unrooted bytes to total bytes. \\ COMMAND: analyzeoom. !AnalyzeOOM !AnalyzeOOM displays the info of the last OOM occured on an allocation request to the GC heap (in Server GC it displays OOM, if any, on each GC heap). To see the managed exception(s) use the !Threads command which will show you managed exception(s), if any, on each managed thread. If you do see an OutOfMemoryException exception you can use the !PrintException command on it. To get the full callstack use the "kb" command in the debugger for that thread. For example, to display thread 3's stack use ~3kb. OOM exceptions could be because of the following reasons: 1) allocation request to GC heap in which case you will see JIT_New* on the call stack because managed code called new. 2) other runtime allocation failure for example, failure to expand the finalize queue when GC.ReRegisterForFinalize is called. 3) some other code you use throws a managed OOM exception for example, some .NET framework code converts a native OOM exception to managed and throws it. The !AnalyzeOOM command aims to help you with investigating 1) which is the most difficult because it requires some internal info from GC. The only exception is we don't support allocating objects larger than 2GB on CLR v2.0 or prior. And this command will not display any managed OOM because we will throw OOM right away instead of even trying to allocate it on the GC heap. There are 2 legitimate scenarios where GC would return OOM to allocation requests - one is if the process is running out of VM space to reserve a segment; the other is if the system is running out physical memory (+ page file if you have one) so GC can not commit memory it needs. You can look at these scenarios by using performance counters or debugger commands. For example for the former scenario the "!address -summary" debugger command will show you the largest free region in the VM. For the latter scenario you can look at the "Memory\% Committed Bytes In Use" see if you are running low on commit space. One important thing to keep in mind is when you do this kind of memory analysis it could an aftereffect and doesn't completely agree with what this command tells you, in which case the command should be respected because it truly reflects what happened during GC. The other cases should be fairly obvious from the callstack. Sample output: 0:011> !ao ---------Heap 2 --------- Managed OOM occured after GC #28 (Requested to allocate 1234 bytes) Reason: Didn't have enough memory to commit Detail: SOH: Didn't have enough memory to grow the internal GC datastructures (800000 bytes) - on GC entry available commit space was 500 MB ---------Heap 4 --------- Managed OOM occured after GC #12 (Requested to allocate 100000 bytes) Reason: Didn't have enough memory to allocate an LOH segment Detail: LOH: Failed to reserve memory (16777216 bytes) \\ COMMAND: gcwhere. !GCWhere !GCWhere displays the location in the GC heap of the argument passed in. 0:002> !GCWhere 02800038 Address Gen Heap segment begin allocated size 02800038 2 0 02800000 02800038 0282b740 12 When the argument lies in the managed heap, but is not a valid *object* address the "size" is displayed as 0: 0:002> !GCWhere 0280003c Address Gen Heap segment begin allocated size 0280003c 2 0 02800000 02800038 0282b740 0 \\ COMMAND: listnearobj. !ListNearObj !ListNearObj is a diagnostic tool that displays the object preceeding and succeeding the address passed in: The command looks for the address in the GC heap that looks like a valid beginning of a managed object (based on a valid method table) and the object following the argument address. 0:002> !ListNearObj 028000ec Before: 0x28000a4 72 (0x48 ) System.StackOverflowException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency confirmed. 0:002> !ListNearObj 028000f0 Before: 0x28000ec 72 (0x48 ) System.ExecutionEngineException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency confirmed. The command considers the heap as "locally consistent" if: prev_obj_addr + prev_obj_size = arg_addr && arg_obj + arg_size = next_obj_addr OR prev_obj_addr + prev_obj_size = next_obj_addr When the condition is not satisfied: 0:002> !lno 028000ec Before: 0x28000a4 72 (0x48 ) System.StackOverflowException After: 0x2800134 72 (0x48 ) System.Threading.ThreadAbortException Heap local consistency not confirmed. \\ COMMAND: dumplog. !DumpLog [-addr ] [] To aid in diagnosing hard-to-reproduce stress failures, the CLR team added an in-memory log capability. The idea was to avoid using locks or I/O which could disturb a fragile repro environment. The !DumpLog function allows you to write that log out to a file. If no Filename is specified, the file "Stresslog.txt" in the current directory is created. The optional argument addr allows one to specify a stress log other then the default one. 0:000> !DumpLog Attempting to dump Stress log to file 'StressLog.txt' ................. SUCCESS: Stress log dumped To turn on the stress log, set the following registry keys under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework: (DWORD) StressLog = 1 (DWORD) LogFacility = 0xffffffbf (this is a bit mask, almost all logging is on. This is also the default value if the key isn't specified) (DWORD) StressLogSize = 65536 (this is the default value if the key isn't specified) (DWORD) LogLevel = 6 (this is the default value if the key isn't specified. The higher the number the more detailed logs are generated. The maximum value is decimal 10) StressLogSize is the size in bytes of the in-memory log allocated for each thread in the process. In the case above, each thread gets a 64K log. You could increase this to get more logging, but more memory will be required for this log in the process. For example, 20 threads with 524288 bytes per thread has a memory demand of 10 Megabytes. The stress log is circular so new entries will replace older ones on threads which have reached their buffer limit. The log facilities are defined as follows: GC 0x00000001 GCINFO 0x00000002 STUBS 0x00000004 JIT 0x00000008 LOADER 0x00000010 METADATA 0x00000020 SYNC 0x00000040 EEMEM 0x00000080 GCALLOC 0x00000100 CORDB 0x00000200 CLASSLOADER 0x00000400 CORPROF 0x00000800 REMOTING 0x00001000 DBGALLOC 0x00002000 EH 0x00004000 ENC 0x00008000 ASSERT 0x00010000 VERIFIER 0x00020000 THREADPOOL 0x00040000 GCROOTS 0x00080000 INTEROP 0x00100000 MARSHALER 0x00200000 IJW 0x00400000 ZAP 0x00800000 STARTUP 0x01000000 APPDOMAIN 0x02000000 CODESHARING 0x04000000 STORE 0x08000000 SECURITY 0x10000000 LOCKS 0x20000000 BCL 0x40000000 Here is some sample output: 3560 9.981137099 : `SYNC` RareEnablePremptiveGC: entering. Thread state = a030 3560 9.981135033 : `GC`GCALLOC`GCROOTS` ========== ENDGC 4194 (gen = 2, collect_classes = 0) ==========={ 3560 9.981125826 : `GC` Segment mem 00C61000 alloc = 00D071F0 used 00D09254 committed 00D17000 3560 9.981125726 : `GC` Generation 0 [00CED07C, 00000000 ] cur = 00000000 3560 9.981125529 : `GC` Generation 1 [00CED070, 00000000 ] cur = 00000000 3560 9.981125103 : `GC` Generation 2 [00C61000, 00000000 ] cur = 00000000 3560 9.981124963 : `GC` GC Heap 00000000 3560 9.980618994 : `GC`GCROOTS` GcScanHandles (Promotion Phase = 0) The first column is the OS thread ID for the thread appending to the log, the second column is the timestamp, the third is the facility category for the log entry, and the fourth contains the log message. The facility field is expressed as `facility1`facility2`facility3`. This facilitates the creation of filters for displaying only specific message categories. To make sense of this log, you would probably want the Shared Source CLI to find out exactly where the log comes from. \\ COMMAND: findappdomain. !FindAppDomain !FindAppDomain will attempt to resolve the AppDomain of an object. For example, using an Object Pointer from the output of !DumpStackObjects: 0:000> !findappdomain 00a79d98 AppDomain: 0014f000 Name: unittest.exe ID: 1 You can find out more about the AppDomain with the !DumpDomain command. Not every object has enough clues about it's origin to determine the AppDomain. Objects with Finalizers are the easiest case, as the CLR needs to be able to call those when an AppDomain shuts down. \\ COMMAND: savemodule. !SaveModule This command allows you to take a image loaded in memory and write it to a file. This is especially useful if you are debugging a full memory dump, and don't have the original DLLs or EXEs. This is most often used to save a managed binary to a file, so you can disassemble the code and browse types with ILDASM. The base address of an image can be found with the "LM" debugger command: 0:000> lm start end module name 00400000 00408000 image00400000 (deferred) 10200000 102ac000 MSVCR80D (deferred) 5a000000 5a0b1000 mscoree (deferred) 5a140000 5a29e000 clrjit (deferred) 5b660000 5c440000 mscorlib_dll (deferred) 5d1d0000 5e13c000 clr (deferred) ... If I wanted to save a copy of clr.dll, I could run: 0:000> !SaveModule 5d1d0000 c:\pub\out.tmp 4 sections in file section 0 - VA=1000, VASize=e82da9, FileAddr=400, FileSize=e82e00 section 1 - VA=e84000, VASize=24d24, FileAddr=e83200, FileSize=ec00 section 2 - VA=ea9000, VASize=5a8, FileAddr=e91e00, FileSize=600 section 3 - VA=eaa000, VASize=c183c, FileAddr=e92400, FileSize=c1a00 The diagnostic output indicates that the operation was successful. If c:\pub\out.tmp already exists, it will be overwritten. \\ COMMAND: gchandles. !GCHandles [-type handletype] [-stat] [-perdomain] !GCHandles provides statistics about GCHandles in the process. Paremeters: stat - Only display the statistics and not the list of handles and what they point to. perdomain - Break down the statistics by the app domain in which the handles reside. type - A type of handle to filter it by. The handle types are: Pinned RefCounted WeakShort WeakLong Strong Variable AsyncPinned SizedRef Sometimes the source of a memory leak is a GCHandle leak. For example, code might keep a 50 Megabyte array alive because a strong GCHandle points to it, and the handle was discarded without freeing it. The most common handles are "Strong Handles," which keep the object they point to alive until the handle is explicitly freed. "Pinned Handles" are used to prevent the garbage collector from moving an object during collection. These should be used sparingly, and for short periods of time. If you don't follow that precept, the gc heap can become very fragmented. Here is sample output from a very simple program. Note that the "RefCount" field only applies to RefCount Handles, and this field will contain the reference count: 0:000> !GCHandles Handle Type Object Size RefCount Type 001611c0 Strong 01d00b58 84 System.IndexOutOfRangeException 001611c4 Strong 01d00b58 84 System.IndexOutOfRangeException 001611c8 Strong 01d1b48c 40 System.Diagnostics.LogSwitch 001611d0 Strong 01cfd2c0 36 System.Security.PermissionSet 001611d4 Strong 01cf7484 56 System.Object[] 001611d8 Strong 01cf1238 32 System.SharedStatics 001611dc Strong 01cf11c8 84 System.Threading.ThreadAbortException 001611e0 Strong 01cf1174 84 System.Threading.ThreadAbortException 001611e4 Strong 01cf1120 84 System.ExecutionEngineException 001611e8 Strong 01cf10cc 84 System.StackOverflowException 001611ec Strong 01cf1078 84 System.OutOfMemoryException 001611f0 Strong 01cf1024 84 System.Exception 001611f8 Strong 01cf2068 48 System.Threading.Thread 001611fc Strong 01cf1328 112 System.AppDomain 001613ec Pinned 02cf3268 8176 System.Object[] 001613f0 Pinned 02cf2258 4096 System.Object[] 001613f4 Pinned 02cf2038 528 System.Object[] 001613f8 Pinned 01cf121c 12 System.Object 001613fc Pinned 02cf1010 4116 System.Object[] Statistics: MT Count TotalSize Class Name 563266dc 1 12 System.Object 56329708 1 32 System.SharedStatics 5632bc38 1 36 System.Security.PermissionSet 5635f934 1 40 System.Diagnostics.LogSwitch 5632759c 1 48 System.Threading.Thread 5632735c 1 84 System.ExecutionEngineException 56327304 1 84 System.StackOverflowException 563272ac 1 84 System.OutOfMemoryException 563270c4 1 84 System.Exception 56328914 1 112 System.AppDomain 56335f78 2 168 System.IndexOutOfRangeException 563273b4 2 168 System.Threading.ThreadAbortException 563208d0 5 16972 System.Object[] Total 19 objects Handles: Strong Handles: 14 Pinned Handles: 5 \\ COMMAND: gchandleleaks. !GCHandleLeaks This command is an aid in tracking down GCHandle leaks. It searches all of memory for any references to the Strong and Pinned GCHandles in the process, and reports what it found. If a handle is found, you'll see the address of the reference. This might be a stack address or a field within an object, for example. If a handle is not found in memory, you'll get notification of that too. The command has diagnostic output which doesn't need to be repeated here. One thing to keep in mind is that anytime you search all of memory for a value, you can get false positives because even though the value was found, it might be garbage in that no code knows about the address. You can also get false negatives because a user is free to pass that GCHandle to unmanaged code that might store the handle in a strange way (shifting bits, for example). For example, a GCHandle valuetype is stored on the stack with the low bit set if it points to a Pinned handle. So !GCHandleLeaks ignores the low bit in it's searches. That said, if a serious leak is going on, you'll get a ever-growing set of handle addresses that couldn't be found. \\ COMMAND: vmmap. !VMMap !VMMap traverses the virtual address space and lists the type of protection applied to each region. Sample output: 0:000> !VMMap Start Stop Length AllocProtect Protect State Type 00000000-0000ffff 00010000 NA Free 00010000-00011fff 00002000 RdWr RdWr Commit Private 00012000-0001ffff 0000e000 NA Free 00020000-00020fff 00001000 RdWr RdWr Commit Private 00021000-0002ffff 0000f000 NA Free 00030000-00030fff 00001000 RdWr Reserve Private ... \\ COMMAND: vmstat. !VMStat Provides a summary view of the virtual address space, ordered by each type of protection applied to that memory (free, reserved, committed, private, mapped, image). The TOTAL column is (AVERAGE * BLK COUNT). Sample output below: 0:000> !VMStat ~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~ ~~~~~~~~~ ~~~~~ TYPE MINIMUM MAXIMUM AVERAGE BLK COUNT TOTAL Free: Small 4,096 65,536 48,393 27 1,306,611 Medium 139,264 528,384 337,920 4 1,351,680 Large 6,303,744 974,778,368 169,089,706 12 2,029,076,472 Summary 4,096 974,778,368 47,249,646 43 2,031,734,778 Reserve: Small 4,096 65,536 43,957 41 1,802,237 Medium 249,856 1,019,904 521,557 6 3,129,342 Large 2,461,696 16,703,488 11,956,224 3 35,868,672 Summary 4,096 16,703,488 816,005 50 40,800,250 \\ COMMAND: procinfo. !ProcInfo [-env] [-time] [-mem] !ProcInfo lists the environment variables for the process, kernel CPU time, as well as memory usage statistics. \\ COMMAND: histinit. !HistInit Before running any of the Hist - family commands you need to initialize the SOS structures from the stress log saved in the debuggee. This is achieved by the HistInit command. Sample output: 0:001> !HistInit Attempting to read Stress log STRESS LOG: facilitiesToLog = 0xffffffff levelToLog = 6 MaxLogSizePerThread = 0x10000 (65536) MaxTotalLogSize = 0x1000000 (16777216) CurrentTotalLogChunk = 9 ThreadsWithLogs = 3 Clock frequency = 3.392 GHz Start time 15:26:31 Last message time 15:26:56 Total elapsed time 25.077 sec ..................................... ---------------------------- 2407 total entries ----------------------------- SUCCESS: GCHist structures initialized \\ COMMAND: histobjfind. !HistObjFind To examine log entries related to an object whose present address is known one would use this command. The output of this command contains all entries that reference the object: 0:003> !HistObjFind 028970d4 GCCount Object Message --------------------------------------------------------- 2296 028970d4 Promotion for root 01e411b8 (MT = 5b6c5cd8) 2296 028970d4 Relocation NEWVALUE for root 00223fc4 2296 028970d4 Relocation NEWVALUE for root 01e411b8 ... 2295 028970d4 Promotion for root 01e411b8 (MT = 5b6c5cd8) 2295 028970d4 Relocation NEWVALUE for root 00223fc4 2295 028970d4 Relocation NEWVALUE for root 01e411b8 ... \\ COMMAND: histroot. !HistRoot The root value obtained from !HistObjFind can be used to track the movement of an object through the GCs. HistRoot provides information related to both promotions and relocations of the root specified as the argument. 0:003> !HistRoot 01e411b8 GCCount Value MT Promoted? Notes --------------------------------------------------------- 2296 028970d4 5b6c5cd8 yes 2295 028970d4 5b6c5cd8 yes 2294 028970d4 5b6c5cd8 yes 2293 028970d4 5b6c5cd8 yes 2292 028970d4 5b6c5cd8 yes 2291 028970d4 5b6c5cd8 yes 2290 028970d4 5b6c5cd8 yes 2289 028970d4 5b6c5cd8 yes 2288 028970d4 5b6c5cd8 yes 2287 028970d4 5b6c5cd8 yes 2286 028970d4 5b6c5cd8 yes 2285 028970d4 5b6c5cd8 yes 322 028970e8 5b6c5cd8 yes Duplicate promote/relocs ... \\ COMMAND: histobj. !HistObj This command examines all stress log relocation records and displays the chain of GC relocations that may have led to the address passed in as an argument. Conceptually the output is: GenN obj_address root1, root2, root3, GenN-1 prev_obj_addr root1, root2, GenN-2 prev_prev_oa root1, root4, ... Sample output: 0:003> !HistObj 028970d4 GCCount Object Roots --------------------------------------------------------- 2296 028970d4 00223fc4, 01e411b8, 2295 028970d4 00223fc4, 01e411b8, 2294 028970d4 00223fc4, 01e411b8, 2293 028970d4 00223fc4, 01e411b8, 2292 028970d4 00223fc4, 01e411b8, 2291 028970d4 00223fc4, 01e411b8, 2290 028970d4 00223fc4, 01e411b8, 2289 028970d4 00223fc4, 01e411b8, 2288 028970d4 00223fc4, 01e411b8, 2287 028970d4 00223fc4, 01e411b8, 2286 028970d4 00223fc4, 01e411b8, 2285 028970d4 00223fc4, 01e411b8, 322 028970d4 01e411b8, 0 028970d4 \\ COMMAND: histclear. !HistClear This command releases any resources used by the Hist-family of commands. Generally there's no need to call this explicitly, as each HistInit will first cleanup the previous resources. 0:003> !HistClear Completed successfully. \\ COMMAND: dumprcw. !DumpRCW This command lists information about a Runtime Callable Wrapper. You can use !DumpObj to obtain the RCW address corresponding to a managed object. The output contains all COM interface pointers that the RCW holds on to, which is useful for investigating lifetime issues of interop-heavy applications. \\ COMMAND: dumpccw. !DumpCCW This command lists information about a COM Callable Wrapper. You can use !DumpObj to obtain the CCW address corresponding to a managed object or pass a COM interface pointer to which the object has been marshaled. The output contains the COM reference count of the CCW, which is useful for investigating lifetime issues of interop-heavy applications. \\  00 000 0$0(0,0@0D0H0 x1|1111111111102222222222222222255555555555555555555555666 66666 6$6(6,6064686<6@6D6H6L6P6T6X6\6`6@ 3 3P\88888888888888888888999 99999 9$9(9,9094989<9@9D9H9L9P9`82<2d>> > H9L9P9T9X9\9`9d9h9l9p9t9x9|9999999999999999999999999999999::: ::::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|::::::::::::<< <$<(<,<0<4<8<<<@ >>>$>,>4><>D>L>T>\>d>l>t>|>>>>>>>>>>>>>? ??$?(?,?0?4?8?> >$>(>,>D>H>X>\>d>|>>>>>>>>>>>>>? ?$?4?8?>J?_?????????0v00000000111*111P111112D23\4)55768C8`88888888)999999990:<:K:s:{:::;;;;;;< <<=$=2=8=O=U=g=n=y========+>1>?>H>Z>_>e>z>>>>>>0?6?E?O?w?~?0050?0K0Q0_0e00000000111`111233!343>3333333442484Q4W444444444455!5/5555555555c6i6w66667,7U7Z7788,828m8s8888889991979d9l999999999 ::::: :$:(:t:x:|::::::::::;;;;;;;;<<<"<0<6>>0>7>@>H>a>g>>>??m?u?????0%0G0R0j0u000000011O1n1|11111122/2G2T2s222222 3X3334*4@4P4V4c4444 55"5/5|555555666=66O7u77777 8+8I8Y8g8s88888,989I9U9c9j9999999P:\:j:v::::::;;;C;Q;];i;t;;;<^:>W>r>>>>?!?Q?\?a????? w0000000B1J1X1d1111212@22222(3/3A3_3j3333333*484H4444445#5?5M555556F6m6y66666667Q77777777 88@88888U9`9}9999999: :;:B::;=====================4>@>d>p>>>>>>>> ?!?,?k?????00 0.0@0L0W0e0}000000001141M1[1m1y1111111111)2A2S2j2x2222222223333#3A3M3V3]3b333333333333434;4M4a4m4z4445!555A5T5h55555&6666667H78(889&:7:F;U;~;;;">V>c>>>>?F?T???0$00000&151n1u1112#2v222222w44444[5b55555V6]666f7t77777P8W8999,989S999:3:A::::::::R;Y;k;;;;;;<9>?#?(?-?2?X?b?g?l?q?v????0F0b0n0|0000111R2^2l2|222a3333344%434<4L4j44444?5E5a5h5v5555t66666647K777778#88899A9H9c9n999:1:<:::::: ;;Z;;;; <<======L>d>r>>>>>>?????E0Q0_0o0000000E1Q1_1o1{111#292G2222222@3i3333334B4N4\4l444475Y555555O6U66668g8888f9x999999K:_:j::::::;8;?;T;|;;;;<<">>>1>>>S>Z>>>>>>>??%?F?U???60H0e0x0}0000000000001F1T1{1111111111&282V2r222222313O3m3333334464K4l444455R5^5q5~5555555666'6<6C6h666;7h78888999996:H:d:k:::;;;;q<<<<<<=w=~=====>???00N0a0t00001!1111112F2T2k2|22223344(4H444444444444 5565B5Z5b5o5}55555555!616C6Y6t66666667767G7n7777777778,8<8A8G8N88888888 99)9d9t99999999::$:4:E:X:k::::::::;;;";-;>;E;J;U;f;m;r;};;;;;;;;;;;;;;<<<7>>>>>O?a??? p0-0h0o0u0001%1-1G1Q1[1e1o1y1111111111112262H222222222333f3x33333344,4O4Z4k4y4444445(5a5g5|555556,646;6@6G6L6Y6n6z66666747;7Q7p77777 88?8E8Y88888888899;9S9999999::%:D:::::::;%;9;;;;;;;;;;;;;b>?>E>Y>j>o>t>y>>>>>>>>%?s?????0t&080001B111*2F2j222263H333V4h455777e8v99;;<<<=&=`=g===>#>N>U>v>>>>"?6?G?~????@000112F2S2q2x2223C3i3333 4Z4a4q4x455556&6D6h666l7778&899S9e9q999 :0:f:x:::K;|;;;;;;<<<<<<==>>%?9????P040?0r00I1S1z11134]4d44444 55V5p555 6.6<66.7<77778 888'80898B8K8T8X8\8`8d8h8l8p8t88888Z9y::::::t;{;;;;;<<<<=)=8=T=[====>)>9>>>>??(?H?T?????` 0'0Y000 1k1q11`2j2t22222#353@3Z3d3~33333 44[4l444444455r5~555556&686666666 7797@7f7x7778*858e888889'939k999993:L:U:m:x:::: ;;;;;)>0>7>>>E>L>S>Z>x>>>>?g?l?w?|????????p0Z0m00000000 1'1.1:1Z1f1{11111122)2F2X2r2223373U3\3h333333U4\444444V5]55556 6I6P666666&787r777777;8v8888H99&:7:::;;Ny>>>>>>0?7?????001$111112292222223N3V3w33394V444555555566B6J6{6671777F8X8899::*;1;M;T;F=U===>>>>D1111V2e22233';;;< > ??(?W?c????E0l00001<1j112&272A2Z222222?3333 4645=555 6,6p666 7Y777738J8T8m8~88,999~:;f;w;;;&<:<_<}<<< =O=m===== >>@>v>>1?E?|?????(0J0o0001%11111122"2;2D2k22233344l44444455*5=5N5W5_5m6r666666666667777.737@7F7Y7^7j7p777777777777788!8&868F8K8W8m8t88888888888 999"92979M9Z9e999999999999999: ::; ;;(;/;8;I;S;Y;a;s;;;;;;;;;; <<.=>>>>>>>>? ?'?,?I?Z?`?x??????????? 0004080<0@0D0H0L0P0T0X0\0`0d0h0l0p0t0x0|00000000 1&171>1P1h1u1111A2v2222222 3*393T3k3x3~33334(4444 55~5556t6666 7n7718?8888849s999:!:h:::::: ;%;k;;;;<"<<)=9=====>>>>??M?T??? 0G001!11112%233#3I3n333L4S4X4k44444444444444445 5555k5|55566$6-67666666}88899993;<;F;f;o;;;v<<<============>>> >>>>> >$>(>,>0>4>8><>@>D>H>L>G?]?11112)2V2d222223 3+3S3b3|3333334\4n4u4444)5{555h6}6H7Z8t88888889#9A9H99999:::;/;A;S;j;<6>-><>B>a>{>>>e?????0070>0v000001,1I1t11112H2223533334F4X444445D5K5t555c666667'7V7d77799999::;+;X;;;;I(>z>>>>7?>?_???70112213334I4s4444455e6667777 8889&989p999::::0;;;<<.<9$>>>8?C?p?t?x?|??????????d00'0H0T0b0i000L1b1k1t111 2\222222Q33344A578b8i88{9 ::;;<<>K? D 000R1 222R3445(56699: ;y;;;<=L>>>q????0H 0 000233444Z5v7788F9X9#;;;<>>?B?p??@0,0H0Y0g00000 1E1L1c1z1111v22F3e333333444Q4j44444 5*5S5f5t555556#6@6G6v666667#7f7v7778%8^8e8889#9999999:#:::;;^;;;;;&<26>>?C?????Pv00001.11111322222f3u333444444#55555V6e6666777v8888::::;;;;<<<<====>>>1?w???`010W0011 1'112-2<2Q222 3.3K3k3333 4+4G44445?556v666667,7E7Q777788899-9W9::A:H:Z::::;I;;<7>>9?p?}???????p0:0E00001O1]1{111*2e2w33?4N4[4t4444&555W5f5s555555566778!8G8y88889,9]9x9999999 ::+:4:I:\:v::::::;u<<<<=4====K>R>>>????f0x0R1^1l1|11x22>3L3g3n334B4N4\4l444q5x5556(6F6K6P6U6j7{777 8'8^8888]999 ::T:y:::::;H;X;k;p;;;;;;<&*>F>R>o>~>>>>>>? ?7?S?b?n?|??????,0L0a0o00000$1C1K1[111111111 22G2R2s2222222#3E3R3333333 474Y4444444 515>5C5^5r5555556<6f66666677B7M7k7r777778 898n88889?9g9v9}99999::::::m;y;;E<<<=~=====>0>L>s>>>>>?%?M?g?????(0(050H0T0y00000!1I1o11111$2;2c222223>3U3}3333 404X4o44444#5&787Y7y77777848B8Z8g8~88849L9d9|999999 :$:<:T:l:::::;$;+;1;O;W;r;;;;;;;<<<< <$<(<,<0<4<8<<<@2>R>]>>>> ?????F0X000000 1)1>111111122$2?2K2p222222 3303[333 44444456646666 77I7x7}7778M8u8888q9992:9:}::::::w;;;;;-1>A>V>>>>>>>>??"?;?F?P?^?n?w?????????=0T000161H1y111122n2223V3e3{333345%5U5k5555566'6;6_666667767G7~777777778288888T9999:&::::;5;V;;; <5=g===/>6>K>R>a>h>>>>>n?u???????0>000000011h1o111'2N2222222!3(3f3w333444X44444455"5A5T555556666R6666 7977777;8d8y888859;9t999999::&:g::::::: ;;;;;<>O>>?????,0V0~0000,1014181<1@1D1f1x11111122(2m2r2222%3M3u33334=4f4x444445%51565<5B5M5S5^5c5j5s55555626Q6w6666666666677)707@7I7]77777777778#8F8[8{888888/9e9k99999?:E:::::;V;};;;;<<7v>>>"?y???0J0s0000l1y111112]2223i334;4c4445,5[5k55516L6f66667e78 8B8I888888F9u9{9999: :C:\:j:|:::;!;F;d;i;{;;;;; < <%<: >1>U>Z>w>>>?u??k000000001(1?1V1m111112%2R2]2~222 3343f3|3334I4d4x4444J5W5|555&6e6k66787`777888`888888999::,:<::5;;J>>>>+?0?M?????0 0&0-0<0`000001 1x11112E2V2233&3Q333333~444444444444425>5L5\5h55555266J77p8888919N99:O:_::;<;<\>D>q>>>>?,?W?? ,0#0|00000041;11111(2/2d2k2222K3R3333333 4F4X4}444444455[5a5555555555F6X66667777777-8:8U8b88888888 99(939<9E9Q9e9|999999::: :$:(:,:0:4:8:<:@:D:H:L:P:T:X:\:`:d:h:l:p:t:x:|:::W;;;<.:>w>>> ?+?I?_?q????0a00011o1111<2222333464T444446;6i6t6666667I7T7r77778K8{88888 9'9D9K9v9999:!:[::::;3;N;j;u;;; <l>>>>+?\?c???@ V0i00000000011%252:2?2D2I2N2r2~2222233>3C3X3_3y3~33333&484c4m4v444445!5-5A5e566)6666667,7H7l777777@8F8e8z8888889 99999 9$969H9h9u999999 ::?:T::::::;2;9;G;`;;;;;;;;;<z>>(?c?m?r?w?|???????P(06000111@1K1111122$242D2T2d2s2}2344 4$4(4,4044484<4@4V4l44444515X556676>66666f7x7778(8o8v89999k;r;;;;;<4L4W4e4v4444445@5M5v55555566)6C6M6`66666 7)747_777777,8V8e8888888 9)939E9[9b9t999999: ::2::::::;-;>;M;Z;z;;;;<G>c>>>>0?:?p00Q0 112191O1q11122,262_2e2y222,3U3q33333 4)4U4e4}44445F5[5555555566a6666757?7U7`7e7t77788T8Z8o8y88888U9k9s99999:3:@:K:T:a:l:u:|::::::::::::; ;%;M;;;;;;;; <<'$>D>f>>6?d?????'0L0]0000,1p1111111 2?2Z222223333333 42484I4c4m4455#5_5o5555 6696e66666$7J7Z7777"868C888888$9F9X99999999::7:P::::::::%;7;E;N;v;;;;;; f>k>>>>>>?'?U?d?}????,000&0A0K0h000001"181T1j111111111#2l222222223"373A333333$424|4444445:5O5Y555555 6)6p6666B7U777868K8k8x8888888 99E9s9~9999:!:V:h::::::::: ;;);=;};;;;; <"<->Y>>>&?8????????0 000g111125222223-3Y3334 4444A4l4w4455556666666Y7{777!8'8<8F8o8u88888899:Q:i::::::: ;A;i;;;;;;;>q>>>>>?G???4p0w0000 1D1J1_1i11111E2[2c2v2222373M3]3j3z3333333333333444444P4]4v44445 5%5*5/5]555556-6f6x6666667707:7l7777777808f8x8888889909:9999999*:I:::::::;%;6;P;Z;;;;;;1>v>>>>>>??B?a????? 00?0E0V0p0z00011111272L2V222222 3T3q33344a4g4|4444444W5s55636@6R6y6667727y777708?8I8v88888?9Q9\999999%:>:`:k::::;7;A;;;;[>r>>>>>>??R?c???? 00U0[0p0z0000001$101>1E1R1h1~11111112:2222222"3(393S3]3}333445*5r5555556!6F6X6666666727<777783888888889A9a9{9999999 ::e:}::::!;,;p;~;;;;<0<<<<<<<"=(=9=S=]==>!>,>v>>>>>> ??*?7?<>B>W>a>>>>>>?????00 0H0N0a0~0000 1K1P1U1Z1_1d111112'2U2222233;3i333334@4R4]4444445u66666"7D7V7h77777!8J8l8~88888859]9999::/:9:b:h:y:::::7;<:&>;>A>g>>>>??)?3?\?b?s?????^0z000"161=1v1111112%292V2`2223 404H4S4444 55E5^5555&6d66667'7G7W7w777777 88?8E8V8p8z88899@9q9999:(:q:w:::::::;e;;;; >)>3>\>b>s>>>>7?E?t???0;2Q2m222223#3B33333334%464444444444444 5(5f5x555556%6?6\6f667'88888895999/:6:M:T:j::::$;*;?;I;r;x;;;;;8<@<~<<<,=K=======">(>9>S>]>>?0?P?o??? <00)030\0b0v00$1@1\1x1111"2Y2222223f33334R4_4n44444&585~55555556 6(6:6\6x666666666 77&71767;7R7^7g7p77777777777788%898@8e8888899%9/9w9999999999#:2:<:X:m:::s;M<=(=2=8=G=N=T=Z=`=========> >>>>7>O>g>>>>>??[?a?v????????00=0L0U0k0y000000&181q1w11111111 2&2y22222 383>3X3u334+4D4n4444565b55555D6i6!7Z7l777t888e999::,:;:d:k::::;Q;W;l;v;;;;;;5<]<<+=f=n======E>v>>>>e?u????????@$00=0Q0`0o0y000061K111111112 2l222 33*333333 44'474S444445 5$5~55566)666C6P6|6666 7D7J7_7i7777777 8:8d8n88888889%9D9c9w9999999K:^:::::; ;*;4;A;N;[;h;u;;;;;;;&<6+>M>>??,?????P0 0O0U0o000!1n1x11111D223o333 4D4J4_4i4444445=5m555556606X6c6l6v66667(7a7g7|7777778*8f8x88888899@9`9z999: ::(:m:v::::::&;,;;<<<<<<<<<=%=6=P=Z==>>(>L>X>>>>>7?=?R?\?????`\/0000000131I1o1t111111111 222$222<2R2W2\2l2q2v222222222 33$3I3P3w333333333333334444R4Y4c4v4}44444444445V5l5555556616v666666677"737D7U7f7z77778(8a8g8|888888;9\9c99999!:':<:F:l:r::::;%;d;j;;;;;;*t>>>>!?'?/>K>g>>>f? 0$0N0000(1P1\1n1~1111k222 33V3^3s33374<4Y4d44444455S5j5p555555v66f8x88B9I9_999999&:4:M:::;";V;c;;;;;6>>>>? ?6?H?h???????00,0<0000011 191D1O1q1x1112N2t223Q334%4G4a4v4445+555516o667P7W7l777788,8a8h8888899y9999:&:=:D:f:x:::::::;;;';3;@;M;x;};;;; <<G>>??e?x??????40&010<000031i1o1|11111252H2O2j222>3e33333484>4E4[4r4x4444444505F5b5555555 656<6B6^6m6t66666677(7E7N7X7i7p777778(8b8888;9z9999999:):>:Q:a:::::X;;;;;;;;;;;;;;;;<<&<8K>c>o>}>>>>>^?q????<,030L0S000000001g1111111 22242Y2w22222%3m3t3z3333333333 4$454=4k4444445 5:5K5P5b5n5y55556"6-6Q6X6m6w666666787g7m7778#8c8i88888979>9n99999:8::::::;";2;H;c;p;z;;;;;;;;;;<<6>>U????`00$0=0H0R0n0s00000!1'1H1{11111112%262I2P2W2]22222&363O33333333344/4K4Z4e4z44444 55w5556666H6\6666677%7?7N7S7j7777777778)878C8J8q8v8888888888888888888999 99999$9<9U9]9l999999:`::::;;#;P;`;s;;;;;;;ZN>x>>>>>>>?{?????0#0J0k000001111122;3\33333 44W444444555R5Z5h5t5555 66'6K666667"77777B8N8\8l8888899999:?:b:::::::;N;;;; <=<<<<<=+===>4>>>>>>>>>>>?&?8?[???0050f0}0000000;1t11 2292@2i2p22222223 353Q3{33334434U444445C5J5e55555556!6W666666667+7I7P77778a8n88 9A9_9n9x9999999-:I:P:i:~::::::P;;;;;;;<(Z>>>>> ?.?Z???? 0I0P0000081>1K11112<2c22223g333334 44@4g44 5"5E5_5w5555556(6G6666 7Z7v7777(8M888889@9h9o999::-:4:w:::::$;?;F;d;k;;;;;A>x>>>>>??>?R?????0R00011?1E1u1|11112$2n2s2|22222222222222222333 33333 3i3333344*4M4]4e4x444455*5b5n5|555556&666%7B777:8D8s888889D9^9|9999994:E:u:~::::::;?;;;;;0>7>M>a>t>>>>??4?^?j?q????00+0>0^0y000000111%121L1_111"242?2y2222223I3k33333n4u4444:5B5555676Q6a6v666666/7M7}777778D8_8Q9Z9`9q9}9999999: ::":J::::";S;;;;<<<3<=<]3>f>x>>>>>?3?>?????  0&0Q000001'121l1|11111112272x22233P3W333334 4@4G4b4i44444;5J555556*656o6v66677>7a7777788999:::$:+:2::;;&;4;<;];j;;;;;<%<.<4>+>4>>>V>h>>%?s????0u00011122a222223 333 3'3.353<3C3J3Q3`3q333 44444 4$4(4,404F4X444455O5d5r555555666=6g6u6666677[777778;8Z8w8888$9b9i9999:::t;;;;<<%<6x>>>>?1?8???@0\0y00001$1-121C1J1S1u111#2*22233F3s3~333444444555S66666666666666b7u7|77777+8w8|888888889949;999;(;>>>>>? ??7?C?K?S?[?a?n?t?????????????P(0 00(0=0J0S0Y0^0d0w0000c122"3I3b333333333333 44(4D4m4t4{4444444c55557\778888%8,83888B8I8P8W8^8e8j8w8|8888888888 99$9.939G9X9i9z99999999999::):::D:N:S:g:x::::j;;;;;;; <-<<<<<=== >B>^>j>>>>>>??'?F?\?o??????`0N0000011:1U11111112+202S2^2c222223.3\3333334^55R6^6l6|66 77V7777:8y8888q9:6:k::J;x;;;;?p=9999999 ::':-:M:U:c:i:::::::::::;;-;3;I;O;o;w;;;;;;;;;;<<(<5<<>>>>(>.>D>H>L>P>T>X>\>>*?9 <<|==50X0000001O1r1 4*454:4E4m44444444 5G5R5W5_5555555 66M6m7t7777788$818L8R8g8o8~88889999l::;;;;~<<=F>w>|>>>>>>>>>>>>>>>>>>??? ??5?;?N?T????(000b0s0{0000000000011:111111:2K2222 3&3?3X33344<445%5556&6+6D6I6V666666 7G7Y78F88888888888899999$9,949<9H9Q9V9\9f9p99999999999:::::$:+:3:;:C:N:S:Y:c:m:::::;;%>??????0 000%0*03080A0U0]0p0|00000000011L1T1k1q1w11111111111111 22<2b2~23+3N344555+5Z5b5m5s5y555~666666666"717N77777X8a8i88888899929F9:< =T=l=q==>>l011"23333 454v445'5E5S5787?7D7H7L7P7777777q:; ;t;;;;a=======>K>P>T>X>\>024555)5=5S5y55555 66$6)6P6Y6^6c6666666666 777D7L7Q7a7k77777+8@8Z8888888 999+9F9W99`:x:~::::<`09123E33#4G577778!889_9q9v9~9999999a:m:::;;;;===>%>?>R>l>>>?T 00(040@0N0^0s0000000 11*1>1G13Q5(W>\>????-020<0A0L0W0k00`1s11112V2n22N3e33'494q4v44444!50555F5L5W5_5j5p5{555555556/6q6w6666$7*77O8889K9G:[::;;;;;;3?>r>>>>>>??6?O?^?j?x????????0 00*040P0[0`0e00000000001 11/191U1`1e1j11111111#2?2J2O2T2r2222222223'363]3o3{333333333445696i66667>7c7778899D:l;P145 55)505H5O5m57777788899i:;;<<<<>5>>>C????? 001n3t3333333344"4z67F7778[9j9|999999990:7:>:E:_:n:x:::::/;J;\========(>=>K>T>>>> ????A00001K1n111B2I2b2q22223C3U3q33333444444444 55.55r6{6666747<7U7g7s7{77777889`98::::`;;;;H? 66 7'7Q:F;N;;;>00111133:4N4w4778&9a9:8;k;=3??@|11112%22223G3o3333W44<556H66677799:8:X::B;L;v;;;;<<=m======>>Z>s>> ???M???P0`00f111112~222 33S3_3w34I4m4v5555.6E6t666667+7s7S8w88889999Y;u;;;;;;;<<= ===7=?=======@>j>r>>>>>??`x10h00000y112 3&3633444444<5G5R5X5a55555 66=6h6666666 77U8g8y88J99:2:c:;< =#=9=A=pL011p444444 5@5_5u55555555556f6k6}6666i777>00000#0'0+0/03070;0?0C0G0K0O0S0W0[0_0c0g0k0o0s0w0{0000001?1b1112h2;3t33384j4445:555567!7<777 8U888*9999*:]:::::;8;j;;;;;;;2>R>r>>>>>#?J???0b0001:1j1112J2222*3Z3334J44445556=6q6666:7r7777$8T888%9J999:[::::2;Z;;;;4Z>>> ?:?r???x0:0j000"1e111+2d22334J44556667U7778O8a8{888+9b999:*:b::,;Z;;;b<<<=U== >h>?R??xC0j000(1Z1111*2e22223"3B3Q3t333l44 5g55'66607Z778Z889v99':`:::B;;>>&?p??60b001Z11C222@333F4445l55C6z66"7j778G889H9{999:!:H:r::::2;u;;e>>>*?Z???p+0b0001B1111!2a222P33P444W55556666F6R6j6w6~6666666777%7)7F7R7d7h7u7y77777778<8D8L8T8\8d8l8t8|888888889999@9`9h9p9x99999999999::4:@:`:l:::::::: ;D;P;X;p;|;;;;;;;; <<<$<04>@>H>`>l>>>>>>>>>? ?? ?H?l?x????????????0 000$0,040<0H0h0p0x000000000000000001111 1(141T1`11111122202<2\2d2p222222223(3H3P3\3333333333 444$404P4X4`4h4t44444444445 5@5L5l5t5|5555555 6,646<6D6L6T6\6d6l6t6|6666666677<7D7P7p7|7777778 8,8L8X8x88888889 9989@9H9P9\9|999999: :,:4:H:X:`:t:|:::::::::::;;;; ;(;4;T;`;;;;;;;< << 4>D>T>>>>>>>??(?L?X?`?x???????????? $000<0H0p000000001 1(101<1\1h1111111122$202P2\2|22222233343@3`3l3333333344$4D4L4X4x4444444455(505@5H5P5X5\5d5x55555556606<6\6h6666666666667(7L7X7`7x77777777778888<8D8L8X8|88888888888999 9,9P9p9x99999999999::: :(:0:8:@:L:p::::::::::::; ;; ;@;H;P;X;`;h;p;x;;;;;;;;;<<( >D>d>l>t>|>>>>>>>>>>>>>?$?,?4?>>> >8>@>H>T>x>>>>>>>>>>? ?(?0?8?@?L?l?t?|?????????? H0 0080@0H0P0X0`0l0000000001 11 1@1H1P1\111111111112 222$2,242<2D2L2T2`22222222223333<3D3L3T3\3d3l3t3333333334 4,4L4X4x44444444455(50585H5\5|55555555555556$6,646<6D6L6T6\6d6p666666666 7,747<7D7L7T7\7h7777777777778<8D8L8T8\8d8l8t8|88888888889 999(9H9P9X9`9h9p9x99999999999999: :::$:,:4:<:D:L:T:\:d:l:t::::::::::; ;(;4;T;\;d;p;;;;;;;;<<<< <(<0<<<\<>H>P>p>>>>>>>? ?D?P?X?x??????0 0(040<0\000000000011(1H1T1t1|1111111122<2D2P2p2x22222222233$3,383X3`3l333333334 4(404<4`444444444444445 5585D5h55555555555556(60686@6H6P6X6`6l6666666667 77 7@7H7P7X7d7777777788$8D8L8X8x8888888889(909H9P9X9d9999999999::0:<:`::::::::::;;;; ;T;d;;;;;;<<<0<<>(>L>X>`>>>>>>>>>>>? ?@?`?h?l??????@ d0(0H0h000000101P1p11111202P2p222222222222233 3 3(30383<3@3H3\3t3x3` p000 00000 0$0(0,0004080<0@0D0H0L0P0T0X0\0`0d0h00000000000000000000000000000111 11111 1$1(1,1014181<1D1T1d1t11111111122$242D2T2d2t22222222233$343D3T3d3t33333333344$444D4T4d4t44444444455$545D5T5d5t55555555566$646D6T6d6t66666666677$747D7T7d7t77777777788$848D8T8d8t88888888899$949D9T9d9t999999999::$:4:D:T:d:t:::::::::;;$;4;D;T;d;t;;;;;;;;;<<$<4>$>4>D>T>d>t>>>>>>>>>??$?4?D?T?d?t?????????p 00$040D0T0d0t00000000011$141D1T1d1t11111111122$242D2T2d2t22222222233$343D3T3d3t3333333333333334 444$4,444<4D4L4T4\4d4l4t4|444448888888888888999 999,9094989<9@9D9H9L9P9T9X9`9d9 h|99999999999999 ::,:<:L:\:l:|::::::::: ;;,;<;<<<<== =8=D=H=L=h=l= H222222222333333 3$3(3,3@4P4`4|444445,5L5l5 1%0% *H %q0%m10  `He0\ +7N0L0 +70 010  `He 5W4!lXC-v`M64v}J76 q003݃>0  *H  0~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20100 220630173722Z 230630173722Z0g1 0 UUS10U Washington10URedmond10U Microsoft Corporation10U.NET DAC0"0  *H 0 9 }.]+Cv#5a8|?http://www.microsoft.com/pki/certs/MicCodSigPCA_2010-07-06.crt0 U00  *H  &*7;oIT[FO^2ܒ _Pφ^.SBo%d>8I5UARP.Mw_JN4I*⨵NINqJ2?9bhyWoŜ6  -߬MOƚ  o\c9n:מ0ăn9ЏZZLd&HjTgth ">漤ݓ*SO&G4/0p0X a RL0  *H  01 0 UUS10U Washington10URedmond10U Microsoft Corporation1200U)Microsoft Root Certificate Authority 20100 100706204017Z 250706205017Z0~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20100"0  *H 0 dPyg LVhDXOv|mE9eҏDe,U}.+A+KnILk‰q͵K̈k:&?4W]I*.ՅY?+t+;FFIfTUbWrg% 4]^(ղcӲȊ& Y5LR[ HwօGj-\`ƴ*[#_Eo73jMjfcx0ϕ00 +70U_{"XrN!t#20 +7  SubCA0 U0U00U#0Vˏ\bh=[Κ0VUO0M0KIGEhttp://crl.microsoft.com/pki/crl/products/MicRooCerAut_2010-06-23.crl0Z+N0L0J+0>http://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0U 00 +7.00=+1http://www.microsoft.com/PKI/docs/CPS/default.htm0@+042 Legal_Policy_Statement. 0  *H  tWO){xP" 4*,Ͽ4ہ5oywNaZ#bQEg?<09@!)奡i"tGCS0i% moar,iv=Qۦ9H7amS˧a¿⃫k}(QJQlȷJi~IprGc֢DciFz?!{#-A˿Lﱜ"KInv[Sy=s5SP8f3'9x6N_=GS a=*ג,7Z>@B1V$]Qjy{%qDj#u10~00~1 0 UUS10U Washington10URedmond10U Microsoft Corporation1(0&UMicrosoft Code Signing PCA 20103݃>0  `He0 *H  1  +70 +7 10  +70/ *H  1" M6C<3cTۜI)f0B +7 1402Microsofthttp://www.microsoft.com0  *H s^6":b8Iֿ sIn] E^Ƹ943.5нӞi7W33$ԚsW B*)}q(vhB7-5}8Hݧe%3 Wmo,|%"KT1Yrid{S7:Fb"\S_zж)۵wbqY2RJfC[HC ?^KIfdN2B.OԌ;sݡ 0 +710 *H 010  `He0U *H  D@0< +Y 010  `He EbU|9Q9PcsҖf20221214070544.102Z0Ԥ01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U  Microsoft Operations Puerto Rico1&0$U Thales TSS ESN:897A-E356-17011%0#UMicrosoft Time-Stamp Service_003 c0  *H  0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100 220302185128Z 230511185128Z01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U  Microsoft Operations Puerto Rico1&0$U Thales TSS ESN:897A-E356-17011%0#UMicrosoft Time-Stamp Service0"0  *H 0 ɝKZ9u@IK,pl&h5G`r2-c1'd{ >7i۽%{Y-m%(ΦP!îTYqVDyz`4:=@%G_rU'9x5g|ttB#(j44V f'A ~eRx f54D 5jҀa~YUSY&0 )~/lvNZZ[-/&*1QeV\q)(;Z'(3˒~WRmv^ YoNl LcHcd Wl%mQ’`Kx]H6;쳙tqub@kOU6^_nmHV͇u%"?Tcr[֨l;?>э_ :Z\7f{e%a@S)$fy`Yd.rV3]2`3\OfSqZ~JZ6gF# w2`}jRDFkvPDq\Q17 8n&S|9azĪri65&dژ;{3[~Rb%j]SVMݼ㑏9,Qpi 6-p15(㴇$ɏ~TUmh;Fz)7EFn20\O,b͹⍈䖬Jq[g`= s}AFu_4 }~ٞE߶r/}_۪~66L+nQsM7t4G|?Lۯ^s=CN39LBh.QFѽjZasg^(v3rק  co 6d[!]_0tعP a65Gk\RQ]%PzlrRą<7?xE^ڏriƮ{>j.00 +70# +7*RdĚhttp://www.microsoft.com/pki/certs/MicRooCerAut_2010-06-23.crt0  *H  U}*,g1$[rKo\>NGdx=139q6?dl|u9m1lѡ"fg:SMݘx6.Vi {jo)n?Hum m#TxSu$Wݟ=heV(U'$@]='@8)üTB  jBRu6as.,k{n?, x鑲[It 쑀=J>f;O2ٖtLrou04zP X@1Q{p( 6ںL 4$5g+ 挙"'B=%tt[jў>~13}{8pDѐȫ::bpcSMmqjU3Xpf0;0Ԥ01 0 UUS10U Washington10URedmond10U Microsoft Corporation1)0'U  Microsoft Operations Puerto Rico1&0$U Thales TSS ESN:897A-E356-17011%0#UMicrosoft Time-Stamp Service# 0+[zn g>P/;\>0~0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20100  *H C.0"20221214095246Z20221215095246Z0w0= +Y 1/0-0 C.0 0C0 E406 +Y 1(0&0  +Y  0 00  *H .GVWւg[+ b 69*tt\!ޜ,ia;JQԉ`e="s\ :/wrgQtIdSHv(1L΅qk00σ&1 0 00|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103 c0  `HeJ0 *H  1  *H  0/ *H  1" fZ=&jJRyad$FbVu&0 *H  /1000 `Tp+NGG+*S6 W00~0|1 0 UUS10U Washington10URedmond10U Microsoft Corporation1&0$UMicrosoft Time-Stamp PCA 20103 c0" v&.&# :q [k 0  *H  CW" p{gLb@yT^7p11ԉ'<]]|qJdʰSQGXc!v4ԎVV(`"?nôm?@өiPlG*uA EewrWm <@lyܱr5e͝ ~a, 4]V L!L˼T"o'oT?BJM-xy(oV`* {*] l -++]y/:T[n>02[k~A>:>LG