summaryrefslogtreecommitdiffstats
path: root/www/images
diff options
context:
space:
mode:
Diffstat (limited to 'www/images')
-rw-r--r--www/images/2005osaward.gifbin0 -> 3750 bytes
-rw-r--r--www/images/SQLite.gifbin0 -> 3062 bytes
-rw-r--r--www/images/SQLite_big.gifbin0 -> 7428 bytes
-rw-r--r--www/images/ac/commit-0.gifbin0 -> 5543 bytes
-rw-r--r--www/images/ac/commit-1.gifbin0 -> 6153 bytes
-rw-r--r--www/images/ac/commit-2.gifbin0 -> 8476 bytes
-rw-r--r--www/images/ac/commit-3.gifbin0 -> 7110 bytes
-rw-r--r--www/images/ac/commit-4.gifbin0 -> 11204 bytes
-rw-r--r--www/images/ac/commit-5.gifbin0 -> 10078 bytes
-rw-r--r--www/images/ac/commit-6.gifbin0 -> 10054 bytes
-rw-r--r--www/images/ac/commit-7.gifbin0 -> 9810 bytes
-rw-r--r--www/images/ac/commit-8.gifbin0 -> 10692 bytes
-rw-r--r--www/images/ac/commit-9.gifbin0 -> 10690 bytes
-rw-r--r--www/images/ac/commit-A.gifbin0 -> 12995 bytes
-rw-r--r--www/images/ac/commit-B.gifbin0 -> 6323 bytes
-rw-r--r--www/images/ac/multi-0.gifbin0 -> 6404 bytes
-rw-r--r--www/images/ac/multi-1.gifbin0 -> 11898 bytes
-rw-r--r--www/images/ac/multi-2.gifbin0 -> 13179 bytes
-rw-r--r--www/images/ac/multi-3.gifbin0 -> 11986 bytes
-rw-r--r--www/images/ac/multi-4.gifbin0 -> 13763 bytes
-rw-r--r--www/images/ac/multi-5.gifbin0 -> 7686 bytes
-rw-r--r--www/images/ac/rollback-0.gifbin0 -> 7755 bytes
-rw-r--r--www/images/ac/rollback-1.gifbin0 -> 9395 bytes
-rw-r--r--www/images/ac/rollback-2.gifbin0 -> 8740 bytes
-rw-r--r--www/images/ac/rollback-3.gifbin0 -> 10129 bytes
-rw-r--r--www/images/ac/rollback-4.gifbin0 -> 10814 bytes
-rw-r--r--www/images/ac/rollback-5.gifbin0 -> 6451 bytes
-rw-r--r--www/images/apple-touch-icon.pngbin0 -> 8965 bytes
-rw-r--r--www/images/books/aditya.jpgbin0 -> 7320 bytes
-rw-r--r--www/images/books/darocha2016.jpgbin0 -> 9744 bytes
-rw-r--r--www/images/books/das.jpgbin0 -> 7586 bytes
-rw-r--r--www/images/books/droessler.jpgbin0 -> 3921 bytes
-rw-r--r--www/images/books/haldar.gifbin0 -> 15370 bytes
-rw-r--r--www/images/books/haldar2.jpgbin0 -> 10837 bytes
-rw-r--r--www/images/books/kreibich.gifbin0 -> 11402 bytes
-rw-r--r--www/images/books/newman.jpgbin0 -> 10529 bytes
-rw-r--r--www/images/books/nishizawa2.jpgbin0 -> 13917 bytes
-rw-r--r--www/images/books/owens.jpgbin0 -> 7653 bytes
-rw-r--r--www/images/books/sanderson2018.jpgbin0 -> 5148 bytes
-rw-r--r--www/images/books/symbiansql.jpgbin0 -> 8692 bytes
-rw-r--r--www/images/books/vanderLans.jpgbin0 -> 13495 bytes
-rw-r--r--www/images/btreemodule_balance_deeper.svg211
-rw-r--r--www/images/btreemodule_balance_quick.svg328
-rw-r--r--www/images/btreemodule_balance_shallower.svg211
-rw-r--r--www/images/btreemodule_delete1.svg238
-rw-r--r--www/images/btreemodule_overview.svg385
-rw-r--r--www/images/chart.wiki0
-rw-r--r--www/images/chw.jpgbin0 -> 8732 bytes
-rw-r--r--www/images/cpu-usage.jpgbin0 -> 40581 bytes
-rw-r--r--www/images/dan1.jpgbin0 -> 29136 bytes
-rw-r--r--www/images/direct1b.gifbin0 -> 11439 bytes
-rw-r--r--www/images/drh1.jpgbin0 -> 11073 bytes
-rw-r--r--www/images/faster-read-blobapi.jpgbin0 -> 19050 bytes
-rw-r--r--www/images/faster-read-mmap.jpgbin0 -> 20737 bytes
-rw-r--r--www/images/faster-read-sql.jpgbin0 -> 16788 bytes
-rw-r--r--www/images/faster-write-safe.jpgbin0 -> 15324 bytes
-rw-r--r--www/images/faster-write-unsafe.jpgbin0 -> 17856 bytes
-rw-r--r--www/images/fileformat/db_connection.gifbin0 -> 8873 bytes
-rw-r--r--www/images/fileformat/examplepop.gifbin0 -> 8204 bytes
-rw-r--r--www/images/fileformat/fileio_diagrams.odgbin0 -> 32575 bytes
-rw-r--r--www/images/fileformat/filesystem1.gifbin0 -> 11596 bytes
-rw-r--r--www/images/fileformat/filesystem2.gifbin0 -> 7191 bytes
-rw-r--r--www/images/fileformat/freelistpage.gifbin0 -> 3668 bytes
-rw-r--r--www/images/fileformat/indexlongrecord.gifbin0 -> 5688 bytes
-rw-r--r--www/images/fileformat/indexpage.gifbin0 -> 5501 bytes
-rw-r--r--www/images/fileformat/indexpage.odgbin0 -> 16848 bytes
-rw-r--r--www/images/fileformat/indexshortrecord.gifbin0 -> 5073 bytes
-rw-r--r--www/images/fileformat/indextree.gifbin0 -> 5859 bytes
-rw-r--r--www/images/fileformat/journal_format.gifbin0 -> 5342 bytes
-rw-r--r--www/images/fileformat/journal_header.gifbin0 -> 5775 bytes
-rw-r--r--www/images/fileformat/journal_record.gifbin0 -> 3170 bytes
-rw-r--r--www/images/fileformat/master_journal_ptr.gifbin0 -> 4799 bytes
-rw-r--r--www/images/fileformat/overflowpage.gifbin0 -> 2941 bytes
-rw-r--r--www/images/fileformat/pointermapentry.gifbin0 -> 2285 bytes
-rw-r--r--www/images/fileformat/recordformat.gifbin0 -> 4257 bytes
-rw-r--r--www/images/fileformat/rtdocs.css81
-rw-r--r--www/images/fileformat/rtdocs.js116
-rw-r--r--www/images/fileformat/tablelongrecord.gifbin0 -> 4788 bytes
-rw-r--r--www/images/fileformat/tablenodecell.gifbin0 -> 2405 bytes
-rw-r--r--www/images/fileformat/tableshortrecord.gifbin0 -> 3174 bytes
-rw-r--r--www/images/fileformat/tabletree.gifbin0 -> 5457 bytes
-rw-r--r--www/images/fileformat/vfs_role.gifbin0 -> 8715 bytes
-rw-r--r--www/images/fileformat/write_transaction.gifbin0 -> 19573 bytes
-rw-r--r--www/images/foreignlogos/adobe-logo.gifbin0 -> 897 bytes
-rw-r--r--www/images/foreignlogos/adobe.gifbin0 -> 3154 bytes
-rw-r--r--www/images/foreignlogos/airbus1.gifbin0 -> 3745 bytes
-rw-r--r--www/images/foreignlogos/airbus2.gifbin0 -> 2795 bytes
-rw-r--r--www/images/foreignlogos/apple.gifbin0 -> 6036 bytes
-rw-r--r--www/images/foreignlogos/bentley.gifbin0 -> 7934 bytes
-rw-r--r--www/images/foreignlogos/bentley.jpgbin0 -> 600639 bytes
-rw-r--r--www/images/foreignlogos/bloomberg.pngbin0 -> 24783 bytes
-rw-r--r--www/images/foreignlogos/bosch_logo1.gifbin0 -> 3970 bytes
-rw-r--r--www/images/foreignlogos/dropbox.gifbin0 -> 3634 bytes
-rw-r--r--www/images/foreignlogos/expensify.pngbin0 -> 10887 bytes
-rw-r--r--www/images/foreignlogos/fb.gifbin0 -> 3099 bytes
-rw-r--r--www/images/foreignlogos/firefox.gifbin0 -> 5157 bytes
-rw-r--r--www/images/foreignlogos/ge.gifbin0 -> 5566 bytes
-rw-r--r--www/images/foreignlogos/google.gifbin0 -> 3584 bytes
-rw-r--r--www/images/foreignlogos/intuit.gifbin0 -> 4340 bytes
-rw-r--r--www/images/foreignlogos/loc.gifbin0 -> 2634 bytes
-rw-r--r--www/images/foreignlogos/loc.jpgbin0 -> 5429 bytes
-rw-r--r--www/images/foreignlogos/mcaffee.gifbin0 -> 2800 bytes
-rw-r--r--www/images/foreignlogos/microsoft.gifbin0 -> 2462 bytes
-rw-r--r--www/images/foreignlogos/monotone.gifbin0 -> 3497 bytes
-rw-r--r--www/images/foreignlogos/mozilla.gifbin0 -> 3065 bytes
-rw-r--r--www/images/foreignlogos/nds.pngbin0 -> 7299 bytes
-rw-r--r--www/images/foreignlogos/nokia.gifbin0 -> 805 bytes
-rw-r--r--www/images/foreignlogos/oracle.gifbin0 -> 2068 bytes
-rw-r--r--www/images/foreignlogos/philips.gifbin0 -> 6762 bytes
-rw-r--r--www/images/foreignlogos/php.gifbin0 -> 3742 bytes
-rw-r--r--www/images/foreignlogos/python.gifbin0 -> 2506 bytes
-rw-r--r--www/images/foreignlogos/rpm_logo.pngbin0 -> 23575 bytes
-rw-r--r--www/images/foreignlogos/skype.gifbin0 -> 3628 bytes
-rw-r--r--www/images/foreignlogos/sony.gifbin0 -> 4350 bytes
-rw-r--r--www/images/foreignlogos/sunmicro.gifbin0 -> 5197 bytes
-rw-r--r--www/images/foreignlogos/symbian.gifbin0 -> 1731 bytes
-rw-r--r--www/images/foreignlogos/tcl.gifbin0 -> 1755 bytes
-rw-r--r--www/images/foreignlogos/xojo.pngbin0 -> 11455 bytes
-rw-r--r--www/images/fts3_doclist.pngbin0 -> 23433 bytes
-rw-r--r--www/images/fts3_doclist.svg427
-rw-r--r--www/images/fts3_doclist2.pngbin0 -> 9405 bytes
-rw-r--r--www/images/fts3_doclist2.svg197
-rw-r--r--www/images/fts3_interior_node.pngbin0 -> 29653 bytes
-rw-r--r--www/images/fts3_interior_node.svg387
-rw-r--r--www/images/fts3_leaf_node.pngbin0 -> 28294 bytes
-rw-r--r--www/images/fts3_leaf_node.svg375
-rw-r--r--www/images/fts5_formula.odfbin0 -> 9715 bytes
-rw-r--r--www/images/fts5_formula1.pngbin0 -> 7384 bytes
-rw-r--r--www/images/fts5_formula2.pngbin0 -> 4503 bytes
-rw-r--r--www/images/fts5_formula3.pngbin0 -> 3811 bytes
-rw-r--r--www/images/fullscanb.gifbin0 -> 11946 bytes
-rw-r--r--www/images/harmony.gifbin0 -> 14508 bytes
-rw-r--r--www/images/index-ex1-x-b.gifbin0 -> 23173 bytes
-rw-r--r--www/images/indirect1b1.gifbin0 -> 18098 bytes
-rw-r--r--www/images/joe1.jpgbin0 -> 53994 bytes
-rw-r--r--www/images/loc.jpgbin0 -> 78248 bytes
-rw-r--r--www/images/ne.gifbin0 -> 68 bytes
-rw-r--r--www/images/ne.pngbin0 -> 280 bytes
-rw-r--r--www/images/nocopy.gifbin0 -> 3449 bytes
-rw-r--r--www/images/nw.gifbin0 -> 67 bytes
-rw-r--r--www/images/nw.pngbin0 -> 285 bytes
-rw-r--r--www/images/powered_by_sqlite.gifbin0 -> 3391 bytes
-rw-r--r--www/images/private_branch.gifbin0 -> 13776 bytes
-rw-r--r--www/images/qp/fqp1.gifbin0 -> 19973 bytes
-rw-r--r--www/images/qp/fqp1.pikchr36
-rw-r--r--www/images/qp/fruitobstate.gifbin0 -> 6949 bytes
-rw-r--r--www/images/qp/fruitobstate0.gifbin0 -> 12381 bytes
-rw-r--r--www/images/qp/fullscan.gifbin0 -> 7539 bytes
-rw-r--r--www/images/qp/idx1.gifbin0 -> 3954 bytes
-rw-r--r--www/images/qp/idx1lu1.gifbin0 -> 10702 bytes
-rw-r--r--www/images/qp/idx1lu2.gifbin0 -> 11201 bytes
-rw-r--r--www/images/qp/idx1lu3.gifbin0 -> 11175 bytes
-rw-r--r--www/images/qp/idx2.gifbin0 -> 3052 bytes
-rw-r--r--www/images/qp/idx2lu1.gifbin0 -> 10434 bytes
-rw-r--r--www/images/qp/idx3.gifbin0 -> 5205 bytes
-rw-r--r--www/images/qp/idx3lu1.gifbin0 -> 11927 bytes
-rw-r--r--www/images/qp/idx3lu2.gifbin0 -> 11013 bytes
-rw-r--r--www/images/qp/idx4.gifbin0 -> 6443 bytes
-rw-r--r--www/images/qp/idx4lu1.gifbin0 -> 7110 bytes
-rw-r--r--www/images/qp/obfruitidx1.gifbin0 -> 12100 bytes
-rw-r--r--www/images/qp/obfruitidx4.gifbin0 -> 7703 bytes
-rw-r--r--www/images/qp/obfruitnoidx.gifbin0 -> 8892 bytes
-rw-r--r--www/images/qp/obrowid.gifbin0 -> 7815 bytes
-rw-r--r--www/images/qp/orquery.gifbin0 -> 15623 bytes
-rw-r--r--www/images/qp/partial-sort.gifbin0 -> 15856 bytes
-rw-r--r--www/images/qp/rowidlu.gifbin0 -> 7182 bytes
-rw-r--r--www/images/qp/tab.gifbin0 -> 6392 bytes
-rw-r--r--www/images/qp/tpchq8.gifbin0 -> 33576 bytes
-rw-r--r--www/images/qp/tpchq8.pikchr53
-rw-r--r--www/images/se.gifbin0 -> 67 bytes
-rw-r--r--www/images/se.pngbin0 -> 205 bytes
-rw-r--r--www/images/shane1.jpgbin0 -> 18309 bytes
-rw-r--r--www/images/shared.gifbin0 -> 5787 bytes
-rw-r--r--www/images/sqlite370.jpgbin0 -> 80726 bytes
-rw-r--r--www/images/sqlite370_banner.gifbin0 -> 5452 bytes
-rw-r--r--www/images/sqlitepie.jpgbin0 -> 109782 bytes
-rw-r--r--www/images/src_logo.gifbin0 -> 3348 bytes
-rw-r--r--www/images/sschart20221116.jpgbin0 -> 59270 bytes
-rw-r--r--www/images/sw.gifbin0 -> 67 bytes
-rw-r--r--www/images/sw.pngbin0 -> 255 bytes
-rw-r--r--www/images/table-ex1b2.gifbin0 -> 10888 bytes
-rw-r--r--www/images/vfs1.gifbin0 -> 12322 bytes
182 files changed, 3045 insertions, 0 deletions
diff --git a/www/images/2005osaward.gif b/www/images/2005osaward.gif
new file mode 100644
index 0000000..fa6d7d7
--- /dev/null
+++ b/www/images/2005osaward.gif
Binary files differ
diff --git a/www/images/SQLite.gif b/www/images/SQLite.gif
new file mode 100644
index 0000000..5ec05b0
--- /dev/null
+++ b/www/images/SQLite.gif
Binary files differ
diff --git a/www/images/SQLite_big.gif b/www/images/SQLite_big.gif
new file mode 100644
index 0000000..dc9e6a0
--- /dev/null
+++ b/www/images/SQLite_big.gif
Binary files differ
diff --git a/www/images/ac/commit-0.gif b/www/images/ac/commit-0.gif
new file mode 100644
index 0000000..1e96325
--- /dev/null
+++ b/www/images/ac/commit-0.gif
Binary files differ
diff --git a/www/images/ac/commit-1.gif b/www/images/ac/commit-1.gif
new file mode 100644
index 0000000..b54e98a
--- /dev/null
+++ b/www/images/ac/commit-1.gif
Binary files differ
diff --git a/www/images/ac/commit-2.gif b/www/images/ac/commit-2.gif
new file mode 100644
index 0000000..340e432
--- /dev/null
+++ b/www/images/ac/commit-2.gif
Binary files differ
diff --git a/www/images/ac/commit-3.gif b/www/images/ac/commit-3.gif
new file mode 100644
index 0000000..2c5ce7e
--- /dev/null
+++ b/www/images/ac/commit-3.gif
Binary files differ
diff --git a/www/images/ac/commit-4.gif b/www/images/ac/commit-4.gif
new file mode 100644
index 0000000..99a34db
--- /dev/null
+++ b/www/images/ac/commit-4.gif
Binary files differ
diff --git a/www/images/ac/commit-5.gif b/www/images/ac/commit-5.gif
new file mode 100644
index 0000000..c9fa966
--- /dev/null
+++ b/www/images/ac/commit-5.gif
Binary files differ
diff --git a/www/images/ac/commit-6.gif b/www/images/ac/commit-6.gif
new file mode 100644
index 0000000..0e2f89a
--- /dev/null
+++ b/www/images/ac/commit-6.gif
Binary files differ
diff --git a/www/images/ac/commit-7.gif b/www/images/ac/commit-7.gif
new file mode 100644
index 0000000..68b934d
--- /dev/null
+++ b/www/images/ac/commit-7.gif
Binary files differ
diff --git a/www/images/ac/commit-8.gif b/www/images/ac/commit-8.gif
new file mode 100644
index 0000000..19a2a21
--- /dev/null
+++ b/www/images/ac/commit-8.gif
Binary files differ
diff --git a/www/images/ac/commit-9.gif b/www/images/ac/commit-9.gif
new file mode 100644
index 0000000..d7247b6
--- /dev/null
+++ b/www/images/ac/commit-9.gif
Binary files differ
diff --git a/www/images/ac/commit-A.gif b/www/images/ac/commit-A.gif
new file mode 100644
index 0000000..1b5286d
--- /dev/null
+++ b/www/images/ac/commit-A.gif
Binary files differ
diff --git a/www/images/ac/commit-B.gif b/www/images/ac/commit-B.gif
new file mode 100644
index 0000000..5a98c0d
--- /dev/null
+++ b/www/images/ac/commit-B.gif
Binary files differ
diff --git a/www/images/ac/multi-0.gif b/www/images/ac/multi-0.gif
new file mode 100644
index 0000000..9f1d225
--- /dev/null
+++ b/www/images/ac/multi-0.gif
Binary files differ
diff --git a/www/images/ac/multi-1.gif b/www/images/ac/multi-1.gif
new file mode 100644
index 0000000..e869778
--- /dev/null
+++ b/www/images/ac/multi-1.gif
Binary files differ
diff --git a/www/images/ac/multi-2.gif b/www/images/ac/multi-2.gif
new file mode 100644
index 0000000..c668d77
--- /dev/null
+++ b/www/images/ac/multi-2.gif
Binary files differ
diff --git a/www/images/ac/multi-3.gif b/www/images/ac/multi-3.gif
new file mode 100644
index 0000000..1b49103
--- /dev/null
+++ b/www/images/ac/multi-3.gif
Binary files differ
diff --git a/www/images/ac/multi-4.gif b/www/images/ac/multi-4.gif
new file mode 100644
index 0000000..9881ab8
--- /dev/null
+++ b/www/images/ac/multi-4.gif
Binary files differ
diff --git a/www/images/ac/multi-5.gif b/www/images/ac/multi-5.gif
new file mode 100644
index 0000000..51181c2
--- /dev/null
+++ b/www/images/ac/multi-5.gif
Binary files differ
diff --git a/www/images/ac/rollback-0.gif b/www/images/ac/rollback-0.gif
new file mode 100644
index 0000000..cfbdc45
--- /dev/null
+++ b/www/images/ac/rollback-0.gif
Binary files differ
diff --git a/www/images/ac/rollback-1.gif b/www/images/ac/rollback-1.gif
new file mode 100644
index 0000000..d698d58
--- /dev/null
+++ b/www/images/ac/rollback-1.gif
Binary files differ
diff --git a/www/images/ac/rollback-2.gif b/www/images/ac/rollback-2.gif
new file mode 100644
index 0000000..43d3954
--- /dev/null
+++ b/www/images/ac/rollback-2.gif
Binary files differ
diff --git a/www/images/ac/rollback-3.gif b/www/images/ac/rollback-3.gif
new file mode 100644
index 0000000..fab3142
--- /dev/null
+++ b/www/images/ac/rollback-3.gif
Binary files differ
diff --git a/www/images/ac/rollback-4.gif b/www/images/ac/rollback-4.gif
new file mode 100644
index 0000000..fed74d4
--- /dev/null
+++ b/www/images/ac/rollback-4.gif
Binary files differ
diff --git a/www/images/ac/rollback-5.gif b/www/images/ac/rollback-5.gif
new file mode 100644
index 0000000..1a5f79e
--- /dev/null
+++ b/www/images/ac/rollback-5.gif
Binary files differ
diff --git a/www/images/apple-touch-icon.png b/www/images/apple-touch-icon.png
new file mode 100644
index 0000000..3d4a389
--- /dev/null
+++ b/www/images/apple-touch-icon.png
Binary files differ
diff --git a/www/images/books/aditya.jpg b/www/images/books/aditya.jpg
new file mode 100644
index 0000000..d7b695e
--- /dev/null
+++ b/www/images/books/aditya.jpg
Binary files differ
diff --git a/www/images/books/darocha2016.jpg b/www/images/books/darocha2016.jpg
new file mode 100644
index 0000000..26319cf
--- /dev/null
+++ b/www/images/books/darocha2016.jpg
Binary files differ
diff --git a/www/images/books/das.jpg b/www/images/books/das.jpg
new file mode 100644
index 0000000..a45dae5
--- /dev/null
+++ b/www/images/books/das.jpg
Binary files differ
diff --git a/www/images/books/droessler.jpg b/www/images/books/droessler.jpg
new file mode 100644
index 0000000..ead2e3b
--- /dev/null
+++ b/www/images/books/droessler.jpg
Binary files differ
diff --git a/www/images/books/haldar.gif b/www/images/books/haldar.gif
new file mode 100644
index 0000000..e9b3fe2
--- /dev/null
+++ b/www/images/books/haldar.gif
Binary files differ
diff --git a/www/images/books/haldar2.jpg b/www/images/books/haldar2.jpg
new file mode 100644
index 0000000..ec8a931
--- /dev/null
+++ b/www/images/books/haldar2.jpg
Binary files differ
diff --git a/www/images/books/kreibich.gif b/www/images/books/kreibich.gif
new file mode 100644
index 0000000..3411942
--- /dev/null
+++ b/www/images/books/kreibich.gif
Binary files differ
diff --git a/www/images/books/newman.jpg b/www/images/books/newman.jpg
new file mode 100644
index 0000000..2d6a8e7
--- /dev/null
+++ b/www/images/books/newman.jpg
Binary files differ
diff --git a/www/images/books/nishizawa2.jpg b/www/images/books/nishizawa2.jpg
new file mode 100644
index 0000000..6f80117
--- /dev/null
+++ b/www/images/books/nishizawa2.jpg
Binary files differ
diff --git a/www/images/books/owens.jpg b/www/images/books/owens.jpg
new file mode 100644
index 0000000..e9638c3
--- /dev/null
+++ b/www/images/books/owens.jpg
Binary files differ
diff --git a/www/images/books/sanderson2018.jpg b/www/images/books/sanderson2018.jpg
new file mode 100644
index 0000000..d9a7186
--- /dev/null
+++ b/www/images/books/sanderson2018.jpg
Binary files differ
diff --git a/www/images/books/symbiansql.jpg b/www/images/books/symbiansql.jpg
new file mode 100644
index 0000000..8b5b7ff
--- /dev/null
+++ b/www/images/books/symbiansql.jpg
Binary files differ
diff --git a/www/images/books/vanderLans.jpg b/www/images/books/vanderLans.jpg
new file mode 100644
index 0000000..45a306d
--- /dev/null
+++ b/www/images/books/vanderLans.jpg
Binary files differ
diff --git a/www/images/btreemodule_balance_deeper.svg b/www/images/btreemodule_balance_deeper.svg
new file mode 100644
index 0000000..df90d0f
--- /dev/null
+++ b/www/images/btreemodule_balance_deeper.svg
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="900"
+ height="195"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="btreemodule_balance_deeper.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="456.9143"
+ inkscape:cy="2.6849747"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1514"
+ inkscape:window-height="972"
+ inkscape:window-x="88"
+ inkscape:window-y="14">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(78.807861,-42.225464)">
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="129.91663"
+ height="19.862286"
+ x="430.08337"
+ y="66.725464" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="609.81812"
+ y="106.38181"
+ id="text3343"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3345"
+ x="609.81812"
+ y="106.38181"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 559.90149,86.519512 L 569.90149,126.51951"
+ id="path3347"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4127"
+ width="129.91663"
+ height="19.862286"
+ x="509.90149"
+ y="136.5195" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 529.81812,166.38181 L 519.81812,206.3818"
+ id="path4129"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 569.81812,166.3818 L 569.81812,206.3818"
+ id="path4131"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 609.81812,166.38181 L 619.81812,206.3818"
+ id="path4133"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="499.81812"
+ y="226.38177"
+ id="text4135"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4137"
+ x="499.81812"
+ y="226.38177"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Rest of Tree Content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="401.19214"
+ y="57.225464"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="401.19214"
+ y="57.225464"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"> Root page of b-tree</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 604.81812,101.3818 L 569.81812,101.3818 L 569.81812,101.3818"
+ id="path4147"
+ sodipodi:nodetypes="ccc" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4157"
+ width="129.91663"
+ height="19.862286"
+ x="101.27551"
+ y="67.225464" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 121.19214,97.087749 L 111.19214,137.08774"
+ id="path4159"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 161.19214,97.087739 L 161.19214,137.08774"
+ id="path4161"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 201.19214,97.087749 L 211.19214,137.08774"
+ id="path4163"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="91.192139"
+ y="157.08774"
+ id="text4165"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4167"
+ x="91.192139"
+ y="157.08774"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Rest of Tree Content </tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="91.192139"
+ y="57.087742"
+ id="text4169"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4171"
+ x="91.192139"
+ y="57.087742"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Root page of b-tree</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 371.69214,37.225464 L 371.69214,237.22546"
+ id="path4219" />
+ </g>
+</svg>
diff --git a/www/images/btreemodule_balance_quick.svg b/www/images/btreemodule_balance_quick.svg
new file mode 100644
index 0000000..15fe84c
--- /dev/null
+++ b/www/images/btreemodule_balance_quick.svg
@@ -0,0 +1,328 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="900"
+ height="291"
+ id="svg4229"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="btreemodule_balance_quick.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs4231">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective4237" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.3995495"
+ inkscape:cx="437.21501"
+ inkscape:cy="72.929777"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:window-width="1449"
+ inkscape:window-height="939"
+ inkscape:window-x="106"
+ inkscape:window-y="57">
+ <inkscape:grid
+ type="xygrid"
+ id="grid4239"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4234">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-30.786133,-51.862183)">
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="129.91663"
+ height="19.862286"
+ x="140.86951"
+ y="153.46631" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="260.78613"
+ y="313.32861"
+ id="text3343"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3345"
+ x="260.78613"
+ y="313.32861"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Leaf page</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 270.78614,173.3286 L 280.78614,213.3286"
+ id="path3347"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 160.78614,183.32861 L 150.78614,223.3286"
+ id="path4129"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 200.78614,183.3286 L 200.78614,223.3286"
+ id="path4131"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.78614"
+ y="243.3286"
+ id="text4135"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4137"
+ x="110.78614"
+ y="243.3286"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Other leaf pages</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 300.78614,153.3286 L 280.78614,183.3286 L 280.78614,183.3286"
+ id="path4147"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="300.78613"
+ y="143.3286"
+ id="text4263"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4265"
+ x="300.78613"
+ y="143.3286"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 300.78614,293.3286 L 320.78614,253.3286"
+ id="path4267" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 130.78614,103.3286 L 140.78614,143.3286"
+ id="path4269"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.78614"
+ y="93.328598"
+ id="text4271"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4273"
+ x="120.78614"
+ y="93.328598"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <rect
+ style="fill:#40668b;fill-opacity:1;stroke:none;stroke-width:0.39586431;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4794"
+ width="19.758081"
+ height="20.466421"
+ x="401.02805"
+ y="202.86218" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 481.28613,52.362183 L 481.28613,342.36218"
+ id="path4816" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4818"
+ width="129.91663"
+ height="19.862286"
+ x="550.54425"
+ y="153.1376" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="600.70276"
+ y="322.99991"
+ id="text4820"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4822"
+ x="600.70276"
+ y="322.99991"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Leaf page</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 640.70276,182.99989 L 650.70276,222.99989"
+ id="path4824"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 550.70276,182.9999 L 540.70276,222.99989"
+ id="path4828"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 590.70276,182.99989 L 590.70276,222.99989"
+ id="path4830"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="500.70276"
+ y="242.99989"
+ id="text4832"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4834"
+ x="500.70276"
+ y="242.99989"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Other leaf pages</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 750.70276,152.99989 L 730.70276,182.99989 L 730.70276,182.99989"
+ id="path4836"
+ sodipodi:nodetypes="ccc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="710.46082"
+ y="142.99989"
+ id="text4838"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4840"
+ x="710.46082"
+ y="142.99989"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 660.70276,302.99989 L 680.70276,262.99989"
+ id="path4842" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 540.46083,102.99988 L 550.46083,142.99988"
+ id="path4844"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="530.46088"
+ y="92.999886"
+ id="text4846"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4848"
+ x="530.46088"
+ y="92.999886"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <rect
+ style="fill:#40668b;fill-opacity:1;stroke:none;stroke-width:0.39586431;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4850"
+ width="19.758081"
+ height="20.466421"
+ x="780.9447"
+ y="232.99989" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 680.70276,172.99989 L 800.70276,222.99989"
+ id="path4852"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="790.70276"
+ y="322.99991"
+ id="text4856"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4858"
+ x="790.70276"
+ y="322.99991"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">New Leaf page</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 820.70276,302.99989 L 820.70276,262.99989"
+ id="path4860"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:#80a796;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
+ id="rect2422"
+ width="120"
+ height="20"
+ x="271.57227"
+ y="223.8286" />
+ <rect
+ style="fill:#80a796;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
+ id="rect3200"
+ width="120"
+ height="20"
+ x="631.48889"
+ y="233.49989" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4127"
+ width="129.91663"
+ height="19.862286"
+ x="270.78613"
+ y="223.46631" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4826"
+ width="129.91663"
+ height="19.862286"
+ x="630.78613"
+ y="232.99989" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4854"
+ width="129.91663"
+ height="19.862286"
+ x="780.78613"
+ y="232.99989" />
+ </g>
+</svg>
diff --git a/www/images/btreemodule_balance_shallower.svg b/www/images/btreemodule_balance_shallower.svg
new file mode 100644
index 0000000..18f5ba8
--- /dev/null
+++ b/www/images/btreemodule_balance_shallower.svg
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="900"
+ height="195"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="btreemodule_balance_shallower.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="375.00663"
+ inkscape:cy="25.984926"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1514"
+ inkscape:window-height="972"
+ inkscape:window-x="114"
+ inkscape:window-y="18">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(78.807861,-42.225464)">
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="129.91663"
+ height="19.862286"
+ x="31.457407"
+ y="67.56913" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="211.19215"
+ y="107.22547"
+ id="text3343"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3345"
+ x="211.19215"
+ y="107.22547"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Right-child pointer</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 161.27552,87.363187 L 171.27552,127.36319"
+ id="path3347"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4127"
+ width="129.91663"
+ height="19.862286"
+ x="111.27551"
+ y="137.36317" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 131.19215,167.22549 L 121.19215,207.22548"
+ id="path4129"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 171.19215,167.22548 L 171.19215,207.22548"
+ id="path4131"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 211.19215,167.22549 L 221.19215,207.22548"
+ id="path4133"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="101.19215"
+ y="227.22546"
+ id="text4135"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4137"
+ x="101.19215"
+ y="227.22546"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Rest of Tree Content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="2.5661719"
+ y="58.06913"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="2.5661719"
+ y="58.06913"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"> Root page of b-tree</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 206.19215,102.22548 L 171.19215,102.22548 L 171.19215,102.22548"
+ id="path4147"
+ sodipodi:nodetypes="ccc" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4157"
+ width="129.91663"
+ height="19.862286"
+ x="451.19214"
+ y="67.363182" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 471.10877,97.225467 L 461.10877,137.22546"
+ id="path4159"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 511.10877,97.225457 L 511.10877,137.22546"
+ id="path4161"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 551.10877,97.225467 L 561.10877,137.22546"
+ id="path4163"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="441.10876"
+ y="157.22545"
+ id="text4165"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4167"
+ x="441.10876"
+ y="157.22545"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Rest of Tree Content </tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="441.10876"
+ y="57.22546"
+ id="text4169"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4171"
+ x="441.10876"
+ y="57.22546"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Root page of b-tree</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 371.69214,37.225464 L 371.69214,237.22546"
+ id="path4219" />
+ </g>
+</svg>
diff --git a/www/images/btreemodule_delete1.svg b/www/images/btreemodule_delete1.svg
new file mode 100644
index 0000000..06fa608
--- /dev/null
+++ b/www/images/btreemodule_delete1.svg
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="900"
+ height="230.93105"
+ id="svg3406"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ version="1.0"
+ sodipodi:docname="btreemodule_delete1.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3408">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3414" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="389.70903"
+ inkscape:cy="136.54327"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:window-width="1533"
+ inkscape:window-height="864"
+ inkscape:window-x="70"
+ inkscape:window-y="0">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3416"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata3411">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-119.5,-371.89945)">
+ <rect
+ style="fill:#80a796;fill-opacity:1;stroke:none;stroke-width:20;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0"
+ id="rect2422"
+ width="20.709229"
+ height="20"
+ x="378.62402"
+ y="402.96823" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3420"
+ width="129.91663"
+ height="19.862286"
+ x="299.41663"
+ y="462.96823" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 379.33326,422.96822 L 369.33326,452.96822"
+ id="path4129"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:8, 8;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 429.41663,482.83051 L 449.41663,532.83051"
+ id="path3429"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:#40668b;fill-opacity:1;stroke:none;stroke-width:0.39586431;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect4794"
+ width="19.758081"
+ height="20.466421"
+ x="499.41663"
+ y="542.83051" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3427"
+ width="129.91663"
+ height="19.862286"
+ x="389.5"
+ y="542.9682" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="129.91663"
+ height="19.862286"
+ x="339.41663"
+ y="402.96823" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3963"
+ width="129.91663"
+ height="19.862286"
+ x="619.41663"
+ y="463.43472" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 699.33326,423.43467 L 689.33326,453.43467"
+ id="path3965"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:8, 8;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 749.41663,483.29696 L 769.41663,533.29696"
+ id="path3967"
+ sodipodi:nodetypes="cc" />
+ <rect
+ style="fill:#40668b;fill-opacity:1;stroke:none;stroke-width:0.39586431;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3969"
+ width="19.758081"
+ height="20.466421"
+ x="699.74194"
+ y="402.83051" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3971"
+ width="129.91663"
+ height="19.862286"
+ x="709.5"
+ y="543.43463" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3973"
+ width="129.91663"
+ height="19.862286"
+ x="659.41663"
+ y="403.43472" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 570,372.39945 L 570,602.33049"
+ id="path4816" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="809.5"
+ y="432.83051"
+ id="text4856"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4858"
+ x="809.5"
+ y="432.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">The blue cell has been </tspan><tspan
+ sodipodi:role="line"
+ x="809.5"
+ y="450.33051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4002">removed from leaf node</tspan><tspan
+ sodipodi:role="line"
+ x="809.5"
+ y="467.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4004">and used to replace the</tspan><tspan
+ sodipodi:role="line"
+ x="809.5"
+ y="485.33051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4006">cell deleted from the </tspan><tspan
+ sodipodi:role="line"
+ x="809.5"
+ y="502.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4008">internal node.</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="129.5"
+ y="502.83051"
+ id="text4010"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ x="129.5"
+ y="502.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4020">The green cell is to be deleted from</tspan><tspan
+ sodipodi:role="line"
+ x="129.5"
+ y="520.33051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4033">an internal tree node. The blue cell</tspan><tspan
+ sodipodi:role="line"
+ x="129.5"
+ y="537.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4035">is the cell with the largest key in</tspan><tspan
+ sodipodi:role="line"
+ x="129.5"
+ y="555.33051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4037">the sub-tree headed by the </tspan><tspan
+ sodipodi:role="line"
+ x="129.5"
+ y="572.83051"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ id="tspan4039">child-page of the green cell.</tspan></text>
+ </g>
+</svg>
diff --git a/www/images/btreemodule_overview.svg b/www/images/btreemodule_overview.svg
new file mode 100644
index 0000000..1922832
--- /dev/null
+++ b/www/images/btreemodule_overview.svg
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="639.00098"
+ height="270.57031"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="btreemodule_overview.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4142136"
+ inkscape:cx="310.55643"
+ inkscape:cy="154.09115"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1584"
+ inkscape:window-height="1009"
+ inkscape:window-x="69"
+ inkscape:window-y="0"
+ showborder="false"
+ inkscape:showpageshadow="false"
+ borderlayer="false">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3161"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(157.25195,-171.72546)">
+ <rect
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect2387"
+ width="20.010523"
+ height="180.02304"
+ x="149.97864"
+ y="232.373" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="80"
+ y="182.36218"
+ id="text3167"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3169"
+ x="80"
+ y="182.36218"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">In-Memory Page Cache</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 150,262.36218 C 170,262.36218 170,262.36218 170,262.36218"
+ id="path3171" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 150,382.36218 C 170,382.36218 170,382.36218 170,382.36218"
+ id="path3173" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 150,352.36218 C 170,352.36218 170,352.36218 170,352.36218"
+ id="path3175" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 150,322.36218 C 170,322.36218 170,322.36218 170,322.36218"
+ id="path3177" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 150,292.36218 C 170,292.36218 170,292.36218 170,292.36218"
+ id="path3179" />
+ <rect
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3181"
+ width="60.79163"
+ height="239.53868"
+ x="130.0336"
+ y="202.2571"
+ ry="15.556349" />
+ <g
+ id="g3275"
+ transform="matrix(0.625,0,0,0.6689418,54.258318,50.469681)"
+ style="stroke-width:1.54655659;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ transform="matrix(1.5986945,0,0,1.9722665,-220.0992,-284.6418)"
+ d="M 420,287.36218 A 25,5 0 1 1 370,287.36218 A 25,5 0 1 1 420,287.36218 z"
+ sodipodi:ry="5"
+ sodipodi:rx="25"
+ sodipodi:cy="287.36218"
+ sodipodi:cx="395"
+ id="path3183"
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:0.87096417;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.5982703,0,0,1.972289,-219.94212,-214.17107)"
+ d="M 420,287.36218 A 25,5 0 1 1 370,287.36218 A 25,5 0 1 1 420,287.36218 z"
+ sodipodi:ry="5"
+ sodipodi:rx="25"
+ sodipodi:cy="287.36218"
+ sodipodi:cx="395"
+ id="path3267"
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:0.8710748;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="translate(81.374023,171.72546)"
+ id="path3271"
+ d="M 290,110.86475 L 290,180.86475"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.54655659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ transform="translate(81.374023,171.72546)"
+ id="path3273"
+ d="M 370,110.86475 L 370,180.86475"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.54655659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ id="g3291"
+ transform="matrix(0.625,0,0,0.6689418,54.258318,167.27637)"
+ style="stroke-width:1.54655659;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ transform="matrix(1.5986945,0,0,1.9722665,-220.0992,-284.6418)"
+ d="M 420,287.36218 A 25,5 0 1 1 370,287.36218 A 25,5 0 1 1 420,287.36218 z"
+ sodipodi:ry="5"
+ sodipodi:rx="25"
+ sodipodi:cy="287.36218"
+ sodipodi:cx="395"
+ id="path3293"
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:0.87096417;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.5982703,0,0,1.972289,-219.94212,-214.17107)"
+ d="M 420,287.36218 A 25,5 0 1 1 370,287.36218 A 25,5 0 1 1 420,287.36218 z"
+ sodipodi:ry="5"
+ sodipodi:rx="25"
+ sodipodi:cy="287.36218"
+ sodipodi:cx="395"
+ id="path3295"
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:0.8710748;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc" />
+ <path
+ transform="translate(81.374023,171.72546)"
+ id="path3297"
+ d="M 290,110.86475 L 290,180.86475"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.54655659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ transform="translate(81.374023,171.72546)"
+ id="path3299"
+ d="M 370,110.86475 L 370,180.86475"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.54655659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="351.37402"
+ y="272.59021"
+ id="text3301"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3303"
+ x="351.37402"
+ y="272.59021"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Journal File</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="351.37402"
+ y="382.59021"
+ id="text3305"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3307"
+ x="351.37402"
+ y="382.59021"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Database File </tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3309"
+ width="91.258865"
+ height="29.945938"
+ x="-69.884842"
+ y="232.64427"
+ ry="10.585812" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="-49.853683"
+ y="252.67543"
+ id="text3311"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3313"
+ x="-49.853683"
+ y="252.67543"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Client 1</tspan></text>
+ <g
+ id="g3321"
+ transform="translate(-76.824561,94.94894)"
+ style="stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none">
+ <rect
+ ry="10.585812"
+ y="287.61011"
+ x="8.1674261"
+ height="29.945938"
+ width="91.258865"
+ id="rect3315"
+ style="opacity:1;fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <text
+ sodipodi:linespacing="125%"
+ id="text3317"
+ y="307.64127"
+ x="28.198584"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"
+ y="307.64127"
+ x="28.198584"
+ id="tspan3319"
+ sodipodi:role="line">Client 2</tspan></text>
+ </g>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="201.37402"
+ y="322.59021"
+ id="text3331"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3333"
+ x="201.37402"
+ y="322.59021"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">IO using VFS interface</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="-158.62598"
+ y="322.59021"
+ id="text3335"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3337"
+ x="-158.62598"
+ y="322.59021"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Data Exchanged Using B-Tree Interface</tspan></text>
+ <g
+ id="g3374">
+ <path
+ id="path3342"
+ d="M 37.588091,247.23327 L 56.370507,237.10827 L 56.370507,242.17077 L 75.152923,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3344"
+ d="M 37.588091,247.23328 L 56.370507,257.35828 L 56.370507,252.29578 L 75.152922,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3352"
+ d="M 112.71776,247.23327 L 93.935344,237.10827 L 93.935344,242.17077 L 75.152928,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3354"
+ d="M 112.71776,247.23328 L 93.93534,257.35828 L 93.93534,252.29578 L 75.152925,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(-1.1872931,150)"
+ id="g3380">
+ <path
+ id="path3382"
+ d="M 37.588091,247.23327 L 56.370507,237.10827 L 56.370507,242.17077 L 75.152923,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3384"
+ d="M 37.588091,247.23328 L 56.370507,257.35828 L 56.370507,252.29578 L 75.152922,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3386"
+ d="M 112.71776,247.23327 L 93.935344,237.10827 L 93.935344,242.17077 L 75.152928,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3388"
+ d="M 112.71776,247.23328 L 93.93534,257.35828 L 93.93534,252.29578 L 75.152925,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(165.15996,115.06251)"
+ id="g3390">
+ <path
+ id="path3392"
+ d="M 37.588091,247.23327 L 56.370507,237.10827 L 56.370507,242.17077 L 75.152923,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3394"
+ d="M 37.588091,247.23328 L 56.370507,257.35828 L 56.370507,252.29578 L 75.152922,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3396"
+ d="M 112.71776,247.23327 L 93.935344,237.10827 L 93.935344,242.17077 L 75.152928,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3398"
+ d="M 112.71776,247.23328 L 93.93534,257.35828 L 93.93534,252.29578 L 75.152925,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ transform="translate(165.15996,25.062506)"
+ id="g3400">
+ <path
+ id="path3402"
+ d="M 37.588091,247.23327 L 56.370507,237.10827 L 56.370507,242.17077 L 75.152923,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3404"
+ d="M 37.588091,247.23328 L 56.370507,257.35828 L 56.370507,252.29578 L 75.152922,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3406"
+ d="M 112.71776,247.23327 L 93.935344,237.10827 L 93.935344,242.17077 L 75.152928,242.17077"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ id="path3408"
+ d="M 112.71776,247.23328 L 93.93534,257.35828 L 93.93534,252.29578 L 75.152925,252.29578"
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 160,130.57031 L 230,90.570312"
+ id="path3410"
+ transform="translate(-157.25195,171.72546)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 160,160.57031 L 230,200.57031"
+ id="path3412"
+ transform="translate(-157.25195,171.72546)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 430,130.57031 L 400,110.57031"
+ id="path3416"
+ transform="translate(-157.25195,171.72546)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 430,160.57031 L 400,180.57031 L 400,180.57031"
+ id="path3418"
+ transform="translate(-157.25195,171.72546)" />
+ </g>
+</svg>
diff --git a/www/images/chart.wiki b/www/images/chart.wiki
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/www/images/chart.wiki
diff --git a/www/images/chw.jpg b/www/images/chw.jpg
new file mode 100644
index 0000000..8d436de
--- /dev/null
+++ b/www/images/chw.jpg
Binary files differ
diff --git a/www/images/cpu-usage.jpg b/www/images/cpu-usage.jpg
new file mode 100644
index 0000000..ac695e8
--- /dev/null
+++ b/www/images/cpu-usage.jpg
Binary files differ
diff --git a/www/images/dan1.jpg b/www/images/dan1.jpg
new file mode 100644
index 0000000..10eafb6
--- /dev/null
+++ b/www/images/dan1.jpg
Binary files differ
diff --git a/www/images/direct1b.gif b/www/images/direct1b.gif
new file mode 100644
index 0000000..8999a84
--- /dev/null
+++ b/www/images/direct1b.gif
Binary files differ
diff --git a/www/images/drh1.jpg b/www/images/drh1.jpg
new file mode 100644
index 0000000..d6d0b69
--- /dev/null
+++ b/www/images/drh1.jpg
Binary files differ
diff --git a/www/images/faster-read-blobapi.jpg b/www/images/faster-read-blobapi.jpg
new file mode 100644
index 0000000..afe9163
--- /dev/null
+++ b/www/images/faster-read-blobapi.jpg
Binary files differ
diff --git a/www/images/faster-read-mmap.jpg b/www/images/faster-read-mmap.jpg
new file mode 100644
index 0000000..64fade0
--- /dev/null
+++ b/www/images/faster-read-mmap.jpg
Binary files differ
diff --git a/www/images/faster-read-sql.jpg b/www/images/faster-read-sql.jpg
new file mode 100644
index 0000000..6d9647d
--- /dev/null
+++ b/www/images/faster-read-sql.jpg
Binary files differ
diff --git a/www/images/faster-write-safe.jpg b/www/images/faster-write-safe.jpg
new file mode 100644
index 0000000..0012d4b
--- /dev/null
+++ b/www/images/faster-write-safe.jpg
Binary files differ
diff --git a/www/images/faster-write-unsafe.jpg b/www/images/faster-write-unsafe.jpg
new file mode 100644
index 0000000..46a0f10
--- /dev/null
+++ b/www/images/faster-write-unsafe.jpg
Binary files differ
diff --git a/www/images/fileformat/db_connection.gif b/www/images/fileformat/db_connection.gif
new file mode 100644
index 0000000..5894496
--- /dev/null
+++ b/www/images/fileformat/db_connection.gif
Binary files differ
diff --git a/www/images/fileformat/examplepop.gif b/www/images/fileformat/examplepop.gif
new file mode 100644
index 0000000..9483749
--- /dev/null
+++ b/www/images/fileformat/examplepop.gif
Binary files differ
diff --git a/www/images/fileformat/fileio_diagrams.odg b/www/images/fileformat/fileio_diagrams.odg
new file mode 100644
index 0000000..15a9561
--- /dev/null
+++ b/www/images/fileformat/fileio_diagrams.odg
Binary files differ
diff --git a/www/images/fileformat/filesystem1.gif b/www/images/fileformat/filesystem1.gif
new file mode 100644
index 0000000..0e33666
--- /dev/null
+++ b/www/images/fileformat/filesystem1.gif
Binary files differ
diff --git a/www/images/fileformat/filesystem2.gif b/www/images/fileformat/filesystem2.gif
new file mode 100644
index 0000000..d890108
--- /dev/null
+++ b/www/images/fileformat/filesystem2.gif
Binary files differ
diff --git a/www/images/fileformat/freelistpage.gif b/www/images/fileformat/freelistpage.gif
new file mode 100644
index 0000000..07711ff
--- /dev/null
+++ b/www/images/fileformat/freelistpage.gif
Binary files differ
diff --git a/www/images/fileformat/indexlongrecord.gif b/www/images/fileformat/indexlongrecord.gif
new file mode 100644
index 0000000..84adc23
--- /dev/null
+++ b/www/images/fileformat/indexlongrecord.gif
Binary files differ
diff --git a/www/images/fileformat/indexpage.gif b/www/images/fileformat/indexpage.gif
new file mode 100644
index 0000000..eb28668
--- /dev/null
+++ b/www/images/fileformat/indexpage.gif
Binary files differ
diff --git a/www/images/fileformat/indexpage.odg b/www/images/fileformat/indexpage.odg
new file mode 100644
index 0000000..c3c492a
--- /dev/null
+++ b/www/images/fileformat/indexpage.odg
Binary files differ
diff --git a/www/images/fileformat/indexshortrecord.gif b/www/images/fileformat/indexshortrecord.gif
new file mode 100644
index 0000000..6b0853b
--- /dev/null
+++ b/www/images/fileformat/indexshortrecord.gif
Binary files differ
diff --git a/www/images/fileformat/indextree.gif b/www/images/fileformat/indextree.gif
new file mode 100644
index 0000000..414b16f
--- /dev/null
+++ b/www/images/fileformat/indextree.gif
Binary files differ
diff --git a/www/images/fileformat/journal_format.gif b/www/images/fileformat/journal_format.gif
new file mode 100644
index 0000000..36b83d1
--- /dev/null
+++ b/www/images/fileformat/journal_format.gif
Binary files differ
diff --git a/www/images/fileformat/journal_header.gif b/www/images/fileformat/journal_header.gif
new file mode 100644
index 0000000..9dd8d1e
--- /dev/null
+++ b/www/images/fileformat/journal_header.gif
Binary files differ
diff --git a/www/images/fileformat/journal_record.gif b/www/images/fileformat/journal_record.gif
new file mode 100644
index 0000000..49086f2
--- /dev/null
+++ b/www/images/fileformat/journal_record.gif
Binary files differ
diff --git a/www/images/fileformat/master_journal_ptr.gif b/www/images/fileformat/master_journal_ptr.gif
new file mode 100644
index 0000000..2223776
--- /dev/null
+++ b/www/images/fileformat/master_journal_ptr.gif
Binary files differ
diff --git a/www/images/fileformat/overflowpage.gif b/www/images/fileformat/overflowpage.gif
new file mode 100644
index 0000000..24da1a1
--- /dev/null
+++ b/www/images/fileformat/overflowpage.gif
Binary files differ
diff --git a/www/images/fileformat/pointermapentry.gif b/www/images/fileformat/pointermapentry.gif
new file mode 100644
index 0000000..a8dee15
--- /dev/null
+++ b/www/images/fileformat/pointermapentry.gif
Binary files differ
diff --git a/www/images/fileformat/recordformat.gif b/www/images/fileformat/recordformat.gif
new file mode 100644
index 0000000..42d5a9f
--- /dev/null
+++ b/www/images/fileformat/recordformat.gif
Binary files differ
diff --git a/www/images/fileformat/rtdocs.css b/www/images/fileformat/rtdocs.css
new file mode 100644
index 0000000..ce2a5c2
--- /dev/null
+++ b/www/images/fileformat/rtdocs.css
@@ -0,0 +1,81 @@
+ /* Style for requirements paragraph. */
+ .req { margin: 1.0em 10ex; }
+ .req span { color: darkblue }
+
+ .subreq { margin: 1.0em 5ex 1.0em 15ex; color: darkblue }
+ .subsubreq { margin: 1.0em 5ex 1.0em 20ex; color: darkblue }
+
+ .req:before { color: black; content: "[" attr(id) "] "}
+ .subreq:before { color: black; content: "[" attr(id) "] "}
+ .subsubreq:before { color: black; content: "[SUBSUBREQ] " }
+
+ /* The dark-green color used for headings. */
+ h1,h2,h3,h4,#toc_header,#document_title { color: #80a796 }
+
+ .req code {display: block; margin: 0.5em 5ex}
+ code {white-space: pre}
+
+ /* Style for content headings */
+ h2 { margin-left: 10px }
+ h3 { margin-left: 20px }
+ h4 { margin-left: 30px }
+ h1,h2,h3,h4 { font-weight: normal }
+
+ /* Style for document and toc headings */
+ #toc_header { font-size: 1.5em; margin: 1.0em; }
+ #document_title { font-size: 2em; text-align: center }
+
+ #toc a { color: darkblue ; text-decoration: none }
+
+ /* Document font */
+ body { font-family: sans-serif ; font-size:14px ; }
+
+ /* Margins for block boxes that occur in the document flow. */
+ p,ul,ol { margin: 1em 5ex }
+ td p, td ul, td ol { margin: 1em auto }
+
+ /* Table style */
+ table.striped, table#glossary { margin: 1em auto; width: 80% ; border-spacing: 0}
+ .striped th, #glossary th {
+ white-space:nowrap;
+ text-align:left;
+ border-bottom: solid 1px #444444;
+ padding: 0.2em 1ex;
+ }
+ .striped td, #glossary td { vertical-align: top }
+ .striped td, #glossary td { padding: 0.2em 1ex; }
+
+ .spacedlist li { margin-top: 0.5em ; margin-bottom: 0.5em }
+
+ li p { margin: 1em auto ; padding: 0 }
+
+ /* Style for "todo" notes. These are represented by markup like:
+ **
+ ** <span class=todo>Fix this bit!</span>
+ ** <p class=todo>Longer todo note.</p>
+ */
+ .todo { color: #AA3333 ; font-style : italic }
+ .todo:before { content: 'TODO:' }
+ p.todo { border: solid #AA3333 1px; padding: 1ex }
+
+ cite a, cite a:visited { color: inherit; text-decoration: none ; font-style: normal; }
+ .defnlink, .reqlink {
+ color: inherit;
+ text-decoration: none;
+ }
+ .defnlink { font-style: italic }
+ .defnlink:visited,.reqlink:visited { color: inherit }
+ h1 .defnlink, h2 .defnlink, h3 .defnlink, h4 .defnlink, .defn .defnlink{ font-style: inherit }
+ :link:hover,:visited:hover { background: wheat }
+
+ .defn { white-space: nowrap }
+
+ img {
+ display:block;
+ }
+
+ pre.api {
+ margin: 1em 15ex;
+ font-size: 16px;
+ }
+
diff --git a/www/images/fileformat/rtdocs.js b/www/images/fileformat/rtdocs.js
new file mode 100644
index 0000000..a1b66ed
--- /dev/null
+++ b/www/images/fileformat/rtdocs.js
@@ -0,0 +1,116 @@
+
+
+function populate_toc () {
+ var children = document.getElementsByTagName("h1").item(0).parentNode.childNodes
+ var toc = ""
+
+ var counters = new Array()
+ counters[1] = 0
+ counters[2] = 0
+ counters[3] = 0
+ counters[4] = 0
+
+ /* Generate the table of contents */
+ for(var ii=0; ii<children.length; ii++){
+ var node = children.item(ii)
+ var iHeader = -1
+ if( node.tagName == "H1" ){ iHeader = 1 }
+ if( node.tagName == "H2" ){ iHeader = 2 }
+ if( node.tagName == "H3" ){ iHeader = 3 }
+ if( node.tagName == "H4" ){ iHeader = 4 }
+
+ if( iHeader>0 ){
+ var anchor = "tocentry_" + ii
+
+ for(var jj=iHeader+1; jj<=4; jj++){ counters[jj] = 0 }
+ counters[iHeader]++
+
+ var number = ""
+ for(var jj=1; jj<=iHeader; jj++){ number += counters[jj] + "." }
+
+ toc += '<div style="margin-left:' + (iHeader*6) + 'ex">'
+ toc += '<a href="#' + anchor + '">' + number + " " + node.innerHTML
+ toc += "</a></div>"
+
+ var a = '<a style="color:inherit" name="' + anchor + '">' + number + '</a>'
+ node.innerHTML = a + " " + node.innerHTML
+ }
+ }
+ document.getElementById("toc").innerHTML = toc
+}
+
+function number_figs () {
+ /* Number the figures in this document */
+ var figcounter = 1
+ var spans = document.getElementsByTagName("span")
+ for(var ii=0; ii<spans.length; ii++){
+ var s = spans.item(ii)
+ if( s.className=="fig" ){
+ s.innerHTML = figcounter
+ figcounter++
+ }
+ }
+}
+
+function populate_refs () {
+ /* Fix up <cite> references */
+ var cites = document.getElementsByTagName("cite")
+ for(var ii=0; ii<cites.length; ii++){
+ var t = cites.item(ii).innerHTML
+ var h = document.getElementById(t)
+
+ if( !h ){
+ alert("Bad reference: " + t)
+ continue
+ }
+
+ var label
+ if( h.tagName=="H1" || h.tagName=="H2"
+ || h.tagName=="H3" || h.tagName=="H4"
+ ){
+ label = h.firstChild.firstChild.data
+ label = label.substring(0, label.length-1)
+ } else {
+ label = h.firstChild.data
+ }
+
+ cites.item(ii).innerHTML = '<a href="#' + t + '">' + label + '</a>'
+ }
+}
+
+function decorate_tables () {
+ /* Decorate tables */
+ var tables = document.getElementsByTagName("table")
+ for(var ii=0; ii<tables.length; ii++){
+ var t = tables.item(ii)
+ if( t.className!="striped" ) continue
+ var rows = t.rows
+ for(var jj=1; jj<rows.length; jj += 2){
+ rows.item(jj).style.backgroundColor = '#DDDDDD'
+ }
+ }
+}
+
+function check_for_duplicates () {
+ var aReq = new Array();
+ var ps = document.getElementsByTagName("p")
+
+ for(var ii=0; ii<ps.length; ii++){
+ var p = ps.item(ii)
+ if( p.className!="req" || !p.id ) continue;
+
+ if( aReq[p.id] ){
+ alert("Duplicate requirement number: " + p.id)
+ }
+ aReq[p.id] = 1;
+ }
+}
+
+onload = function () {
+ number_figs()
+ populate_toc()
+ populate_refs()
+ decorate_tables()
+ check_for_duplicates()
+}
+
diff --git a/www/images/fileformat/tablelongrecord.gif b/www/images/fileformat/tablelongrecord.gif
new file mode 100644
index 0000000..7f02016
--- /dev/null
+++ b/www/images/fileformat/tablelongrecord.gif
Binary files differ
diff --git a/www/images/fileformat/tablenodecell.gif b/www/images/fileformat/tablenodecell.gif
new file mode 100644
index 0000000..5b4493d
--- /dev/null
+++ b/www/images/fileformat/tablenodecell.gif
Binary files differ
diff --git a/www/images/fileformat/tableshortrecord.gif b/www/images/fileformat/tableshortrecord.gif
new file mode 100644
index 0000000..95a8a43
--- /dev/null
+++ b/www/images/fileformat/tableshortrecord.gif
Binary files differ
diff --git a/www/images/fileformat/tabletree.gif b/www/images/fileformat/tabletree.gif
new file mode 100644
index 0000000..92a2a21
--- /dev/null
+++ b/www/images/fileformat/tabletree.gif
Binary files differ
diff --git a/www/images/fileformat/vfs_role.gif b/www/images/fileformat/vfs_role.gif
new file mode 100644
index 0000000..69c5309
--- /dev/null
+++ b/www/images/fileformat/vfs_role.gif
Binary files differ
diff --git a/www/images/fileformat/write_transaction.gif b/www/images/fileformat/write_transaction.gif
new file mode 100644
index 0000000..6a05904
--- /dev/null
+++ b/www/images/fileformat/write_transaction.gif
Binary files differ
diff --git a/www/images/foreignlogos/adobe-logo.gif b/www/images/foreignlogos/adobe-logo.gif
new file mode 100644
index 0000000..8af7675
--- /dev/null
+++ b/www/images/foreignlogos/adobe-logo.gif
Binary files differ
diff --git a/www/images/foreignlogos/adobe.gif b/www/images/foreignlogos/adobe.gif
new file mode 100644
index 0000000..90a6e64
--- /dev/null
+++ b/www/images/foreignlogos/adobe.gif
Binary files differ
diff --git a/www/images/foreignlogos/airbus1.gif b/www/images/foreignlogos/airbus1.gif
new file mode 100644
index 0000000..2a221c5
--- /dev/null
+++ b/www/images/foreignlogos/airbus1.gif
Binary files differ
diff --git a/www/images/foreignlogos/airbus2.gif b/www/images/foreignlogos/airbus2.gif
new file mode 100644
index 0000000..aae70ce
--- /dev/null
+++ b/www/images/foreignlogos/airbus2.gif
Binary files differ
diff --git a/www/images/foreignlogos/apple.gif b/www/images/foreignlogos/apple.gif
new file mode 100644
index 0000000..e162f50
--- /dev/null
+++ b/www/images/foreignlogos/apple.gif
Binary files differ
diff --git a/www/images/foreignlogos/bentley.gif b/www/images/foreignlogos/bentley.gif
new file mode 100644
index 0000000..b4f25f0
--- /dev/null
+++ b/www/images/foreignlogos/bentley.gif
Binary files differ
diff --git a/www/images/foreignlogos/bentley.jpg b/www/images/foreignlogos/bentley.jpg
new file mode 100644
index 0000000..51da290
--- /dev/null
+++ b/www/images/foreignlogos/bentley.jpg
Binary files differ
diff --git a/www/images/foreignlogos/bloomberg.png b/www/images/foreignlogos/bloomberg.png
new file mode 100644
index 0000000..f0ac9e3
--- /dev/null
+++ b/www/images/foreignlogos/bloomberg.png
Binary files differ
diff --git a/www/images/foreignlogos/bosch_logo1.gif b/www/images/foreignlogos/bosch_logo1.gif
new file mode 100644
index 0000000..d1b133d
--- /dev/null
+++ b/www/images/foreignlogos/bosch_logo1.gif
Binary files differ
diff --git a/www/images/foreignlogos/dropbox.gif b/www/images/foreignlogos/dropbox.gif
new file mode 100644
index 0000000..306286b
--- /dev/null
+++ b/www/images/foreignlogos/dropbox.gif
Binary files differ
diff --git a/www/images/foreignlogos/expensify.png b/www/images/foreignlogos/expensify.png
new file mode 100644
index 0000000..52c3b1d
--- /dev/null
+++ b/www/images/foreignlogos/expensify.png
Binary files differ
diff --git a/www/images/foreignlogos/fb.gif b/www/images/foreignlogos/fb.gif
new file mode 100644
index 0000000..4003040
--- /dev/null
+++ b/www/images/foreignlogos/fb.gif
Binary files differ
diff --git a/www/images/foreignlogos/firefox.gif b/www/images/foreignlogos/firefox.gif
new file mode 100644
index 0000000..8ac8880
--- /dev/null
+++ b/www/images/foreignlogos/firefox.gif
Binary files differ
diff --git a/www/images/foreignlogos/ge.gif b/www/images/foreignlogos/ge.gif
new file mode 100644
index 0000000..2669aa8
--- /dev/null
+++ b/www/images/foreignlogos/ge.gif
Binary files differ
diff --git a/www/images/foreignlogos/google.gif b/www/images/foreignlogos/google.gif
new file mode 100644
index 0000000..8811a42
--- /dev/null
+++ b/www/images/foreignlogos/google.gif
Binary files differ
diff --git a/www/images/foreignlogos/intuit.gif b/www/images/foreignlogos/intuit.gif
new file mode 100644
index 0000000..7b5e721
--- /dev/null
+++ b/www/images/foreignlogos/intuit.gif
Binary files differ
diff --git a/www/images/foreignlogos/loc.gif b/www/images/foreignlogos/loc.gif
new file mode 100644
index 0000000..7dcca93
--- /dev/null
+++ b/www/images/foreignlogos/loc.gif
Binary files differ
diff --git a/www/images/foreignlogos/loc.jpg b/www/images/foreignlogos/loc.jpg
new file mode 100644
index 0000000..cf83817
--- /dev/null
+++ b/www/images/foreignlogos/loc.jpg
Binary files differ
diff --git a/www/images/foreignlogos/mcaffee.gif b/www/images/foreignlogos/mcaffee.gif
new file mode 100644
index 0000000..f7fa757
--- /dev/null
+++ b/www/images/foreignlogos/mcaffee.gif
Binary files differ
diff --git a/www/images/foreignlogos/microsoft.gif b/www/images/foreignlogos/microsoft.gif
new file mode 100644
index 0000000..3820efa
--- /dev/null
+++ b/www/images/foreignlogos/microsoft.gif
Binary files differ
diff --git a/www/images/foreignlogos/monotone.gif b/www/images/foreignlogos/monotone.gif
new file mode 100644
index 0000000..f5df2b7
--- /dev/null
+++ b/www/images/foreignlogos/monotone.gif
Binary files differ
diff --git a/www/images/foreignlogos/mozilla.gif b/www/images/foreignlogos/mozilla.gif
new file mode 100644
index 0000000..9867c78
--- /dev/null
+++ b/www/images/foreignlogos/mozilla.gif
Binary files differ
diff --git a/www/images/foreignlogos/nds.png b/www/images/foreignlogos/nds.png
new file mode 100644
index 0000000..f80a9e6
--- /dev/null
+++ b/www/images/foreignlogos/nds.png
Binary files differ
diff --git a/www/images/foreignlogos/nokia.gif b/www/images/foreignlogos/nokia.gif
new file mode 100644
index 0000000..0aec716
--- /dev/null
+++ b/www/images/foreignlogos/nokia.gif
Binary files differ
diff --git a/www/images/foreignlogos/oracle.gif b/www/images/foreignlogos/oracle.gif
new file mode 100644
index 0000000..7100f4c
--- /dev/null
+++ b/www/images/foreignlogos/oracle.gif
Binary files differ
diff --git a/www/images/foreignlogos/philips.gif b/www/images/foreignlogos/philips.gif
new file mode 100644
index 0000000..92ecb42
--- /dev/null
+++ b/www/images/foreignlogos/philips.gif
Binary files differ
diff --git a/www/images/foreignlogos/php.gif b/www/images/foreignlogos/php.gif
new file mode 100644
index 0000000..029d161
--- /dev/null
+++ b/www/images/foreignlogos/php.gif
Binary files differ
diff --git a/www/images/foreignlogos/python.gif b/www/images/foreignlogos/python.gif
new file mode 100644
index 0000000..c06fadc
--- /dev/null
+++ b/www/images/foreignlogos/python.gif
Binary files differ
diff --git a/www/images/foreignlogos/rpm_logo.png b/www/images/foreignlogos/rpm_logo.png
new file mode 100644
index 0000000..6e620a7
--- /dev/null
+++ b/www/images/foreignlogos/rpm_logo.png
Binary files differ
diff --git a/www/images/foreignlogos/skype.gif b/www/images/foreignlogos/skype.gif
new file mode 100644
index 0000000..890f901
--- /dev/null
+++ b/www/images/foreignlogos/skype.gif
Binary files differ
diff --git a/www/images/foreignlogos/sony.gif b/www/images/foreignlogos/sony.gif
new file mode 100644
index 0000000..f05aff2
--- /dev/null
+++ b/www/images/foreignlogos/sony.gif
Binary files differ
diff --git a/www/images/foreignlogos/sunmicro.gif b/www/images/foreignlogos/sunmicro.gif
new file mode 100644
index 0000000..ebf43fc
--- /dev/null
+++ b/www/images/foreignlogos/sunmicro.gif
Binary files differ
diff --git a/www/images/foreignlogos/symbian.gif b/www/images/foreignlogos/symbian.gif
new file mode 100644
index 0000000..9b1ff89
--- /dev/null
+++ b/www/images/foreignlogos/symbian.gif
Binary files differ
diff --git a/www/images/foreignlogos/tcl.gif b/www/images/foreignlogos/tcl.gif
new file mode 100644
index 0000000..2f779c9
--- /dev/null
+++ b/www/images/foreignlogos/tcl.gif
Binary files differ
diff --git a/www/images/foreignlogos/xojo.png b/www/images/foreignlogos/xojo.png
new file mode 100644
index 0000000..9d3ee23
--- /dev/null
+++ b/www/images/foreignlogos/xojo.png
Binary files differ
diff --git a/www/images/fts3_doclist.png b/www/images/fts3_doclist.png
new file mode 100644
index 0000000..f53056d
--- /dev/null
+++ b/www/images/fts3_doclist.png
Binary files differ
diff --git a/www/images/fts3_doclist.svg b/www/images/fts3_doclist.svg
new file mode 100644
index 0000000..4f4b7b1
--- /dev/null
+++ b/www/images/fts3_doclist.svg
@@ -0,0 +1,427 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="700"
+ height="240"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="fts3_doclist.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="344.48989"
+ inkscape:cy="119.79173"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1439"
+ inkscape:window-height="972"
+ inkscape:window-x="76"
+ inkscape:window-y="27">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.753784,24.208698)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 340.65058,45.824957 L 410.47991,145.85079"
+ id="path3388" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 730.86909,45.839715 L 570.95109,145.86194"
+ id="path3390" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 110.48814,45.693377 L 160.56514,145.86368"
+ id="path3384" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="529.43384"
+ height="29.66988"
+ x="101.27304"
+ y="146.10002" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.75378"
+ y="165.79131"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="110.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Docid</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 320.75378,175.7913 C 320.75378,145.7913 320.75378,145.7913 320.75378,145.7913 L 320.75378,145.7913"
+ id="path3287" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="170.75378"
+ y="165.79131"
+ id="text3289"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3291"
+ x="170.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Column 0 offset-list</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 160.75378,175.7913 C 160.75378,145.7913 160.75378,145.7913 160.75378,145.7913 L 160.75378,145.7913"
+ id="path3293" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.75378"
+ y="195.79131"
+ id="text3305"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3307"
+ x="110.75378"
+ y="195.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="300.75378"
+ y="195.79131"
+ id="text3313"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3315"
+ x="300.75378"
+ y="195.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">variable length fields</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="165.79131"
+ id="text3321"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3323"
+ x="360.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 410.75378,175.7913 C 410.75378,145.7913 410.75378,145.7913 410.75378,145.7913 L 410.75378,145.7913"
+ id="path3325" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3327"
+ width="189.77951"
+ height="30.119799"
+ x="110.59238"
+ y="15.455453" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3349"
+ width="390.03171"
+ height="29.827499"
+ x="340.75378"
+ y="15.791302" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="35.791294"
+ id="text3351"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3353"
+ x="360.75378"
+ y="35.791294"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">0x01</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 410.75378,45.791302 C 410.75378,15.791306 410.75378,15.791306 410.75378,15.791306 L 410.75378,15.791306"
+ id="path3356" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="5.7913022"
+ id="text3358"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3360"
+ x="360.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">1 byte</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="550.75378"
+ y="35.791302"
+ id="text3368"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3370"
+ x="550.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">offset 0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="420.75378"
+ y="35.791302"
+ id="text3372"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3374"
+ x="420.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Column number</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 540.75378,45.791302 C 540.75378,15.791302 540.75378,15.791302 540.75378,15.791302 L 540.75378,15.791302"
+ id="path3376" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="450.75378"
+ y="5.7913022"
+ id="text3378"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3380"
+ x="450.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 300.56264,45.774971 L 321.41397,145.92851"
+ id="path3386" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.75378"
+ y="165.79131"
+ id="text3418"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3420"
+ x="580.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">0x00</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 570.75378,175.7913 C 570.75378,145.7913 570.75378,145.7913 570.75378,145.7913 L 570.75378,145.7913"
+ id="path3422" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="420.75378"
+ y="165.79131"
+ id="text3444"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3446"
+ x="420.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Column N offset-list</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.75378"
+ y="195.79131"
+ id="text3448"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3450"
+ x="580.75378"
+ y="195.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">1 byte</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="630.75378"
+ y="35.791302"
+ id="text3452"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3454"
+ x="630.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 610.75378,45.791302 C 610.75378,15.791302 610.75378,15.791302 610.75378,15.791302 L 610.75378,15.791302"
+ id="path3456" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="670.75378"
+ y="35.791302"
+ id="text3458"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3460"
+ x="670.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">offset N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 660.75378,45.791305 C 660.75378,15.791302 660.75378,15.791302 660.75378,15.791302 L 660.75378,15.791302"
+ id="path3462" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="550.75378"
+ y="5.7913022"
+ id="text3464"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3466"
+ x="550.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="670.75378"
+ y="5.7913022"
+ id="text3468"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3470"
+ x="670.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75379"
+ y="35.791298"
+ id="text3496"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3498"
+ x="120.75379"
+ y="35.791298"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">offset 0</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="200.75378"
+ y="35.791298"
+ id="text3500"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3502"
+ x="200.75378"
+ y="35.791298"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 180.75379,45.791298 C 180.75379,15.791302 180.75379,15.791302 180.75379,15.791302 L 180.75379,15.791302"
+ id="path3504" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="240.75378"
+ y="35.791298"
+ id="text3506"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3508"
+ x="240.75378"
+ y="35.791298"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">offset N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 230.75378,45.791301 C 230.75378,15.791302 230.75378,15.791302 230.75378,15.791302 L 230.75378,15.791302"
+ id="path3510" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75379"
+ y="5.7913132"
+ id="text3512"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3514"
+ x="120.75379"
+ y="5.7913132"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="240.75378"
+ y="5.7913132"
+ id="text3516"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3518"
+ x="240.75378"
+ y="5.7913132"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ </g>
+</svg>
diff --git a/www/images/fts3_doclist2.png b/www/images/fts3_doclist2.png
new file mode 100644
index 0000000..048f42e
--- /dev/null
+++ b/www/images/fts3_doclist2.png
Binary files differ
diff --git a/www/images/fts3_doclist2.svg b/www/images/fts3_doclist2.svg
new file mode 100644
index 0000000..c3ec2bd
--- /dev/null
+++ b/www/images/fts3_doclist2.svg
@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="700"
+ height="130"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="fts3_doclist2.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="222.52257"
+ inkscape:cy="-6.6666667"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1439"
+ inkscape:window-height="972"
+ inkscape:window-x="116"
+ inkscape:window-y="6"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.753784,24.208698)">
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="239.49965"
+ height="29.993635"
+ x="271.11115"
+ y="35.938148" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="280.75378"
+ y="55.791313"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="280.75378"
+ y="55.791313"
+ style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 410.75378,65.791302 C 410.75378,35.791302 410.75378,35.791302 410.75378,35.791302 L 410.75378,35.791302"
+ id="path3287" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="350.75378"
+ y="55.791313"
+ id="text3289"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3291"
+ x="350.75378"
+ y="55.791313"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Entry 0</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 340.75378,65.791302 C 340.75378,35.791302 340.75378,35.791302 340.75378,35.791302 L 340.75378,35.791302"
+ id="path3293" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="280.61081"
+ y="85.938148"
+ id="text3305"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3307"
+ x="280.61081"
+ y="85.938148"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="350.61081"
+ y="85.938148"
+ id="text3313"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3315"
+ x="350.61081"
+ y="85.938148"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">variable length fields</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="420.75378"
+ y="55.791313"
+ id="text3321"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3323"
+ x="420.75378"
+ y="55.791313"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 440.75378,65.791302 C 440.75378,35.791302 440.75378,35.791302 440.75378,35.791302 L 440.75378,35.791302"
+ id="path3325" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="450.75378"
+ y="55.791313"
+ id="text3444"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3446"
+ x="450.75378"
+ y="55.791313"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Entry N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 340.61082,25.938144 L 350.61082,15.938144 L 500.61082,15.938144 L 510.61082,25.938144"
+ id="path3263" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="380.61081"
+ y="5.9381552"
+ id="text3265"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3267"
+ x="380.61081"
+ y="5.9381552"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan
+ style="font-style:italic"
+ id="tspan3269">Length</tspan> bytes</tspan></text>
+ </g>
+</svg>
diff --git a/www/images/fts3_interior_node.png b/www/images/fts3_interior_node.png
new file mode 100644
index 0000000..56c375c
--- /dev/null
+++ b/www/images/fts3_interior_node.png
Binary files differ
diff --git a/www/images/fts3_interior_node.svg b/www/images/fts3_interior_node.svg
new file mode 100644
index 0000000..a1b72e8
--- /dev/null
+++ b/www/images/fts3_interior_node.svg
@@ -0,0 +1,387 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="700"
+ height="240"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="fts3_interior_node.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="349.10624"
+ inkscape:cy="119.79173"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1439"
+ inkscape:window-height="972"
+ inkscape:window-x="150"
+ inkscape:window-y="11">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.753784,24.208698)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 350.77933,45.713996 L 440.78041,145.81793"
+ id="path3388" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 730.79558,45.913223 L 511.3156,146.07842"
+ id="path3390" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 110.7087,45.913931 L 271.17498,145.99198"
+ id="path3384" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="409.87488"
+ height="29.80385"
+ x="101.12634"
+ y="146.15134" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.5647"
+ y="166.43344"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="110.5647"
+ y="166.43344"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Height</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 170.5647,176.43345 C 170.5647,146.43345 170.5647,146.43345 170.5647,146.43345 L 170.5647,146.43345"
+ id="path3281" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="180.5647"
+ y="166.43344"
+ id="text3283"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3285"
+ x="180.5647"
+ y="166.43344"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Left-child id</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 341.13226,175.94926 C 341.13226,145.94926 341.13226,145.94926 341.13226,145.94926 L 341.13226,145.94926"
+ id="path3287" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="280.5647"
+ y="166.43344"
+ id="text3289"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3291"
+ x="280.5647"
+ y="166.43344"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term 1</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 270.5647,176.43344 C 270.5647,146.43344 270.5647,146.43344 270.5647,146.43344 L 270.5647,146.43344"
+ id="path3293" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="451.13226"
+ y="165.94926"
+ id="text3295"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3297"
+ x="451.13226"
+ y="165.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 410.5647,176.43344 C 410.5647,146.43344 410.5647,146.43344 410.5647,146.43344 L 410.5647,146.43344"
+ id="path3303" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="111.13226"
+ y="195.94926"
+ id="text3305"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3307"
+ x="111.13226"
+ y="195.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="201.13226"
+ y="195.94926"
+ id="text3309"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3311"
+ x="201.13226"
+ y="195.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="311.13226"
+ y="195.94926"
+ id="text3313"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3315"
+ x="311.13226"
+ y="195.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">variable length fields</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="351.13226"
+ y="165.94926"
+ id="text3317"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3319"
+ x="351.13226"
+ y="165.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term 2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="421.13226"
+ y="165.94926"
+ id="text3321"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3323"
+ x="421.13226"
+ y="165.94926"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 441.13226,175.94926 C 441.13226,145.94926 441.13226,145.94926 441.13226,145.94926 L 441.13226,145.94926"
+ id="path3325" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3327"
+ width="189.77951"
+ height="30.119799"
+ x="110.59238"
+ y="15.455453" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75035"
+ y="35.613411"
+ id="text3329"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3331"
+ x="120.75035"
+ y="35.613411"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 180.75035,45.613422 C 180.75035,15.613422 180.75035,15.613422 180.75035,15.613422 L 180.75035,15.613422"
+ id="path3333" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75035"
+ y="5.6134114"
+ id="text3335"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3337"
+ x="120.75035"
+ y="5.6134114"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="200.75037"
+ y="5.6134114"
+ id="text3339"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3341"
+ x="200.75037"
+ y="5.6134114"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan
+ style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ id="tspan3343">Length</tspan> bytes</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="190.75037"
+ y="35.613411"
+ id="text3345"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3347"
+ x="190.75037"
+ y="35.613411"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term content</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3349"
+ width="380.01483"
+ height="29.840374"
+ x="350.73553"
+ y="15.773038" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="35.791294"
+ id="text3351"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3353"
+ x="360.75378"
+ y="35.791294"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Prefix Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 460.75377,45.791307 C 460.75377,15.791311 460.75377,15.791311 460.75377,15.791311 L 460.75377,15.791311"
+ id="path3356" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="5.7913022"
+ id="text3358"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3360"
+ x="360.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.66846"
+ y="5.7060018"
+ id="text3362"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3364"
+ x="580.66846"
+ y="5.7060018"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan
+ style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ id="tspan3366">Suffix Length</tspan> bytes</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.66846"
+ y="35.705997"
+ id="text3368"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3370"
+ x="580.66846"
+ y="35.705997"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Suffix content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="470.75378"
+ y="35.791302"
+ id="text3372"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3374"
+ x="470.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Suffix Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 570.66848,45.706001 C 570.66848,15.706001 570.66848,15.706001 570.66848,15.706001 L 570.66848,15.706001"
+ id="path3376" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="490.66849"
+ y="5.7060018"
+ id="text3378"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3380"
+ x="490.66849"
+ y="5.7060018"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 300.7036,45.915928 L 341.17298,145.98998"
+ id="path3386" />
+ </g>
+</svg>
diff --git a/www/images/fts3_leaf_node.png b/www/images/fts3_leaf_node.png
new file mode 100644
index 0000000..f060fbc
--- /dev/null
+++ b/www/images/fts3_leaf_node.png
Binary files differ
diff --git a/www/images/fts3_leaf_node.svg b/www/images/fts3_leaf_node.svg
new file mode 100644
index 0000000..d93b282
--- /dev/null
+++ b/www/images/fts3_leaf_node.svg
@@ -0,0 +1,375 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="700"
+ height="240"
+ id="svg2553"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="fts3_leaf_node.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <defs
+ id="defs2555">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0"
+ refX="0"
+ id="Arrow1Lend"
+ style="overflow:visible">
+ <path
+ id="path3355"
+ d="M 0,0 L 5,-5 L -12.5,0 L 5,5 L 0,0 z"
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt;marker-start:none"
+ transform="matrix(-0.8,0,0,-0.8,-10,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective2561" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ gridtolerance="10000"
+ guidetolerance="10"
+ objecttolerance="10"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.41"
+ inkscape:cx="324.66112"
+ inkscape:cy="119.79173"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-global="true"
+ inkscape:window-width="1439"
+ inkscape:window-height="972"
+ inkscape:window-x="150"
+ inkscape:window-y="11">
+ <inkscape:grid
+ type="xygrid"
+ id="grid3339"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata2558">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-70.753784,24.208698)">
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 350.65163,45.586294 L 400.43675,145.91874"
+ id="path3388" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 730.76277,45.946031 L 480.64735,145.75563"
+ id="path3390" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 110.48814,45.693377 L 160.56514,145.86368"
+ id="path3384" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1.05774558;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3337"
+ width="459.46866"
+ height="29.746105"
+ x="101.23494"
+ y="146.0619" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.75378"
+ y="165.79131"
+ id="text4143"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan4145"
+ x="110.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">0x00</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 230.75378,175.7913 C 230.75378,145.7913 230.75378,145.7913 230.75378,145.7913 L 230.75378,145.7913"
+ id="path3287" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="170.75378"
+ y="165.79131"
+ id="text3289"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3291"
+ x="170.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term 1</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 160.75378,175.7913 C 160.75378,145.7913 160.75378,145.7913 160.75378,145.7913 L 160.75378,145.7913"
+ id="path3293" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="410.75378"
+ y="165.79131"
+ id="text3295"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3297"
+ x="410.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 310.75378,175.7913 C 310.75378,145.7913 310.75378,145.7913 310.75378,145.7913 L 310.75378,145.7913"
+ id="path3303" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="110.75378"
+ y="195.79131"
+ id="text3305"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3307"
+ x="110.75378"
+ y="195.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">1 byte</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="290.75378"
+ y="195.79131"
+ id="text3313"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3315"
+ x="290.75378"
+ y="195.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">variable length fields</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="350.75378"
+ y="165.79131"
+ id="text3321"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3323"
+ x="350.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">...</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 400.75378,175.7913 C 400.75378,145.7913 400.75378,145.7913 400.75378,145.7913 L 400.75378,145.7913"
+ id="path3325" />
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3327"
+ width="189.77951"
+ height="30.119799"
+ x="110.59238"
+ y="15.455453" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75035"
+ y="35.613411"
+ id="text3329"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3331"
+ x="120.75035"
+ y="35.613411"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 180.75035,45.613422 C 180.75035,15.613422 180.75035,15.613422 180.75035,15.613422 L 180.75035,15.613422"
+ id="path3333" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="120.75035"
+ y="5.6134114"
+ id="text3335"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3337"
+ x="120.75035"
+ y="5.6134114"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="200.75037"
+ y="5.6134114"
+ id="text3339"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3341"
+ x="200.75037"
+ y="5.6134114"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan
+ style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ id="tspan3343">Length</tspan> bytes</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="190.75037"
+ y="35.613411"
+ id="text3345"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3347"
+ x="190.75037"
+ y="35.613411"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Term content</tspan></text>
+ <rect
+ style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3349"
+ width="380.01483"
+ height="29.840374"
+ x="350.73553"
+ y="15.773038" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="35.791294"
+ id="text3351"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3353"
+ x="360.75378"
+ y="35.791294"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Prefix Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 460.75377,45.791307 C 460.75377,15.791311 460.75377,15.791311 460.75377,15.791311 L 460.75377,15.791311"
+ id="path3356" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="360.75378"
+ y="5.7913022"
+ id="text3358"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3360"
+ x="360.75378"
+ y="5.7913022"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.66846"
+ y="5.7060018"
+ id="text3362"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3364"
+ x="580.66846"
+ y="5.7060018"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans"><tspan
+ style="font-size:14px;font-style:italic;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans Italic"
+ id="tspan3366">Suffix Length</tspan> bytes</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="580.66846"
+ y="35.705997"
+ id="text3368"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3370"
+ x="580.66846"
+ y="35.705997"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Suffix content</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="470.75378"
+ y="35.791302"
+ id="text3372"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3374"
+ x="470.75378"
+ y="35.791302"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Suffix Length</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 570.66848,45.706001 C 570.66848,15.706001 570.66848,15.706001 570.66848,15.706001 L 570.66848,15.706001"
+ id="path3376" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="490.66849"
+ y="5.7060018"
+ id="text3378"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3380"
+ x="490.66849"
+ y="5.7060018"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">varint</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:3,3;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 299.55068,46.068847 L 230.18962,145.63463"
+ id="path3386" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="240.75378"
+ y="165.79131"
+ id="text3414"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3416"
+ x="240.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Doclist 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;line-height:125%;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="490.75378"
+ y="165.79131"
+ id="text3418"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3420"
+ x="490.75378"
+ y="165.79131"
+ style="font-size:14px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;font-family:Sans;-inkscape-font-specification:Sans">Doclist N</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 480.75378,175.7913 C 480.75378,145.7913 480.75378,145.7913 480.75378,145.7913 L 480.75378,145.7913"
+ id="path3422" />
+ </g>
+</svg>
diff --git a/www/images/fts5_formula.odf b/www/images/fts5_formula.odf
new file mode 100644
index 0000000..ae27fe1
--- /dev/null
+++ b/www/images/fts5_formula.odf
Binary files differ
diff --git a/www/images/fts5_formula1.png b/www/images/fts5_formula1.png
new file mode 100644
index 0000000..fd37dec
--- /dev/null
+++ b/www/images/fts5_formula1.png
Binary files differ
diff --git a/www/images/fts5_formula2.png b/www/images/fts5_formula2.png
new file mode 100644
index 0000000..61abe9b
--- /dev/null
+++ b/www/images/fts5_formula2.png
Binary files differ
diff --git a/www/images/fts5_formula3.png b/www/images/fts5_formula3.png
new file mode 100644
index 0000000..740aee4
--- /dev/null
+++ b/www/images/fts5_formula3.png
Binary files differ
diff --git a/www/images/fullscanb.gif b/www/images/fullscanb.gif
new file mode 100644
index 0000000..becb514
--- /dev/null
+++ b/www/images/fullscanb.gif
Binary files differ
diff --git a/www/images/harmony.gif b/www/images/harmony.gif
new file mode 100644
index 0000000..504589e
--- /dev/null
+++ b/www/images/harmony.gif
Binary files differ
diff --git a/www/images/index-ex1-x-b.gif b/www/images/index-ex1-x-b.gif
new file mode 100644
index 0000000..37354ce
--- /dev/null
+++ b/www/images/index-ex1-x-b.gif
Binary files differ
diff --git a/www/images/indirect1b1.gif b/www/images/indirect1b1.gif
new file mode 100644
index 0000000..25285d5
--- /dev/null
+++ b/www/images/indirect1b1.gif
Binary files differ
diff --git a/www/images/joe1.jpg b/www/images/joe1.jpg
new file mode 100644
index 0000000..7f4b286
--- /dev/null
+++ b/www/images/joe1.jpg
Binary files differ
diff --git a/www/images/loc.jpg b/www/images/loc.jpg
new file mode 100644
index 0000000..5baba69
--- /dev/null
+++ b/www/images/loc.jpg
Binary files differ
diff --git a/www/images/ne.gif b/www/images/ne.gif
new file mode 100644
index 0000000..03a5c00
--- /dev/null
+++ b/www/images/ne.gif
Binary files differ
diff --git a/www/images/ne.png b/www/images/ne.png
new file mode 100644
index 0000000..d3fd8c7
--- /dev/null
+++ b/www/images/ne.png
Binary files differ
diff --git a/www/images/nocopy.gif b/www/images/nocopy.gif
new file mode 100644
index 0000000..cc4a59c
--- /dev/null
+++ b/www/images/nocopy.gif
Binary files differ
diff --git a/www/images/nw.gif b/www/images/nw.gif
new file mode 100644
index 0000000..e6349eb
--- /dev/null
+++ b/www/images/nw.gif
Binary files differ
diff --git a/www/images/nw.png b/www/images/nw.png
new file mode 100644
index 0000000..4382fd9
--- /dev/null
+++ b/www/images/nw.png
Binary files differ
diff --git a/www/images/powered_by_sqlite.gif b/www/images/powered_by_sqlite.gif
new file mode 100644
index 0000000..5bfed02
--- /dev/null
+++ b/www/images/powered_by_sqlite.gif
Binary files differ
diff --git a/www/images/private_branch.gif b/www/images/private_branch.gif
new file mode 100644
index 0000000..b5f250b
--- /dev/null
+++ b/www/images/private_branch.gif
Binary files differ
diff --git a/www/images/qp/fqp1.gif b/www/images/qp/fqp1.gif
new file mode 100644
index 0000000..bb95973
--- /dev/null
+++ b/www/images/qp/fqp1.gif
Binary files differ
diff --git a/www/images/qp/fqp1.pikchr b/www/images/qp/fqp1.pikchr
new file mode 100644
index 0000000..71ae5ba
--- /dev/null
+++ b/www/images/qp/fqp1.pikchr
@@ -0,0 +1,36 @@
+circle "P" big big bold fit rad 110%
+circlerad = P.rad
+movewid = P.diameter*0.8
+move
+circle "T" big big bold
+spline -> from 0.5mm above P.e \
+ then to 2mm above 0.5 between P and T \
+ then to 0.5mm above T.w
+text "4.8" small above at 2nd vertex of previous
+spline -> from 0.5mm below T.w \
+ then to 2mm below 0.5 between T and P \
+ then to 0.5mm below P.e
+text "4.4" small below at 2nd vertex of previous
+circle "*" bold rad 0.5*circlerad with .s at movewid above P.n
+arrow from previous.s to P.n " 4.9" small ljust
+circle "*" bold rad 0.5*circlerad with .s at movewid above T.n
+arrow from previous.s to T.n " 5.2" small ljust
+text "without ANALYZE" big bold at movewid*1.5 below 0.5 between P and T
+
+
+P: circle "P" big big bold at movewid*5.0 right of T
+move
+T: circle "T" big big bold
+spline -> from 0.5mm above P.e \
+ then to 2mm above 0.5 between P and T \
+ then to 0.5mm above T.w
+text "4.4" small above at 2nd vertex of previous
+spline -> from 0.5mm below T.w \
+ then to 2mm below 0.5 between T and P \
+ then to 0.5mm below P.e
+text "3.8" small below at 2nd vertex of previous
+circle "*" bold rad 0.5*circlerad with .s at movewid above P.n
+arrow from previous.s to P.n " 3.9" small ljust
+circle "*" bold rad 0.5*circlerad with .s at movewid above T.n
+arrow from previous.s to T.n " 6.1" small ljust
+text "with ANALYZE" big bold at movewid*1.5 below 0.5 between P and T
diff --git a/www/images/qp/fruitobstate.gif b/www/images/qp/fruitobstate.gif
new file mode 100644
index 0000000..c9f4337
--- /dev/null
+++ b/www/images/qp/fruitobstate.gif
Binary files differ
diff --git a/www/images/qp/fruitobstate0.gif b/www/images/qp/fruitobstate0.gif
new file mode 100644
index 0000000..d7368b9
--- /dev/null
+++ b/www/images/qp/fruitobstate0.gif
Binary files differ
diff --git a/www/images/qp/fullscan.gif b/www/images/qp/fullscan.gif
new file mode 100644
index 0000000..55e17cb
--- /dev/null
+++ b/www/images/qp/fullscan.gif
Binary files differ
diff --git a/www/images/qp/idx1.gif b/www/images/qp/idx1.gif
new file mode 100644
index 0000000..4c13aae
--- /dev/null
+++ b/www/images/qp/idx1.gif
Binary files differ
diff --git a/www/images/qp/idx1lu1.gif b/www/images/qp/idx1lu1.gif
new file mode 100644
index 0000000..e5b82f3
--- /dev/null
+++ b/www/images/qp/idx1lu1.gif
Binary files differ
diff --git a/www/images/qp/idx1lu2.gif b/www/images/qp/idx1lu2.gif
new file mode 100644
index 0000000..0206537
--- /dev/null
+++ b/www/images/qp/idx1lu2.gif
Binary files differ
diff --git a/www/images/qp/idx1lu3.gif b/www/images/qp/idx1lu3.gif
new file mode 100644
index 0000000..90fc71f
--- /dev/null
+++ b/www/images/qp/idx1lu3.gif
Binary files differ
diff --git a/www/images/qp/idx2.gif b/www/images/qp/idx2.gif
new file mode 100644
index 0000000..9f59be3
--- /dev/null
+++ b/www/images/qp/idx2.gif
Binary files differ
diff --git a/www/images/qp/idx2lu1.gif b/www/images/qp/idx2lu1.gif
new file mode 100644
index 0000000..705dd2b
--- /dev/null
+++ b/www/images/qp/idx2lu1.gif
Binary files differ
diff --git a/www/images/qp/idx3.gif b/www/images/qp/idx3.gif
new file mode 100644
index 0000000..4d8fdb6
--- /dev/null
+++ b/www/images/qp/idx3.gif
Binary files differ
diff --git a/www/images/qp/idx3lu1.gif b/www/images/qp/idx3lu1.gif
new file mode 100644
index 0000000..794b2bd
--- /dev/null
+++ b/www/images/qp/idx3lu1.gif
Binary files differ
diff --git a/www/images/qp/idx3lu2.gif b/www/images/qp/idx3lu2.gif
new file mode 100644
index 0000000..b747d52
--- /dev/null
+++ b/www/images/qp/idx3lu2.gif
Binary files differ
diff --git a/www/images/qp/idx4.gif b/www/images/qp/idx4.gif
new file mode 100644
index 0000000..762ba17
--- /dev/null
+++ b/www/images/qp/idx4.gif
Binary files differ
diff --git a/www/images/qp/idx4lu1.gif b/www/images/qp/idx4lu1.gif
new file mode 100644
index 0000000..9444e1c
--- /dev/null
+++ b/www/images/qp/idx4lu1.gif
Binary files differ
diff --git a/www/images/qp/obfruitidx1.gif b/www/images/qp/obfruitidx1.gif
new file mode 100644
index 0000000..3aa589b
--- /dev/null
+++ b/www/images/qp/obfruitidx1.gif
Binary files differ
diff --git a/www/images/qp/obfruitidx4.gif b/www/images/qp/obfruitidx4.gif
new file mode 100644
index 0000000..a96e17f
--- /dev/null
+++ b/www/images/qp/obfruitidx4.gif
Binary files differ
diff --git a/www/images/qp/obfruitnoidx.gif b/www/images/qp/obfruitnoidx.gif
new file mode 100644
index 0000000..253e1f4
--- /dev/null
+++ b/www/images/qp/obfruitnoidx.gif
Binary files differ
diff --git a/www/images/qp/obrowid.gif b/www/images/qp/obrowid.gif
new file mode 100644
index 0000000..47b0000
--- /dev/null
+++ b/www/images/qp/obrowid.gif
Binary files differ
diff --git a/www/images/qp/orquery.gif b/www/images/qp/orquery.gif
new file mode 100644
index 0000000..01566d5
--- /dev/null
+++ b/www/images/qp/orquery.gif
Binary files differ
diff --git a/www/images/qp/partial-sort.gif b/www/images/qp/partial-sort.gif
new file mode 100644
index 0000000..ae8053b
--- /dev/null
+++ b/www/images/qp/partial-sort.gif
Binary files differ
diff --git a/www/images/qp/rowidlu.gif b/www/images/qp/rowidlu.gif
new file mode 100644
index 0000000..0e6e6bf
--- /dev/null
+++ b/www/images/qp/rowidlu.gif
Binary files differ
diff --git a/www/images/qp/tab.gif b/www/images/qp/tab.gif
new file mode 100644
index 0000000..990c393
--- /dev/null
+++ b/www/images/qp/tab.gif
Binary files differ
diff --git a/www/images/qp/tpchq8.gif b/www/images/qp/tpchq8.gif
new file mode 100644
index 0000000..a290743
--- /dev/null
+++ b/www/images/qp/tpchq8.gif
Binary files differ
diff --git a/www/images/qp/tpchq8.pikchr b/www/images/qp/tpchq8.pikchr
new file mode 100644
index 0000000..3ad9ebc
--- /dev/null
+++ b/www/images/qp/tpchq8.pikchr
@@ -0,0 +1,53 @@
+circle "S" big big bold fit rad 110%
+circlerad = S.rad
+movewid = S.diameter*0.8
+move
+circle "L" big big bold
+move
+circle "O" big big bold
+move
+circle "C" big big bold
+move
+circle "N1" big big bold
+move
+circle "R" big big bold
+circle "P" big big bold with .n at movewid below L.s
+circle "N2" big big bold with .e at movewid left of S.w
+
+define double_arrow {
+ spline -> from 0.5mm above $1.e \
+ then to 2mm above 0.5<$1,$2> \
+ then to 0.5mm above $2.w
+ text $3 small above at 2nd vertex of previous
+ spline <- from 0.5mm below $1.e \
+ then to 2mm below 0.5<$1,$2> \
+ then to 0.5mm below $2.w
+ text $4 small below at 2nd vertex of previous
+}
+double_arrow(N2,S,"6.00","2.08")
+double_arrow(S,L,"9.17","2.30")
+double_arrow(L,O,"2.77","4.03")
+double_arrow(O,C,"2.64","5.30")
+double_arrow(C,N1,"2.08","6.40")
+double_arrow(N1,R,"1.79","3.47")
+spline -> from 0.5mm right of L.s \
+ then to 2mm right of 0.5<L,P> \
+ then to 0.5mm right of P.n
+text "2.64" small ljust at 2nd vertex of previous
+spline <- from 0.5mm left of L.s \
+ then to 2mm left of 0.5<L,P> \
+ then to 0.5mm left of P.n
+text "6.01" small rjust at 2nd vertex of previous
+define any_down {
+ circle "*" bold rad 0.5*circlerad with .s at movewid above $1.n
+ arrow from previous.s to $1.n $2 small ljust
+}
+any_down(N2," 5.52")
+any_down(S, " 9.47")
+any_down(L, " 16.40")
+any_down(O, " 13.87")
+any_down(C, " 12.56")
+any_down(N1," 5.52")
+any_down(R, " 3.56")
+circle "*" bold rad 0.5*circlerad with .n at movewid below P.s
+arrow from previous.n to P.s " 7.71" small ljust
diff --git a/www/images/se.gif b/www/images/se.gif
new file mode 100644
index 0000000..791065d
--- /dev/null
+++ b/www/images/se.gif
Binary files differ
diff --git a/www/images/se.png b/www/images/se.png
new file mode 100644
index 0000000..493ab40
--- /dev/null
+++ b/www/images/se.png
Binary files differ
diff --git a/www/images/shane1.jpg b/www/images/shane1.jpg
new file mode 100644
index 0000000..533f2cf
--- /dev/null
+++ b/www/images/shane1.jpg
Binary files differ
diff --git a/www/images/shared.gif b/www/images/shared.gif
new file mode 100644
index 0000000..9b7be7c
--- /dev/null
+++ b/www/images/shared.gif
Binary files differ
diff --git a/www/images/sqlite370.jpg b/www/images/sqlite370.jpg
new file mode 100644
index 0000000..840afa9
--- /dev/null
+++ b/www/images/sqlite370.jpg
Binary files differ
diff --git a/www/images/sqlite370_banner.gif b/www/images/sqlite370_banner.gif
new file mode 100644
index 0000000..c63fdc4
--- /dev/null
+++ b/www/images/sqlite370_banner.gif
Binary files differ
diff --git a/www/images/sqlitepie.jpg b/www/images/sqlitepie.jpg
new file mode 100644
index 0000000..e695027
--- /dev/null
+++ b/www/images/sqlitepie.jpg
Binary files differ
diff --git a/www/images/src_logo.gif b/www/images/src_logo.gif
new file mode 100644
index 0000000..c63ff6d
--- /dev/null
+++ b/www/images/src_logo.gif
Binary files differ
diff --git a/www/images/sschart20221116.jpg b/www/images/sschart20221116.jpg
new file mode 100644
index 0000000..59e102d
--- /dev/null
+++ b/www/images/sschart20221116.jpg
Binary files differ
diff --git a/www/images/sw.gif b/www/images/sw.gif
new file mode 100644
index 0000000..3eb5515
--- /dev/null
+++ b/www/images/sw.gif
Binary files differ
diff --git a/www/images/sw.png b/www/images/sw.png
new file mode 100644
index 0000000..f8535af
--- /dev/null
+++ b/www/images/sw.png
Binary files differ
diff --git a/www/images/table-ex1b2.gif b/www/images/table-ex1b2.gif
new file mode 100644
index 0000000..5f68e0a
--- /dev/null
+++ b/www/images/table-ex1b2.gif
Binary files differ
diff --git a/www/images/vfs1.gif b/www/images/vfs1.gif
new file mode 100644
index 0000000..43bcbd7
--- /dev/null
+++ b/www/images/vfs1.gif
Binary files differ