From: Philippe Waroquiers Date: Tue, 17 Jan 2012 21:16:30 +0000 (+0000) Subject: Fixes 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit X-Git-Tag: svn/VALGRIND_3_8_0~512 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=be97cddd7a99fb359caa50c0118fc31fc87bc9f3;p=thirdparty%2Fvalgrind.git Fixes 282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit * new files include/pub_tool_groupalloc.h and coregrind/m_groupalloc.c implementing a group allocator (based on helgrind group alloc). * include/Makefile.am coregrind/Makefile.am : added pub_tool_groupalloc.h and m_groupalloc.c * helgrind/libhb_core.c : use pub_tool_groupalloc.h/m_groupalloc.c instead of the local implementation. * include/pub_tool_oset.h coregrind/m_oset.c : new function allowing to create an oset that will use a pool allocator. new function allowing to clone an oset (so as to share the pool alloc) * memcheck/tests/unit_oset.c drd/tests/unit_bitmap.c : modified so that it compiles with the new m_oset.c * memcheck/mc_main.c : use group alloc for MC_Chunk memcheck/mc_include.h : declare the MC_Chunk group alloc * memcheck/mc_main.c : use group alloc for the nodes of the secVBitTable OSet * include/pub_tool_hashtable.h coregrind/m_hashtable.c : pass the free node function in the VG_(HT_destruct). (needed as the hashtable user can allocate a node with its own alloc, the hash table destroy must be able to free the nodes with the user own free). * coregrind/m_gdbserver/m_gdbserver.c : pass free function to VG_(HT_destruct) * memcheck/mc_replace_strmem.c memcheck/mc_machine.c memcheck/mc_malloc_wrappers.c memcheck/mc_leakcheck.c memcheck/mc_errors.c memcheck/mc_translate.c : new include needed due to group alloc. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@12341 --- diff --git a/NEWS b/NEWS index ed402d1651..2bb6cfb473 100644 --- a/NEWS +++ b/NEWS @@ -10,6 +10,10 @@ Release 3.8.0 (????) - The leak_check GDB server monitor command now can control the maximum nr of loss records to output. + - reduction of memory use for applications allocating + many blocks and/or having many partially defined bytes. + + * ==================== OTHER CHANGES ==================== * The C++ demangler has been updated so as to work well with C++ @@ -33,6 +37,7 @@ where XXXXXX is the bug number as listed below. 271438 Fix configure for proper SSE4.2 detection 276993 fix mremap 'no thrash checks' 281482 valgrind's memcheck incorrect byte allocation count in realloc() for silly argument +282230 group allocator for small fixed size, use it for MC_Chunk/SEc vbit 283413 Fix wrong sanity check 286270 vgpreload is not friendly to 64->32 bit execs, gives ld.so warnings 286374 Running cachegrind with --branch-sim=yes on 64-bit PowerPC program fails diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am index 6074ebca07..de4ec03882 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am @@ -244,6 +244,7 @@ COREGRIND_SOURCES_COMMON = \ m_debuglog.c \ m_errormgr.c \ m_execontext.c \ + m_poolalloc.c \ m_hashtable.c \ m_libcbase.c \ m_libcassert.c \ diff --git a/coregrind/m_gdbserver/m_gdbserver.c b/coregrind/m_gdbserver/m_gdbserver.c index 6a0a19671c..36e0b27624 100644 --- a/coregrind/m_gdbserver/m_gdbserver.c +++ b/coregrind/m_gdbserver/m_gdbserver.c @@ -549,10 +549,10 @@ static void gdbserver_cleanup_in_child_after_fork(ThreadId me) vg_assert (gs_addresses != NULL); vg_assert (gs_watches != NULL); clear_gdbserved_addresses(/* clear only jumps */ False); - VG_(HT_destruct) (gs_addresses); + VG_(HT_destruct) (gs_addresses, VG_(free)); gs_addresses = NULL; clear_watched_addresses(); - VG_(HT_destruct) (gs_watches); + VG_(HT_destruct) (gs_watches, VG_(free)); gs_watches = NULL; } else { vg_assert (gs_addresses == NULL); diff --git a/coregrind/m_hashtable.c b/coregrind/m_hashtable.c index 0aa2ad609f..b0110b15ce 100644 --- a/coregrind/m_hashtable.c +++ b/coregrind/m_hashtable.c @@ -249,7 +249,7 @@ void* VG_(HT_Next)(VgHashTable table) return NULL; } -void VG_(HT_destruct)(VgHashTable table) +void VG_(HT_destruct)(VgHashTable table, void(*freenode_fn)(void*)) { UInt i; VgHashNode *node, *node_next; @@ -257,7 +257,7 @@ void VG_(HT_destruct)(VgHashTable table) for (i = 0; i < table->n_chains; i++) { for (node = table->chains[i]; node != NULL; node = node_next) { node_next = node->next; - VG_(free)(node); + freenode_fn(node); } } VG_(free)(table->chains); diff --git a/coregrind/m_oset.c b/coregrind/m_oset.c index ea09b52f99..245a3974af 100644 --- a/coregrind/m_oset.c +++ b/coregrind/m_oset.c @@ -7,7 +7,7 @@ This file is part of Valgrind, a dynamic binary instrumentation framework. - Copyright (C) 2005-2011 Nicholas Nethercote + Copyright (C) 2005-2012 Nicholas Nethercote njn@valgrind.org This program is free software; you can redistribute it and/or @@ -80,6 +80,7 @@ #include "pub_core_libcassert.h" #include "pub_core_libcprint.h" #include "pub_core_oset.h" +#include "pub_tool_poolalloc.h" /*--------------------------------------------------------------------*/ /*--- Types and constants ---*/ @@ -114,6 +115,8 @@ struct _OSet { OSetAlloc_t alloc; // allocator HChar* cc; // cc for allocator OSetFree_t free; // deallocator + PoolAlloc* node_pa; // (optional) pool allocator for nodes. + SizeT maxEltSize; // for node_pa, must be > 0. Otherwise unused. Word nElems; // number of elements in the tree AvlNode* root; // root node @@ -302,6 +305,57 @@ AvlTree* VG_(OSetGen_Create)(PtrdiffT _keyOff, OSetCmp_t _cmp, t->alloc = _alloc; t->cc = _cc; t->free = _free; + t->node_pa = NULL; + t->maxEltSize = 0; // Just in case it would be wrongly used. + t->nElems = 0; + t->root = NULL; + stackClear(t); + + return t; +} + +AvlTree* VG_(OSetGen_Create_With_Pool)(PtrdiffT _keyOff, OSetCmp_t _cmp, + OSetAlloc_t _alloc, HChar* _cc, + OSetFree_t _free, + SizeT _poolSize, + SizeT _maxEltSize) +{ + AvlTree* t; + + t = VG_(OSetGen_Create) (_keyOff, _cmp, + _alloc, _cc, + _free); + + vg_assert (_poolSize > 0); + vg_assert (_maxEltSize > 0); + t->maxEltSize = _maxEltSize; + t->node_pa = VG_(newPA)(sizeof(AvlNode) + + VG_ROUNDUP(_maxEltSize, sizeof(void*)), + _poolSize, + t->alloc, + _cc, + t->free); + VG_(addRefPA) (t->node_pa); + + return t; +} + +AvlTree* VG_(OSetGen_EmptyClone) (AvlTree* os) +{ + AvlTree* t; + + vg_assert(os); + + t = os->alloc(os->cc, sizeof(AvlTree)); + t->keyOff = os->keyOff; + t->cmp = os->cmp; + t->alloc = os->alloc; + t->cc = os->cc; + t->free = os->free; + t->node_pa = os->node_pa; + if (t->node_pa) + VG_(addRefPA) (t->node_pa); + t->maxEltSize = os->maxEltSize; t->nElems = 0; t->root = NULL; stackClear(t); @@ -318,34 +372,51 @@ AvlTree* VG_(OSetWord_Create)(OSetAlloc_t _alloc, HChar* _cc, // Destructor, frees up all memory held by remaining nodes. void VG_(OSetGen_Destroy)(AvlTree* t) { - AvlNode* n = NULL; - Int i = 0; - Word sz = 0; - + Bool has_node_pa; vg_assert(t); - stackClear(t); - if (t->root) - stackPush(t, t->root, 1); - /* Free all the AvlNodes. This is a post-order traversal, because we */ - /* must free all children of a node before the node itself. */ - while (stackPop(t, &n, &i)) { - switch (i) { - case 1: - stackPush(t, n, 2); - if (n->left) stackPush(t, n->left, 1); - break; - case 2: - stackPush(t, n, 3); - if (n->right) stackPush(t, n->right, 1); - break; - case 3: - t->free(n); - sz++; - break; + has_node_pa = t->node_pa != NULL; + + if (has_node_pa) + VG_(releasePA) (t->node_pa); // decrement ref count. + + if (has_node_pa && VG_(nrRefPA) (t->node_pa) == 0) { + /* We are the only remaining user of this pool allocator. + => release (more efficiently) all the elements + by deleting the pool allocator */ + VG_(deletePA) (t->node_pa); + } else { + AvlNode* n = NULL; + Int i = 0; + Word sz = 0; + + stackClear(t); + if (t->root) + stackPush(t, t->root, 1); + + /* Free all the AvlNodes. This is a post-order traversal, because we */ + /* must free all children of a node before the node itself. */ + while (stackPop(t, &n, &i)) { + switch (i) { + case 1: + stackPush(t, n, 2); + if (n->left) stackPush(t, n->left, 1); + break; + case 2: + stackPush(t, n, 3); + if (n->right) stackPush(t, n->right, 1); + break; + case 3: + if (has_node_pa) + VG_(freeEltPA) (t->node_pa, n); + else + t->free(n); + sz++; + break; + } } + vg_assert(sz == t->nElems); } - vg_assert(sz == t->nElems); /* Free the AvlTree itself. */ t->free(t); @@ -359,9 +430,15 @@ void VG_(OSetWord_Destroy)(AvlTree* t) // Allocate and initialise a new node. void* VG_(OSetGen_AllocNode)(AvlTree* t, SizeT elemSize) { + AvlNode* n; Int nodeSize = sizeof(AvlNode) + elemSize; - AvlNode* n = t->alloc( t->cc, nodeSize ); vg_assert(elemSize > 0); + if (t->node_pa) { + vg_assert(elemSize <= t->maxEltSize); + n = VG_(allocEltPA) (t->node_pa); + } else { + n = t->alloc( t->cc, nodeSize ); + } VG_(memset)(n, 0, nodeSize); n->magic = OSET_MAGIC; return elem_of_node(n); @@ -369,7 +446,10 @@ void* VG_(OSetGen_AllocNode)(AvlTree* t, SizeT elemSize) void VG_(OSetGen_FreeNode)(AvlTree* t, void* e) { - t->free( node_of_elem(e) ); + if (t->node_pa) + VG_(freeEltPA) (t->node_pa, node_of_elem (e)); + else + t->free( node_of_elem(e) ); } /*--------------------------------------------------------------------*/ diff --git a/coregrind/m_poolalloc.c b/coregrind/m_poolalloc.c new file mode 100644 index 0000000000..88ac4519a6 --- /dev/null +++ b/coregrind/m_poolalloc.c @@ -0,0 +1,150 @@ +/*------------------------------------------------------------------------*/ +/*--- A simple pool (memory) allocator implementation. m_poolalloc.c --- */ +/*------------------------------------------------------------------------*/ +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2011-2012 OpenWorks LLP info@open-works.co.uk, + Philippe Waroquiers philippe.waroquiers@skynet.be + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#include "pub_core_basics.h" +#include "pub_core_libcbase.h" +#include "pub_core_libcassert.h" +#include "pub_tool_xarray.h" +#include "pub_tool_poolalloc.h" /* self */ + +struct _PoolAlloc { + UWord nrRef; /* nr reference to this pool allocator */ + UWord elemSzB; /* element size */ + UWord nPerPool; /* # elems per pool */ + void* (*alloc)(HChar*, SizeT); /* pool allocator */ + HChar* cc; /* pool allocator's cc */ + void (*free)(void*); /* pool allocator's free-er */ + /* XArray of void* (pointers to pools). The pools themselves. + Each element is a pointer to a block of size (elemSzB * + nPerPool) bytes. */ + XArray* pools; + /* next free element. Is a pointer to an element in one of the + pools pointed to by .pools */ + void* nextFree; +}; + +PoolAlloc* VG_(newPA) ( UWord elemSzB, + UWord nPerPool, + void* (*alloc)(HChar*, SizeT), + HChar* cc, + void (*free_fn)(void*) ) +{ + PoolAlloc* pa; + vg_assert(0 == (elemSzB % sizeof(UWord))); + vg_assert(elemSzB >= sizeof(UWord)); + vg_assert(nPerPool >= 100); /* let's say */ + vg_assert(alloc); + vg_assert(cc); + vg_assert(free_fn); + pa = alloc(cc, sizeof(*pa)); + vg_assert(pa); + VG_(memset)(pa, 0, sizeof(*pa)); + pa->nrRef = 0; + pa->elemSzB = elemSzB; + pa->nPerPool = nPerPool; + pa->pools = NULL; + pa->alloc = alloc; + pa->cc = cc; + pa->free = free_fn; + pa->pools = VG_(newXA)( alloc, cc, free_fn, sizeof(void*) ); + pa->nextFree = NULL; + vg_assert(pa->pools); + return pa; +} + +void VG_(deletePA) ( PoolAlloc* pa) +{ + Word i; + vg_assert(pa->nrRef == 0); + for (i = 0; i < VG_(sizeXA) (pa->pools); i++) + pa->free (*(UWord **)VG_(indexXA) ( pa->pools, i )); + VG_(deleteXA) (pa->pools); + pa->free (pa); +} + +/* The freelist is empty. Allocate a new pool and put all the new + elements in it onto the freelist. */ +__attribute__((noinline)) +static void pal_add_new_pool ( PoolAlloc* pa ) +{ + Word i; + UWord* pool; + vg_assert(pa); + vg_assert(pa->nextFree == NULL); + pool = pa->alloc( pa->cc, pa->elemSzB * pa->nPerPool ); + vg_assert(pool); + /* extend the freelist through the new pool. Place the freelist + pointer in the first word of each element. That's why the + element size must be at least one word. */ + for (i = pa->nPerPool-1; i >= 0; i--) { + UChar* elemC = ((UChar*)pool) + i * pa->elemSzB; + UWord* elem = (UWord*)elemC; + vg_assert(0 == (((UWord)elem) % sizeof(UWord))); + *elem = (UWord)pa->nextFree; + pa->nextFree = elem; + } + /* and add to our collection of pools */ + VG_(addToXA)( pa->pools, &pool ); +} + +void* VG_(allocEltPA) ( PoolAlloc* pa) +{ + UWord* elem; + if (UNLIKELY(pa->nextFree == NULL)) { + pal_add_new_pool(pa); + } + elem = pa->nextFree; + pa->nextFree = (void*)*elem; + *elem = 0; /* unnecessary, but just to be on the safe side */ + return elem; +} + +void VG_(freeEltPA) ( PoolAlloc* pa, void* p) +{ + UWord* elem = (UWord*)p; + *elem = (UWord)pa->nextFree; + pa->nextFree = elem; +} + + +void VG_(addRefPA) ( PoolAlloc* pa) +{ + pa->nrRef++; +} + +void VG_(releasePA) ( PoolAlloc* pa) +{ + vg_assert(pa->nrRef > 0); + pa->nrRef--; +} + +UWord VG_(nrRefPA) (PoolAlloc* pa) +{ + return pa->nrRef; +} + diff --git a/drd/tests/unit_bitmap.c b/drd/tests/unit_bitmap.c index e48d238b7f..891d4e294d 100644 --- a/drd/tests/unit_bitmap.c +++ b/drd/tests/unit_bitmap.c @@ -6,6 +6,9 @@ #include #include #include + +#include "coregrind/m_xarray.c" +#include "coregrind/m_poolalloc.c" #include "coregrind/m_oset.c" #include "drd/drd_bitmap.c" #include "drd/drd_bitmap2_node.c" @@ -54,7 +57,13 @@ UInt VG_(message)(VgMsgKind kind, const HChar* format, ...) { UInt ret; va_list vargs; va_start(vargs, format); ret = vprintf(format, vargs); va_end(vargs); printf("\n"); return ret; } Bool DRD_(is_suppressed)(const Addr a1, const Addr a2) { assert(0); } - +void VG_(vcbprintf)(void(*char_sink)(HChar, void* opaque), + void* opaque, + const HChar* format, va_list vargs) +{ assert(0); } +void VG_(ssort)( void* base, SizeT nmemb, SizeT size, + Int (*compar)(void*, void*) ) +{ assert(0); } /* Actual unit test */ diff --git a/helgrind/libhb_core.c b/helgrind/libhb_core.c index 9be904e840..21acf36da2 100644 --- a/helgrind/libhb_core.c +++ b/helgrind/libhb_core.c @@ -31,6 +31,7 @@ */ #include "pub_tool_basics.h" +#include "pub_tool_poolalloc.h" #include "pub_tool_libcassert.h" #include "pub_tool_libcbase.h" #include "pub_tool_libcprint.h" @@ -3812,108 +3813,6 @@ static void SVal__rcdec ( SVal s ) { } -///////////////////////////////////////////////////////// -// // -// A simple group (memory) allocator // -// // -///////////////////////////////////////////////////////// - -//////////////// BEGIN general group allocator -typedef - struct { - UWord elemSzB; /* element size */ - UWord nPerGroup; /* # elems per group */ - void* (*alloc)(HChar*, SizeT); /* group allocator */ - HChar* cc; /* group allocator's cc */ - void (*free)(void*); /* group allocator's free-er (unused) */ - /* XArray of void* (pointers to groups). The groups themselves. - Each element is a pointer to a block of size (elemSzB * - nPerGroup) bytes. */ - XArray* groups; - /* next free element. Is a pointer to an element in one of the - groups pointed to by .groups. */ - void* nextFree; - } - GroupAlloc; - -static void init_GroupAlloc ( /*MOD*/GroupAlloc* ga, - UWord elemSzB, - UWord nPerGroup, - void* (*alloc)(HChar*, SizeT), - HChar* cc, - void (*free)(void*) ) -{ - tl_assert(0 == (elemSzB % sizeof(UWord))); - tl_assert(elemSzB >= sizeof(UWord)); - tl_assert(nPerGroup >= 100); /* let's say */ - tl_assert(alloc); - tl_assert(cc); - tl_assert(free); - tl_assert(ga); - VG_(memset)(ga, 0, sizeof(*ga)); - ga->elemSzB = elemSzB; - ga->nPerGroup = nPerGroup; - ga->groups = NULL; - ga->alloc = alloc; - ga->cc = cc; - ga->free = free; - ga->groups = VG_(newXA)( alloc, cc, free, sizeof(void*) ); - ga->nextFree = NULL; - tl_assert(ga->groups); -} - -/* The freelist is empty. Allocate a new group and put all the new - elements in it onto the freelist. */ -__attribute__((noinline)) -static void gal_add_new_group ( GroupAlloc* ga ) -{ - Word i; - UWord* group; - tl_assert(ga); - tl_assert(ga->nextFree == NULL); - group = ga->alloc( ga->cc, ga->elemSzB * ga->nPerGroup ); - tl_assert(group); - /* extend the freelist through the new group. Place the freelist - pointer in the first word of each element. That's why the - element size must be at least one word. */ - for (i = ga->nPerGroup-1; i >= 0; i--) { - UChar* elemC = ((UChar*)group) + i * ga->elemSzB; - UWord* elem = (UWord*)elemC; - tl_assert(0 == (((UWord)elem) % sizeof(UWord))); - *elem = (UWord)ga->nextFree; - ga->nextFree = elem; - } - /* and add to our collection of groups */ - VG_(addToXA)( ga->groups, &group ); -} - -inline static void* gal_Alloc ( GroupAlloc* ga ) -{ - UWord* elem; - if (UNLIKELY(ga->nextFree == NULL)) { - gal_add_new_group(ga); - } - elem = ga->nextFree; - ga->nextFree = (void*)*elem; - *elem = 0; /* unnecessary, but just to be on the safe side */ - return elem; -} - -inline static void* gal_Alloc_w_size_check ( GroupAlloc* ga, SizeT n ) -{ - tl_assert(n == ga->elemSzB); - return gal_Alloc( ga ); -} - -inline static void gal_Free ( GroupAlloc* ga, void* p ) -{ - UWord* elem = (UWord*)p; - *elem = (UWord)ga->nextFree; - ga->nextFree = elem; -} -//////////////// END general group allocator - - ///////////////////////////////////////////////////////// // // // Change-event map2 // @@ -3962,7 +3861,7 @@ inline static void gal_Free ( GroupAlloc* ga, void* p ) Investigations also suggest this is very workload and scheduling sensitive. Therefore a dynamic sizing would be better. - However, dynamic sizing would defeat the use of a GroupAllocator + However, dynamic sizing would defeat the use of a PoolAllocator for OldRef structures. And that's important for performance. So it's not straightforward to do. */ @@ -4039,18 +3938,18 @@ static void ctxt__rcinc ( RCEC* ec ) } -//////////// BEGIN RCEC group allocator -static GroupAlloc rcec_group_allocator; +//////////// BEGIN RCEC pool allocator +static PoolAlloc* rcec_pool_allocator; static RCEC* alloc_RCEC ( void ) { - return gal_Alloc ( &rcec_group_allocator ); + return VG_(allocEltPA) ( rcec_pool_allocator ); } static void free_RCEC ( RCEC* rcec ) { tl_assert(rcec->magic == RCEC_MAGIC); - gal_Free( &rcec_group_allocator, rcec ); + VG_(freeEltPA)( rcec_pool_allocator, rcec ); } -//////////// END RCEC group allocator +//////////// END RCEC pool allocator /* Find 'ec' in the RCEC list whose head pointer lives at 'headp' and @@ -4203,18 +4102,18 @@ typedef OldRef; -//////////// BEGIN OldRef group allocator -static GroupAlloc oldref_group_allocator; +//////////// BEGIN OldRef pool allocator +static PoolAlloc* oldref_pool_allocator; static OldRef* alloc_OldRef ( void ) { - return gal_Alloc ( &oldref_group_allocator ); + return VG_(allocEltPA) ( oldref_pool_allocator ); } static void free_OldRef ( OldRef* r ) { tl_assert(r->magic == OldRef_MAGIC); - gal_Free( &oldref_group_allocator, r ); + VG_(freeEltPA)( oldref_pool_allocator, r ); } -//////////// END OldRef group allocator +//////////// END OldRef pool allocator static SparseWA* oldrefTree = NULL; /* SparseWA* OldRef* */ @@ -4499,13 +4398,14 @@ static void event_map_init ( void ) { Word i; - /* Context (RCEC) group allocator */ - init_GroupAlloc ( &rcec_group_allocator, - sizeof(RCEC), - 1000 /* RCECs per group */, - HG_(zalloc), - "libhb.event_map_init.1 (RCEC groups)", - HG_(free) ); + /* Context (RCEC) pool allocator */ + rcec_pool_allocator = VG_(newPA) ( + sizeof(RCEC), + 1000 /* RCECs per pool */, + HG_(zalloc), + "libhb.event_map_init.1 (RCEC pools)", + HG_(free) + ); /* Context table */ tl_assert(!contextTab); @@ -4515,13 +4415,14 @@ static void event_map_init ( void ) for (i = 0; i < N_RCEC_TAB; i++) contextTab[i] = NULL; - /* Oldref group allocator */ - init_GroupAlloc ( &oldref_group_allocator, - sizeof(OldRef), - 1000 /* OldRefs per group */, - HG_(zalloc), - "libhb.event_map_init.3 (OldRef groups)", - HG_(free) ); + /* Oldref pool allocator */ + oldref_pool_allocator = VG_(newPA)( + sizeof(OldRef), + 1000 /* OldRefs per pool */, + HG_(zalloc), + "libhb.event_map_init.3 (OldRef pools)", + HG_(free) + ); /* Oldref tree */ tl_assert(!oldrefTree); diff --git a/include/Makefile.am b/include/Makefile.am index 9f3f4a091a..aaf64f0a04 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -13,6 +13,7 @@ nobase_pkginclude_HEADERS = \ pub_tool_errormgr.h \ pub_tool_execontext.h \ pub_tool_gdbserver.h \ + pub_tool_poolalloc.h \ pub_tool_hashtable.h \ pub_tool_libcbase.h \ pub_tool_libcassert.h \ diff --git a/include/pub_tool_hashtable.h b/include/pub_tool_hashtable.h index d2a0d4a74f..2cd6310477 100644 --- a/include/pub_tool_hashtable.h +++ b/include/pub_tool_hashtable.h @@ -90,8 +90,9 @@ extern void VG_(HT_ResetIter) ( VgHashTable table ); assurance. */ extern void* VG_(HT_Next) ( VgHashTable table ); -/* Destroy a table. */ -extern void VG_(HT_destruct) ( VgHashTable t ); +/* Destroy a table and deallocates the memory used by the nodes using + freenode_fn.*/ +extern void VG_(HT_destruct) ( VgHashTable t, void(*freenode_fn)(void*) ); #endif // __PUB_TOOL_HASHTABLE_H diff --git a/include/pub_tool_oset.h b/include/pub_tool_oset.h index 204e54b840..cf6709a408 100644 --- a/include/pub_tool_oset.h +++ b/include/pub_tool_oset.h @@ -160,11 +160,18 @@ extern Bool VG_(OSetWord_Next) ( OSet* os, /*OUT*/UWord* val ); // - cmp The comparison function between keys and elements, or NULL // if the OSet should use fast comparisons. // - alloc The allocation function used for allocating the OSet itself; -// it's also called for each invocation of -// VG_(OSetGen_AllocNode)(). +// If a pool allocator is used, it's called to allocate pool of +// nodes. +// If no pool allocator is used, it's called for each +// invocation of VG_(OSetGen_AllocNode)(). // - cc Cost centre string used by 'alloc'. -// - free The deallocation function used by VG_(OSetGen_FreeNode)() and +// - free If no pool allocator is used, this is the deallocation +// function used by VG_(OSetGen_FreeNode)() and // VG_(OSetGen_Destroy)(). +// If a pool allocator is used, the memory used by the nodes is +// deallocated when the pool is deleted. +// (for more details about pool allocators, see pub_tool_poolalloc.h). +// // // If cmp is NULL, keyOff must be zero. This is checked. // @@ -174,9 +181,13 @@ extern Bool VG_(OSetWord_Next) ( OSet* os, /*OUT*/UWord* val ); // called. // // * AllocNode: Allocate and zero memory for a node to go into the OSet. -// Uses the alloc function given to VG_(OSetGen_Create)() to allocated a -// node which is big enough for both an element and the OSet metadata. +// If a pool allocator is used, it uses the pool allocator to allocate a node. +// Otherwise, uses the alloc function given to VG_(OSetGen_Create)() to +// allocate a node which is big enough for both an element and the OSet +// metadata. // Not all elements in one OSet have to be the same size. +// However, if a pool allocator is used, elements will all have a size equal +// to the max user data size given at creation + the node meta data size. // // Note that the element allocated will be at most word-aligned, which may // be less aligned than the element type would normally be. @@ -187,12 +198,48 @@ extern Bool VG_(OSetWord_Next) ( OSet* os, /*OUT*/UWord* val ); extern OSet* VG_(OSetGen_Create) ( PtrdiffT keyOff, OSetCmp_t cmp, OSetAlloc_t alloc, HChar* cc, - OSetFree_t _free ); + OSetFree_t _free); + + +extern OSet* VG_(OSetGen_Create_With_Pool) ( PtrdiffT keyOff, OSetCmp_t cmp, + OSetAlloc_t alloc, HChar* cc, + OSetFree_t _free, + SizeT poolSize, + SizeT maxEltSize); +// Same as VG_(OSetGen_Create) but created OSet will use a pool allocator to +// allocate the nodes. +// The node size is the sum of a fixed small meta data size needed for OSet +// + the size of the user data element. +// The maximum size for the user data element is specified by maxEltSize. +// (if poolSize is 0, maxEltSize is not relevant for the OSet). +// It is interesting to use a pool allocator when an OSet has many elements, +// and these elements have a small fixed size, or have a variable size, but +// always <= than a (small) maximum value. +// In such a case, allocating the nodes in pools reduces significantly +// the memory overhead needed by each node. +// When a node is freed (i.e. OsetGen_Freenode is called), the node is +// put back in the pool allocator free list (for sub-sequent re-use by +// Osetgen_Allocnode). Note that the pool memory is only released when +// the pool is destroyed : calls to VG_(OSetGen_Free) do not cause +// any calls to OsetFree_t _free function. +// If there are several OSet managing similar such elements, it might be +// interesting to use a shared pool for these OSet. +// To have multiple OSets sharing a pool allocator, create the first OSet +// with VG_(OSetGen_Create). Create subsequent OSet with +// VG_(OSetGen_EmptyClone). + extern void VG_(OSetGen_Destroy) ( OSet* os ); extern void* VG_(OSetGen_AllocNode) ( OSet* os, SizeT elemSize ); extern void VG_(OSetGen_FreeNode) ( OSet* os, void* elem ); -/*--------------------------------------------------------------------*/ +extern OSet* VG_(OSetGen_EmptyClone) (OSet* os); +// Creates a new empty OSet. +// The new OSet will have the same characteristics as os. +// If os uses a pool allocator, this pool allocator will be shared with +// the new OSet. A shared pool allocator is only deleted (and its memory is +// released) when the last OSet using the shared pool is destroyed. + +/*-------------------------------------------------------------------*/ /*--- Operations on OSets (Gen) ---*/ /*--------------------------------------------------------------------*/ diff --git a/include/pub_tool_poolalloc.h b/include/pub_tool_poolalloc.h new file mode 100644 index 0000000000..bc197b07ef --- /dev/null +++ b/include/pub_tool_poolalloc.h @@ -0,0 +1,94 @@ + +/*--------------------------------------------------------------------*/ +/*--- A simple pool (memory) allocator. pub_tool_poolalloc.h ---*/ +/*--------------------------------------------------------------------*/ + +/* + This file is part of Valgrind, a dynamic binary instrumentation + framework. + + Copyright (C) 2011-2012 OpenWorks LLP info@open-works.co.uk, + Philippe Waroquiers philippe.waroquiers@skynet.be + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA + 02111-1307, USA. + + The GNU General Public License is contained in the file COPYING. +*/ + +#ifndef __PUB_TOOL_GROUPALLOC_H +#define __PUB_TOOL_GROUPALLOC_H + +//-------------------------------------------------------------------- +// PURPOSE: Provides efficient allocation and free of elements of +// the same size. +// This pool allocator manages elements alloc/free by allocating +// "pools" of many elements from a lower level allocator (typically +// pub_tool_mallocfree.h). +// Single elements can then be allocated and released from these pools. +// A pool allocator is faster and has less memory overhead than +// calling directly pub_tool_mallocfree.h +// Note: the pools of elements are not freed, even if all the +// single elements have been freed. The only way to free the underlying +// pools of elements is to delete the pool allocator. +//-------------------------------------------------------------------- + + +typedef struct _PoolAlloc PoolAlloc; + +/* Create new PoolAlloc, using given allocation and free function, and + for elements of the specified size. Alloc fn must not fail (that + is, if it returns it must have succeeded.) */ +PoolAlloc* VG_(newPA) ( UWord elemSzB, + UWord nPerPool, + void* (*alloc)(HChar*, SizeT), + HChar* cc, + void (*free_fn)(void*) ); + + +/* Free all memory associated with a PoolAlloc. */ +extern void VG_(deletePA) ( PoolAlloc* pa); + +/* Allocates an element from pa. */ +extern void* VG_(allocEltPA) ( PoolAlloc* pa); + +/* Free element of pa. */ +extern void VG_(freeEltPA) ( PoolAlloc* pa, void* p); + +/* A pool allocator can be shared between multiple data structures. + For example, multiple OSet* can allocate/free nodes from the same + pool allocator. + The Pool Allocator provides support to use a ref counter + to detect a pool allocator is not needed anymore. + It is the caller responsibility to delete the PA if the ref counter + drops to 0. In other words, this just helps the caller to manage + the PA memory destruction but it does not fully manage it. + Note that the usage of pool reference counting is optional. */ + +// VG_(addRefPA) indicates there is a new reference to pa. +extern void VG_(addRefPA) ( PoolAlloc* pa); + +// VG_(releasePA) indicates a reference to pa has been released. +extern void VG_(releasePA) ( PoolAlloc* pa); + +// Returns the current nr of reference to pa. +// When this drops to 0, VG_(deletePA) can be called by the pa user. +extern UWord VG_(nrRefPA) (PoolAlloc* pa); + +#endif // __PUB_TOOL_POOLALLOC_ + +/*--------------------------------------------------------------------*/ +/*--- end pub_tool_poolalloc.h ---*/ +/*--------------------------------------------------------------------*/ diff --git a/memcheck/mc_errors.c b/memcheck/mc_errors.c index 07b3d568f2..dedeeccdda 100644 --- a/memcheck/mc_errors.c +++ b/memcheck/mc_errors.c @@ -31,6 +31,7 @@ #include "pub_tool_basics.h" #include "pub_tool_gdbserver.h" +#include "pub_tool_poolalloc.h" // For mc_include.h #include "pub_tool_hashtable.h" // For mc_include.h #include "pub_tool_libcbase.h" #include "pub_tool_libcassert.h" diff --git a/memcheck/mc_include.h b/memcheck/mc_include.h index 9173314b5c..21ec0df15c 100644 --- a/memcheck/mc_include.h +++ b/memcheck/mc_include.h @@ -101,6 +101,9 @@ Bool MC_(mempool_exists) ( Addr pool ); is found. */ MC_Chunk* MC_(get_freed_block_bracketting)( Addr a ); +/* For efficient pooled alloc/free of the MC_Chunk. */ +extern PoolAlloc* MC_(chunk_poolalloc); + /* For tracking malloc'd blocks. Nb: it's quite important that it's a VgHashTable, because VgHashTable allows duplicate keys without complaint. This can occur if a user marks a malloc() block as also a custom block with diff --git a/memcheck/mc_leakcheck.c b/memcheck/mc_leakcheck.c index 1f8cd65c92..55a5b7bb1f 100644 --- a/memcheck/mc_leakcheck.c +++ b/memcheck/mc_leakcheck.c @@ -42,7 +42,8 @@ #include "pub_tool_mallocfree.h" #include "pub_tool_options.h" #include "pub_tool_oset.h" -#include "pub_tool_signals.h" +#include "pub_tool_poolalloc.h" +#include "pub_tool_signals.h" // Needed for mc_include.h #include "pub_tool_libcsetjmp.h" // setjmp facilities #include "pub_tool_tooliface.h" // Needed for mc_include.h diff --git a/memcheck/mc_machine.c b/memcheck/mc_machine.c index df84c5fab9..bff8c2af5c 100644 --- a/memcheck/mc_machine.c +++ b/memcheck/mc_machine.c @@ -36,6 +36,7 @@ */ #include "pub_tool_basics.h" +#include "pub_tool_poolalloc.h" // For mc_include.h #include "pub_tool_hashtable.h" // For mc_include.h #include "pub_tool_libcassert.h" #include "pub_tool_libcprint.h" diff --git a/memcheck/mc_main.c b/memcheck/mc_main.c index 2d116fde33..e6dd6a4c2a 100644 --- a/memcheck/mc_main.c +++ b/memcheck/mc_main.c @@ -33,6 +33,7 @@ #include "pub_tool_basics.h" #include "pub_tool_aspacemgr.h" #include "pub_tool_gdbserver.h" +#include "pub_tool_poolalloc.h" #include "pub_tool_hashtable.h" // For mc_include.h #include "pub_tool_libcbase.h" #include "pub_tool_libcassert.h" @@ -900,10 +901,15 @@ typedef static OSet* createSecVBitTable(void) { - return VG_(OSetGen_Create)( offsetof(SecVBitNode, a), - NULL, // use fast comparisons - VG_(malloc), "mc.cSVT.1 (sec VBit table)", - VG_(free) ); + OSet* newSecVBitTable; + newSecVBitTable = VG_(OSetGen_Create_With_Pool) + ( offsetof(SecVBitNode, a), + NULL, // use fast comparisons + VG_(malloc), "mc.cSVT.1 (sec VBit table)", + VG_(free), + 1000, + sizeof(SecVBitNode)); + return newSecVBitTable; } static void gcSecVBitTable(void) @@ -997,6 +1003,12 @@ static void set_sec_vbits8(Addr a, UWord vbits8) n->last_touched = GCs_done; sec_vbits_updates++; } else { + // Do a table GC if necessary. Nb: do this before creating and + // inserting the new node, to avoid erroneously GC'ing the new node. + if (secVBitLimit == VG_(OSetGen_Size)(secVBitTable)) { + gcSecVBitTable(); + } + // New node: assign the specific byte, make the rest invalid (they // should never be read as-is, but be cautious). n = VG_(OSetGen_AllocNode)(secVBitTable, sizeof(SecVBitNode)); @@ -1007,12 +1019,6 @@ static void set_sec_vbits8(Addr a, UWord vbits8) n->vbits8[amod] = vbits8; n->last_touched = GCs_done; - // Do a table GC if necessary. Nb: do this before inserting the new - // node, to avoid erroneously GC'ing the new node. - if (secVBitLimit == VG_(OSetGen_Size)(secVBitTable)) { - gcSecVBitTable(); - } - // Insert the new node. VG_(OSetGen_Insert)(secVBitTable, n); sec_vbits_new_nodes++; @@ -2144,7 +2150,7 @@ static void init_ocacheL2 ( void ) ocacheL2 = VG_(OSetGen_Create)( offsetof(OCacheLine,tag), NULL, /* fast cmp */ - ocacheL2_malloc, "mc.ioL2", ocacheL2_free ); + ocacheL2_malloc, "mc.ioL2", ocacheL2_free); tl_assert(ocacheL2); stats__ocacheL2_n_nodes = 0; } @@ -6306,6 +6312,11 @@ static void mc_pre_clo_init(void) VG_(needs_watchpoint) ( mc_mark_unaddressable_for_watchpoint ); init_shadow_memory(); + MC_(chunk_poolalloc) = VG_(newPA) (sizeof(MC_Chunk), + 1000, + VG_(malloc), + "mc.cMC.1 (MC_Chunk pools)", + VG_(free)); MC_(malloc_list) = VG_(HT_construct)( "MC_(malloc_list)" ); MC_(mempool_list) = VG_(HT_construct)( "MC_(mempool_list)" ); init_prof_mem(); diff --git a/memcheck/mc_malloc_wrappers.c b/memcheck/mc_malloc_wrappers.c index 163ddfaf1d..fc37e609be 100644 --- a/memcheck/mc_malloc_wrappers.c +++ b/memcheck/mc_malloc_wrappers.c @@ -31,6 +31,7 @@ #include "pub_tool_basics.h" #include "pub_tool_execontext.h" +#include "pub_tool_poolalloc.h" #include "pub_tool_hashtable.h" #include "pub_tool_libcbase.h" #include "pub_tool_libcassert.h" @@ -68,7 +69,15 @@ VgHashTable MC_(malloc_list) = NULL; /* Memory pools: a hash table of MC_Mempools. Search key is MC_Mempool::pool. */ VgHashTable MC_(mempool_list) = NULL; - + +/* Pool allocator for MC_Chunk. */ +PoolAlloc *MC_(chunk_poolalloc) = NULL; +static +MC_Chunk* create_MC_Chunk ( ExeContext* ec, Addr p, SizeT szB, + MC_AllocKind kind); +static inline +void delete_MC_Chunk (MC_Chunk* mc); + /* Records blocks after freeing. */ /* Blocks freed by the client are queued in one of two lists of freed blocks not yet physically freed: @@ -152,7 +161,7 @@ static void release_oldest_block(void) /* free MC_Chunk */ if (MC_AllocCustom != mc1->allockind) VG_(cli_free) ( (void*)(mc1->data) ); - VG_(free) ( mc1 ); + delete_MC_Chunk ( mc1 ); } } } @@ -179,7 +188,7 @@ static MC_Chunk* create_MC_Chunk ( ExeContext* ec, Addr p, SizeT szB, MC_AllocKind kind) { - MC_Chunk* mc = VG_(malloc)("mc.cMC.1 (a MC_Chunk)", sizeof(MC_Chunk)); + MC_Chunk* mc = VG_(allocEltPA)(MC_(chunk_poolalloc)); mc->data = p; mc->szB = szB; mc->allockind = kind; @@ -200,6 +209,12 @@ MC_Chunk* create_MC_Chunk ( ExeContext* ec, Addr p, SizeT szB, return mc; } +static inline +void delete_MC_Chunk (MC_Chunk* mc) +{ + VG_(freeEltPA) (MC_(chunk_poolalloc), mc); +} + /*------------------------------------------------------------*/ /*--- client_malloc(), etc ---*/ /*------------------------------------------------------------*/ @@ -642,7 +657,7 @@ void MC_(destroy_mempool)(Addr pool) MC_(make_mem_noaccess)(mc->data-mp->rzB, mc->szB + 2*mp->rzB ); } // Destroy the chunk table - VG_(HT_destruct)(mp->chunks); + VG_(HT_destruct)(mp->chunks, (void (*)(void *))delete_MC_Chunk); VG_(free)(mp); } diff --git a/memcheck/mc_replace_strmem.c b/memcheck/mc_replace_strmem.c index c0c2855df8..343581baea 100644 --- a/memcheck/mc_replace_strmem.c +++ b/memcheck/mc_replace_strmem.c @@ -31,6 +31,7 @@ */ #include "pub_tool_basics.h" +#include "pub_tool_poolalloc.h" #include "pub_tool_hashtable.h" #include "pub_tool_redir.h" #include "pub_tool_tooliface.h" diff --git a/memcheck/mc_translate.c b/memcheck/mc_translate.c index fcd79caf32..6ea43ac9ca 100644 --- a/memcheck/mc_translate.c +++ b/memcheck/mc_translate.c @@ -30,6 +30,7 @@ */ #include "pub_tool_basics.h" +#include "pub_tool_poolalloc.h" // For mc_include.h #include "pub_tool_hashtable.h" // For mc_include.h #include "pub_tool_libcassert.h" #include "pub_tool_libcprint.h" diff --git a/memcheck/tests/unit_oset.c b/memcheck/tests/unit_oset.c index f06f5826c6..84f5ea25d1 100644 --- a/memcheck/tests/unit_oset.c +++ b/memcheck/tests/unit_oset.c @@ -28,6 +28,14 @@ #define vgPlain_memset memset #define vgPlain_memcpy memcpy +// Crudely replace some functions (in m_xarray.c, but not needed for +// this unit test) by (hopefully) failing asserts. +#define vgPlain_ssort(a,b,c,d) assert(a) +#define vgPlain_vcbprintf(a,b,...) assert(a == b) +#include "coregrind/m_xarray.c" +#undef vgPlain_ssort +#undef vgPlain_vcbprintf +#include "coregrind/m_poolalloc.c" #include "coregrind/m_oset.c" #define NN 1000 // Size of OSets being created @@ -73,19 +81,13 @@ static Word wordCmp(void* vkey, void* velem) return *(Word*)vkey - *(Word*)velem; } -void example1(void) +void example1singleset(OSet* oset, char *descr) { Int i, n; Word v, prev; Word* vs[NN]; Word *pv; - // Create a static OSet of Ints. This one uses fast (built-in) - // comparisons. - OSet* oset = VG_(OSetGen_Create)(0, - NULL, - allocate_node, "oset_test.1", free_node); - // Try some operations on an empty OSet to ensure they don't screw up. vg_assert( ! VG_(OSetGen_Contains)(oset, &v) ); vg_assert( ! VG_(OSetGen_Lookup)(oset, &v) ); @@ -201,12 +203,53 @@ void example1(void) } // Print the list - OSet_Print(oset, "oset1", wordToStr); + OSet_Print(oset, descr, wordToStr); + +} + +void example1(void) +{ + OSet *oset, *oset_empty_clone; + + // Create a static OSet of Ints. This one uses fast (built-in) + // comparisons. + + // First a single oset, no pool allocator. + oset = VG_(OSetGen_Create)(0, + NULL, + allocate_node, "oset_test.1", free_node); + example1singleset(oset, "single oset, no pool allocator"); // Destroy the OSet VG_(OSetGen_Destroy)(oset); -} + // Then same, but with a group allocator + oset = VG_(OSetGen_Create_With_Pool)(0, + NULL, + allocate_node, "oset_test.1", + free_node, + 101, sizeof(Word)); + example1singleset(oset, "single oset, pool allocator"); + + // Destroy the OSet + VG_(OSetGen_Destroy)(oset); + + + // Then two sets, sharing a group allocator. + oset = VG_(OSetGen_Create_With_Pool) + (0, + NULL, + allocate_node, "oset_test.1", free_node, + 101, sizeof(Word)); + oset_empty_clone = VG_(OSetGen_EmptyClone) (oset); + example1singleset(oset, "oset, shared pool"); + example1singleset(oset_empty_clone, "cloned oset, shared pool"); + // Destroy both OSet + + VG_(OSetGen_Destroy)(oset_empty_clone); + VG_(OSetGen_Destroy)(oset); + +} void example1b(void) { diff --git a/memcheck/tests/unit_oset.stdout.exp b/memcheck/tests/unit_oset.stdout.exp index 81251ccd6d..5ceb862e44 100644 --- a/memcheck/tests/unit_oset.stdout.exp +++ b/memcheck/tests/unit_oset.stdout.exp @@ -1,4 +1,4 @@ --- start oset1 ---------------- +-- start single oset, no pool allocator ---------------- .. .. .. .. .. .. .. .. .. 1998 .. .. .. .. .. .. .. .. 1996 .. .. .. .. .. .. .. .. .. .. 1994 @@ -996,7 +996,3004 @@ .. .. .. .. .. .. .. .. .. 4 .. .. .. .. .. .. .. .. 2 .. .. .. .. .. .. .. .. .. 0 --- end oset1 ---------------- +-- end single oset, no pool allocator ---------------- +-- start single oset, pool allocator ---------------- +.. .. .. .. .. .. .. .. .. 1998 +.. .. .. .. .. .. .. .. 1996 +.. .. .. .. .. .. .. .. .. .. 1994 +.. .. .. .. .. .. .. .. .. 1992 +.. .. .. .. .. .. .. .. .. .. 1990 +.. .. .. .. .. .. .. 1988 +.. .. .. .. .. .. .. .. .. 1986 +.. .. .. .. .. .. .. .. .. .. 1984 +.. .. .. .. .. .. .. .. 1982 +.. .. .. .. .. .. .. .. .. .. 1980 +.. .. .. .. .. .. .. .. .. 1978 +.. .. .. .. .. .. .. .. .. .. 1976 +.. .. .. .. .. .. 1974 +.. .. .. .. .. .. .. .. .. .. 1972 +.. .. .. .. .. .. .. .. .. 1970 +.. .. .. .. .. .. .. .. .. .. 1968 +.. .. .. .. .. .. .. .. 1966 +.. .. .. .. .. .. .. .. .. .. 1964 +.. .. .. .. .. .. .. .. .. 1962 +.. .. .. .. .. .. .. 1960 +.. .. .. .. .. .. .. .. .. .. 1958 +.. .. .. .. .. .. .. .. .. 1956 +.. .. .. .. .. .. .. .. 1954 +.. .. .. .. .. .. .. .. .. .. 1952 +.. .. .. .. .. .. .. .. .. 1950 +.. .. .. .. .. .. .. .. .. .. 1948 +.. .. .. .. .. 1946 +.. .. .. .. .. .. .. .. .. 1944 +.. .. .. .. .. .. .. .. 1942 +.. .. .. .. .. .. .. 1940 +.. .. .. .. .. .. .. .. .. .. 1938 +.. .. .. .. .. .. .. .. .. 1936 +.. .. .. .. .. .. .. .. 1934 +.. .. .. .. .. .. .. .. .. 1932 +.. .. .. .. .. .. 1930 +.. .. .. .. .. .. .. .. .. 1928 +.. .. .. .. .. .. .. .. .. .. 1926 +.. .. .. .. .. .. .. .. 1924 +.. .. .. .. .. .. .. .. .. .. 1922 +.. .. .. .. .. .. .. .. .. 1920 +.. .. .. .. .. .. .. .. .. .. 1918 +.. .. .. .. .. .. .. 1916 +.. .. .. .. .. .. .. .. .. 1914 +.. .. .. .. .. .. .. .. 1912 +.. .. .. .. .. .. .. .. .. .. 1910 +.. .. .. .. .. .. .. .. .. 1908 +.. .. .. .. .. .. .. .. .. .. 1906 +.. .. .. .. 1904 +.. .. .. .. .. .. .. .. .. 1902 +.. .. .. .. .. .. .. .. 1900 +.. .. .. .. .. .. .. 1898 +.. .. .. .. .. .. .. .. .. 1896 +.. .. .. .. .. .. .. .. 1894 +.. .. .. .. .. .. .. .. .. 1892 +.. .. .. .. .. .. 1890 +.. .. .. .. .. .. .. .. .. .. 1888 +.. .. .. .. .. .. .. .. .. 1886 +.. .. .. .. .. .. .. .. .. .. 1884 +.. .. .. .. .. .. .. .. 1882 +.. .. .. .. .. .. .. .. .. 1880 +.. .. .. .. .. .. .. 1878 +.. .. .. .. .. .. .. .. 1876 +.. .. .. .. .. .. .. .. .. 1874 +.. .. .. .. .. 1872 +.. .. .. .. .. .. .. .. .. .. 1870 +.. .. .. .. .. .. .. .. .. 1868 +.. .. .. .. .. .. .. .. .. .. 1866 +.. .. .. .. .. .. .. .. 1864 +.. .. .. .. .. .. .. .. .. 1862 +.. .. .. .. .. .. .. .. .. .. 1860 +.. .. .. .. .. .. .. 1858 +.. .. .. .. .. .. .. .. .. 1856 +.. .. .. .. .. .. .. .. 1854 +.. .. .. .. .. .. .. .. .. 1852 +.. .. .. .. .. .. 1848 +.. .. .. .. .. .. .. .. .. 1846 +.. .. .. .. .. .. .. .. 1844 +.. .. .. .. .. .. .. .. .. .. 1842 +.. .. .. .. .. .. .. .. .. 1840 +.. .. .. .. .. .. .. 1838 +.. .. .. .. .. .. .. .. .. .. 1836 +.. .. .. .. .. .. .. .. .. 1834 +.. .. .. .. .. .. .. .. .. .. 1832 +.. .. .. .. .. .. .. .. 1830 +.. .. .. .. .. .. .. .. .. .. 1828 +.. .. .. .. .. .. .. .. .. 1826 +.. .. .. .. .. .. .. .. .. .. 1824 +.. .. .. 1822 +.. .. .. .. .. .. .. .. 1820 +.. .. .. .. .. .. .. .. .. 1818 +.. .. .. .. .. .. .. 1816 +.. .. .. .. .. .. .. .. 1814 +.. .. .. .. .. .. 1812 +.. .. .. .. .. .. .. .. 1810 +.. .. .. .. .. .. .. .. .. 1808 +.. .. .. .. .. .. .. 1806 +.. .. .. .. .. .. .. .. 1804 +.. .. .. .. .. 1802 +.. .. .. .. .. .. .. .. 1800 +.. .. .. .. .. .. .. .. .. 1798 +.. .. .. .. .. .. .. 1796 +.. .. .. .. .. .. .. .. 1794 +.. .. .. .. .. .. 1792 +.. .. .. .. .. .. .. .. 1790 +.. .. .. .. .. .. .. .. .. 1788 +.. .. .. .. .. .. .. 1786 +.. .. .. .. .. .. .. .. .. 1784 +.. .. .. .. .. .. .. .. 1782 +.. .. .. .. .. .. .. .. .. 1780 +.. .. .. .. 1778 +.. .. .. .. .. .. .. .. .. 1776 +.. .. .. .. .. .. .. .. 1774 +.. .. .. .. .. .. .. 1772 +.. .. .. .. .. .. .. .. 1770 +.. .. .. .. .. .. 1768 +.. .. .. .. .. .. .. .. .. 1766 +.. .. .. .. .. .. .. .. 1764 +.. .. .. .. .. .. .. .. .. 1762 +.. .. .. .. .. .. .. 1760 +.. .. .. .. .. .. .. .. .. 1758 +.. .. .. .. .. .. .. .. 1756 +.. .. .. .. .. 1754 +.. .. .. .. .. .. .. .. 1752 +.. .. .. .. .. .. .. 1750 +.. .. .. .. .. .. .. .. .. 1748 +.. .. .. .. .. .. .. .. 1746 +.. .. .. .. .. .. 1744 +.. .. .. .. .. .. .. .. .. 1742 +.. .. .. .. .. .. .. .. 1740 +.. .. .. .. .. .. .. .. .. 1738 +.. .. .. .. .. .. .. 1736 +.. .. .. .. .. .. .. .. .. 1734 +.. .. .. .. .. .. .. .. .. .. 1732 +.. .. .. .. .. .. .. .. 1730 +.. .. .. .. .. .. .. .. .. 1728 +.. .. 1726 +.. .. .. .. .. .. .. .. .. 1724 +.. .. .. .. .. .. .. .. 1722 +.. .. .. .. .. .. .. .. .. 1720 +.. .. .. .. .. .. .. .. .. .. 1718 +.. .. .. .. .. .. .. 1716 +.. .. .. .. .. .. .. .. .. 1714 +.. .. .. .. .. .. .. .. 1712 +.. .. .. .. .. .. 1710 +.. .. .. .. .. .. .. .. .. 1708 +.. .. .. .. .. .. .. .. 1706 +.. .. .. .. .. .. .. 1704 +.. .. .. .. .. .. .. .. .. 1702 +.. .. .. .. .. .. .. .. .. .. 1700 +.. .. .. .. .. .. .. .. 1698 +.. .. .. .. .. .. .. .. .. 1696 +.. .. .. .. .. 1694 +.. .. .. .. .. .. .. .. 1692 +.. .. .. .. .. .. .. .. .. 1690 +.. .. .. .. .. .. .. 1688 +.. .. .. .. .. .. .. .. .. 1686 +.. .. .. .. .. .. .. .. 1684 +.. .. .. .. .. .. .. .. .. 1682 +.. .. .. .. .. .. 1680 +.. .. .. .. .. .. .. .. 1678 +.. .. .. .. .. .. .. 1676 +.. .. .. .. 1674 +.. .. .. .. .. .. .. .. 1672 +.. .. .. .. .. .. .. 1670 +.. .. .. .. .. .. .. .. 1668 +.. .. .. .. .. .. 1666 +.. .. .. .. .. .. .. .. .. 1664 +.. .. .. .. .. .. .. .. 1662 +.. .. .. .. .. .. .. 1660 +.. .. .. .. .. .. .. .. 1658 +.. .. .. .. .. 1656 +.. .. .. .. .. .. .. .. .. 1654 +.. .. .. .. .. .. .. .. 1652 +.. .. .. .. .. .. .. 1650 +.. .. .. .. .. .. .. .. .. 1648 +.. .. .. .. .. .. .. .. 1646 +.. .. .. .. .. .. .. .. .. 1644 +.. .. .. .. .. .. 1642 +.. .. .. .. .. .. .. .. 1640 +.. .. .. .. .. .. .. .. .. 1638 +.. .. .. .. .. .. .. 1636 +.. .. .. .. .. .. .. .. .. 1634 +.. .. .. .. .. .. .. .. 1632 +.. .. .. .. .. .. .. .. .. 1630 +.. .. .. 1628 +.. .. .. .. .. .. .. .. 1626 +.. .. .. .. .. .. .. 1624 +.. .. .. .. .. .. 1622 +.. .. .. .. .. .. .. .. 1620 +.. .. .. .. .. .. .. 1618 +.. .. .. .. .. .. .. .. .. 1616 +.. .. .. .. .. .. .. .. 1614 +.. .. .. .. .. 1612 +.. .. .. .. .. .. .. .. .. 1610 +.. .. .. .. .. .. .. .. 1608 +.. .. .. .. .. .. .. 1606 +.. .. .. .. .. .. .. .. .. 1604 +.. .. .. .. .. .. .. .. 1602 +.. .. .. .. .. .. .. .. .. 1600 +.. .. .. .. .. .. 1598 +.. .. .. .. .. .. .. .. 1596 +.. .. .. .. .. .. .. .. .. 1594 +.. .. .. .. .. .. .. 1592 +.. .. .. .. .. .. .. .. 1590 +.. .. .. .. 1588 +.. .. .. .. .. .. .. .. 1586 +.. .. .. .. .. .. .. 1584 +.. .. .. .. .. .. .. .. .. 1582 +.. .. .. .. .. .. .. .. 1580 +.. .. .. .. .. .. 1578 +.. .. .. .. .. .. .. .. 1576 +.. .. .. .. .. .. .. 1574 +.. .. .. .. .. .. .. .. 1572 +.. .. .. .. .. .. .. .. .. 1570 +.. .. .. .. .. 1568 +.. .. .. .. .. .. .. .. 1566 +.. .. .. .. .. .. .. 1564 +.. .. .. .. .. .. .. .. .. 1562 +.. .. .. .. .. .. .. .. 1560 +.. .. .. .. .. .. .. .. .. 1558 +.. .. .. .. .. .. 1556 +.. .. .. .. .. .. .. .. 1554 +.. .. .. .. .. .. .. 1552 +.. .. .. .. .. .. .. .. 1550 +.. 1548 +.. .. .. .. .. .. .. .. 1546 +.. .. .. .. .. .. .. 1544 +.. .. .. .. .. .. .. .. 1542 +.. .. .. .. .. .. 1540 +.. .. .. .. .. .. .. .. .. 1538 +.. .. .. .. .. .. .. .. 1536 +.. .. .. .. .. .. .. 1534 +.. .. .. .. .. .. .. .. 1532 +.. .. .. .. .. 1530 +.. .. .. .. .. .. .. .. .. 1528 +.. .. .. .. .. .. .. .. 1526 +.. .. .. .. .. .. .. 1524 +.. .. .. .. .. .. .. .. 1522 +.. .. .. .. .. .. .. .. .. 1520 +.. .. .. .. .. .. 1518 +.. .. .. .. .. .. .. .. 1516 +.. .. .. .. .. .. .. 1514 +.. .. .. .. .. .. .. .. .. 1512 +.. .. .. .. .. .. .. .. 1510 +.. .. .. .. 1508 +.. .. .. .. .. .. .. .. 1506 +.. .. .. .. .. .. .. 1504 +.. .. .. .. .. .. .. .. 1502 +.. .. .. .. .. .. 1500 +.. .. .. .. .. .. .. 1498 +.. .. .. .. .. .. .. .. 1496 +.. .. .. .. .. 1494 +.. .. .. .. .. .. .. 1492 +.. .. .. .. .. .. .. .. 1490 +.. .. .. .. .. .. 1488 +.. .. .. .. .. .. .. .. .. 1486 +.. .. .. .. .. .. .. .. 1484 +.. .. .. .. .. .. .. .. .. 1482 +.. .. .. .. .. .. .. 1480 +.. .. .. .. .. .. .. .. .. 1478 +.. .. .. .. .. .. .. .. 1476 +.. .. .. .. .. .. .. .. .. 1474 +.. .. .. 1472 +.. .. .. .. .. .. .. .. .. .. 1470 +.. .. .. .. .. .. .. .. .. 1468 +.. .. .. .. .. .. .. .. .. .. 1466 +.. .. .. .. .. .. .. .. 1464 +.. .. .. .. .. .. .. .. .. 1462 +.. .. .. .. .. .. .. 1460 +.. .. .. .. .. .. .. .. .. .. 1458 +.. .. .. .. .. .. .. .. .. 1456 +.. .. .. .. .. .. .. .. .. .. 1454 +.. .. .. .. .. .. .. .. 1452 +.. .. .. .. .. .. .. .. .. 1450 +.. .. .. .. .. .. .. .. .. .. 1448 +.. .. .. .. .. .. 1446 +.. .. .. .. .. .. .. .. .. 1444 +.. .. .. .. .. .. .. .. 1442 +.. .. .. .. .. .. .. .. .. 1440 +.. .. .. .. .. .. .. 1438 +.. .. .. .. .. .. .. .. 1436 +.. .. .. .. .. 1434 +.. .. .. .. .. .. .. .. .. 1432 +.. .. .. .. .. .. .. .. 1430 +.. .. .. .. .. .. .. .. .. 1428 +.. .. .. .. .. .. .. 1426 +.. .. .. .. .. .. .. .. .. .. 1424 +.. .. .. .. .. .. .. .. .. 1422 +.. .. .. .. .. .. .. .. .. .. 1420 +.. .. .. .. .. .. .. .. 1418 +.. .. .. .. .. .. .. .. .. .. 1416 +.. .. .. .. .. .. .. .. .. 1414 +.. .. .. .. .. .. 1412 +.. .. .. .. .. .. .. .. .. 1410 +.. .. .. .. .. .. .. .. 1408 +.. .. .. .. .. .. .. .. .. 1406 +.. .. .. .. .. .. .. .. .. .. 1404 +.. .. .. .. .. .. .. 1402 +.. .. .. .. .. .. .. .. .. .. 1400 +.. .. .. .. .. .. .. .. .. 1398 +.. .. .. .. .. .. .. .. .. .. 1396 +.. .. .. .. .. .. .. .. 1394 +.. .. .. .. .. .. .. .. .. .. 1392 +.. .. .. .. .. .. .. .. .. 1390 +.. .. .. .. 1388 +.. .. .. .. .. .. .. .. .. .. 1386 +.. .. .. .. .. .. .. .. .. 1384 +.. .. .. .. .. .. .. .. 1382 +.. .. .. .. .. .. .. .. .. .. 1380 +.. .. .. .. .. .. .. .. .. 1378 +.. .. .. .. .. .. .. .. .. .. 1376 +.. .. .. .. .. .. .. 1374 +.. .. .. .. .. .. .. .. 1372 +.. .. .. .. .. .. .. .. .. 1370 +.. .. .. .. .. .. 1368 +.. .. .. .. .. .. .. .. .. .. 1366 +.. .. .. .. .. .. .. .. .. 1364 +.. .. .. .. .. .. .. .. .. .. 1362 +.. .. .. .. .. .. .. .. 1360 +.. .. .. .. .. .. .. .. .. 1358 +.. .. .. .. .. .. .. 1356 +.. .. .. .. .. .. .. .. .. 1354 +.. .. .. .. .. .. .. .. .. .. 1352 +.. .. .. .. .. .. .. .. 1350 +.. .. .. .. .. .. .. .. .. .. 1348 +.. .. .. .. .. .. .. .. .. 1346 +.. .. .. .. .. .. .. .. .. .. 1344 +.. .. .. .. .. 1342 +.. .. .. .. .. .. .. .. .. .. 1340 +.. .. .. .. .. .. .. .. .. 1338 +.. .. .. .. .. .. .. .. 1336 +.. .. .. .. .. .. .. .. .. .. 1334 +.. .. .. .. .. .. .. .. .. 1332 +.. .. .. .. .. .. .. .. .. .. 1330 +.. .. .. .. .. .. .. 1328 +.. .. .. .. .. .. .. .. .. .. 1326 +.. .. .. .. .. .. .. .. .. 1324 +.. .. .. .. .. .. .. .. .. .. 1322 +.. .. .. .. .. .. .. .. 1320 +.. .. .. .. .. .. .. .. .. 1318 +.. .. .. .. .. .. .. .. .. .. 1316 +.. .. .. .. .. .. 1314 +.. .. .. .. .. .. .. .. 1312 +.. .. .. .. .. .. .. .. .. 1310 +.. .. .. .. .. .. .. 1308 +.. .. .. .. .. .. .. .. .. .. 1306 +.. .. .. .. .. .. .. .. .. 1304 +.. .. .. .. .. .. .. .. .. .. 1302 +.. .. .. .. .. .. .. .. 1300 +.. .. .. .. .. .. .. .. .. 1298 +.. .. .. .. .. .. .. .. .. .. 1296 +.. .. 1294 +.. .. .. .. .. .. .. .. .. 1292 +.. .. .. .. .. .. .. .. 1290 +.. .. .. .. .. .. .. 1288 +.. .. .. .. .. .. .. .. .. 1286 +.. .. .. .. .. .. .. .. 1284 +.. .. .. .. .. .. .. .. .. 1282 +.. .. .. .. .. .. 1280 +.. .. .. .. .. .. .. .. 1278 +.. .. .. .. .. .. .. 1276 +.. .. .. .. .. 1274 +.. .. .. .. .. .. .. .. 1272 +.. .. .. .. .. .. .. .. .. 1270 +.. .. .. .. .. .. .. 1268 +.. .. .. .. .. .. .. .. .. 1266 +.. .. .. .. .. .. .. .. 1264 +.. .. .. .. .. .. .. .. .. 1262 +.. .. .. .. .. .. 1260 +.. .. .. .. .. .. .. .. .. 1258 +.. .. .. .. .. .. .. .. 1256 +.. .. .. .. .. .. .. 1254 +.. .. .. .. .. .. .. .. .. .. 1252 +.. .. .. .. .. .. .. .. .. 1250 +.. .. .. .. .. .. .. .. 1248 +.. .. .. .. .. .. .. .. .. 1246 +.. .. .. .. .. .. .. .. .. .. 1244 +.. .. .. .. 1242 +.. .. .. .. .. .. .. .. .. 1240 +.. .. .. .. .. .. .. .. 1238 +.. .. .. .. .. .. .. .. .. 1236 +.. .. .. .. .. .. .. 1234 +.. .. .. .. .. .. .. .. 1232 +.. .. .. .. .. .. 1230 +.. .. .. .. .. .. .. .. .. 1228 +.. .. .. .. .. .. .. .. 1226 +.. .. .. .. .. .. .. 1224 +.. .. .. .. .. .. .. .. .. 1222 +.. .. .. .. .. .. .. .. 1220 +.. .. .. .. .. .. .. .. .. 1218 +.. .. .. .. .. 1216 +.. .. .. .. .. .. .. .. .. 1214 +.. .. .. .. .. .. .. .. 1212 +.. .. .. .. .. .. .. .. .. 1210 +.. .. .. .. .. .. .. 1208 +.. .. .. .. .. .. .. .. 1206 +.. .. .. .. .. .. 1204 +.. .. .. .. .. .. .. .. .. 1202 +.. .. .. .. .. .. .. .. .. .. 1200 +.. .. .. .. .. .. .. .. 1198 +.. .. .. .. .. .. .. .. .. 1196 +.. .. .. .. .. .. .. 1194 +.. .. .. .. .. .. .. .. .. 1192 +.. .. .. .. .. .. .. .. 1190 +.. .. .. .. .. .. .. .. .. 1188 +.. .. .. 1186 +.. .. .. .. .. .. .. .. .. 1184 +.. .. .. .. .. .. .. .. .. .. 1182 +.. .. .. .. .. .. .. .. 1180 +.. .. .. .. .. .. .. .. .. 1178 +.. .. .. .. .. .. .. 1176 +.. .. .. .. .. .. .. .. .. 1174 +.. .. .. .. .. .. .. .. .. .. 1172 +.. .. .. .. .. .. .. .. 1170 +.. .. .. .. .. .. .. .. .. 1168 +.. .. .. .. .. .. 1166 +.. .. .. .. .. .. .. .. .. .. 1164 +.. .. .. .. .. .. .. .. .. 1162 +.. .. .. .. .. .. .. .. 1160 +.. .. .. .. .. .. .. .. .. 1158 +.. .. .. .. .. .. .. .. .. .. 1156 +.. .. .. .. .. .. .. 1152 +.. .. .. .. .. .. .. .. .. 1150 +.. .. .. .. .. .. .. .. .. .. 1148 +.. .. .. .. .. .. .. .. 1146 +.. .. .. .. .. .. .. .. .. 1144 +.. .. .. .. .. 1142 +.. .. .. .. .. .. .. .. .. 1140 +.. .. .. .. .. .. .. .. 1138 +.. .. .. .. .. .. .. .. .. 1136 +.. .. .. .. .. .. .. 1134 +.. .. .. .. .. .. .. .. .. 1132 +.. .. .. .. .. .. .. .. 1130 +.. .. .. .. .. .. .. .. .. 1128 +.. .. .. .. .. .. .. .. .. .. 1126 +.. .. .. .. .. .. 1124 +.. .. .. .. .. .. .. .. .. 1122 +.. .. .. .. .. .. .. .. 1120 +.. .. .. .. .. .. .. .. .. 1118 +.. .. .. .. .. .. .. .. .. .. 1116 +.. .. .. .. .. .. .. 1114 +.. .. .. .. .. .. .. .. 1112 +.. .. .. .. .. .. .. .. .. 1110 +.. .. .. .. 1108 +.. .. .. .. .. .. .. .. .. 1106 +.. .. .. .. .. .. .. .. 1104 +.. .. .. .. .. .. .. .. .. 1102 +.. .. .. .. .. .. .. 1100 +.. .. .. .. .. .. .. .. .. 1098 +.. .. .. .. .. .. .. .. .. .. 1096 +.. .. .. .. .. .. .. .. 1094 +.. .. .. .. .. .. .. .. .. 1092 +.. .. .. .. .. .. 1090 +.. .. .. .. .. .. .. .. 1088 +.. .. .. .. .. .. .. .. .. 1086 +.. .. .. .. .. .. .. 1084 +.. .. .. .. .. .. .. .. 1082 +.. .. .. .. .. .. .. .. .. 1080 +.. .. .. .. .. 1078 +.. .. .. .. .. .. .. .. 1076 +.. .. .. .. .. .. .. 1074 +.. .. .. .. .. .. .. .. 1072 +.. .. .. .. .. .. .. .. .. 1070 +.. .. .. .. .. .. 1068 +.. .. .. .. .. .. .. 1066 +.. .. .. .. .. .. .. .. 1064 +1062 +.. .. .. .. .. .. .. .. .. 1060 +.. .. .. .. .. .. .. .. 1058 +.. .. .. .. .. .. .. .. .. 1056 +.. .. .. .. .. .. .. 1054 +.. .. .. .. .. .. .. .. .. 1052 +.. .. .. .. .. .. .. .. 1050 +.. .. .. .. .. .. .. .. .. .. 1048 +.. .. .. .. .. .. .. .. .. 1046 +.. .. .. .. .. .. 1044 +.. .. .. .. .. .. .. .. .. .. 1042 +.. .. .. .. .. .. .. .. .. .. .. 1040 +.. .. .. .. .. .. .. .. .. 1038 +.. .. .. .. .. .. .. .. .. .. .. 1036 +.. .. .. .. .. .. .. .. .. .. 1034 +.. .. .. .. .. .. .. .. .. .. .. 1032 +.. .. .. .. .. .. .. .. 1030 +.. .. .. .. .. .. .. .. .. .. 1028 +.. .. .. .. .. .. .. .. .. 1026 +.. .. .. .. .. .. .. .. .. .. 1024 +.. .. .. .. .. .. .. 1022 +.. .. .. .. .. .. .. .. .. .. 1020 +.. .. .. .. .. .. .. .. .. 1018 +.. .. .. .. .. .. .. .. .. .. 1016 +.. .. .. .. .. .. .. .. 1014 +.. .. .. .. .. .. .. .. .. .. 1012 +.. .. .. .. .. .. .. .. .. 1010 +.. .. .. .. .. .. .. .. .. .. 1008 +.. .. .. .. .. 1006 +.. .. .. .. .. .. .. .. .. 1004 +.. .. .. .. .. .. .. .. 1002 +.. .. .. .. .. .. .. .. .. 1000 +.. .. .. .. .. .. .. 998 +.. .. .. .. .. .. .. .. .. .. 996 +.. .. .. .. .. .. .. .. .. 994 +.. .. .. .. .. .. .. .. .. .. 992 +.. .. .. .. .. .. .. .. 990 +.. .. .. .. .. .. .. .. .. 988 +.. .. .. .. .. .. 986 +.. .. .. .. .. .. .. .. .. .. 984 +.. .. .. .. .. .. .. .. .. 982 +.. .. .. .. .. .. .. .. .. .. 980 +.. .. .. .. .. .. .. .. 978 +.. .. .. .. .. .. .. .. .. 976 +.. .. .. .. .. .. .. .. .. .. 974 +.. .. .. .. .. .. .. 972 +.. .. .. .. .. .. .. .. .. 970 +.. .. .. .. .. .. .. .. 968 +.. .. .. .. .. .. .. .. .. 966 +.. .. .. .. 964 +.. .. .. .. .. .. .. .. .. 962 +.. .. .. .. .. .. .. .. .. .. 960 +.. .. .. .. .. .. .. .. 958 +.. .. .. .. .. .. .. .. .. 956 +.. .. .. .. .. .. .. 954 +.. .. .. .. .. .. .. .. 952 +.. .. .. .. .. .. .. .. .. 950 +.. .. .. .. .. .. 948 +.. .. .. .. .. .. .. .. .. 946 +.. .. .. .. .. .. .. .. .. .. 944 +.. .. .. .. .. .. .. .. 942 +.. .. .. .. .. .. .. .. .. 940 +.. .. .. .. .. .. .. 938 +.. .. .. .. .. .. .. .. .. .. 936 +.. .. .. .. .. .. .. .. .. 934 +.. .. .. .. .. .. .. .. 932 +.. .. .. .. .. .. .. .. .. .. 930 +.. .. .. .. .. .. .. .. .. 928 +.. .. .. .. .. .. .. .. .. .. 926 +.. .. .. .. .. 924 +.. .. .. .. .. .. .. .. .. 922 +.. .. .. .. .. .. .. .. 920 +.. .. .. .. .. .. .. .. .. .. 918 +.. .. .. .. .. .. .. .. .. 916 +.. .. .. .. .. .. .. 914 +.. .. .. .. .. .. .. .. .. 912 +.. .. .. .. .. .. .. .. 910 +.. .. .. .. .. .. 908 +.. .. .. .. .. .. .. .. 906 +.. .. .. .. .. .. .. 904 +.. .. .. .. .. .. .. .. .. 900 +.. .. .. .. .. .. .. .. 898 +.. .. .. 896 +.. .. .. .. .. .. .. .. .. 894 +.. .. .. .. .. .. .. .. 892 +.. .. .. .. .. .. .. .. .. 890 +.. .. .. .. .. .. .. .. .. .. 888 +.. .. .. .. .. .. .. 886 +.. .. .. .. .. .. .. .. .. .. 884 +.. .. .. .. .. .. .. .. .. 882 +.. .. .. .. .. .. .. .. .. .. .. 880 +.. .. .. .. .. .. .. .. .. .. 878 +.. .. .. .. .. .. .. .. 876 +.. .. .. .. .. .. .. .. .. .. 874 +.. .. .. .. .. .. .. .. .. 872 +.. .. .. .. .. .. .. .. .. .. 870 +.. .. .. .. .. .. 868 +.. .. .. .. .. .. .. .. .. .. 866 +.. .. .. .. .. .. .. .. .. 864 +.. .. .. .. .. .. .. .. 862 +.. .. .. .. .. .. .. .. .. 860 +.. .. .. .. .. .. .. .. .. .. 858 +.. .. .. .. .. .. .. 856 +.. .. .. .. .. .. .. .. .. 854 +.. .. .. .. .. .. .. .. 852 +.. .. .. .. .. .. .. .. .. 850 +.. .. .. .. .. .. .. .. .. .. 848 +.. .. .. .. .. 846 +.. .. .. .. .. .. .. .. .. .. 844 +.. .. .. .. .. .. .. .. .. 842 +.. .. .. .. .. .. .. .. 840 +.. .. .. .. .. .. .. .. .. 838 +.. .. .. .. .. .. .. 836 +.. .. .. .. .. .. .. .. .. 834 +.. .. .. .. .. .. .. .. .. .. 832 +.. .. .. .. .. .. .. .. 830 +.. .. .. .. .. .. .. .. .. 828 +.. .. .. .. .. .. 826 +.. .. .. .. .. .. .. .. .. 824 +.. .. .. .. .. .. .. .. 822 +.. .. .. .. .. .. .. 820 +.. .. .. .. .. .. .. .. .. .. 818 +.. .. .. .. .. .. .. .. .. 816 +.. .. .. .. .. .. .. .. 814 +.. .. .. .. .. .. .. .. .. .. 812 +.. .. .. .. .. .. .. .. .. 810 +.. .. .. .. 808 +.. .. .. .. .. .. .. .. .. 806 +.. .. .. .. .. .. .. .. 804 +.. .. .. .. .. .. .. 802 +.. .. .. .. .. .. .. .. .. 800 +.. .. .. .. .. .. .. .. 798 +.. .. .. .. .. .. .. .. .. 796 +.. .. .. .. .. .. 794 +.. .. .. .. .. .. .. .. .. 792 +.. .. .. .. .. .. .. .. 790 +.. .. .. .. .. .. .. .. .. 788 +.. .. .. .. .. .. .. 786 +.. .. .. .. .. .. .. .. 784 +.. .. .. .. .. .. .. .. .. 782 +.. .. .. .. .. 780 +.. .. .. .. .. .. .. .. .. .. 778 +.. .. .. .. .. .. .. .. .. 776 +.. .. .. .. .. .. .. .. .. .. 774 +.. .. .. .. .. .. .. .. 772 +.. .. .. .. .. .. .. .. .. 770 +.. .. .. .. .. .. .. 768 +.. .. .. .. .. .. .. .. .. .. 766 +.. .. .. .. .. .. .. .. .. 764 +.. .. .. .. .. .. .. .. 762 +.. .. .. .. .. .. .. .. .. .. 760 +.. .. .. .. .. .. .. .. .. 758 +.. .. .. .. .. .. .. .. .. .. 756 +.. .. .. .. .. .. 754 +.. .. .. .. .. .. .. .. .. .. 752 +.. .. .. .. .. .. .. .. .. 750 +.. .. .. .. .. .. .. .. .. .. 748 +.. .. .. .. .. .. .. .. 746 +.. .. .. .. .. .. .. .. .. .. 744 +.. .. .. .. .. .. .. .. .. 742 +.. .. .. .. .. .. .. .. .. .. 740 +.. .. .. .. .. .. .. 738 +.. .. .. .. .. .. .. .. .. 736 +.. .. .. .. .. .. .. .. 734 +.. .. .. .. .. .. .. .. .. 732 +.. .. .. .. .. .. .. .. .. .. 730 +.. .. 728 +.. .. .. .. .. .. .. .. 726 +.. .. .. .. .. .. .. .. .. 724 +.. .. .. .. .. .. .. 722 +.. .. .. .. .. .. .. .. .. 720 +.. .. .. .. .. .. .. .. .. .. 718 +.. .. .. .. .. .. .. .. 716 +.. .. .. .. .. .. .. .. .. 714 +.. .. .. .. .. .. 712 +.. .. .. .. .. .. .. .. .. 710 +.. .. .. .. .. .. .. .. 708 +.. .. .. .. .. .. .. 706 +.. .. .. .. .. .. .. .. .. 704 +.. .. .. .. .. .. .. .. 702 +.. .. .. .. .. .. .. .. .. 700 +.. .. .. .. .. 698 +.. .. .. .. .. .. .. .. 696 +.. .. .. .. .. .. .. 694 +.. .. .. .. .. .. .. .. 692 +.. .. .. .. .. .. .. .. .. 690 +.. .. .. .. .. .. 688 +.. .. .. .. .. .. .. 686 +.. .. .. .. .. .. .. .. 684 +.. .. .. .. 682 +.. .. .. .. .. .. .. .. 680 +.. .. .. .. .. .. .. 678 +.. .. .. .. .. .. 676 +.. .. .. .. .. .. .. .. 674 +.. .. .. .. .. .. .. 672 +.. .. .. .. .. .. .. .. 670 +.. .. .. .. .. 668 +.. .. .. .. .. .. .. .. .. 666 +.. .. .. .. .. .. .. .. 664 +.. .. .. .. .. .. .. .. .. 662 +.. .. .. .. .. .. .. 660 +.. .. .. .. .. .. .. .. 658 +.. .. .. .. .. .. 656 +.. .. .. .. .. .. .. .. .. 654 +.. .. .. .. .. .. .. .. 652 +.. .. .. .. .. .. .. .. .. 650 +.. .. .. .. .. .. .. 648 +.. .. .. .. .. .. .. .. 646 +.. .. .. .. .. .. .. .. .. 644 +.. .. .. 642 +.. .. .. .. .. .. .. .. .. 640 +.. .. .. .. .. .. .. .. 638 +.. .. .. .. .. .. .. 636 +.. .. .. .. .. .. .. .. .. 634 +.. .. .. .. .. .. .. .. 632 +.. .. .. .. .. .. .. .. .. 630 +.. .. .. .. .. .. 628 +.. .. .. .. .. .. .. .. .. 626 +.. .. .. .. .. .. .. .. 624 +.. .. .. .. .. .. .. .. .. 622 +.. .. .. .. .. .. .. 620 +.. .. .. .. .. .. .. .. .. 618 +.. .. .. .. .. .. .. .. 616 +.. .. .. .. .. 614 +.. .. .. .. .. .. .. .. .. 612 +.. .. .. .. .. .. .. .. 610 +.. .. .. .. .. .. .. .. .. .. 608 +.. .. .. .. .. .. .. .. .. 606 +.. .. .. .. .. .. .. .. .. .. 604 +.. .. .. .. .. .. .. 602 +.. .. .. .. .. .. .. .. .. 600 +.. .. .. .. .. .. .. .. 598 +.. .. .. .. .. .. 596 +.. .. .. .. .. .. .. .. .. 594 +.. .. .. .. .. .. .. .. 592 +.. .. .. .. .. .. .. .. .. 590 +.. .. .. .. .. .. .. 588 +.. .. .. .. .. .. .. .. .. .. 586 +.. .. .. .. .. .. .. .. .. 584 +.. .. .. .. .. .. .. .. 582 +.. .. .. .. .. .. .. .. .. 580 +.. .. .. .. 578 +.. .. .. .. .. .. .. .. .. 576 +.. .. .. .. .. .. .. .. 574 +.. .. .. .. .. .. .. .. .. 572 +.. .. .. .. .. .. .. 570 +.. .. .. .. .. .. .. .. .. .. 568 +.. .. .. .. .. .. .. .. .. 566 +.. .. .. .. .. .. .. .. .. .. 564 +.. .. .. .. .. .. .. .. 562 +.. .. .. .. .. .. .. .. .. 560 +.. .. .. .. .. .. .. .. .. .. 558 +.. .. .. .. .. .. 556 +.. .. .. .. .. .. .. .. .. 554 +.. .. .. .. .. .. .. .. 552 +.. .. .. .. .. .. .. 550 +.. .. .. .. .. .. .. .. .. 548 +.. .. .. .. .. .. .. .. 546 +.. .. .. .. .. 544 +.. .. .. .. .. .. .. .. 542 +.. .. .. .. .. .. .. .. .. 540 +.. .. .. .. .. .. .. 538 +.. .. .. .. .. .. .. .. .. 536 +.. .. .. .. .. .. .. .. 534 +.. .. .. .. .. .. .. .. .. 532 +.. .. .. .. .. .. 530 +.. .. .. .. .. .. .. .. 528 +.. .. .. .. .. .. .. 526 +.. .. .. .. .. .. .. .. 524 +.. 522 +.. .. .. .. .. .. .. .. .. .. 520 +.. .. .. .. .. .. .. .. .. 518 +.. .. .. .. .. .. .. .. 516 +.. .. .. .. .. .. .. .. .. 514 +.. .. .. .. .. .. .. .. .. .. 512 +.. .. .. .. .. .. .. 510 +.. .. .. .. .. .. .. .. .. 508 +.. .. .. .. .. .. .. .. 506 +.. .. .. .. .. .. .. .. .. 504 +.. .. .. .. .. .. 502 +.. .. .. .. .. .. .. .. .. .. 500 +.. .. .. .. .. .. .. .. .. 498 +.. .. .. .. .. .. .. .. 496 +.. .. .. .. .. .. .. .. .. 494 +.. .. .. .. .. .. .. 492 +.. .. .. .. .. .. .. .. .. .. 490 +.. .. .. .. .. .. .. .. .. 488 +.. .. .. .. .. .. .. .. 486 +.. .. .. .. .. .. .. .. .. 484 +.. .. .. .. .. 482 +.. .. .. .. .. .. .. .. .. 480 +.. .. .. .. .. .. .. .. 478 +.. .. .. .. .. .. .. .. .. 476 +.. .. .. .. .. .. .. 474 +.. .. .. .. .. .. .. .. 472 +.. .. .. .. .. .. 470 +.. .. .. .. .. .. .. .. 468 +.. .. .. .. .. .. .. 466 +.. .. .. .. .. .. .. .. 464 +.. .. .. .. 462 +.. .. .. .. .. .. .. .. .. .. 460 +.. .. .. .. .. .. .. .. .. 458 +.. .. .. .. .. .. .. .. .. .. 456 +.. .. .. .. .. .. .. .. 454 +.. .. .. .. .. .. .. .. .. .. 452 +.. .. .. .. .. .. .. .. .. 450 +.. .. .. .. .. .. .. .. .. .. 448 +.. .. .. .. .. .. .. 446 +.. .. .. .. .. .. .. .. 444 +.. .. .. .. .. .. .. .. .. 442 +.. .. .. .. .. .. 440 +.. .. .. .. .. .. .. .. .. .. 438 +.. .. .. .. .. .. .. .. .. 436 +.. .. .. .. .. .. .. .. .. .. 434 +.. .. .. .. .. .. .. .. 432 +.. .. .. .. .. .. .. .. .. 430 +.. .. .. .. .. .. .. 428 +.. .. .. .. .. .. .. .. 426 +.. .. .. .. .. .. .. .. .. 424 +.. .. .. .. .. 422 +.. .. .. .. .. .. .. .. .. 420 +.. .. .. .. .. .. .. .. .. .. 418 +.. .. .. .. .. .. .. .. 416 +.. .. .. .. .. .. .. .. .. .. 414 +.. .. .. .. .. .. .. .. .. 412 +.. .. .. .. .. .. .. 410 +.. .. .. .. .. .. .. .. .. 408 +.. .. .. .. .. .. .. .. .. .. 406 +.. .. .. .. .. .. .. .. 404 +.. .. .. .. .. .. .. .. .. 402 +.. .. .. .. .. .. .. .. .. .. 400 +.. .. .. .. .. .. 398 +.. .. .. .. .. .. .. .. .. 396 +.. .. .. .. .. .. .. .. 394 +.. .. .. .. .. .. .. .. .. 392 +.. .. .. .. .. .. .. .. .. .. 390 +.. .. .. .. .. .. .. 388 +.. .. .. .. .. .. .. .. .. .. 386 +.. .. .. .. .. .. .. .. .. 384 +.. .. .. .. .. .. .. .. 382 +.. .. .. .. .. .. .. .. .. .. 380 +.. .. .. .. .. .. .. .. .. 378 +.. .. .. .. .. .. .. .. .. .. 376 +.. .. .. 374 +.. .. .. .. .. .. .. .. 372 +.. .. .. .. .. .. .. 370 +.. .. .. .. .. .. 368 +.. .. .. .. .. .. .. .. 366 +.. .. .. .. .. .. .. .. .. 364 +.. .. .. .. .. .. .. 362 +.. .. .. .. .. .. .. .. 360 +.. .. .. .. .. 358 +.. .. .. .. .. .. .. .. 356 +.. .. .. .. .. .. .. .. .. 354 +.. .. .. .. .. .. .. 352 +.. .. .. .. .. .. .. .. .. 350 +.. .. .. .. .. .. .. .. 348 +.. .. .. .. .. .. .. .. .. 346 +.. .. .. .. .. .. 344 +.. .. .. .. .. .. .. .. .. 342 +.. .. .. .. .. .. .. .. 340 +.. .. .. .. .. .. .. .. .. 338 +.. .. .. .. .. .. .. 336 +.. .. .. .. .. .. .. .. .. 334 +.. .. .. .. .. .. .. .. 332 +.. .. .. .. .. .. .. .. .. 330 +.. .. .. .. 328 +.. .. .. .. .. .. .. .. .. 326 +.. .. .. .. .. .. .. .. 324 +.. .. .. .. .. .. .. 322 +.. .. .. .. .. .. .. .. 320 +.. .. .. .. .. .. 318 +.. .. .. .. .. .. .. .. .. 316 +.. .. .. .. .. .. .. .. 314 +.. .. .. .. .. .. .. .. .. .. 312 +.. .. .. .. .. .. .. .. .. 310 +.. .. .. .. .. .. .. .. .. .. 308 +.. .. .. .. .. .. .. 306 +.. .. .. .. .. .. .. .. .. .. 304 +.. .. .. .. .. .. .. .. .. 302 +.. .. .. .. .. .. .. .. 300 +.. .. .. .. .. .. .. .. .. 298 +.. .. .. .. .. 296 +.. .. .. .. .. .. .. .. .. 294 +.. .. .. .. .. .. .. .. 292 +.. .. .. .. .. .. .. .. .. 290 +.. .. .. .. .. .. .. 288 +.. .. .. .. .. .. .. .. 286 +.. .. .. .. .. .. 284 +.. .. .. .. .. .. .. .. .. 282 +.. .. .. .. .. .. .. .. 280 +.. .. .. .. .. .. .. .. .. 278 +.. .. .. .. .. .. .. 276 +.. .. .. .. .. .. .. .. .. .. 274 +.. .. .. .. .. .. .. .. .. 272 +.. .. .. .. .. .. .. .. 270 +.. .. .. .. .. .. .. .. .. 268 +.. .. 266 +.. .. .. .. .. .. .. .. .. 264 +.. .. .. .. .. .. .. .. 262 +.. .. .. .. .. .. .. .. .. 260 +.. .. .. .. .. .. .. 258 +.. .. .. .. .. .. .. .. .. 256 +.. .. .. .. .. .. .. .. 254 +.. .. .. .. .. .. .. .. .. 252 +.. .. .. .. .. .. 250 +.. .. .. .. .. .. .. .. .. 248 +.. .. .. .. .. .. .. .. 246 +.. .. .. .. .. .. .. .. .. 244 +.. .. .. .. .. .. .. 242 +.. .. .. .. .. .. .. .. 240 +.. .. .. .. .. 238 +.. .. .. .. .. .. .. .. .. 236 +.. .. .. .. .. .. .. .. 234 +.. .. .. .. .. .. .. .. .. 232 +.. .. .. .. .. .. .. 230 +.. .. .. .. .. .. .. .. 228 +.. .. .. .. .. .. 226 +.. .. .. .. .. .. .. .. .. .. 224 +.. .. .. .. .. .. .. .. .. 222 +.. .. .. .. .. .. .. .. 220 +.. .. .. .. .. .. .. .. .. .. 218 +.. .. .. .. .. .. .. .. .. 216 +.. .. .. .. .. .. .. 214 +.. .. .. .. .. .. .. .. .. 212 +.. .. .. .. .. .. .. .. 210 +.. .. .. .. 208 +.. .. .. .. .. .. .. .. .. .. 206 +.. .. .. .. .. .. .. .. .. 204 +.. .. .. .. .. .. .. .. .. .. 202 +.. .. .. .. .. .. .. .. 200 +.. .. .. .. .. .. .. .. .. .. 198 +.. .. .. .. .. .. .. .. .. 196 +.. .. .. .. .. .. .. 194 +.. .. .. .. .. .. .. .. .. 192 +.. .. .. .. .. .. .. .. .. .. 190 +.. .. .. .. .. .. .. .. 188 +.. .. .. .. .. .. .. .. .. 186 +.. .. .. .. .. .. 184 +.. .. .. .. .. .. .. .. .. 182 +.. .. .. .. .. .. .. .. 180 +.. .. .. .. .. .. .. .. .. 178 +.. .. .. .. .. .. .. 176 +.. .. .. .. .. .. .. .. .. .. 174 +.. .. .. .. .. .. .. .. .. 172 +.. .. .. .. .. .. .. .. 170 +.. .. .. .. .. .. .. .. .. .. 168 +.. .. .. .. .. .. .. .. .. 166 +.. .. .. .. .. .. .. .. .. .. 164 +.. .. .. .. .. 162 +.. .. .. .. .. .. .. .. .. 160 +.. .. .. .. .. .. .. .. 158 +.. .. .. .. .. .. .. .. .. 156 +.. .. .. .. .. .. .. 154 +.. .. .. .. .. .. .. .. 152 +.. .. .. .. .. .. .. .. .. 150 +.. .. .. .. .. .. 148 +.. .. .. .. .. .. .. .. 146 +.. .. .. .. .. .. .. .. .. 144 +.. .. .. .. .. .. .. 142 +.. .. .. .. .. .. .. .. .. 140 +.. .. .. .. .. .. .. .. 138 +.. .. .. .. .. .. .. .. .. .. 136 +.. .. .. .. .. .. .. .. .. 134 +.. .. .. 132 +.. .. .. .. .. .. .. .. 130 +.. .. .. .. .. .. .. 128 +.. .. .. .. .. .. .. .. .. 126 +.. .. .. .. .. .. .. .. 124 +.. .. .. .. .. .. 122 +.. .. .. .. .. .. .. .. .. 120 +.. .. .. .. .. .. .. .. 118 +.. .. .. .. .. .. .. 116 +.. .. .. .. .. .. .. .. .. 114 +.. .. .. .. .. .. .. .. 112 +.. .. .. .. .. .. .. .. .. 110 +.. .. .. .. .. 108 +.. .. .. .. .. .. .. .. .. 106 +.. .. .. .. .. .. .. .. 104 +.. .. .. .. .. .. .. .. .. 102 +.. .. .. .. .. .. .. 100 +.. .. .. .. .. .. .. .. .. 98 +.. .. .. .. .. .. .. .. 96 +.. .. .. .. .. .. .. .. .. 94 +.. .. .. .. .. .. .. .. .. .. 92 +.. .. .. .. .. .. 90 +.. .. .. .. .. .. .. .. .. 88 +.. .. .. .. .. .. .. .. 86 +.. .. .. .. .. .. .. .. .. 84 +.. .. .. .. .. .. .. 82 +.. .. .. .. .. .. .. .. .. 80 +.. .. .. .. .. .. .. .. 78 +.. .. .. .. 76 +.. .. .. .. .. .. .. .. .. 74 +.. .. .. .. .. .. .. .. 72 +.. .. .. .. .. .. .. .. .. 70 +.. .. .. .. .. .. .. 68 +.. .. .. .. .. .. .. .. .. .. 66 +.. .. .. .. .. .. .. .. .. 64 +.. .. .. .. .. .. .. .. .. .. 62 +.. .. .. .. .. .. .. .. 60 +.. .. .. .. .. .. .. .. .. 58 +.. .. .. .. .. .. 56 +.. .. .. .. .. .. .. .. .. 54 +.. .. .. .. .. .. .. .. 52 +.. .. .. .. .. .. .. .. .. 50 +.. .. .. .. .. .. .. 48 +.. .. .. .. .. .. .. .. .. 46 +.. .. .. .. .. .. .. .. 44 +.. .. .. .. .. .. .. .. .. 42 +.. .. .. .. .. 40 +.. .. .. .. .. .. .. .. .. .. 38 +.. .. .. .. .. .. .. .. .. 36 +.. .. .. .. .. .. .. .. 34 +.. .. .. .. .. .. .. .. .. 32 +.. .. .. .. .. .. .. 30 +.. .. .. .. .. .. .. .. .. 28 +.. .. .. .. .. .. .. .. 26 +.. .. .. .. .. .. .. .. .. 24 +.. .. .. .. .. .. .. .. .. .. 22 +.. .. .. .. .. .. 20 +.. .. .. .. .. .. .. .. .. .. 18 +.. .. .. .. .. .. .. .. .. 16 +.. .. .. .. .. .. .. .. .. .. 14 +.. .. .. .. .. .. .. .. 12 +.. .. .. .. .. .. .. .. .. 10 +.. .. .. .. .. .. .. .. .. .. 8 +.. .. .. .. .. .. .. 6 +.. .. .. .. .. .. .. .. .. 4 +.. .. .. .. .. .. .. .. 2 +.. .. .. .. .. .. .. .. .. 0 +-- end single oset, pool allocator ---------------- +-- start oset, shared pool ---------------- +.. .. .. .. .. .. .. .. .. 1998 +.. .. .. .. .. .. .. .. 1996 +.. .. .. .. .. .. .. .. .. .. 1994 +.. .. .. .. .. .. .. .. .. 1992 +.. .. .. .. .. .. .. .. .. .. 1990 +.. .. .. .. .. .. .. 1988 +.. .. .. .. .. .. .. .. .. 1986 +.. .. .. .. .. .. .. .. .. .. 1984 +.. .. .. .. .. .. .. .. 1982 +.. .. .. .. .. .. .. .. .. .. 1980 +.. .. .. .. .. .. .. .. .. 1978 +.. .. .. .. .. .. .. .. .. .. 1976 +.. .. .. .. .. .. 1974 +.. .. .. .. .. .. .. .. .. .. 1972 +.. .. .. .. .. .. .. .. .. 1970 +.. .. .. .. .. .. .. .. .. .. 1968 +.. .. .. .. .. .. .. .. 1966 +.. .. .. .. .. .. .. .. .. .. 1964 +.. .. .. .. .. .. .. .. .. 1962 +.. .. .. .. .. .. .. 1960 +.. .. .. .. .. .. .. .. .. .. 1958 +.. .. .. .. .. .. .. .. .. 1956 +.. .. .. .. .. .. .. .. 1954 +.. .. .. .. .. .. .. .. .. .. 1952 +.. .. .. .. .. .. .. .. .. 1950 +.. .. .. .. .. .. .. .. .. .. 1948 +.. .. .. .. .. 1946 +.. .. .. .. .. .. .. .. .. 1944 +.. .. .. .. .. .. .. .. 1942 +.. .. .. .. .. .. .. 1940 +.. .. .. .. .. .. .. .. .. .. 1938 +.. .. .. .. .. .. .. .. .. 1936 +.. .. .. .. .. .. .. .. 1934 +.. .. .. .. .. .. .. .. .. 1932 +.. .. .. .. .. .. 1930 +.. .. .. .. .. .. .. .. .. 1928 +.. .. .. .. .. .. .. .. .. .. 1926 +.. .. .. .. .. .. .. .. 1924 +.. .. .. .. .. .. .. .. .. .. 1922 +.. .. .. .. .. .. .. .. .. 1920 +.. .. .. .. .. .. .. .. .. .. 1918 +.. .. .. .. .. .. .. 1916 +.. .. .. .. .. .. .. .. .. 1914 +.. .. .. .. .. .. .. .. 1912 +.. .. .. .. .. .. .. .. .. .. 1910 +.. .. .. .. .. .. .. .. .. 1908 +.. .. .. .. .. .. .. .. .. .. 1906 +.. .. .. .. 1904 +.. .. .. .. .. .. .. .. .. 1902 +.. .. .. .. .. .. .. .. 1900 +.. .. .. .. .. .. .. 1898 +.. .. .. .. .. .. .. .. .. 1896 +.. .. .. .. .. .. .. .. 1894 +.. .. .. .. .. .. .. .. .. 1892 +.. .. .. .. .. .. 1890 +.. .. .. .. .. .. .. .. .. .. 1888 +.. .. .. .. .. .. .. .. .. 1886 +.. .. .. .. .. .. .. .. .. .. 1884 +.. .. .. .. .. .. .. .. 1882 +.. .. .. .. .. .. .. .. .. 1880 +.. .. .. .. .. .. .. 1878 +.. .. .. .. .. .. .. .. 1876 +.. .. .. .. .. .. .. .. .. 1874 +.. .. .. .. .. 1872 +.. .. .. .. .. .. .. .. .. .. 1870 +.. .. .. .. .. .. .. .. .. 1868 +.. .. .. .. .. .. .. .. .. .. 1866 +.. .. .. .. .. .. .. .. 1864 +.. .. .. .. .. .. .. .. .. 1862 +.. .. .. .. .. .. .. .. .. .. 1860 +.. .. .. .. .. .. .. 1858 +.. .. .. .. .. .. .. .. .. 1856 +.. .. .. .. .. .. .. .. 1854 +.. .. .. .. .. .. .. .. .. 1852 +.. .. .. .. .. .. 1848 +.. .. .. .. .. .. .. .. .. 1846 +.. .. .. .. .. .. .. .. 1844 +.. .. .. .. .. .. .. .. .. .. 1842 +.. .. .. .. .. .. .. .. .. 1840 +.. .. .. .. .. .. .. 1838 +.. .. .. .. .. .. .. .. .. .. 1836 +.. .. .. .. .. .. .. .. .. 1834 +.. .. .. .. .. .. .. .. .. .. 1832 +.. .. .. .. .. .. .. .. 1830 +.. .. .. .. .. .. .. .. .. .. 1828 +.. .. .. .. .. .. .. .. .. 1826 +.. .. .. .. .. .. .. .. .. .. 1824 +.. .. .. 1822 +.. .. .. .. .. .. .. .. 1820 +.. .. .. .. .. .. .. .. .. 1818 +.. .. .. .. .. .. .. 1816 +.. .. .. .. .. .. .. .. 1814 +.. .. .. .. .. .. 1812 +.. .. .. .. .. .. .. .. 1810 +.. .. .. .. .. .. .. .. .. 1808 +.. .. .. .. .. .. .. 1806 +.. .. .. .. .. .. .. .. 1804 +.. .. .. .. .. 1802 +.. .. .. .. .. .. .. .. 1800 +.. .. .. .. .. .. .. .. .. 1798 +.. .. .. .. .. .. .. 1796 +.. .. .. .. .. .. .. .. 1794 +.. .. .. .. .. .. 1792 +.. .. .. .. .. .. .. .. 1790 +.. .. .. .. .. .. .. .. .. 1788 +.. .. .. .. .. .. .. 1786 +.. .. .. .. .. .. .. .. .. 1784 +.. .. .. .. .. .. .. .. 1782 +.. .. .. .. .. .. .. .. .. 1780 +.. .. .. .. 1778 +.. .. .. .. .. .. .. .. .. 1776 +.. .. .. .. .. .. .. .. 1774 +.. .. .. .. .. .. .. 1772 +.. .. .. .. .. .. .. .. 1770 +.. .. .. .. .. .. 1768 +.. .. .. .. .. .. .. .. .. 1766 +.. .. .. .. .. .. .. .. 1764 +.. .. .. .. .. .. .. .. .. 1762 +.. .. .. .. .. .. .. 1760 +.. .. .. .. .. .. .. .. .. 1758 +.. .. .. .. .. .. .. .. 1756 +.. .. .. .. .. 1754 +.. .. .. .. .. .. .. .. 1752 +.. .. .. .. .. .. .. 1750 +.. .. .. .. .. .. .. .. .. 1748 +.. .. .. .. .. .. .. .. 1746 +.. .. .. .. .. .. 1744 +.. .. .. .. .. .. .. .. .. 1742 +.. .. .. .. .. .. .. .. 1740 +.. .. .. .. .. .. .. .. .. 1738 +.. .. .. .. .. .. .. 1736 +.. .. .. .. .. .. .. .. .. 1734 +.. .. .. .. .. .. .. .. .. .. 1732 +.. .. .. .. .. .. .. .. 1730 +.. .. .. .. .. .. .. .. .. 1728 +.. .. 1726 +.. .. .. .. .. .. .. .. .. 1724 +.. .. .. .. .. .. .. .. 1722 +.. .. .. .. .. .. .. .. .. 1720 +.. .. .. .. .. .. .. .. .. .. 1718 +.. .. .. .. .. .. .. 1716 +.. .. .. .. .. .. .. .. .. 1714 +.. .. .. .. .. .. .. .. 1712 +.. .. .. .. .. .. 1710 +.. .. .. .. .. .. .. .. .. 1708 +.. .. .. .. .. .. .. .. 1706 +.. .. .. .. .. .. .. 1704 +.. .. .. .. .. .. .. .. .. 1702 +.. .. .. .. .. .. .. .. .. .. 1700 +.. .. .. .. .. .. .. .. 1698 +.. .. .. .. .. .. .. .. .. 1696 +.. .. .. .. .. 1694 +.. .. .. .. .. .. .. .. 1692 +.. .. .. .. .. .. .. .. .. 1690 +.. .. .. .. .. .. .. 1688 +.. .. .. .. .. .. .. .. .. 1686 +.. .. .. .. .. .. .. .. 1684 +.. .. .. .. .. .. .. .. .. 1682 +.. .. .. .. .. .. 1680 +.. .. .. .. .. .. .. .. 1678 +.. .. .. .. .. .. .. 1676 +.. .. .. .. 1674 +.. .. .. .. .. .. .. .. 1672 +.. .. .. .. .. .. .. 1670 +.. .. .. .. .. .. .. .. 1668 +.. .. .. .. .. .. 1666 +.. .. .. .. .. .. .. .. .. 1664 +.. .. .. .. .. .. .. .. 1662 +.. .. .. .. .. .. .. 1660 +.. .. .. .. .. .. .. .. 1658 +.. .. .. .. .. 1656 +.. .. .. .. .. .. .. .. .. 1654 +.. .. .. .. .. .. .. .. 1652 +.. .. .. .. .. .. .. 1650 +.. .. .. .. .. .. .. .. .. 1648 +.. .. .. .. .. .. .. .. 1646 +.. .. .. .. .. .. .. .. .. 1644 +.. .. .. .. .. .. 1642 +.. .. .. .. .. .. .. .. 1640 +.. .. .. .. .. .. .. .. .. 1638 +.. .. .. .. .. .. .. 1636 +.. .. .. .. .. .. .. .. .. 1634 +.. .. .. .. .. .. .. .. 1632 +.. .. .. .. .. .. .. .. .. 1630 +.. .. .. 1628 +.. .. .. .. .. .. .. .. 1626 +.. .. .. .. .. .. .. 1624 +.. .. .. .. .. .. 1622 +.. .. .. .. .. .. .. .. 1620 +.. .. .. .. .. .. .. 1618 +.. .. .. .. .. .. .. .. .. 1616 +.. .. .. .. .. .. .. .. 1614 +.. .. .. .. .. 1612 +.. .. .. .. .. .. .. .. .. 1610 +.. .. .. .. .. .. .. .. 1608 +.. .. .. .. .. .. .. 1606 +.. .. .. .. .. .. .. .. .. 1604 +.. .. .. .. .. .. .. .. 1602 +.. .. .. .. .. .. .. .. .. 1600 +.. .. .. .. .. .. 1598 +.. .. .. .. .. .. .. .. 1596 +.. .. .. .. .. .. .. .. .. 1594 +.. .. .. .. .. .. .. 1592 +.. .. .. .. .. .. .. .. 1590 +.. .. .. .. 1588 +.. .. .. .. .. .. .. .. 1586 +.. .. .. .. .. .. .. 1584 +.. .. .. .. .. .. .. .. .. 1582 +.. .. .. .. .. .. .. .. 1580 +.. .. .. .. .. .. 1578 +.. .. .. .. .. .. .. .. 1576 +.. .. .. .. .. .. .. 1574 +.. .. .. .. .. .. .. .. 1572 +.. .. .. .. .. .. .. .. .. 1570 +.. .. .. .. .. 1568 +.. .. .. .. .. .. .. .. 1566 +.. .. .. .. .. .. .. 1564 +.. .. .. .. .. .. .. .. .. 1562 +.. .. .. .. .. .. .. .. 1560 +.. .. .. .. .. .. .. .. .. 1558 +.. .. .. .. .. .. 1556 +.. .. .. .. .. .. .. .. 1554 +.. .. .. .. .. .. .. 1552 +.. .. .. .. .. .. .. .. 1550 +.. 1548 +.. .. .. .. .. .. .. .. 1546 +.. .. .. .. .. .. .. 1544 +.. .. .. .. .. .. .. .. 1542 +.. .. .. .. .. .. 1540 +.. .. .. .. .. .. .. .. .. 1538 +.. .. .. .. .. .. .. .. 1536 +.. .. .. .. .. .. .. 1534 +.. .. .. .. .. .. .. .. 1532 +.. .. .. .. .. 1530 +.. .. .. .. .. .. .. .. .. 1528 +.. .. .. .. .. .. .. .. 1526 +.. .. .. .. .. .. .. 1524 +.. .. .. .. .. .. .. .. 1522 +.. .. .. .. .. .. .. .. .. 1520 +.. .. .. .. .. .. 1518 +.. .. .. .. .. .. .. .. 1516 +.. .. .. .. .. .. .. 1514 +.. .. .. .. .. .. .. .. .. 1512 +.. .. .. .. .. .. .. .. 1510 +.. .. .. .. 1508 +.. .. .. .. .. .. .. .. 1506 +.. .. .. .. .. .. .. 1504 +.. .. .. .. .. .. .. .. 1502 +.. .. .. .. .. .. 1500 +.. .. .. .. .. .. .. 1498 +.. .. .. .. .. .. .. .. 1496 +.. .. .. .. .. 1494 +.. .. .. .. .. .. .. 1492 +.. .. .. .. .. .. .. .. 1490 +.. .. .. .. .. .. 1488 +.. .. .. .. .. .. .. .. .. 1486 +.. .. .. .. .. .. .. .. 1484 +.. .. .. .. .. .. .. .. .. 1482 +.. .. .. .. .. .. .. 1480 +.. .. .. .. .. .. .. .. .. 1478 +.. .. .. .. .. .. .. .. 1476 +.. .. .. .. .. .. .. .. .. 1474 +.. .. .. 1472 +.. .. .. .. .. .. .. .. .. .. 1470 +.. .. .. .. .. .. .. .. .. 1468 +.. .. .. .. .. .. .. .. .. .. 1466 +.. .. .. .. .. .. .. .. 1464 +.. .. .. .. .. .. .. .. .. 1462 +.. .. .. .. .. .. .. 1460 +.. .. .. .. .. .. .. .. .. .. 1458 +.. .. .. .. .. .. .. .. .. 1456 +.. .. .. .. .. .. .. .. .. .. 1454 +.. .. .. .. .. .. .. .. 1452 +.. .. .. .. .. .. .. .. .. 1450 +.. .. .. .. .. .. .. .. .. .. 1448 +.. .. .. .. .. .. 1446 +.. .. .. .. .. .. .. .. .. 1444 +.. .. .. .. .. .. .. .. 1442 +.. .. .. .. .. .. .. .. .. 1440 +.. .. .. .. .. .. .. 1438 +.. .. .. .. .. .. .. .. 1436 +.. .. .. .. .. 1434 +.. .. .. .. .. .. .. .. .. 1432 +.. .. .. .. .. .. .. .. 1430 +.. .. .. .. .. .. .. .. .. 1428 +.. .. .. .. .. .. .. 1426 +.. .. .. .. .. .. .. .. .. .. 1424 +.. .. .. .. .. .. .. .. .. 1422 +.. .. .. .. .. .. .. .. .. .. 1420 +.. .. .. .. .. .. .. .. 1418 +.. .. .. .. .. .. .. .. .. .. 1416 +.. .. .. .. .. .. .. .. .. 1414 +.. .. .. .. .. .. 1412 +.. .. .. .. .. .. .. .. .. 1410 +.. .. .. .. .. .. .. .. 1408 +.. .. .. .. .. .. .. .. .. 1406 +.. .. .. .. .. .. .. .. .. .. 1404 +.. .. .. .. .. .. .. 1402 +.. .. .. .. .. .. .. .. .. .. 1400 +.. .. .. .. .. .. .. .. .. 1398 +.. .. .. .. .. .. .. .. .. .. 1396 +.. .. .. .. .. .. .. .. 1394 +.. .. .. .. .. .. .. .. .. .. 1392 +.. .. .. .. .. .. .. .. .. 1390 +.. .. .. .. 1388 +.. .. .. .. .. .. .. .. .. .. 1386 +.. .. .. .. .. .. .. .. .. 1384 +.. .. .. .. .. .. .. .. 1382 +.. .. .. .. .. .. .. .. .. .. 1380 +.. .. .. .. .. .. .. .. .. 1378 +.. .. .. .. .. .. .. .. .. .. 1376 +.. .. .. .. .. .. .. 1374 +.. .. .. .. .. .. .. .. 1372 +.. .. .. .. .. .. .. .. .. 1370 +.. .. .. .. .. .. 1368 +.. .. .. .. .. .. .. .. .. .. 1366 +.. .. .. .. .. .. .. .. .. 1364 +.. .. .. .. .. .. .. .. .. .. 1362 +.. .. .. .. .. .. .. .. 1360 +.. .. .. .. .. .. .. .. .. 1358 +.. .. .. .. .. .. .. 1356 +.. .. .. .. .. .. .. .. .. 1354 +.. .. .. .. .. .. .. .. .. .. 1352 +.. .. .. .. .. .. .. .. 1350 +.. .. .. .. .. .. .. .. .. .. 1348 +.. .. .. .. .. .. .. .. .. 1346 +.. .. .. .. .. .. .. .. .. .. 1344 +.. .. .. .. .. 1342 +.. .. .. .. .. .. .. .. .. .. 1340 +.. .. .. .. .. .. .. .. .. 1338 +.. .. .. .. .. .. .. .. 1336 +.. .. .. .. .. .. .. .. .. .. 1334 +.. .. .. .. .. .. .. .. .. 1332 +.. .. .. .. .. .. .. .. .. .. 1330 +.. .. .. .. .. .. .. 1328 +.. .. .. .. .. .. .. .. .. .. 1326 +.. .. .. .. .. .. .. .. .. 1324 +.. .. .. .. .. .. .. .. .. .. 1322 +.. .. .. .. .. .. .. .. 1320 +.. .. .. .. .. .. .. .. .. 1318 +.. .. .. .. .. .. .. .. .. .. 1316 +.. .. .. .. .. .. 1314 +.. .. .. .. .. .. .. .. 1312 +.. .. .. .. .. .. .. .. .. 1310 +.. .. .. .. .. .. .. 1308 +.. .. .. .. .. .. .. .. .. .. 1306 +.. .. .. .. .. .. .. .. .. 1304 +.. .. .. .. .. .. .. .. .. .. 1302 +.. .. .. .. .. .. .. .. 1300 +.. .. .. .. .. .. .. .. .. 1298 +.. .. .. .. .. .. .. .. .. .. 1296 +.. .. 1294 +.. .. .. .. .. .. .. .. .. 1292 +.. .. .. .. .. .. .. .. 1290 +.. .. .. .. .. .. .. 1288 +.. .. .. .. .. .. .. .. .. 1286 +.. .. .. .. .. .. .. .. 1284 +.. .. .. .. .. .. .. .. .. 1282 +.. .. .. .. .. .. 1280 +.. .. .. .. .. .. .. .. 1278 +.. .. .. .. .. .. .. 1276 +.. .. .. .. .. 1274 +.. .. .. .. .. .. .. .. 1272 +.. .. .. .. .. .. .. .. .. 1270 +.. .. .. .. .. .. .. 1268 +.. .. .. .. .. .. .. .. .. 1266 +.. .. .. .. .. .. .. .. 1264 +.. .. .. .. .. .. .. .. .. 1262 +.. .. .. .. .. .. 1260 +.. .. .. .. .. .. .. .. .. 1258 +.. .. .. .. .. .. .. .. 1256 +.. .. .. .. .. .. .. 1254 +.. .. .. .. .. .. .. .. .. .. 1252 +.. .. .. .. .. .. .. .. .. 1250 +.. .. .. .. .. .. .. .. 1248 +.. .. .. .. .. .. .. .. .. 1246 +.. .. .. .. .. .. .. .. .. .. 1244 +.. .. .. .. 1242 +.. .. .. .. .. .. .. .. .. 1240 +.. .. .. .. .. .. .. .. 1238 +.. .. .. .. .. .. .. .. .. 1236 +.. .. .. .. .. .. .. 1234 +.. .. .. .. .. .. .. .. 1232 +.. .. .. .. .. .. 1230 +.. .. .. .. .. .. .. .. .. 1228 +.. .. .. .. .. .. .. .. 1226 +.. .. .. .. .. .. .. 1224 +.. .. .. .. .. .. .. .. .. 1222 +.. .. .. .. .. .. .. .. 1220 +.. .. .. .. .. .. .. .. .. 1218 +.. .. .. .. .. 1216 +.. .. .. .. .. .. .. .. .. 1214 +.. .. .. .. .. .. .. .. 1212 +.. .. .. .. .. .. .. .. .. 1210 +.. .. .. .. .. .. .. 1208 +.. .. .. .. .. .. .. .. 1206 +.. .. .. .. .. .. 1204 +.. .. .. .. .. .. .. .. .. 1202 +.. .. .. .. .. .. .. .. .. .. 1200 +.. .. .. .. .. .. .. .. 1198 +.. .. .. .. .. .. .. .. .. 1196 +.. .. .. .. .. .. .. 1194 +.. .. .. .. .. .. .. .. .. 1192 +.. .. .. .. .. .. .. .. 1190 +.. .. .. .. .. .. .. .. .. 1188 +.. .. .. 1186 +.. .. .. .. .. .. .. .. .. 1184 +.. .. .. .. .. .. .. .. .. .. 1182 +.. .. .. .. .. .. .. .. 1180 +.. .. .. .. .. .. .. .. .. 1178 +.. .. .. .. .. .. .. 1176 +.. .. .. .. .. .. .. .. .. 1174 +.. .. .. .. .. .. .. .. .. .. 1172 +.. .. .. .. .. .. .. .. 1170 +.. .. .. .. .. .. .. .. .. 1168 +.. .. .. .. .. .. 1166 +.. .. .. .. .. .. .. .. .. .. 1164 +.. .. .. .. .. .. .. .. .. 1162 +.. .. .. .. .. .. .. .. 1160 +.. .. .. .. .. .. .. .. .. 1158 +.. .. .. .. .. .. .. .. .. .. 1156 +.. .. .. .. .. .. .. 1152 +.. .. .. .. .. .. .. .. .. 1150 +.. .. .. .. .. .. .. .. .. .. 1148 +.. .. .. .. .. .. .. .. 1146 +.. .. .. .. .. .. .. .. .. 1144 +.. .. .. .. .. 1142 +.. .. .. .. .. .. .. .. .. 1140 +.. .. .. .. .. .. .. .. 1138 +.. .. .. .. .. .. .. .. .. 1136 +.. .. .. .. .. .. .. 1134 +.. .. .. .. .. .. .. .. .. 1132 +.. .. .. .. .. .. .. .. 1130 +.. .. .. .. .. .. .. .. .. 1128 +.. .. .. .. .. .. .. .. .. .. 1126 +.. .. .. .. .. .. 1124 +.. .. .. .. .. .. .. .. .. 1122 +.. .. .. .. .. .. .. .. 1120 +.. .. .. .. .. .. .. .. .. 1118 +.. .. .. .. .. .. .. .. .. .. 1116 +.. .. .. .. .. .. .. 1114 +.. .. .. .. .. .. .. .. 1112 +.. .. .. .. .. .. .. .. .. 1110 +.. .. .. .. 1108 +.. .. .. .. .. .. .. .. .. 1106 +.. .. .. .. .. .. .. .. 1104 +.. .. .. .. .. .. .. .. .. 1102 +.. .. .. .. .. .. .. 1100 +.. .. .. .. .. .. .. .. .. 1098 +.. .. .. .. .. .. .. .. .. .. 1096 +.. .. .. .. .. .. .. .. 1094 +.. .. .. .. .. .. .. .. .. 1092 +.. .. .. .. .. .. 1090 +.. .. .. .. .. .. .. .. 1088 +.. .. .. .. .. .. .. .. .. 1086 +.. .. .. .. .. .. .. 1084 +.. .. .. .. .. .. .. .. 1082 +.. .. .. .. .. .. .. .. .. 1080 +.. .. .. .. .. 1078 +.. .. .. .. .. .. .. .. 1076 +.. .. .. .. .. .. .. 1074 +.. .. .. .. .. .. .. .. 1072 +.. .. .. .. .. .. .. .. .. 1070 +.. .. .. .. .. .. 1068 +.. .. .. .. .. .. .. 1066 +.. .. .. .. .. .. .. .. 1064 +1062 +.. .. .. .. .. .. .. .. .. 1060 +.. .. .. .. .. .. .. .. 1058 +.. .. .. .. .. .. .. .. .. 1056 +.. .. .. .. .. .. .. 1054 +.. .. .. .. .. .. .. .. .. 1052 +.. .. .. .. .. .. .. .. 1050 +.. .. .. .. .. .. .. .. .. .. 1048 +.. .. .. .. .. .. .. .. .. 1046 +.. .. .. .. .. .. 1044 +.. .. .. .. .. .. .. .. .. .. 1042 +.. .. .. .. .. .. .. .. .. .. .. 1040 +.. .. .. .. .. .. .. .. .. 1038 +.. .. .. .. .. .. .. .. .. .. .. 1036 +.. .. .. .. .. .. .. .. .. .. 1034 +.. .. .. .. .. .. .. .. .. .. .. 1032 +.. .. .. .. .. .. .. .. 1030 +.. .. .. .. .. .. .. .. .. .. 1028 +.. .. .. .. .. .. .. .. .. 1026 +.. .. .. .. .. .. .. .. .. .. 1024 +.. .. .. .. .. .. .. 1022 +.. .. .. .. .. .. .. .. .. .. 1020 +.. .. .. .. .. .. .. .. .. 1018 +.. .. .. .. .. .. .. .. .. .. 1016 +.. .. .. .. .. .. .. .. 1014 +.. .. .. .. .. .. .. .. .. .. 1012 +.. .. .. .. .. .. .. .. .. 1010 +.. .. .. .. .. .. .. .. .. .. 1008 +.. .. .. .. .. 1006 +.. .. .. .. .. .. .. .. .. 1004 +.. .. .. .. .. .. .. .. 1002 +.. .. .. .. .. .. .. .. .. 1000 +.. .. .. .. .. .. .. 998 +.. .. .. .. .. .. .. .. .. .. 996 +.. .. .. .. .. .. .. .. .. 994 +.. .. .. .. .. .. .. .. .. .. 992 +.. .. .. .. .. .. .. .. 990 +.. .. .. .. .. .. .. .. .. 988 +.. .. .. .. .. .. 986 +.. .. .. .. .. .. .. .. .. .. 984 +.. .. .. .. .. .. .. .. .. 982 +.. .. .. .. .. .. .. .. .. .. 980 +.. .. .. .. .. .. .. .. 978 +.. .. .. .. .. .. .. .. .. 976 +.. .. .. .. .. .. .. .. .. .. 974 +.. .. .. .. .. .. .. 972 +.. .. .. .. .. .. .. .. .. 970 +.. .. .. .. .. .. .. .. 968 +.. .. .. .. .. .. .. .. .. 966 +.. .. .. .. 964 +.. .. .. .. .. .. .. .. .. 962 +.. .. .. .. .. .. .. .. .. .. 960 +.. .. .. .. .. .. .. .. 958 +.. .. .. .. .. .. .. .. .. 956 +.. .. .. .. .. .. .. 954 +.. .. .. .. .. .. .. .. 952 +.. .. .. .. .. .. .. .. .. 950 +.. .. .. .. .. .. 948 +.. .. .. .. .. .. .. .. .. 946 +.. .. .. .. .. .. .. .. .. .. 944 +.. .. .. .. .. .. .. .. 942 +.. .. .. .. .. .. .. .. .. 940 +.. .. .. .. .. .. .. 938 +.. .. .. .. .. .. .. .. .. .. 936 +.. .. .. .. .. .. .. .. .. 934 +.. .. .. .. .. .. .. .. 932 +.. .. .. .. .. .. .. .. .. .. 930 +.. .. .. .. .. .. .. .. .. 928 +.. .. .. .. .. .. .. .. .. .. 926 +.. .. .. .. .. 924 +.. .. .. .. .. .. .. .. .. 922 +.. .. .. .. .. .. .. .. 920 +.. .. .. .. .. .. .. .. .. .. 918 +.. .. .. .. .. .. .. .. .. 916 +.. .. .. .. .. .. .. 914 +.. .. .. .. .. .. .. .. .. 912 +.. .. .. .. .. .. .. .. 910 +.. .. .. .. .. .. 908 +.. .. .. .. .. .. .. .. 906 +.. .. .. .. .. .. .. 904 +.. .. .. .. .. .. .. .. .. 900 +.. .. .. .. .. .. .. .. 898 +.. .. .. 896 +.. .. .. .. .. .. .. .. .. 894 +.. .. .. .. .. .. .. .. 892 +.. .. .. .. .. .. .. .. .. 890 +.. .. .. .. .. .. .. .. .. .. 888 +.. .. .. .. .. .. .. 886 +.. .. .. .. .. .. .. .. .. .. 884 +.. .. .. .. .. .. .. .. .. 882 +.. .. .. .. .. .. .. .. .. .. .. 880 +.. .. .. .. .. .. .. .. .. .. 878 +.. .. .. .. .. .. .. .. 876 +.. .. .. .. .. .. .. .. .. .. 874 +.. .. .. .. .. .. .. .. .. 872 +.. .. .. .. .. .. .. .. .. .. 870 +.. .. .. .. .. .. 868 +.. .. .. .. .. .. .. .. .. .. 866 +.. .. .. .. .. .. .. .. .. 864 +.. .. .. .. .. .. .. .. 862 +.. .. .. .. .. .. .. .. .. 860 +.. .. .. .. .. .. .. .. .. .. 858 +.. .. .. .. .. .. .. 856 +.. .. .. .. .. .. .. .. .. 854 +.. .. .. .. .. .. .. .. 852 +.. .. .. .. .. .. .. .. .. 850 +.. .. .. .. .. .. .. .. .. .. 848 +.. .. .. .. .. 846 +.. .. .. .. .. .. .. .. .. .. 844 +.. .. .. .. .. .. .. .. .. 842 +.. .. .. .. .. .. .. .. 840 +.. .. .. .. .. .. .. .. .. 838 +.. .. .. .. .. .. .. 836 +.. .. .. .. .. .. .. .. .. 834 +.. .. .. .. .. .. .. .. .. .. 832 +.. .. .. .. .. .. .. .. 830 +.. .. .. .. .. .. .. .. .. 828 +.. .. .. .. .. .. 826 +.. .. .. .. .. .. .. .. .. 824 +.. .. .. .. .. .. .. .. 822 +.. .. .. .. .. .. .. 820 +.. .. .. .. .. .. .. .. .. .. 818 +.. .. .. .. .. .. .. .. .. 816 +.. .. .. .. .. .. .. .. 814 +.. .. .. .. .. .. .. .. .. .. 812 +.. .. .. .. .. .. .. .. .. 810 +.. .. .. .. 808 +.. .. .. .. .. .. .. .. .. 806 +.. .. .. .. .. .. .. .. 804 +.. .. .. .. .. .. .. 802 +.. .. .. .. .. .. .. .. .. 800 +.. .. .. .. .. .. .. .. 798 +.. .. .. .. .. .. .. .. .. 796 +.. .. .. .. .. .. 794 +.. .. .. .. .. .. .. .. .. 792 +.. .. .. .. .. .. .. .. 790 +.. .. .. .. .. .. .. .. .. 788 +.. .. .. .. .. .. .. 786 +.. .. .. .. .. .. .. .. 784 +.. .. .. .. .. .. .. .. .. 782 +.. .. .. .. .. 780 +.. .. .. .. .. .. .. .. .. .. 778 +.. .. .. .. .. .. .. .. .. 776 +.. .. .. .. .. .. .. .. .. .. 774 +.. .. .. .. .. .. .. .. 772 +.. .. .. .. .. .. .. .. .. 770 +.. .. .. .. .. .. .. 768 +.. .. .. .. .. .. .. .. .. .. 766 +.. .. .. .. .. .. .. .. .. 764 +.. .. .. .. .. .. .. .. 762 +.. .. .. .. .. .. .. .. .. .. 760 +.. .. .. .. .. .. .. .. .. 758 +.. .. .. .. .. .. .. .. .. .. 756 +.. .. .. .. .. .. 754 +.. .. .. .. .. .. .. .. .. .. 752 +.. .. .. .. .. .. .. .. .. 750 +.. .. .. .. .. .. .. .. .. .. 748 +.. .. .. .. .. .. .. .. 746 +.. .. .. .. .. .. .. .. .. .. 744 +.. .. .. .. .. .. .. .. .. 742 +.. .. .. .. .. .. .. .. .. .. 740 +.. .. .. .. .. .. .. 738 +.. .. .. .. .. .. .. .. .. 736 +.. .. .. .. .. .. .. .. 734 +.. .. .. .. .. .. .. .. .. 732 +.. .. .. .. .. .. .. .. .. .. 730 +.. .. 728 +.. .. .. .. .. .. .. .. 726 +.. .. .. .. .. .. .. .. .. 724 +.. .. .. .. .. .. .. 722 +.. .. .. .. .. .. .. .. .. 720 +.. .. .. .. .. .. .. .. .. .. 718 +.. .. .. .. .. .. .. .. 716 +.. .. .. .. .. .. .. .. .. 714 +.. .. .. .. .. .. 712 +.. .. .. .. .. .. .. .. .. 710 +.. .. .. .. .. .. .. .. 708 +.. .. .. .. .. .. .. 706 +.. .. .. .. .. .. .. .. .. 704 +.. .. .. .. .. .. .. .. 702 +.. .. .. .. .. .. .. .. .. 700 +.. .. .. .. .. 698 +.. .. .. .. .. .. .. .. 696 +.. .. .. .. .. .. .. 694 +.. .. .. .. .. .. .. .. 692 +.. .. .. .. .. .. .. .. .. 690 +.. .. .. .. .. .. 688 +.. .. .. .. .. .. .. 686 +.. .. .. .. .. .. .. .. 684 +.. .. .. .. 682 +.. .. .. .. .. .. .. .. 680 +.. .. .. .. .. .. .. 678 +.. .. .. .. .. .. 676 +.. .. .. .. .. .. .. .. 674 +.. .. .. .. .. .. .. 672 +.. .. .. .. .. .. .. .. 670 +.. .. .. .. .. 668 +.. .. .. .. .. .. .. .. .. 666 +.. .. .. .. .. .. .. .. 664 +.. .. .. .. .. .. .. .. .. 662 +.. .. .. .. .. .. .. 660 +.. .. .. .. .. .. .. .. 658 +.. .. .. .. .. .. 656 +.. .. .. .. .. .. .. .. .. 654 +.. .. .. .. .. .. .. .. 652 +.. .. .. .. .. .. .. .. .. 650 +.. .. .. .. .. .. .. 648 +.. .. .. .. .. .. .. .. 646 +.. .. .. .. .. .. .. .. .. 644 +.. .. .. 642 +.. .. .. .. .. .. .. .. .. 640 +.. .. .. .. .. .. .. .. 638 +.. .. .. .. .. .. .. 636 +.. .. .. .. .. .. .. .. .. 634 +.. .. .. .. .. .. .. .. 632 +.. .. .. .. .. .. .. .. .. 630 +.. .. .. .. .. .. 628 +.. .. .. .. .. .. .. .. .. 626 +.. .. .. .. .. .. .. .. 624 +.. .. .. .. .. .. .. .. .. 622 +.. .. .. .. .. .. .. 620 +.. .. .. .. .. .. .. .. .. 618 +.. .. .. .. .. .. .. .. 616 +.. .. .. .. .. 614 +.. .. .. .. .. .. .. .. .. 612 +.. .. .. .. .. .. .. .. 610 +.. .. .. .. .. .. .. .. .. .. 608 +.. .. .. .. .. .. .. .. .. 606 +.. .. .. .. .. .. .. .. .. .. 604 +.. .. .. .. .. .. .. 602 +.. .. .. .. .. .. .. .. .. 600 +.. .. .. .. .. .. .. .. 598 +.. .. .. .. .. .. 596 +.. .. .. .. .. .. .. .. .. 594 +.. .. .. .. .. .. .. .. 592 +.. .. .. .. .. .. .. .. .. 590 +.. .. .. .. .. .. .. 588 +.. .. .. .. .. .. .. .. .. .. 586 +.. .. .. .. .. .. .. .. .. 584 +.. .. .. .. .. .. .. .. 582 +.. .. .. .. .. .. .. .. .. 580 +.. .. .. .. 578 +.. .. .. .. .. .. .. .. .. 576 +.. .. .. .. .. .. .. .. 574 +.. .. .. .. .. .. .. .. .. 572 +.. .. .. .. .. .. .. 570 +.. .. .. .. .. .. .. .. .. .. 568 +.. .. .. .. .. .. .. .. .. 566 +.. .. .. .. .. .. .. .. .. .. 564 +.. .. .. .. .. .. .. .. 562 +.. .. .. .. .. .. .. .. .. 560 +.. .. .. .. .. .. .. .. .. .. 558 +.. .. .. .. .. .. 556 +.. .. .. .. .. .. .. .. .. 554 +.. .. .. .. .. .. .. .. 552 +.. .. .. .. .. .. .. 550 +.. .. .. .. .. .. .. .. .. 548 +.. .. .. .. .. .. .. .. 546 +.. .. .. .. .. 544 +.. .. .. .. .. .. .. .. 542 +.. .. .. .. .. .. .. .. .. 540 +.. .. .. .. .. .. .. 538 +.. .. .. .. .. .. .. .. .. 536 +.. .. .. .. .. .. .. .. 534 +.. .. .. .. .. .. .. .. .. 532 +.. .. .. .. .. .. 530 +.. .. .. .. .. .. .. .. 528 +.. .. .. .. .. .. .. 526 +.. .. .. .. .. .. .. .. 524 +.. 522 +.. .. .. .. .. .. .. .. .. .. 520 +.. .. .. .. .. .. .. .. .. 518 +.. .. .. .. .. .. .. .. 516 +.. .. .. .. .. .. .. .. .. 514 +.. .. .. .. .. .. .. .. .. .. 512 +.. .. .. .. .. .. .. 510 +.. .. .. .. .. .. .. .. .. 508 +.. .. .. .. .. .. .. .. 506 +.. .. .. .. .. .. .. .. .. 504 +.. .. .. .. .. .. 502 +.. .. .. .. .. .. .. .. .. .. 500 +.. .. .. .. .. .. .. .. .. 498 +.. .. .. .. .. .. .. .. 496 +.. .. .. .. .. .. .. .. .. 494 +.. .. .. .. .. .. .. 492 +.. .. .. .. .. .. .. .. .. .. 490 +.. .. .. .. .. .. .. .. .. 488 +.. .. .. .. .. .. .. .. 486 +.. .. .. .. .. .. .. .. .. 484 +.. .. .. .. .. 482 +.. .. .. .. .. .. .. .. .. 480 +.. .. .. .. .. .. .. .. 478 +.. .. .. .. .. .. .. .. .. 476 +.. .. .. .. .. .. .. 474 +.. .. .. .. .. .. .. .. 472 +.. .. .. .. .. .. 470 +.. .. .. .. .. .. .. .. 468 +.. .. .. .. .. .. .. 466 +.. .. .. .. .. .. .. .. 464 +.. .. .. .. 462 +.. .. .. .. .. .. .. .. .. .. 460 +.. .. .. .. .. .. .. .. .. 458 +.. .. .. .. .. .. .. .. .. .. 456 +.. .. .. .. .. .. .. .. 454 +.. .. .. .. .. .. .. .. .. .. 452 +.. .. .. .. .. .. .. .. .. 450 +.. .. .. .. .. .. .. .. .. .. 448 +.. .. .. .. .. .. .. 446 +.. .. .. .. .. .. .. .. 444 +.. .. .. .. .. .. .. .. .. 442 +.. .. .. .. .. .. 440 +.. .. .. .. .. .. .. .. .. .. 438 +.. .. .. .. .. .. .. .. .. 436 +.. .. .. .. .. .. .. .. .. .. 434 +.. .. .. .. .. .. .. .. 432 +.. .. .. .. .. .. .. .. .. 430 +.. .. .. .. .. .. .. 428 +.. .. .. .. .. .. .. .. 426 +.. .. .. .. .. .. .. .. .. 424 +.. .. .. .. .. 422 +.. .. .. .. .. .. .. .. .. 420 +.. .. .. .. .. .. .. .. .. .. 418 +.. .. .. .. .. .. .. .. 416 +.. .. .. .. .. .. .. .. .. .. 414 +.. .. .. .. .. .. .. .. .. 412 +.. .. .. .. .. .. .. 410 +.. .. .. .. .. .. .. .. .. 408 +.. .. .. .. .. .. .. .. .. .. 406 +.. .. .. .. .. .. .. .. 404 +.. .. .. .. .. .. .. .. .. 402 +.. .. .. .. .. .. .. .. .. .. 400 +.. .. .. .. .. .. 398 +.. .. .. .. .. .. .. .. .. 396 +.. .. .. .. .. .. .. .. 394 +.. .. .. .. .. .. .. .. .. 392 +.. .. .. .. .. .. .. .. .. .. 390 +.. .. .. .. .. .. .. 388 +.. .. .. .. .. .. .. .. .. .. 386 +.. .. .. .. .. .. .. .. .. 384 +.. .. .. .. .. .. .. .. 382 +.. .. .. .. .. .. .. .. .. .. 380 +.. .. .. .. .. .. .. .. .. 378 +.. .. .. .. .. .. .. .. .. .. 376 +.. .. .. 374 +.. .. .. .. .. .. .. .. 372 +.. .. .. .. .. .. .. 370 +.. .. .. .. .. .. 368 +.. .. .. .. .. .. .. .. 366 +.. .. .. .. .. .. .. .. .. 364 +.. .. .. .. .. .. .. 362 +.. .. .. .. .. .. .. .. 360 +.. .. .. .. .. 358 +.. .. .. .. .. .. .. .. 356 +.. .. .. .. .. .. .. .. .. 354 +.. .. .. .. .. .. .. 352 +.. .. .. .. .. .. .. .. .. 350 +.. .. .. .. .. .. .. .. 348 +.. .. .. .. .. .. .. .. .. 346 +.. .. .. .. .. .. 344 +.. .. .. .. .. .. .. .. .. 342 +.. .. .. .. .. .. .. .. 340 +.. .. .. .. .. .. .. .. .. 338 +.. .. .. .. .. .. .. 336 +.. .. .. .. .. .. .. .. .. 334 +.. .. .. .. .. .. .. .. 332 +.. .. .. .. .. .. .. .. .. 330 +.. .. .. .. 328 +.. .. .. .. .. .. .. .. .. 326 +.. .. .. .. .. .. .. .. 324 +.. .. .. .. .. .. .. 322 +.. .. .. .. .. .. .. .. 320 +.. .. .. .. .. .. 318 +.. .. .. .. .. .. .. .. .. 316 +.. .. .. .. .. .. .. .. 314 +.. .. .. .. .. .. .. .. .. .. 312 +.. .. .. .. .. .. .. .. .. 310 +.. .. .. .. .. .. .. .. .. .. 308 +.. .. .. .. .. .. .. 306 +.. .. .. .. .. .. .. .. .. .. 304 +.. .. .. .. .. .. .. .. .. 302 +.. .. .. .. .. .. .. .. 300 +.. .. .. .. .. .. .. .. .. 298 +.. .. .. .. .. 296 +.. .. .. .. .. .. .. .. .. 294 +.. .. .. .. .. .. .. .. 292 +.. .. .. .. .. .. .. .. .. 290 +.. .. .. .. .. .. .. 288 +.. .. .. .. .. .. .. .. 286 +.. .. .. .. .. .. 284 +.. .. .. .. .. .. .. .. .. 282 +.. .. .. .. .. .. .. .. 280 +.. .. .. .. .. .. .. .. .. 278 +.. .. .. .. .. .. .. 276 +.. .. .. .. .. .. .. .. .. .. 274 +.. .. .. .. .. .. .. .. .. 272 +.. .. .. .. .. .. .. .. 270 +.. .. .. .. .. .. .. .. .. 268 +.. .. 266 +.. .. .. .. .. .. .. .. .. 264 +.. .. .. .. .. .. .. .. 262 +.. .. .. .. .. .. .. .. .. 260 +.. .. .. .. .. .. .. 258 +.. .. .. .. .. .. .. .. .. 256 +.. .. .. .. .. .. .. .. 254 +.. .. .. .. .. .. .. .. .. 252 +.. .. .. .. .. .. 250 +.. .. .. .. .. .. .. .. .. 248 +.. .. .. .. .. .. .. .. 246 +.. .. .. .. .. .. .. .. .. 244 +.. .. .. .. .. .. .. 242 +.. .. .. .. .. .. .. .. 240 +.. .. .. .. .. 238 +.. .. .. .. .. .. .. .. .. 236 +.. .. .. .. .. .. .. .. 234 +.. .. .. .. .. .. .. .. .. 232 +.. .. .. .. .. .. .. 230 +.. .. .. .. .. .. .. .. 228 +.. .. .. .. .. .. 226 +.. .. .. .. .. .. .. .. .. .. 224 +.. .. .. .. .. .. .. .. .. 222 +.. .. .. .. .. .. .. .. 220 +.. .. .. .. .. .. .. .. .. .. 218 +.. .. .. .. .. .. .. .. .. 216 +.. .. .. .. .. .. .. 214 +.. .. .. .. .. .. .. .. .. 212 +.. .. .. .. .. .. .. .. 210 +.. .. .. .. 208 +.. .. .. .. .. .. .. .. .. .. 206 +.. .. .. .. .. .. .. .. .. 204 +.. .. .. .. .. .. .. .. .. .. 202 +.. .. .. .. .. .. .. .. 200 +.. .. .. .. .. .. .. .. .. .. 198 +.. .. .. .. .. .. .. .. .. 196 +.. .. .. .. .. .. .. 194 +.. .. .. .. .. .. .. .. .. 192 +.. .. .. .. .. .. .. .. .. .. 190 +.. .. .. .. .. .. .. .. 188 +.. .. .. .. .. .. .. .. .. 186 +.. .. .. .. .. .. 184 +.. .. .. .. .. .. .. .. .. 182 +.. .. .. .. .. .. .. .. 180 +.. .. .. .. .. .. .. .. .. 178 +.. .. .. .. .. .. .. 176 +.. .. .. .. .. .. .. .. .. .. 174 +.. .. .. .. .. .. .. .. .. 172 +.. .. .. .. .. .. .. .. 170 +.. .. .. .. .. .. .. .. .. .. 168 +.. .. .. .. .. .. .. .. .. 166 +.. .. .. .. .. .. .. .. .. .. 164 +.. .. .. .. .. 162 +.. .. .. .. .. .. .. .. .. 160 +.. .. .. .. .. .. .. .. 158 +.. .. .. .. .. .. .. .. .. 156 +.. .. .. .. .. .. .. 154 +.. .. .. .. .. .. .. .. 152 +.. .. .. .. .. .. .. .. .. 150 +.. .. .. .. .. .. 148 +.. .. .. .. .. .. .. .. 146 +.. .. .. .. .. .. .. .. .. 144 +.. .. .. .. .. .. .. 142 +.. .. .. .. .. .. .. .. .. 140 +.. .. .. .. .. .. .. .. 138 +.. .. .. .. .. .. .. .. .. .. 136 +.. .. .. .. .. .. .. .. .. 134 +.. .. .. 132 +.. .. .. .. .. .. .. .. 130 +.. .. .. .. .. .. .. 128 +.. .. .. .. .. .. .. .. .. 126 +.. .. .. .. .. .. .. .. 124 +.. .. .. .. .. .. 122 +.. .. .. .. .. .. .. .. .. 120 +.. .. .. .. .. .. .. .. 118 +.. .. .. .. .. .. .. 116 +.. .. .. .. .. .. .. .. .. 114 +.. .. .. .. .. .. .. .. 112 +.. .. .. .. .. .. .. .. .. 110 +.. .. .. .. .. 108 +.. .. .. .. .. .. .. .. .. 106 +.. .. .. .. .. .. .. .. 104 +.. .. .. .. .. .. .. .. .. 102 +.. .. .. .. .. .. .. 100 +.. .. .. .. .. .. .. .. .. 98 +.. .. .. .. .. .. .. .. 96 +.. .. .. .. .. .. .. .. .. 94 +.. .. .. .. .. .. .. .. .. .. 92 +.. .. .. .. .. .. 90 +.. .. .. .. .. .. .. .. .. 88 +.. .. .. .. .. .. .. .. 86 +.. .. .. .. .. .. .. .. .. 84 +.. .. .. .. .. .. .. 82 +.. .. .. .. .. .. .. .. .. 80 +.. .. .. .. .. .. .. .. 78 +.. .. .. .. 76 +.. .. .. .. .. .. .. .. .. 74 +.. .. .. .. .. .. .. .. 72 +.. .. .. .. .. .. .. .. .. 70 +.. .. .. .. .. .. .. 68 +.. .. .. .. .. .. .. .. .. .. 66 +.. .. .. .. .. .. .. .. .. 64 +.. .. .. .. .. .. .. .. .. .. 62 +.. .. .. .. .. .. .. .. 60 +.. .. .. .. .. .. .. .. .. 58 +.. .. .. .. .. .. 56 +.. .. .. .. .. .. .. .. .. 54 +.. .. .. .. .. .. .. .. 52 +.. .. .. .. .. .. .. .. .. 50 +.. .. .. .. .. .. .. 48 +.. .. .. .. .. .. .. .. .. 46 +.. .. .. .. .. .. .. .. 44 +.. .. .. .. .. .. .. .. .. 42 +.. .. .. .. .. 40 +.. .. .. .. .. .. .. .. .. .. 38 +.. .. .. .. .. .. .. .. .. 36 +.. .. .. .. .. .. .. .. 34 +.. .. .. .. .. .. .. .. .. 32 +.. .. .. .. .. .. .. 30 +.. .. .. .. .. .. .. .. .. 28 +.. .. .. .. .. .. .. .. 26 +.. .. .. .. .. .. .. .. .. 24 +.. .. .. .. .. .. .. .. .. .. 22 +.. .. .. .. .. .. 20 +.. .. .. .. .. .. .. .. .. .. 18 +.. .. .. .. .. .. .. .. .. 16 +.. .. .. .. .. .. .. .. .. .. 14 +.. .. .. .. .. .. .. .. 12 +.. .. .. .. .. .. .. .. .. 10 +.. .. .. .. .. .. .. .. .. .. 8 +.. .. .. .. .. .. .. 6 +.. .. .. .. .. .. .. .. .. 4 +.. .. .. .. .. .. .. .. 2 +.. .. .. .. .. .. .. .. .. 0 +-- end oset, shared pool ---------------- +-- start cloned oset, shared pool ---------------- +.. .. .. .. .. .. .. .. .. 1998 +.. .. .. .. .. .. .. .. 1996 +.. .. .. .. .. .. .. .. .. .. 1994 +.. .. .. .. .. .. .. .. .. 1992 +.. .. .. .. .. .. .. .. .. .. 1990 +.. .. .. .. .. .. .. 1988 +.. .. .. .. .. .. .. .. .. 1986 +.. .. .. .. .. .. .. .. .. .. 1984 +.. .. .. .. .. .. .. .. 1982 +.. .. .. .. .. .. .. .. .. .. 1980 +.. .. .. .. .. .. .. .. .. 1978 +.. .. .. .. .. .. .. .. .. .. 1976 +.. .. .. .. .. .. 1974 +.. .. .. .. .. .. .. .. .. .. 1972 +.. .. .. .. .. .. .. .. .. 1970 +.. .. .. .. .. .. .. .. .. .. 1968 +.. .. .. .. .. .. .. .. 1966 +.. .. .. .. .. .. .. .. .. .. 1964 +.. .. .. .. .. .. .. .. .. 1962 +.. .. .. .. .. .. .. 1960 +.. .. .. .. .. .. .. .. .. .. 1958 +.. .. .. .. .. .. .. .. .. 1956 +.. .. .. .. .. .. .. .. 1954 +.. .. .. .. .. .. .. .. .. .. 1952 +.. .. .. .. .. .. .. .. .. 1950 +.. .. .. .. .. .. .. .. .. .. 1948 +.. .. .. .. .. 1946 +.. .. .. .. .. .. .. .. .. 1944 +.. .. .. .. .. .. .. .. 1942 +.. .. .. .. .. .. .. 1940 +.. .. .. .. .. .. .. .. .. .. 1938 +.. .. .. .. .. .. .. .. .. 1936 +.. .. .. .. .. .. .. .. 1934 +.. .. .. .. .. .. .. .. .. 1932 +.. .. .. .. .. .. 1930 +.. .. .. .. .. .. .. .. .. 1928 +.. .. .. .. .. .. .. .. .. .. 1926 +.. .. .. .. .. .. .. .. 1924 +.. .. .. .. .. .. .. .. .. .. 1922 +.. .. .. .. .. .. .. .. .. 1920 +.. .. .. .. .. .. .. .. .. .. 1918 +.. .. .. .. .. .. .. 1916 +.. .. .. .. .. .. .. .. .. 1914 +.. .. .. .. .. .. .. .. 1912 +.. .. .. .. .. .. .. .. .. .. 1910 +.. .. .. .. .. .. .. .. .. 1908 +.. .. .. .. .. .. .. .. .. .. 1906 +.. .. .. .. 1904 +.. .. .. .. .. .. .. .. .. 1902 +.. .. .. .. .. .. .. .. 1900 +.. .. .. .. .. .. .. 1898 +.. .. .. .. .. .. .. .. .. 1896 +.. .. .. .. .. .. .. .. 1894 +.. .. .. .. .. .. .. .. .. 1892 +.. .. .. .. .. .. 1890 +.. .. .. .. .. .. .. .. .. .. 1888 +.. .. .. .. .. .. .. .. .. 1886 +.. .. .. .. .. .. .. .. .. .. 1884 +.. .. .. .. .. .. .. .. 1882 +.. .. .. .. .. .. .. .. .. 1880 +.. .. .. .. .. .. .. 1878 +.. .. .. .. .. .. .. .. 1876 +.. .. .. .. .. .. .. .. .. 1874 +.. .. .. .. .. 1872 +.. .. .. .. .. .. .. .. .. .. 1870 +.. .. .. .. .. .. .. .. .. 1868 +.. .. .. .. .. .. .. .. .. .. 1866 +.. .. .. .. .. .. .. .. 1864 +.. .. .. .. .. .. .. .. .. 1862 +.. .. .. .. .. .. .. .. .. .. 1860 +.. .. .. .. .. .. .. 1858 +.. .. .. .. .. .. .. .. .. 1856 +.. .. .. .. .. .. .. .. 1854 +.. .. .. .. .. .. .. .. .. 1852 +.. .. .. .. .. .. 1848 +.. .. .. .. .. .. .. .. .. 1846 +.. .. .. .. .. .. .. .. 1844 +.. .. .. .. .. .. .. .. .. .. 1842 +.. .. .. .. .. .. .. .. .. 1840 +.. .. .. .. .. .. .. 1838 +.. .. .. .. .. .. .. .. .. .. 1836 +.. .. .. .. .. .. .. .. .. 1834 +.. .. .. .. .. .. .. .. .. .. 1832 +.. .. .. .. .. .. .. .. 1830 +.. .. .. .. .. .. .. .. .. .. 1828 +.. .. .. .. .. .. .. .. .. 1826 +.. .. .. .. .. .. .. .. .. .. 1824 +.. .. .. 1822 +.. .. .. .. .. .. .. .. 1820 +.. .. .. .. .. .. .. .. .. 1818 +.. .. .. .. .. .. .. 1816 +.. .. .. .. .. .. .. .. 1814 +.. .. .. .. .. .. 1812 +.. .. .. .. .. .. .. .. 1810 +.. .. .. .. .. .. .. .. .. 1808 +.. .. .. .. .. .. .. 1806 +.. .. .. .. .. .. .. .. 1804 +.. .. .. .. .. 1802 +.. .. .. .. .. .. .. .. 1800 +.. .. .. .. .. .. .. .. .. 1798 +.. .. .. .. .. .. .. 1796 +.. .. .. .. .. .. .. .. 1794 +.. .. .. .. .. .. 1792 +.. .. .. .. .. .. .. .. 1790 +.. .. .. .. .. .. .. .. .. 1788 +.. .. .. .. .. .. .. 1786 +.. .. .. .. .. .. .. .. .. 1784 +.. .. .. .. .. .. .. .. 1782 +.. .. .. .. .. .. .. .. .. 1780 +.. .. .. .. 1778 +.. .. .. .. .. .. .. .. .. 1776 +.. .. .. .. .. .. .. .. 1774 +.. .. .. .. .. .. .. 1772 +.. .. .. .. .. .. .. .. 1770 +.. .. .. .. .. .. 1768 +.. .. .. .. .. .. .. .. .. 1766 +.. .. .. .. .. .. .. .. 1764 +.. .. .. .. .. .. .. .. .. 1762 +.. .. .. .. .. .. .. 1760 +.. .. .. .. .. .. .. .. .. 1758 +.. .. .. .. .. .. .. .. 1756 +.. .. .. .. .. 1754 +.. .. .. .. .. .. .. .. 1752 +.. .. .. .. .. .. .. 1750 +.. .. .. .. .. .. .. .. .. 1748 +.. .. .. .. .. .. .. .. 1746 +.. .. .. .. .. .. 1744 +.. .. .. .. .. .. .. .. .. 1742 +.. .. .. .. .. .. .. .. 1740 +.. .. .. .. .. .. .. .. .. 1738 +.. .. .. .. .. .. .. 1736 +.. .. .. .. .. .. .. .. .. 1734 +.. .. .. .. .. .. .. .. .. .. 1732 +.. .. .. .. .. .. .. .. 1730 +.. .. .. .. .. .. .. .. .. 1728 +.. .. 1726 +.. .. .. .. .. .. .. .. .. 1724 +.. .. .. .. .. .. .. .. 1722 +.. .. .. .. .. .. .. .. .. 1720 +.. .. .. .. .. .. .. .. .. .. 1718 +.. .. .. .. .. .. .. 1716 +.. .. .. .. .. .. .. .. .. 1714 +.. .. .. .. .. .. .. .. 1712 +.. .. .. .. .. .. 1710 +.. .. .. .. .. .. .. .. .. 1708 +.. .. .. .. .. .. .. .. 1706 +.. .. .. .. .. .. .. 1704 +.. .. .. .. .. .. .. .. .. 1702 +.. .. .. .. .. .. .. .. .. .. 1700 +.. .. .. .. .. .. .. .. 1698 +.. .. .. .. .. .. .. .. .. 1696 +.. .. .. .. .. 1694 +.. .. .. .. .. .. .. .. 1692 +.. .. .. .. .. .. .. .. .. 1690 +.. .. .. .. .. .. .. 1688 +.. .. .. .. .. .. .. .. .. 1686 +.. .. .. .. .. .. .. .. 1684 +.. .. .. .. .. .. .. .. .. 1682 +.. .. .. .. .. .. 1680 +.. .. .. .. .. .. .. .. 1678 +.. .. .. .. .. .. .. 1676 +.. .. .. .. 1674 +.. .. .. .. .. .. .. .. 1672 +.. .. .. .. .. .. .. 1670 +.. .. .. .. .. .. .. .. 1668 +.. .. .. .. .. .. 1666 +.. .. .. .. .. .. .. .. .. 1664 +.. .. .. .. .. .. .. .. 1662 +.. .. .. .. .. .. .. 1660 +.. .. .. .. .. .. .. .. 1658 +.. .. .. .. .. 1656 +.. .. .. .. .. .. .. .. .. 1654 +.. .. .. .. .. .. .. .. 1652 +.. .. .. .. .. .. .. 1650 +.. .. .. .. .. .. .. .. .. 1648 +.. .. .. .. .. .. .. .. 1646 +.. .. .. .. .. .. .. .. .. 1644 +.. .. .. .. .. .. 1642 +.. .. .. .. .. .. .. .. 1640 +.. .. .. .. .. .. .. .. .. 1638 +.. .. .. .. .. .. .. 1636 +.. .. .. .. .. .. .. .. .. 1634 +.. .. .. .. .. .. .. .. 1632 +.. .. .. .. .. .. .. .. .. 1630 +.. .. .. 1628 +.. .. .. .. .. .. .. .. 1626 +.. .. .. .. .. .. .. 1624 +.. .. .. .. .. .. 1622 +.. .. .. .. .. .. .. .. 1620 +.. .. .. .. .. .. .. 1618 +.. .. .. .. .. .. .. .. .. 1616 +.. .. .. .. .. .. .. .. 1614 +.. .. .. .. .. 1612 +.. .. .. .. .. .. .. .. .. 1610 +.. .. .. .. .. .. .. .. 1608 +.. .. .. .. .. .. .. 1606 +.. .. .. .. .. .. .. .. .. 1604 +.. .. .. .. .. .. .. .. 1602 +.. .. .. .. .. .. .. .. .. 1600 +.. .. .. .. .. .. 1598 +.. .. .. .. .. .. .. .. 1596 +.. .. .. .. .. .. .. .. .. 1594 +.. .. .. .. .. .. .. 1592 +.. .. .. .. .. .. .. .. 1590 +.. .. .. .. 1588 +.. .. .. .. .. .. .. .. 1586 +.. .. .. .. .. .. .. 1584 +.. .. .. .. .. .. .. .. .. 1582 +.. .. .. .. .. .. .. .. 1580 +.. .. .. .. .. .. 1578 +.. .. .. .. .. .. .. .. 1576 +.. .. .. .. .. .. .. 1574 +.. .. .. .. .. .. .. .. 1572 +.. .. .. .. .. .. .. .. .. 1570 +.. .. .. .. .. 1568 +.. .. .. .. .. .. .. .. 1566 +.. .. .. .. .. .. .. 1564 +.. .. .. .. .. .. .. .. .. 1562 +.. .. .. .. .. .. .. .. 1560 +.. .. .. .. .. .. .. .. .. 1558 +.. .. .. .. .. .. 1556 +.. .. .. .. .. .. .. .. 1554 +.. .. .. .. .. .. .. 1552 +.. .. .. .. .. .. .. .. 1550 +.. 1548 +.. .. .. .. .. .. .. .. 1546 +.. .. .. .. .. .. .. 1544 +.. .. .. .. .. .. .. .. 1542 +.. .. .. .. .. .. 1540 +.. .. .. .. .. .. .. .. .. 1538 +.. .. .. .. .. .. .. .. 1536 +.. .. .. .. .. .. .. 1534 +.. .. .. .. .. .. .. .. 1532 +.. .. .. .. .. 1530 +.. .. .. .. .. .. .. .. .. 1528 +.. .. .. .. .. .. .. .. 1526 +.. .. .. .. .. .. .. 1524 +.. .. .. .. .. .. .. .. 1522 +.. .. .. .. .. .. .. .. .. 1520 +.. .. .. .. .. .. 1518 +.. .. .. .. .. .. .. .. 1516 +.. .. .. .. .. .. .. 1514 +.. .. .. .. .. .. .. .. .. 1512 +.. .. .. .. .. .. .. .. 1510 +.. .. .. .. 1508 +.. .. .. .. .. .. .. .. 1506 +.. .. .. .. .. .. .. 1504 +.. .. .. .. .. .. .. .. 1502 +.. .. .. .. .. .. 1500 +.. .. .. .. .. .. .. 1498 +.. .. .. .. .. .. .. .. 1496 +.. .. .. .. .. 1494 +.. .. .. .. .. .. .. 1492 +.. .. .. .. .. .. .. .. 1490 +.. .. .. .. .. .. 1488 +.. .. .. .. .. .. .. .. .. 1486 +.. .. .. .. .. .. .. .. 1484 +.. .. .. .. .. .. .. .. .. 1482 +.. .. .. .. .. .. .. 1480 +.. .. .. .. .. .. .. .. .. 1478 +.. .. .. .. .. .. .. .. 1476 +.. .. .. .. .. .. .. .. .. 1474 +.. .. .. 1472 +.. .. .. .. .. .. .. .. .. .. 1470 +.. .. .. .. .. .. .. .. .. 1468 +.. .. .. .. .. .. .. .. .. .. 1466 +.. .. .. .. .. .. .. .. 1464 +.. .. .. .. .. .. .. .. .. 1462 +.. .. .. .. .. .. .. 1460 +.. .. .. .. .. .. .. .. .. .. 1458 +.. .. .. .. .. .. .. .. .. 1456 +.. .. .. .. .. .. .. .. .. .. 1454 +.. .. .. .. .. .. .. .. 1452 +.. .. .. .. .. .. .. .. .. 1450 +.. .. .. .. .. .. .. .. .. .. 1448 +.. .. .. .. .. .. 1446 +.. .. .. .. .. .. .. .. .. 1444 +.. .. .. .. .. .. .. .. 1442 +.. .. .. .. .. .. .. .. .. 1440 +.. .. .. .. .. .. .. 1438 +.. .. .. .. .. .. .. .. 1436 +.. .. .. .. .. 1434 +.. .. .. .. .. .. .. .. .. 1432 +.. .. .. .. .. .. .. .. 1430 +.. .. .. .. .. .. .. .. .. 1428 +.. .. .. .. .. .. .. 1426 +.. .. .. .. .. .. .. .. .. .. 1424 +.. .. .. .. .. .. .. .. .. 1422 +.. .. .. .. .. .. .. .. .. .. 1420 +.. .. .. .. .. .. .. .. 1418 +.. .. .. .. .. .. .. .. .. .. 1416 +.. .. .. .. .. .. .. .. .. 1414 +.. .. .. .. .. .. 1412 +.. .. .. .. .. .. .. .. .. 1410 +.. .. .. .. .. .. .. .. 1408 +.. .. .. .. .. .. .. .. .. 1406 +.. .. .. .. .. .. .. .. .. .. 1404 +.. .. .. .. .. .. .. 1402 +.. .. .. .. .. .. .. .. .. .. 1400 +.. .. .. .. .. .. .. .. .. 1398 +.. .. .. .. .. .. .. .. .. .. 1396 +.. .. .. .. .. .. .. .. 1394 +.. .. .. .. .. .. .. .. .. .. 1392 +.. .. .. .. .. .. .. .. .. 1390 +.. .. .. .. 1388 +.. .. .. .. .. .. .. .. .. .. 1386 +.. .. .. .. .. .. .. .. .. 1384 +.. .. .. .. .. .. .. .. 1382 +.. .. .. .. .. .. .. .. .. .. 1380 +.. .. .. .. .. .. .. .. .. 1378 +.. .. .. .. .. .. .. .. .. .. 1376 +.. .. .. .. .. .. .. 1374 +.. .. .. .. .. .. .. .. 1372 +.. .. .. .. .. .. .. .. .. 1370 +.. .. .. .. .. .. 1368 +.. .. .. .. .. .. .. .. .. .. 1366 +.. .. .. .. .. .. .. .. .. 1364 +.. .. .. .. .. .. .. .. .. .. 1362 +.. .. .. .. .. .. .. .. 1360 +.. .. .. .. .. .. .. .. .. 1358 +.. .. .. .. .. .. .. 1356 +.. .. .. .. .. .. .. .. .. 1354 +.. .. .. .. .. .. .. .. .. .. 1352 +.. .. .. .. .. .. .. .. 1350 +.. .. .. .. .. .. .. .. .. .. 1348 +.. .. .. .. .. .. .. .. .. 1346 +.. .. .. .. .. .. .. .. .. .. 1344 +.. .. .. .. .. 1342 +.. .. .. .. .. .. .. .. .. .. 1340 +.. .. .. .. .. .. .. .. .. 1338 +.. .. .. .. .. .. .. .. 1336 +.. .. .. .. .. .. .. .. .. .. 1334 +.. .. .. .. .. .. .. .. .. 1332 +.. .. .. .. .. .. .. .. .. .. 1330 +.. .. .. .. .. .. .. 1328 +.. .. .. .. .. .. .. .. .. .. 1326 +.. .. .. .. .. .. .. .. .. 1324 +.. .. .. .. .. .. .. .. .. .. 1322 +.. .. .. .. .. .. .. .. 1320 +.. .. .. .. .. .. .. .. .. 1318 +.. .. .. .. .. .. .. .. .. .. 1316 +.. .. .. .. .. .. 1314 +.. .. .. .. .. .. .. .. 1312 +.. .. .. .. .. .. .. .. .. 1310 +.. .. .. .. .. .. .. 1308 +.. .. .. .. .. .. .. .. .. .. 1306 +.. .. .. .. .. .. .. .. .. 1304 +.. .. .. .. .. .. .. .. .. .. 1302 +.. .. .. .. .. .. .. .. 1300 +.. .. .. .. .. .. .. .. .. 1298 +.. .. .. .. .. .. .. .. .. .. 1296 +.. .. 1294 +.. .. .. .. .. .. .. .. .. 1292 +.. .. .. .. .. .. .. .. 1290 +.. .. .. .. .. .. .. 1288 +.. .. .. .. .. .. .. .. .. 1286 +.. .. .. .. .. .. .. .. 1284 +.. .. .. .. .. .. .. .. .. 1282 +.. .. .. .. .. .. 1280 +.. .. .. .. .. .. .. .. 1278 +.. .. .. .. .. .. .. 1276 +.. .. .. .. .. 1274 +.. .. .. .. .. .. .. .. 1272 +.. .. .. .. .. .. .. .. .. 1270 +.. .. .. .. .. .. .. 1268 +.. .. .. .. .. .. .. .. .. 1266 +.. .. .. .. .. .. .. .. 1264 +.. .. .. .. .. .. .. .. .. 1262 +.. .. .. .. .. .. 1260 +.. .. .. .. .. .. .. .. .. 1258 +.. .. .. .. .. .. .. .. 1256 +.. .. .. .. .. .. .. 1254 +.. .. .. .. .. .. .. .. .. .. 1252 +.. .. .. .. .. .. .. .. .. 1250 +.. .. .. .. .. .. .. .. 1248 +.. .. .. .. .. .. .. .. .. 1246 +.. .. .. .. .. .. .. .. .. .. 1244 +.. .. .. .. 1242 +.. .. .. .. .. .. .. .. .. 1240 +.. .. .. .. .. .. .. .. 1238 +.. .. .. .. .. .. .. .. .. 1236 +.. .. .. .. .. .. .. 1234 +.. .. .. .. .. .. .. .. 1232 +.. .. .. .. .. .. 1230 +.. .. .. .. .. .. .. .. .. 1228 +.. .. .. .. .. .. .. .. 1226 +.. .. .. .. .. .. .. 1224 +.. .. .. .. .. .. .. .. .. 1222 +.. .. .. .. .. .. .. .. 1220 +.. .. .. .. .. .. .. .. .. 1218 +.. .. .. .. .. 1216 +.. .. .. .. .. .. .. .. .. 1214 +.. .. .. .. .. .. .. .. 1212 +.. .. .. .. .. .. .. .. .. 1210 +.. .. .. .. .. .. .. 1208 +.. .. .. .. .. .. .. .. 1206 +.. .. .. .. .. .. 1204 +.. .. .. .. .. .. .. .. .. 1202 +.. .. .. .. .. .. .. .. .. .. 1200 +.. .. .. .. .. .. .. .. 1198 +.. .. .. .. .. .. .. .. .. 1196 +.. .. .. .. .. .. .. 1194 +.. .. .. .. .. .. .. .. .. 1192 +.. .. .. .. .. .. .. .. 1190 +.. .. .. .. .. .. .. .. .. 1188 +.. .. .. 1186 +.. .. .. .. .. .. .. .. .. 1184 +.. .. .. .. .. .. .. .. .. .. 1182 +.. .. .. .. .. .. .. .. 1180 +.. .. .. .. .. .. .. .. .. 1178 +.. .. .. .. .. .. .. 1176 +.. .. .. .. .. .. .. .. .. 1174 +.. .. .. .. .. .. .. .. .. .. 1172 +.. .. .. .. .. .. .. .. 1170 +.. .. .. .. .. .. .. .. .. 1168 +.. .. .. .. .. .. 1166 +.. .. .. .. .. .. .. .. .. .. 1164 +.. .. .. .. .. .. .. .. .. 1162 +.. .. .. .. .. .. .. .. 1160 +.. .. .. .. .. .. .. .. .. 1158 +.. .. .. .. .. .. .. .. .. .. 1156 +.. .. .. .. .. .. .. 1152 +.. .. .. .. .. .. .. .. .. 1150 +.. .. .. .. .. .. .. .. .. .. 1148 +.. .. .. .. .. .. .. .. 1146 +.. .. .. .. .. .. .. .. .. 1144 +.. .. .. .. .. 1142 +.. .. .. .. .. .. .. .. .. 1140 +.. .. .. .. .. .. .. .. 1138 +.. .. .. .. .. .. .. .. .. 1136 +.. .. .. .. .. .. .. 1134 +.. .. .. .. .. .. .. .. .. 1132 +.. .. .. .. .. .. .. .. 1130 +.. .. .. .. .. .. .. .. .. 1128 +.. .. .. .. .. .. .. .. .. .. 1126 +.. .. .. .. .. .. 1124 +.. .. .. .. .. .. .. .. .. 1122 +.. .. .. .. .. .. .. .. 1120 +.. .. .. .. .. .. .. .. .. 1118 +.. .. .. .. .. .. .. .. .. .. 1116 +.. .. .. .. .. .. .. 1114 +.. .. .. .. .. .. .. .. 1112 +.. .. .. .. .. .. .. .. .. 1110 +.. .. .. .. 1108 +.. .. .. .. .. .. .. .. .. 1106 +.. .. .. .. .. .. .. .. 1104 +.. .. .. .. .. .. .. .. .. 1102 +.. .. .. .. .. .. .. 1100 +.. .. .. .. .. .. .. .. .. 1098 +.. .. .. .. .. .. .. .. .. .. 1096 +.. .. .. .. .. .. .. .. 1094 +.. .. .. .. .. .. .. .. .. 1092 +.. .. .. .. .. .. 1090 +.. .. .. .. .. .. .. .. 1088 +.. .. .. .. .. .. .. .. .. 1086 +.. .. .. .. .. .. .. 1084 +.. .. .. .. .. .. .. .. 1082 +.. .. .. .. .. .. .. .. .. 1080 +.. .. .. .. .. 1078 +.. .. .. .. .. .. .. .. 1076 +.. .. .. .. .. .. .. 1074 +.. .. .. .. .. .. .. .. 1072 +.. .. .. .. .. .. .. .. .. 1070 +.. .. .. .. .. .. 1068 +.. .. .. .. .. .. .. 1066 +.. .. .. .. .. .. .. .. 1064 +1062 +.. .. .. .. .. .. .. .. .. 1060 +.. .. .. .. .. .. .. .. 1058 +.. .. .. .. .. .. .. .. .. 1056 +.. .. .. .. .. .. .. 1054 +.. .. .. .. .. .. .. .. .. 1052 +.. .. .. .. .. .. .. .. 1050 +.. .. .. .. .. .. .. .. .. .. 1048 +.. .. .. .. .. .. .. .. .. 1046 +.. .. .. .. .. .. 1044 +.. .. .. .. .. .. .. .. .. .. 1042 +.. .. .. .. .. .. .. .. .. .. .. 1040 +.. .. .. .. .. .. .. .. .. 1038 +.. .. .. .. .. .. .. .. .. .. .. 1036 +.. .. .. .. .. .. .. .. .. .. 1034 +.. .. .. .. .. .. .. .. .. .. .. 1032 +.. .. .. .. .. .. .. .. 1030 +.. .. .. .. .. .. .. .. .. .. 1028 +.. .. .. .. .. .. .. .. .. 1026 +.. .. .. .. .. .. .. .. .. .. 1024 +.. .. .. .. .. .. .. 1022 +.. .. .. .. .. .. .. .. .. .. 1020 +.. .. .. .. .. .. .. .. .. 1018 +.. .. .. .. .. .. .. .. .. .. 1016 +.. .. .. .. .. .. .. .. 1014 +.. .. .. .. .. .. .. .. .. .. 1012 +.. .. .. .. .. .. .. .. .. 1010 +.. .. .. .. .. .. .. .. .. .. 1008 +.. .. .. .. .. 1006 +.. .. .. .. .. .. .. .. .. 1004 +.. .. .. .. .. .. .. .. 1002 +.. .. .. .. .. .. .. .. .. 1000 +.. .. .. .. .. .. .. 998 +.. .. .. .. .. .. .. .. .. .. 996 +.. .. .. .. .. .. .. .. .. 994 +.. .. .. .. .. .. .. .. .. .. 992 +.. .. .. .. .. .. .. .. 990 +.. .. .. .. .. .. .. .. .. 988 +.. .. .. .. .. .. 986 +.. .. .. .. .. .. .. .. .. .. 984 +.. .. .. .. .. .. .. .. .. 982 +.. .. .. .. .. .. .. .. .. .. 980 +.. .. .. .. .. .. .. .. 978 +.. .. .. .. .. .. .. .. .. 976 +.. .. .. .. .. .. .. .. .. .. 974 +.. .. .. .. .. .. .. 972 +.. .. .. .. .. .. .. .. .. 970 +.. .. .. .. .. .. .. .. 968 +.. .. .. .. .. .. .. .. .. 966 +.. .. .. .. 964 +.. .. .. .. .. .. .. .. .. 962 +.. .. .. .. .. .. .. .. .. .. 960 +.. .. .. .. .. .. .. .. 958 +.. .. .. .. .. .. .. .. .. 956 +.. .. .. .. .. .. .. 954 +.. .. .. .. .. .. .. .. 952 +.. .. .. .. .. .. .. .. .. 950 +.. .. .. .. .. .. 948 +.. .. .. .. .. .. .. .. .. 946 +.. .. .. .. .. .. .. .. .. .. 944 +.. .. .. .. .. .. .. .. 942 +.. .. .. .. .. .. .. .. .. 940 +.. .. .. .. .. .. .. 938 +.. .. .. .. .. .. .. .. .. .. 936 +.. .. .. .. .. .. .. .. .. 934 +.. .. .. .. .. .. .. .. 932 +.. .. .. .. .. .. .. .. .. .. 930 +.. .. .. .. .. .. .. .. .. 928 +.. .. .. .. .. .. .. .. .. .. 926 +.. .. .. .. .. 924 +.. .. .. .. .. .. .. .. .. 922 +.. .. .. .. .. .. .. .. 920 +.. .. .. .. .. .. .. .. .. .. 918 +.. .. .. .. .. .. .. .. .. 916 +.. .. .. .. .. .. .. 914 +.. .. .. .. .. .. .. .. .. 912 +.. .. .. .. .. .. .. .. 910 +.. .. .. .. .. .. 908 +.. .. .. .. .. .. .. .. 906 +.. .. .. .. .. .. .. 904 +.. .. .. .. .. .. .. .. .. 900 +.. .. .. .. .. .. .. .. 898 +.. .. .. 896 +.. .. .. .. .. .. .. .. .. 894 +.. .. .. .. .. .. .. .. 892 +.. .. .. .. .. .. .. .. .. 890 +.. .. .. .. .. .. .. .. .. .. 888 +.. .. .. .. .. .. .. 886 +.. .. .. .. .. .. .. .. .. .. 884 +.. .. .. .. .. .. .. .. .. 882 +.. .. .. .. .. .. .. .. .. .. .. 880 +.. .. .. .. .. .. .. .. .. .. 878 +.. .. .. .. .. .. .. .. 876 +.. .. .. .. .. .. .. .. .. .. 874 +.. .. .. .. .. .. .. .. .. 872 +.. .. .. .. .. .. .. .. .. .. 870 +.. .. .. .. .. .. 868 +.. .. .. .. .. .. .. .. .. .. 866 +.. .. .. .. .. .. .. .. .. 864 +.. .. .. .. .. .. .. .. 862 +.. .. .. .. .. .. .. .. .. 860 +.. .. .. .. .. .. .. .. .. .. 858 +.. .. .. .. .. .. .. 856 +.. .. .. .. .. .. .. .. .. 854 +.. .. .. .. .. .. .. .. 852 +.. .. .. .. .. .. .. .. .. 850 +.. .. .. .. .. .. .. .. .. .. 848 +.. .. .. .. .. 846 +.. .. .. .. .. .. .. .. .. .. 844 +.. .. .. .. .. .. .. .. .. 842 +.. .. .. .. .. .. .. .. 840 +.. .. .. .. .. .. .. .. .. 838 +.. .. .. .. .. .. .. 836 +.. .. .. .. .. .. .. .. .. 834 +.. .. .. .. .. .. .. .. .. .. 832 +.. .. .. .. .. .. .. .. 830 +.. .. .. .. .. .. .. .. .. 828 +.. .. .. .. .. .. 826 +.. .. .. .. .. .. .. .. .. 824 +.. .. .. .. .. .. .. .. 822 +.. .. .. .. .. .. .. 820 +.. .. .. .. .. .. .. .. .. .. 818 +.. .. .. .. .. .. .. .. .. 816 +.. .. .. .. .. .. .. .. 814 +.. .. .. .. .. .. .. .. .. .. 812 +.. .. .. .. .. .. .. .. .. 810 +.. .. .. .. 808 +.. .. .. .. .. .. .. .. .. 806 +.. .. .. .. .. .. .. .. 804 +.. .. .. .. .. .. .. 802 +.. .. .. .. .. .. .. .. .. 800 +.. .. .. .. .. .. .. .. 798 +.. .. .. .. .. .. .. .. .. 796 +.. .. .. .. .. .. 794 +.. .. .. .. .. .. .. .. .. 792 +.. .. .. .. .. .. .. .. 790 +.. .. .. .. .. .. .. .. .. 788 +.. .. .. .. .. .. .. 786 +.. .. .. .. .. .. .. .. 784 +.. .. .. .. .. .. .. .. .. 782 +.. .. .. .. .. 780 +.. .. .. .. .. .. .. .. .. .. 778 +.. .. .. .. .. .. .. .. .. 776 +.. .. .. .. .. .. .. .. .. .. 774 +.. .. .. .. .. .. .. .. 772 +.. .. .. .. .. .. .. .. .. 770 +.. .. .. .. .. .. .. 768 +.. .. .. .. .. .. .. .. .. .. 766 +.. .. .. .. .. .. .. .. .. 764 +.. .. .. .. .. .. .. .. 762 +.. .. .. .. .. .. .. .. .. .. 760 +.. .. .. .. .. .. .. .. .. 758 +.. .. .. .. .. .. .. .. .. .. 756 +.. .. .. .. .. .. 754 +.. .. .. .. .. .. .. .. .. .. 752 +.. .. .. .. .. .. .. .. .. 750 +.. .. .. .. .. .. .. .. .. .. 748 +.. .. .. .. .. .. .. .. 746 +.. .. .. .. .. .. .. .. .. .. 744 +.. .. .. .. .. .. .. .. .. 742 +.. .. .. .. .. .. .. .. .. .. 740 +.. .. .. .. .. .. .. 738 +.. .. .. .. .. .. .. .. .. 736 +.. .. .. .. .. .. .. .. 734 +.. .. .. .. .. .. .. .. .. 732 +.. .. .. .. .. .. .. .. .. .. 730 +.. .. 728 +.. .. .. .. .. .. .. .. 726 +.. .. .. .. .. .. .. .. .. 724 +.. .. .. .. .. .. .. 722 +.. .. .. .. .. .. .. .. .. 720 +.. .. .. .. .. .. .. .. .. .. 718 +.. .. .. .. .. .. .. .. 716 +.. .. .. .. .. .. .. .. .. 714 +.. .. .. .. .. .. 712 +.. .. .. .. .. .. .. .. .. 710 +.. .. .. .. .. .. .. .. 708 +.. .. .. .. .. .. .. 706 +.. .. .. .. .. .. .. .. .. 704 +.. .. .. .. .. .. .. .. 702 +.. .. .. .. .. .. .. .. .. 700 +.. .. .. .. .. 698 +.. .. .. .. .. .. .. .. 696 +.. .. .. .. .. .. .. 694 +.. .. .. .. .. .. .. .. 692 +.. .. .. .. .. .. .. .. .. 690 +.. .. .. .. .. .. 688 +.. .. .. .. .. .. .. 686 +.. .. .. .. .. .. .. .. 684 +.. .. .. .. 682 +.. .. .. .. .. .. .. .. 680 +.. .. .. .. .. .. .. 678 +.. .. .. .. .. .. 676 +.. .. .. .. .. .. .. .. 674 +.. .. .. .. .. .. .. 672 +.. .. .. .. .. .. .. .. 670 +.. .. .. .. .. 668 +.. .. .. .. .. .. .. .. .. 666 +.. .. .. .. .. .. .. .. 664 +.. .. .. .. .. .. .. .. .. 662 +.. .. .. .. .. .. .. 660 +.. .. .. .. .. .. .. .. 658 +.. .. .. .. .. .. 656 +.. .. .. .. .. .. .. .. .. 654 +.. .. .. .. .. .. .. .. 652 +.. .. .. .. .. .. .. .. .. 650 +.. .. .. .. .. .. .. 648 +.. .. .. .. .. .. .. .. 646 +.. .. .. .. .. .. .. .. .. 644 +.. .. .. 642 +.. .. .. .. .. .. .. .. .. 640 +.. .. .. .. .. .. .. .. 638 +.. .. .. .. .. .. .. 636 +.. .. .. .. .. .. .. .. .. 634 +.. .. .. .. .. .. .. .. 632 +.. .. .. .. .. .. .. .. .. 630 +.. .. .. .. .. .. 628 +.. .. .. .. .. .. .. .. .. 626 +.. .. .. .. .. .. .. .. 624 +.. .. .. .. .. .. .. .. .. 622 +.. .. .. .. .. .. .. 620 +.. .. .. .. .. .. .. .. .. 618 +.. .. .. .. .. .. .. .. 616 +.. .. .. .. .. 614 +.. .. .. .. .. .. .. .. .. 612 +.. .. .. .. .. .. .. .. 610 +.. .. .. .. .. .. .. .. .. .. 608 +.. .. .. .. .. .. .. .. .. 606 +.. .. .. .. .. .. .. .. .. .. 604 +.. .. .. .. .. .. .. 602 +.. .. .. .. .. .. .. .. .. 600 +.. .. .. .. .. .. .. .. 598 +.. .. .. .. .. .. 596 +.. .. .. .. .. .. .. .. .. 594 +.. .. .. .. .. .. .. .. 592 +.. .. .. .. .. .. .. .. .. 590 +.. .. .. .. .. .. .. 588 +.. .. .. .. .. .. .. .. .. .. 586 +.. .. .. .. .. .. .. .. .. 584 +.. .. .. .. .. .. .. .. 582 +.. .. .. .. .. .. .. .. .. 580 +.. .. .. .. 578 +.. .. .. .. .. .. .. .. .. 576 +.. .. .. .. .. .. .. .. 574 +.. .. .. .. .. .. .. .. .. 572 +.. .. .. .. .. .. .. 570 +.. .. .. .. .. .. .. .. .. .. 568 +.. .. .. .. .. .. .. .. .. 566 +.. .. .. .. .. .. .. .. .. .. 564 +.. .. .. .. .. .. .. .. 562 +.. .. .. .. .. .. .. .. .. 560 +.. .. .. .. .. .. .. .. .. .. 558 +.. .. .. .. .. .. 556 +.. .. .. .. .. .. .. .. .. 554 +.. .. .. .. .. .. .. .. 552 +.. .. .. .. .. .. .. 550 +.. .. .. .. .. .. .. .. .. 548 +.. .. .. .. .. .. .. .. 546 +.. .. .. .. .. 544 +.. .. .. .. .. .. .. .. 542 +.. .. .. .. .. .. .. .. .. 540 +.. .. .. .. .. .. .. 538 +.. .. .. .. .. .. .. .. .. 536 +.. .. .. .. .. .. .. .. 534 +.. .. .. .. .. .. .. .. .. 532 +.. .. .. .. .. .. 530 +.. .. .. .. .. .. .. .. 528 +.. .. .. .. .. .. .. 526 +.. .. .. .. .. .. .. .. 524 +.. 522 +.. .. .. .. .. .. .. .. .. .. 520 +.. .. .. .. .. .. .. .. .. 518 +.. .. .. .. .. .. .. .. 516 +.. .. .. .. .. .. .. .. .. 514 +.. .. .. .. .. .. .. .. .. .. 512 +.. .. .. .. .. .. .. 510 +.. .. .. .. .. .. .. .. .. 508 +.. .. .. .. .. .. .. .. 506 +.. .. .. .. .. .. .. .. .. 504 +.. .. .. .. .. .. 502 +.. .. .. .. .. .. .. .. .. .. 500 +.. .. .. .. .. .. .. .. .. 498 +.. .. .. .. .. .. .. .. 496 +.. .. .. .. .. .. .. .. .. 494 +.. .. .. .. .. .. .. 492 +.. .. .. .. .. .. .. .. .. .. 490 +.. .. .. .. .. .. .. .. .. 488 +.. .. .. .. .. .. .. .. 486 +.. .. .. .. .. .. .. .. .. 484 +.. .. .. .. .. 482 +.. .. .. .. .. .. .. .. .. 480 +.. .. .. .. .. .. .. .. 478 +.. .. .. .. .. .. .. .. .. 476 +.. .. .. .. .. .. .. 474 +.. .. .. .. .. .. .. .. 472 +.. .. .. .. .. .. 470 +.. .. .. .. .. .. .. .. 468 +.. .. .. .. .. .. .. 466 +.. .. .. .. .. .. .. .. 464 +.. .. .. .. 462 +.. .. .. .. .. .. .. .. .. .. 460 +.. .. .. .. .. .. .. .. .. 458 +.. .. .. .. .. .. .. .. .. .. 456 +.. .. .. .. .. .. .. .. 454 +.. .. .. .. .. .. .. .. .. .. 452 +.. .. .. .. .. .. .. .. .. 450 +.. .. .. .. .. .. .. .. .. .. 448 +.. .. .. .. .. .. .. 446 +.. .. .. .. .. .. .. .. 444 +.. .. .. .. .. .. .. .. .. 442 +.. .. .. .. .. .. 440 +.. .. .. .. .. .. .. .. .. .. 438 +.. .. .. .. .. .. .. .. .. 436 +.. .. .. .. .. .. .. .. .. .. 434 +.. .. .. .. .. .. .. .. 432 +.. .. .. .. .. .. .. .. .. 430 +.. .. .. .. .. .. .. 428 +.. .. .. .. .. .. .. .. 426 +.. .. .. .. .. .. .. .. .. 424 +.. .. .. .. .. 422 +.. .. .. .. .. .. .. .. .. 420 +.. .. .. .. .. .. .. .. .. .. 418 +.. .. .. .. .. .. .. .. 416 +.. .. .. .. .. .. .. .. .. .. 414 +.. .. .. .. .. .. .. .. .. 412 +.. .. .. .. .. .. .. 410 +.. .. .. .. .. .. .. .. .. 408 +.. .. .. .. .. .. .. .. .. .. 406 +.. .. .. .. .. .. .. .. 404 +.. .. .. .. .. .. .. .. .. 402 +.. .. .. .. .. .. .. .. .. .. 400 +.. .. .. .. .. .. 398 +.. .. .. .. .. .. .. .. .. 396 +.. .. .. .. .. .. .. .. 394 +.. .. .. .. .. .. .. .. .. 392 +.. .. .. .. .. .. .. .. .. .. 390 +.. .. .. .. .. .. .. 388 +.. .. .. .. .. .. .. .. .. .. 386 +.. .. .. .. .. .. .. .. .. 384 +.. .. .. .. .. .. .. .. 382 +.. .. .. .. .. .. .. .. .. .. 380 +.. .. .. .. .. .. .. .. .. 378 +.. .. .. .. .. .. .. .. .. .. 376 +.. .. .. 374 +.. .. .. .. .. .. .. .. 372 +.. .. .. .. .. .. .. 370 +.. .. .. .. .. .. 368 +.. .. .. .. .. .. .. .. 366 +.. .. .. .. .. .. .. .. .. 364 +.. .. .. .. .. .. .. 362 +.. .. .. .. .. .. .. .. 360 +.. .. .. .. .. 358 +.. .. .. .. .. .. .. .. 356 +.. .. .. .. .. .. .. .. .. 354 +.. .. .. .. .. .. .. 352 +.. .. .. .. .. .. .. .. .. 350 +.. .. .. .. .. .. .. .. 348 +.. .. .. .. .. .. .. .. .. 346 +.. .. .. .. .. .. 344 +.. .. .. .. .. .. .. .. .. 342 +.. .. .. .. .. .. .. .. 340 +.. .. .. .. .. .. .. .. .. 338 +.. .. .. .. .. .. .. 336 +.. .. .. .. .. .. .. .. .. 334 +.. .. .. .. .. .. .. .. 332 +.. .. .. .. .. .. .. .. .. 330 +.. .. .. .. 328 +.. .. .. .. .. .. .. .. .. 326 +.. .. .. .. .. .. .. .. 324 +.. .. .. .. .. .. .. 322 +.. .. .. .. .. .. .. .. 320 +.. .. .. .. .. .. 318 +.. .. .. .. .. .. .. .. .. 316 +.. .. .. .. .. .. .. .. 314 +.. .. .. .. .. .. .. .. .. .. 312 +.. .. .. .. .. .. .. .. .. 310 +.. .. .. .. .. .. .. .. .. .. 308 +.. .. .. .. .. .. .. 306 +.. .. .. .. .. .. .. .. .. .. 304 +.. .. .. .. .. .. .. .. .. 302 +.. .. .. .. .. .. .. .. 300 +.. .. .. .. .. .. .. .. .. 298 +.. .. .. .. .. 296 +.. .. .. .. .. .. .. .. .. 294 +.. .. .. .. .. .. .. .. 292 +.. .. .. .. .. .. .. .. .. 290 +.. .. .. .. .. .. .. 288 +.. .. .. .. .. .. .. .. 286 +.. .. .. .. .. .. 284 +.. .. .. .. .. .. .. .. .. 282 +.. .. .. .. .. .. .. .. 280 +.. .. .. .. .. .. .. .. .. 278 +.. .. .. .. .. .. .. 276 +.. .. .. .. .. .. .. .. .. .. 274 +.. .. .. .. .. .. .. .. .. 272 +.. .. .. .. .. .. .. .. 270 +.. .. .. .. .. .. .. .. .. 268 +.. .. 266 +.. .. .. .. .. .. .. .. .. 264 +.. .. .. .. .. .. .. .. 262 +.. .. .. .. .. .. .. .. .. 260 +.. .. .. .. .. .. .. 258 +.. .. .. .. .. .. .. .. .. 256 +.. .. .. .. .. .. .. .. 254 +.. .. .. .. .. .. .. .. .. 252 +.. .. .. .. .. .. 250 +.. .. .. .. .. .. .. .. .. 248 +.. .. .. .. .. .. .. .. 246 +.. .. .. .. .. .. .. .. .. 244 +.. .. .. .. .. .. .. 242 +.. .. .. .. .. .. .. .. 240 +.. .. .. .. .. 238 +.. .. .. .. .. .. .. .. .. 236 +.. .. .. .. .. .. .. .. 234 +.. .. .. .. .. .. .. .. .. 232 +.. .. .. .. .. .. .. 230 +.. .. .. .. .. .. .. .. 228 +.. .. .. .. .. .. 226 +.. .. .. .. .. .. .. .. .. .. 224 +.. .. .. .. .. .. .. .. .. 222 +.. .. .. .. .. .. .. .. 220 +.. .. .. .. .. .. .. .. .. .. 218 +.. .. .. .. .. .. .. .. .. 216 +.. .. .. .. .. .. .. 214 +.. .. .. .. .. .. .. .. .. 212 +.. .. .. .. .. .. .. .. 210 +.. .. .. .. 208 +.. .. .. .. .. .. .. .. .. .. 206 +.. .. .. .. .. .. .. .. .. 204 +.. .. .. .. .. .. .. .. .. .. 202 +.. .. .. .. .. .. .. .. 200 +.. .. .. .. .. .. .. .. .. .. 198 +.. .. .. .. .. .. .. .. .. 196 +.. .. .. .. .. .. .. 194 +.. .. .. .. .. .. .. .. .. 192 +.. .. .. .. .. .. .. .. .. .. 190 +.. .. .. .. .. .. .. .. 188 +.. .. .. .. .. .. .. .. .. 186 +.. .. .. .. .. .. 184 +.. .. .. .. .. .. .. .. .. 182 +.. .. .. .. .. .. .. .. 180 +.. .. .. .. .. .. .. .. .. 178 +.. .. .. .. .. .. .. 176 +.. .. .. .. .. .. .. .. .. .. 174 +.. .. .. .. .. .. .. .. .. 172 +.. .. .. .. .. .. .. .. 170 +.. .. .. .. .. .. .. .. .. .. 168 +.. .. .. .. .. .. .. .. .. 166 +.. .. .. .. .. .. .. .. .. .. 164 +.. .. .. .. .. 162 +.. .. .. .. .. .. .. .. .. 160 +.. .. .. .. .. .. .. .. 158 +.. .. .. .. .. .. .. .. .. 156 +.. .. .. .. .. .. .. 154 +.. .. .. .. .. .. .. .. 152 +.. .. .. .. .. .. .. .. .. 150 +.. .. .. .. .. .. 148 +.. .. .. .. .. .. .. .. 146 +.. .. .. .. .. .. .. .. .. 144 +.. .. .. .. .. .. .. 142 +.. .. .. .. .. .. .. .. .. 140 +.. .. .. .. .. .. .. .. 138 +.. .. .. .. .. .. .. .. .. .. 136 +.. .. .. .. .. .. .. .. .. 134 +.. .. .. 132 +.. .. .. .. .. .. .. .. 130 +.. .. .. .. .. .. .. 128 +.. .. .. .. .. .. .. .. .. 126 +.. .. .. .. .. .. .. .. 124 +.. .. .. .. .. .. 122 +.. .. .. .. .. .. .. .. .. 120 +.. .. .. .. .. .. .. .. 118 +.. .. .. .. .. .. .. 116 +.. .. .. .. .. .. .. .. .. 114 +.. .. .. .. .. .. .. .. 112 +.. .. .. .. .. .. .. .. .. 110 +.. .. .. .. .. 108 +.. .. .. .. .. .. .. .. .. 106 +.. .. .. .. .. .. .. .. 104 +.. .. .. .. .. .. .. .. .. 102 +.. .. .. .. .. .. .. 100 +.. .. .. .. .. .. .. .. .. 98 +.. .. .. .. .. .. .. .. 96 +.. .. .. .. .. .. .. .. .. 94 +.. .. .. .. .. .. .. .. .. .. 92 +.. .. .. .. .. .. 90 +.. .. .. .. .. .. .. .. .. 88 +.. .. .. .. .. .. .. .. 86 +.. .. .. .. .. .. .. .. .. 84 +.. .. .. .. .. .. .. 82 +.. .. .. .. .. .. .. .. .. 80 +.. .. .. .. .. .. .. .. 78 +.. .. .. .. 76 +.. .. .. .. .. .. .. .. .. 74 +.. .. .. .. .. .. .. .. 72 +.. .. .. .. .. .. .. .. .. 70 +.. .. .. .. .. .. .. 68 +.. .. .. .. .. .. .. .. .. .. 66 +.. .. .. .. .. .. .. .. .. 64 +.. .. .. .. .. .. .. .. .. .. 62 +.. .. .. .. .. .. .. .. 60 +.. .. .. .. .. .. .. .. .. 58 +.. .. .. .. .. .. 56 +.. .. .. .. .. .. .. .. .. 54 +.. .. .. .. .. .. .. .. 52 +.. .. .. .. .. .. .. .. .. 50 +.. .. .. .. .. .. .. 48 +.. .. .. .. .. .. .. .. .. 46 +.. .. .. .. .. .. .. .. 44 +.. .. .. .. .. .. .. .. .. 42 +.. .. .. .. .. 40 +.. .. .. .. .. .. .. .. .. .. 38 +.. .. .. .. .. .. .. .. .. 36 +.. .. .. .. .. .. .. .. 34 +.. .. .. .. .. .. .. .. .. 32 +.. .. .. .. .. .. .. 30 +.. .. .. .. .. .. .. .. .. 28 +.. .. .. .. .. .. .. .. 26 +.. .. .. .. .. .. .. .. .. 24 +.. .. .. .. .. .. .. .. .. .. 22 +.. .. .. .. .. .. 20 +.. .. .. .. .. .. .. .. .. .. 18 +.. .. .. .. .. .. .. .. .. 16 +.. .. .. .. .. .. .. .. .. .. 14 +.. .. .. .. .. .. .. .. 12 +.. .. .. .. .. .. .. .. .. 10 +.. .. .. .. .. .. .. .. .. .. 8 +.. .. .. .. .. .. .. 6 +.. .. .. .. .. .. .. .. .. 4 +.. .. .. .. .. .. .. .. 2 +.. .. .. .. .. .. .. .. .. 0 +-- end cloned oset, shared pool ---------------- -- start oset1b ---------------- .. .. .. .. .. .. .. .. .. 1998 .. .. .. .. .. .. .. .. 1996