Physical layout slides

This commit is contained in:
Oliver Kennedy 2019-02-15 00:58:49 -05:00
parent 601a7efe30
commit f3b555f6f9
12 changed files with 3883 additions and 1394 deletions

View file

@ -44,6 +44,8 @@ schedule:
topic: "Physical Data Layout"
note: Serialization, Paging, Columnar, Buffer Manager
textbook: "Ch. 13.1-13.7, 15.7, 16.7"
materials:
slides: "slide/2019-02-15-Physical.html"
- date: "Feb 18"
topic: "Indexing (Intro + Tree Indexes)"
textbook: "Ch. 8.3-8.4, 14.1-14.2, 14.4"
@ -53,8 +55,8 @@ schedule:
note: Learned indexes, LSM Trees
textbook: "Ch. 14.3"
materials:
bLSMTrees: "https://dl.acm.org/citation.cfm?id=2213862"
LearnedIndexes: "https://dl.acm.org/ft_gateway.cfm?id=3196909&type=pdf"
bLSMTrees: "https://dl-acm-org.gate.lib.buffalo.edu/citation.cfm?id=2213862"
LearnedIndexes: "https://dl-acm-org.gate.lib.buffalo.edu/ft_gateway.cfm?id=3196909&type=pdf"
- date: "Feb 22"
topic: "External (2-Pass) Algorithms"
textbook: "Ch. 15.4-15.5, 15.8"

View file

@ -1,281 +1,12 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>CSE 4/562 - Spring 2018</title>
<meta name="description" content="CSE 4/562 - Spring 2018">
<meta name="author" content="Oliver Kennedy">
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">
<link rel="stylesheet" href="../reveal.js-3.6.0/css/reveal.css">
<link rel="stylesheet" href="ubodin.css" id="theme">
<!-- Code syntax highlighting -->
<link rel="stylesheet" href="../reveal.js-3.6.0/lib/css/zenburn.css">
<!-- Printing and PDF exports -->
<script>
var link = document.createElement( 'link' );
link.rel = 'stylesheet';
link.type = 'text/css';
link.href = window.location.search.match( /print-pdf/gi ) ? '../reveal.js-3.6.0/css/print/pdf.css' : '../reveal.js-3.6.0/css/print/paper.css';
document.getElementsByTagName( 'head' )[0].appendChild( link );
</script>
<!--[if lt IE 9]>
<script src="../reveal.js-3.6.0/lib/js/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<div class="reveal">
<!-- Any section element inside of this container is displayed as a slide -->
<div class="header">
<!-- Any Talk-Specific Header Content Goes Here -->
CSE 4/562 - Database Systems
</div>
<div class="slides">
<section>
<h1>SQL &amp;<br/> Physical Layout</h1>
<h3>CSE 4/562 Database Systems</h3>
<h5>January 31, 2018</h5>
</section>
<section>
<section>
<h2>SQL</h2>
<ul>
<li>Developed by IBM (for System R) in the 1970s.</li>
<li>Standard used by many vendors.<ul style="font-size: 70%" class="tight">
<li>SQL-86 (original standard)</li>
<li>SQL-89 (minor revisions; integrity constraints)</li>
<li>SQL-92 (major revision; basis for modern SQL)</li>
<li>SQL-99 (XML, window queries, generated default values)</li>
<li>SQL 2003 (major revisions to XML support)</li>
<li>SQL 2008 (minor extensions)</li>
<li>SQL 2011 (minor extensions; temporal databases)</li>
</li></ul>
</ul>
</section>
<section>
<h3>A Basic SQL Query</h3>
<svg data-src="graphics/2018-01-31-parts_of_sql.svg" height="400px"/>
</section>
<section>
<pre><code class="sql">
SELECT [DISTINCT] targetlist
FROM relationlist
WHERE condition
</code></pre>
<ol>
<li class="fragment">Compute the $2^n$ combinations of tuples in all relations appearing in <span style="color: red;">relationlist</span></li>
<li class="fragment">Discard tuples that fail the <span style="color: red;">condition</span></li>
<li class="fragment">Delete attributes not in <span style="color: red;">targetlist</span></li>
<li class="fragment">If <span style="font-family: Courier, fixedwidth;">DISTINCT</span> is specified, eliminate duplicate rows</li>
</ol>
<p style="font-size: 70%;" class="fragment">
This is the least efficient strategy to compute a query!
A good optimizer will find <b>more efficient strategies</b> to compute <b>the same answer.</b>
</p>
</section>
<section>
<h3>Example Data</h3>
<img src="graphics/2018-01-31-Trees.png" height="500px">
</section>
<section>
<pre><code class="SQL">SELECT * FROM Trees;</code></pre>
<p class="fragment" style="font-size: 70%">Wildcards (<code>*</code>, <code>tablename.*</code>) are special targets that select all attributes.</p>
<div style="width: 800px; overflow-x: scroll; font-size: small; margin-left: auto; margin-right: auto;" class="fragment">
<table>
<tr><th>CREATED_AT</th><th>TREE_ID</th><th>BLOCK_ID</th><th>THE_GEOM</th><th>TREE_DBH</th><th>STUMP_DIAM</th><th>CURB_LOC</th><th>STATUS</th><th>HEALTH</th><th>SPC_LATIN</th><th>SPC_COMMON</th><th>STEWARD</th><th>GUARDS</th><th>SIDEWALK</th><th>USER_TYPE</th><th>PROBLEMS</th><th>ROOT_STONE</th><th>ROOT_GRATE</th><th>ROOT_OTHER</th><th>TRNK_WIRE</th><th>TRNK_LIGHT</th><th>TRNK_OTHER</th><th>BRNCH_LIGH</th><th>BRNCH_SHOE</th><th>BRNCH_OTHE</th><th>ADDRESS</th><th>ZIPCODE</th><th>ZIP_CITY</th><th>CB_NUM</th><th>BOROCODE</th><th>BORONAME</th><th>CNCLDIST</th><th>ST_ASSEM</th><th>ST_SENATE</th><th>NTA</th><th>NTA_NAME</th><th>BORO_CT</th><th>STATE</th><th>LATITUDE</th><th>LONGITUDE</th><th>X_SP</th><th>Y_SP</th></tr>
<tr><td>'08/27/2015'</td><td>180683</td><td>348711</td><td>'POINT (-73.84421521958048 40.723091773924274)'</td><td>3</td><td>0</td><td>'OnCurb'</td><td>'Alive'</td><td>'Fair'</td><td>'Acer rubrum'</td><td>'red maple'</td><td>'None'</td><td>'None'</td><td>'NoDamage'</td><td>'TreesCount Staff'</td><td>'None'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'108-005 70 AVENUE'</td><td>'11375'</td><td>'Forest Hills'</td><td>406</td><td>4</td><td>'Queens'</td><td>29</td><td>28</td><td>16</td><td>'QN17'</td><td>'Forest Hills'</td><td>4073900</td><td>'New York'</td><td>40.72309177</td><td>-73.84421522</td><td>1027431.14821</td><td>202756.768749</td></tr>
<tr><td>'09/03/2015'</td><td>200540</td><td>315986</td><td>'POINT (-73.81867945834878 40.79411066708779)'</td><td>21</td><td>0</td><td>'OnCurb'</td><td>'Alive'</td><td>'Fair'</td><td>'Quercus palustris'</td><td>'pin oak'</td><td>'None'</td><td>'None'</td><td>'Damage'</td><td>'TreesCount Staff'</td><td>'Stones'</td><td>'Yes'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'147-074 7 AVENUE'</td><td>'11357'</td><td>'Whitestone'</td><td>407</td><td>4</td><td>'Queens'</td><td>19</td><td>27</td><td>11</td><td>'QN49'</td><td>'Whitestone'</td><td>4097300</td><td>'New York'</td><td>40.79411067</td><td>-73.81867946</td><td>1034455.70109</td><td>228644.837379</td></tr>
<tr><td>'09/05/2015'</td><td>204026</td><td>218365</td><td>'POINT (-73.93660770459083 40.717580740099116)'</td><td>3</td><td>0</td><td>'OnCurb'</td><td>'Alive'</td><td>'Good'</td><td>'Gleditsia triacanthos var. inermis'</td><td>'honeylocust'</td><td>'1or2'</td><td>'None'</td><td>'Damage'</td><td>'Volunteer'</td><td>'None'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'390 MORGAN AVENUE'</td><td>'11211'</td><td>'Brooklyn'</td><td>301</td><td>3</td><td>'Brooklyn'</td><td>34</td><td>50</td><td>18</td><td>'BK90'</td><td>'East Williamsburg'</td><td>3044900</td><td>'New York'</td><td>40.71758074</td><td>-73.9366077</td><td>1001822.83131</td><td>200716.891267</td></tr>
<tr><td>'09/05/2015'</td><td>204337</td><td>217969</td><td>'POINT (-73.93445615919741 40.713537494833226)'</td><td>10</td><td>0</td><td>'OnCurb'</td><td>'Alive'</td><td>'Good'</td><td>'Gleditsia triacanthos var. inermis'</td><td>'honeylocust'</td><td>'None'</td><td>'None'</td><td>'Damage'</td><td>'Volunteer'</td><td>'Stones'</td><td>'Yes'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'1027 GRAND STREET'</td><td>'11211'</td><td>'Brooklyn'</td><td>301</td><td>3</td><td>'Brooklyn'</td><td>34</td><td>53</td><td>18</td><td>'BK90'</td><td>'East Williamsburg'</td><td>3044900</td><td>'New York'</td><td>40.71353749</td><td>-73.93445616</td><td>1002420.35833</td><td>199244.253136</td></tr>
<tr><td>'08/30/2015'</td><td>189565</td><td>223043</td><td>'POINT (-73.97597938483258 40.66677775537875)'</td><td>21</td><td>0</td><td>'OnCurb'</td><td>'Alive'</td><td>'Good'</td><td>'Tilia americana'</td><td>'American linden'</td><td>'None'</td><td>'None'</td><td>'Damage'</td><td>'Volunteer'</td><td>'Stones'</td><td>'Yes'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'No'</td><td>'603 6 STREET'</td><td>'11215'</td><td>'Brooklyn'</td><td>306</td><td>3</td><td>'Brooklyn'</td><td>39</td><td>44</td><td>21</td><td>'BK37'</td><td>'Park Slope-Gowanus'</td><td>3016500</td><td>'New York'</td><td>40.66677776</td><td>-73.97597938</td><td>990913.775046</td><td>182202.425999</td></tr>
<tr class="fragment"><td colspan="42" style="text-align: left; font-weight: bold;">... and 683783 more</td></tr>
</table>
</div>
</section>
<section>
<pre><code class="sql">
SELECT tree_id, spc_common, boroname
FROM Trees
WHERE boroname = 'Brooklyn'
</code></pre>
<p>In English, what does this query compute?</p>
<p style="font-size: smaller;" class="fragment">What is the ID, Commmon Name and Borough of Trees in Brooklyn?</p>
<table style="font-size: small;" class="fragment">
<tr><th>TREE_ID</th><th>SPC_COMMON</th><th>BORONAME</th></tr>
<tr><td>204026</td><td>'honeylocust'</td><td>'Brooklyn'</td></tr>
<tr><td>204337</td><td>'honeylocust'</td><td>'Brooklyn'</td></tr>
<tr><td>189565</td><td>'American linden'</td><td>'Brooklyn'</td></tr>
<tr><td>192755</td><td>'London planetree'</td><td>'Brooklyn'</td></tr>
<tr><td>189465</td><td>'London planetree'</td><td>'Brooklyn'</td></tr>
<tr><td style="font-weight: bold;" colspan="3">... and 177287 more</td></tr>
</table>
</section>
<section>
<pre><code class="sql">
SELECT latitude, longitude
FROM Trees, SpeciesInfo
WHERE Trees.spc_common = SpeciesInfo.name
AND SpeciesInfo.has_unpleasant_smell = 'Yes';
</code></pre>
<p>In English, what does this query compute?</p>
<p style="font-size: smaller;" class="fragment">What are the coordinates of Trees with bad smells?</p>
<table style="font-size: small;" class="fragment">
<tr><th>LATITUDE</th><th>LONGITUDE</th></tr>
<tr><td>40.59378755</td><td>-73.9915968</td></tr>
<tr><td>40.69149917</td><td>-73.97258754</td></tr>
<tr><td>40.74829709</td><td>-73.98065645</td></tr>
<tr><td>40.68767857</td><td>-73.96764605</td></tr>
<tr><td>40.739991</td><td>-73.86526993</td></tr>
<tr><td style="font-weight: bold;" colspan="5">... and more</td>
</table>
</section>
<section>
<pre><code class="sql">
SELECT Trees.latitude, Trees.longitude
FROM Trees, SpeciesInfo
WHERE Trees.spc_common = SpeciesInfo.name
AND SpeciesInfo.has_unpleasant_smell = 'Yes';
</code></pre>
<p style="font-size: smaller;">... is the same as ...</p>
<pre><code class="sql">
SELECT T.latitude, T.longitude
FROM Trees T, SpeciesInfo S
WHERE T.spc_common = S.name
AND S.has_unpleasant_smell = 'Yes';
</code></pre>
<p style="font-size: smaller;">... is (usually) the same as ...</p>
<pre><code class="sql">
SELECT latitude, longitude
FROM Trees, SpeciesInfo
WHERE spc_common = name
AND has_unpleasant_smell = 'Yes';
</code></pre>
</section>
<section>
<h2>Expressions</h2>
<pre><code class="sql">
SELECT tree_id,
stump_diam / 2 AS stump_radius,
stump_area = 3.14 * stump_diam * stump_diam / 4
FROM Trees;
</code></pre>
<p style="font-size: 70%;">
Arithmetic expressions can appear in targets or conditions.
Use = or AS to assign names to these attributes.
(The behavior of unnamed attributes is unspecified)
</p>
</section>
<section>
<h2>Expressions</h2>
<pre><code class="sql">
SELECT tree_id, spc_common FROM Trees WHERE spc_common LIKE '%maple'
</code></pre>
<table style="font-size: small;">
<tr><th>TREE_ID</th><th>SPC_COMMON</th></tr>
<tr><td>180683</td><td>'red maple'</td></tr>
<tr><td>204325</td><td>'sycamore maple'</td></tr>
<tr><td>205044</td><td>'Amur maple'</td></tr>
<tr><td>184031</td><td>'red maple'</td></tr>
<tr><td>208974</td><td>'red maple'</td></tr>
</table>
<p style="font-size: 70%;">SQL uses single quotes for string literals</p>
<p style="font-size: 70%;"><code>LIKE</code> is used for String Matches</p>
<p style="font-size: 70%;"><code>%</code> matches 0 or more characters</p>
</section>
<section>
<h2>Union</h2>
<pre><code class="sql">
SELECT tree_id FROM Trees WHERE spc_common = 'red maple'
UNION [ALL]
SELECT tree_id FROM Trees WHERE spc_common = 'sycamore maple'
</code></pre>
<p style="font-size: 70%">Computes the <b>set-union</b> of any two <b>union-compatible</b> sets of tuples</p>
<p style="font-size: 70%">Adding <code>ALL</code> preserves duplicates across the inputs (<b>bag-union</b>).</p>
</section>
<section>
<h2>Aggregate Queries</h2>
<pre><code class="sql">
SELECT [DISTINCT] targetlist
FROM relationlist
WHERE condition
GROUP BY groupinglist
HAVING groupcondition
</code></pre>
<div style="font-size: 70%">
<p>The <span color="red">targetlist</span> now contains <b>(a)</b> Grouped attributes, and <b>(b)</b>Aggregate expressions.</p>
<p>Targets of type (a) must be a subset of the grouping-list</p>
<p style="font-size: 70%">(intuitively each answer tuple corresponds to a single group, and each group must have a single value for each attribute)</p>
<p style="margin-top: 20px"><span color="red">groupcondition</span> is applied <i>after</i> aggregation and may contain aggregate expressions.</p>
</div>
</section>
<section>
<h2>Aggregate Queries</h2>
<pre><code class="sql">
SELECT spc_common, count(*) FROM Trees GROUP BY spc_common
</code></pre>
<table style="font-size: small;">
<tr><th>SPC_COMMON </th><th>COUNT</th></tr>
<tr><td>''Schubert' chokecherry' </td><td>4888</td></tr>
<tr><td>'American beech' </td><td>273</td></tr>
<tr><td>'American elm' </td><td>7975</td></tr>
<tr><td>'American hophornbeam' </td><td>1081</td></tr>
<tr><td>'American hornbeam' </td><td>1517</td></tr>
<tr><td colspan="2" style="font-weight: bold;">... and more</td>
</table>
</section>
</section>
<section>
<section>
<h2>Physical Layout</h2>
</section>
<section>
<pre><code class="python">
---
template: templates/cse4562_2019_slides.erb
title: "Physical Layout &amp; Memory Management"
date: February 15, 2019
textbook: "Ch. 13.1-13.7, 15.7, 16.7"
---
<section>
<section>
<pre><code class="python">
from re import split;
with open('Trees.csv', 'r') as f:
@ -283,168 +14,242 @@
fields = split(",", line);
if(fields[30] == 'Brooklyn'):
print(fields[0]);
</code></pre>
<aside class="notes">
Problems:
(1) Expensive: Full scan over the data + split expensive
(2) 'split' sensitive to formatting bugs
(3) Hardcoded Schema (e.g, 30 = BORONAME, 0 = TREE_ID)
(4) No type information (e.g., fields[5] / 2 for STUMP_DIAM)
</aside>
</section>
</code></pre>
<aside class="notes">
Problems:
(1) Expensive: Full scan over the data + split expensive
(2) 'split' sensitive to formatting bugs
(3) Hardcoded Schema (e.g, 30 = BORONAME, 0 = TREE_ID)
(4) No type information (e.g., fields[5] / 2 for STUMP_DIAM)
</aside>
</section>
<section>
<h2>Record Layouts</h2>
</section>
<section>
<h2>Record Layouts</h2>
<section>
<h3>Record Layout 1: Fixed</h3>
<svg data-src="graphics/2018-01-31-record-fixed.svg" />
</section>
<p>How is data stored?</p>
</section>
<section>
<h3>Record Layout 2: Delimiters</h3>
<svg data-src="graphics/2018-01-31-record-separator.svg" />
</section>
<section>
<p><b>Problem 1:</b> How should you encode one tuple?</p>
</section>
<section>
<h3>Record Layout 2: Headers</h3>
<svg data-src="graphics/2018-01-31-record-header.svg" />
</section>
<section>
<h3>Record Layout 1: Fixed</h3>
<svg data-src="graphics/2018-01-31-record-fixed.svg" />
</section>
<section>
<h3>Record Formats</h3>
<dl>
<dt>Fixed</dt>
<dd>Constant-size fields. Field $i$ at byte $\sum_{j < i} |Field_j|$</dd>
<dt>Delimited</dt>
<dd>Special character or string (e.g., <code>,</code>) between fields</dd>
<dt>Header</dt>
<dd>Fixed-size header points to start of each field</dd>
<dt>&nbsp;</dt>
<dd>&nbsp;</dd>
</dl>
</section>
<section>
<h3>Record Layout 2: Delimiters</h3>
<svg data-src="graphics/2018-01-31-record-separator.svg" />
</section>
<section>
<h3>File Formats</h3>
<dl>
<dt>Fixed</dt>
<dd>Constant-size records. Record $i$ at byte $|Record| \times i$</dd>
<dt>Delimited</dt>
<dd>Special character or string (e.g., <code>\r\n</code>) at record end</dd>
<dt>Header</dt>
<dd>Index in file points to start of each record</dd>
<dt class="fragment" data-fragment-index="1">Paged</dt>
<dd class="fragment" data-fragment-index="1">Align records to paging boundaries</dd>
</dl>
</section>
<section>
<h3>Record Layout 2: Headers</h3>
<svg data-src="graphics/2018-01-31-record-header.svg" />
</section>
<section>
<img src="graphics/2018-01-31-mem_hierarchy.png">
</section>
<section>
<h3>Record Formats</h3>
<dl>
<dt>Fixed</dt>
<dd>Constant-size fields. Field $i$ at byte $\sum_{j < i} |Field_j|$</dd>
<dt>Delimited</dt>
<dd>Special character or string (e.g., <code>,</code>) between fields</dd>
<dt>Header</dt>
<dd>Fixed-size header points to start of each field</dd>
<dt>&nbsp;</dt>
<dd>&nbsp;</dd>
</dl>
</section>
<section>
<svg data-src="graphics/2018-01-31-mem_bulk_loading.svg" class="stretch"/>
<imagecredits>openclipart.org</imagecredits>
</section>
<section>
<p><b>Problem 2:</b> How should you encode a file of tuples?</p>
</section>
<section>
<dl>
<dt>File</dt>
<dd>A collection of pages (or records)</dd>
<dt>Page</dt>
<dd>A fixed-size collection of records</dd>
<dd style="font-size: smaller;">Page size is usually dictated by hardware.<br/>Mem Page $\approx$ 4KB&nbsp;&nbsp;&nbsp;Cache Line $\approx$ 64B</dd>
<dt>Record</dt>
<dd>One or more fields (for now)</dd>
<dt>Field</dt>
<dd>A primitive value (for now)</dd>
</dl>
</section>
<section>
<h3>File Formats</h3>
<dl>
<dt>Fixed</dt>
<dd>Constant-size records. Record $i$ at byte $|Record| \times i$</dd>
<dt>Delimited</dt>
<dd>Special character or string (e.g., <code>\r\n</code>) at record end</dd>
<dt>Header</dt>
<dd>Index in file points to start of each record</dd>
<dt class="fragment" data-fragment-index="1">Paged</dt>
<dd class="fragment" data-fragment-index="1">Align records to paging boundaries</dd>
</dl>
</section>
<section>
<svg data-src="graphics/2018-01-29-db_as_mediator.svg" class="stretch"/>
</section>
<section>
<img src="graphics/2018-01-31-mem_hierarchy.png">
</section>
<section>
<pre><code class="python">
with db_open('Trees') as data:
for record in data:
if(record['BORONAME'] == 'Brooklyn'):
print(record['TREE_ID']);
</code></pre>
</section>
</section>
<section>
<svg data-src="graphics/2018-01-31-mem_bulk_loading.svg" class="stretch"/>
<imagecredits>openclipart.org</imagecredits>
</section>
</section>
<section>
<section>
<dl>
<dt>File</dt>
<dd>A collection of pages (or records)</dd>
<dt>Page</dt>
<dd>A fixed-size collection of records</dd>
<dd style="font-size: smaller;">Page size is usually dictated by hardware.<br/>Mem Page $\approx$ 4KB&nbsp;&nbsp;&nbsp;Cache Line $\approx$ 64B</dd>
<dt>Record</dt>
<dd>One or more fields (for now)</dd>
<dt>Field</dt>
<dd>A primitive value (for now)</dd>
</dl>
</section>
<section>
<p><b>Problem 2.b:</b> How should you store records in a <i>page</i>?</p>
<p class="fragment"><b>Key question: </b> Where in the page is record #43?</p>
</section>
<section>
<p>Fixed size records: $43 \cdot |\texttt{record}|$</p>
</section>
<section>
<img src="graphics/2019-02-15-Page-Layouts-1.svg" />
</section>
<section>
<img src="graphics/2019-02-15-Page-Layouts-2.svg" height="400px"/>
<p class="fragment">Why store the key and records from opposite ends?</p>
</section>
</section>
<section>
<section>
<p><b>Problem 3: </b> How should you organize pages in a file?</p>
<p class="fragment"><b>Key question: </b> What happens when all records on a page are deleted?</p>
<p class="fragment"><b>Idea: </b> Track empty pages.</p>
</section>
<section>
<img src="graphics/2019-02-15-Heap-File-1.svg" />
</section>
<section>
<img src="graphics/2019-02-15-Heap-File-2.svg" />
</section>
</section>
<section>
<section>
<h2>An Alternative Layout</h2>
</section>
<section>
<h3>Row-Wise Layouts</h3>
<img src="graphics/2019-02-15-Layout-RowWise.svg" height="400px"/>
</section>
<section>
<h3>Column-Wise Layouts</h3>
<img src="graphics/2019-02-15-Layout-ColumnWise.svg" height="400px"/>
</section>
<section>
<p>Each file stores 2-tuples $\left< RowID, Value\right >$.</p>
<p>Values only for one attribute.</p>
</section>
<section>
<h3>Benefits</h3>
<ul>
<li>Only one attribute to sort per file.</li>
<li>No IO cost for unused attributes ($\pi$-pushdown!)</li>
</ul>
<h3 style="margin-top: 50px;">Drawbacks</h3>
<ul>
<li>Result attributes must be stitched back together ($\bowtie$)</li>
</ul>
<p style="font-size: 70%; margin-top: 50px;" class="fragment">Great for <b>wide</b>, <b>rarely-updated</b> tables where <b>only a few attributes are used</b> per-query</p>
</section>
<section>
<h3>Example Column Stores</h3>
<p style="margin-bottom: 100px; margin-top: 30px;">
<a href="https://commons.wikimedia.org/wiki/File:Cassandra_logo.svg#/media/File:Cassandra_logo.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/5/5e/Cassandra_logo.svg/1200px-Cassandra_logo.svg.png" width="150px" alt="Cassandra logo"></a>
<a href="https://commons.wikimedia.org/wiki/File:Vertica_pos_blk_rgb.svg#/media/File:Vertica_pos_blk_rgb.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Vertica_pos_blk_rgb.svg/1200px-Vertica_pos_blk_rgb.svg.png" width="200px" alt="Vertica pos blk rgb.svg"></a>
<a href="https://en.wikipedia.org/wiki/File:Monetdb-logo.png#/media/File:Monetdb-logo.png"><img src="https://upload.wikimedia.org/wikipedia/en/b/b9/Monetdb-logo.png" width="150px" alt="MonetDB logo"></a>
</p>
<imagecredits>By Apache Software Foundation - <a rel="nofollow" class="external free" href="https://svn.apache.org/repos/asf/cassandra/logo/cassandra.svg">https://svn.apache.org/repos/asf/cassandra/logo/cassandra.svg</a>, <a href="http://www.apache.org/licenses/LICENSE-2.0" title="Apache License, Version 2.0">Apache License 2.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=25112706">Link</a><br/>
By <a href="//commons.wikimedia.org/w/index.php?title=User:Ariolica&amp;action=edit&amp;redlink=1" class="new" title="User:Ariolica (page does not exist)">Ariolica</a> - <span class="int-own-work" lang="en">Own work</span>, <a href="https://creativecommons.org/licenses/by-sa/4.0" title="Creative Commons Attribution-Share Alike 4.0">CC BY-SA 4.0</a>, <a href="https://commons.wikimedia.org/w/index.php?curid=63164269">Link</a><br/>
By <span title="must have been published or publicly displayed outside Wikipedia">Source</span> (<a href="//en.wikipedia.org/wiki/Wikipedia:Non-free_content_criteria#4" title="Wikipedia:Non-free content criteria">WP:NFCC#4</a>), <a href="//en.wikipedia.org/wiki/File:Monetdb-logo.png" title="Fair use of copyrighted material in the context of MonetDB">Fair use</a>, <a href="https://en.wikipedia.org/w/index.php?curid=42303989">Link</a></imagecredits>
</section>
</section>
<section>
<section>
<h2>Buffer Manager</h2>
<p>Abstract the messy details of File-IO</p>
</section>
<section>
<img src="graphics/2019-02-15-Buffer-Manager.svg" />
<imagecredits>openclipart.org</imagecredits>
</section>
<section>
<dl>
<dt>Frame</dt>
<dd>A "slot" managed by the buffer manager that holds one page.</dd>
<dt>Pinned Page</dt>
<dd>A page currently in use by part of the database. Must stay in its current frame until unpinned. (A page may be pinned multiple times)</dd>
<dt>Dirty Page</dt>
<dd>A page that has been modified since it was last read in.</dd>
</dl>
</section>
<section>
<h3>When a page is requested</h3>
<p>Is the page in the buffer pool?
<ul>
<li><b>Yes?</b> Pin the page (again) and return the address.</li>
<li><b>No?</b><ul>
<li>Pick a frame for replacement with your favorite algorithm (e.g., LRU)...</li>
<li>If the frame is dirty, write it to disk</li>
<li>Read requested page into chosen frame</li>
<li>Pin the page and return its address</li>
</ul></li>
</ul>
</section>
<section>
<p>Does this all sound familiar?</p>
<p class="fragment">Isn't this just Virtual Memory?</p>
</section>
<section>
<h1>Yes!</h1>
<p class="fragment">(Many databases use memory-mapped files as a buffer manager)</p>
</section>
<section>
<h3>Why Re-implement VMem?</h3>
<div class="fragment">
<img src="graphics/Clipart/BenBois-Magic-ball.svg" height="200px" />
<p>Databases can predict the future!</p>
</div>
<p class="fragment" style="font-size: 70%;"><code>SELECT * FROM R WHERE A > 500 AND A < 2000</code><span class="fragment">&nbsp;&nbsp;&nbsp;&nbsp; <b>Pages 10-12</b></span></p>
</section>
<section>
<p>How do we decide which pages hold the query results?</p>
<p class="fragment">Answers next class!</p>
</section>
</section>
</div></div>
<script src="../reveal.js-3.6.0/lib/js/head.min.js"></script>
<script src="../reveal.js-3.6.0/js/reveal.js"></script>
<script>
// Full list of configuration options available at:
// https://github.com/hakimel/../reveal.js#configuration
Reveal.initialize({
controls: true,
progress: true,
history: true,
center: true,
slideNumber: true,
transition: 'fade', // none/fade/slide/convex/concave/zoom
chart: {
defaults: {
global: {
title: { fontColor: "#333", fontSize: 24 },
legend: {
labels: { fontColor: "#333", fontSize: 20 },
},
responsiveness: true
},
scale: {
scaleLabel: { fontColor: "#333", fontSize: 20 },
gridLines: { color: "#333", zeroLineColor: "#333" },
ticks: { fontColor: "#333", fontSize: 16 },
}
},
line: { borderColor: [ "rgba(20,220,220,.8)" , "rgba(220,120,120,.8)", "rgba(20,120,220,.8)" ], "borderDash": [ [5,10], [0,0] ]},
bar: { backgroundColor: [
"rgba(220,220,220,0.8)",
"rgba(151,187,205,0.8)",
"rgba(205,151,187,0.8)",
"rgba(187,205,151,0.8)"
]
},
pie: { backgroundColor: [ ["rgba(0,0,0,.8)" , "rgba(220,20,20,.8)", "rgba(20,220,20,.8)", "rgba(220,220,20,.8)", "rgba(20,20,220,.8)"] ]},
radar: { borderColor: [ "rgba(20,220,220,.8)" , "rgba(220,120,120,.8)", "rgba(20,120,220,.8)" ]},
},
// Optional ../reveal.js plugins
dependencies: [
{ src: '../reveal.js-3.6.0/lib/js/classList.js', condition: function() { return !document.body.classList; } },
{ src: '../reveal.js-3.6.0/plugin/math/math.js',
condition: function() { return true; },
mathjax: '../reveal.js-3.6.0/js/MathJax.js'
},
{ src: '../reveal.js-3.6.0/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../reveal.js-3.6.0/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
{ src: '../reveal.js-3.6.0/plugin/highlight/highlight.js', async: true, condition: function() { return !!document.querySelector( 'pre code' ); }, callback: function() { hljs.initHighlightingOnLoad(); } },
{ src: '../reveal.js-3.6.0/plugin/zoom-js/zoom.js', async: true },
{ src: '../reveal.js-3.6.0/plugin/notes/notes.js', async: true },
// Chart.min.js
{ src: '../reveal.js-3.6.0/plugin/chart/Chart.min.js'},
// the plugin
{ src: '../reveal.js-3.6.0/plugin/chart/csv2chart.js'},
{ src: '../reveal.js-3.6.0/plugin/svginline/es6-promise.auto.js', async: false },
{ src: '../reveal.js-3.6.0/plugin/svginline/data-src-svg.js', async: false }
]
});
</script>
</body>
</html>

View file

@ -1,962 +0,0 @@
<?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:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="140.29842mm"
height="174.36986mm"
viewBox="0 0 497.12037 617.84595"
id="svg4174"
version="1.1"
inkscape:version="0.91 r13725"
sodipodi:docname="2018-01-29-db_as_mediator.svg">
<defs
id="defs4176">
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4773"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4775"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker4769"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4771"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4763"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4765"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker4759"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4761"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4753"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lend"
inkscape:collect="always">
<path
transform="matrix(-0.8,0,0,-0.8,-10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
id="path4755"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4749"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow1Lstart"
inkscape:collect="always">
<path
transform="matrix(0.8,0,0,0.8,10,0)"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
id="path4751"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker4743"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4745"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker4739"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always">
<path
id="path4741"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="marker4733"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4735"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4458"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" />
</marker>
<marker
inkscape:stockid="Arrow1Lstart"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lstart"
style="overflow:visible"
inkscape:isstock="true">
<path
id="path4455"
d="M 0,0 5,-5 -12.5,0 5,5 0,0 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1pt;stroke-opacity:1"
transform="matrix(0.8,0,0,0.8,10,0)"
inkscape:connector-curvature="0" />
</marker>
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.4"
inkscape:cx="227.72149"
inkscape:cy="266.07547"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2560"
inkscape:window-height="1388"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" />
<metadata
id="metadata4179">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-143.58269,-193.07647)">
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker4769);marker-end:url(#marker4773)"
d="m 388.57143,280.93361 0,87.14286"
id="path4767"
inkscape:connector-curvature="0" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#Arrow1Lstart);marker-end:url(#Arrow1Lend)"
d="m 516.42857,303.79075 c -13.07526,8.63414 -124.91159,66.23586 -124.28571,65.71429 l 0,103.57143"
id="path4445"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccc" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-start:url(#marker4733)"
d="m 248.57143,300.93361 143.57143,67.14286"
id="path4447"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<g
id="g4247"
transform="translate(0,80)">
<rect
y="566.64795"
x="145.71429"
height="162.85715"
width="148.57143"
id="rect4213"
style="opacity:1;fill:#800000;fill-opacity:1;stroke:#000000;stroke-width:2.83464575;stroke-miterlimit:4;stroke-dasharray:none" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="174.13086"
y="662.63708"
id="text4184-3"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4186-6"
x="174.13086"
y="662.63708"
style="font-weight:bold;fill:#cccccc">CSV</tspan></text>
</g>
<g
id="g4252"
transform="translate(0,80)">
<rect
style="opacity:1;fill:#000080;fill-opacity:1;stroke:#000000;stroke-width:2.83464575;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4217"
width="148.57143"
height="162.85715"
x="318.21432"
y="566.64795" />
<text
sodipodi:linespacing="125%"
id="text4239"
y="657.39661"
x="324.18338"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-weight:bold;font-size:25px;fill:#cccccc"
y="657.39661"
x="324.18338"
id="tspan4241"
sodipodi:role="line">ProtoBuff</tspan></text>
</g>
<g
id="g4257"
transform="translate(0,80)">
<rect
y="566.64795"
x="490.71432"
height="162.85715"
width="148.57143"
id="rect4219"
style="opacity:1;fill:#2d5016;fill-opacity:1;stroke:#000000;stroke-width:2.83464575;stroke-miterlimit:4;stroke-dasharray:none" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="530.11725"
y="662.92029"
id="text4243"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4245"
x="530.11725"
y="662.92029"
style="font-weight:bold;fill:#cccccc">???</tspan></text>
</g>
<g
id="g4432"
transform="translate(5.0714117,0)">
<image
width="105.28571"
height="105.28571"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAALoAAAC6CAYAAAAZDlfxAAAABGdBTUEAALGPC/xhBQAAACBjSFJN
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2Jl
LnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1Q
IENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91
dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4w
LyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAg
IDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAAAxXElE
QVR4Ae19B3xcxbX+WWnVe5d7x2BsY2MwpvdgHu9RQ3ukvX8KBB6hhCR0AgkJCQQnJOQXjIkJJBBC
wHm08CAECDwgtNBMMbYBd9mSrC6ttNr9f9+Vjjy6uruSvNqVVpqxRzNz5ky5Z7579tyZuXNFrLMS
GAMS8CX4GiO1F4me4O7tdnNhj5LmNZn5ZtyjmCXFQwLmYMSjfq2T7fhOP/10X1NTk7+iosLX3Nzs
a2trS1T72o/dCrds2eKUGz9+vGicBHc6PT09XFhYGNqwYUN49erVIbB0wkcDtnn90fjYnHUxSMAU
dAzV9FuU7YQfeuihfeF+npaWlhEKhcJwiWo/agfRl6j56GdPvhnXcqTB0wXh2zs7O9vq6+sbcFPX
paam1sJv37p1a1VDQ8PmzMzMzc8991zN3XffXU+Z9FQsktKdNmlGto3GIgF/LIUHWJZgToUPpqSk
FOXk5ByYlZXlDwaDAywefzaA07MRN51pk6ZxDVmJ8hQXF/fUyWsdN24c81pxE1TPnTt38xe+8IW1
LS0tb6xbt+6fl1xyyTtgbu4uQMDTsVPeHXOy7Z/BSCBRQGef/BhYP7RgZ0dHx4gAOkHp83X9qJhg
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
"
id="image4355"
x="185.57146"
y="200.79079" />
<g
transform="matrix(0.39047619,0,0,0.39047619,340.06124,116.01123)"
id="g4423">
<image
y="197.3622"
x="336.42859"
id="image4416"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAAEsCAYAAAB5fY51AAAABGdBTUEAALGPC/xhBQAAACBjSFJN
AAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAABWWlUWHRYTUw6Y29tLmFkb2Jl
LnhtcAAAAAAAPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1Q
IENvcmUgNS40LjAiPgogICA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5
OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICAgICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91
dD0iIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4w
LyI+CiAgICAgICAgIDx0aWZmOk9yaWVudGF0aW9uPjE8L3RpZmY6T3JpZW50YXRpb24+CiAgICAg
IDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgpMwidZAABAAElE
QVR4Ae2dS+i223nWuw8lNoiDDkK0IkUcpAcHFUnSZKdQbAUzETzVUQdSaUIp1KYtTSm1pYiIiCBI
BxYcqAgdRNuJVGuTsHegaC2xOQ5EVChmpFKLtNmH+tzf/q7da/++a633Wf/n+X/f/13vWrBzH9bv
vu71rrXe9R33ztd8zRprB9YOrB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuw
dmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqB
tQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YO
rB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2
YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNv7sBzt74Rr7zyyh97/fXX
v+u55577xu2fb/j93//9r6892fy4Nc8//3zMpyQ1jtS6/l4d9i+NI7Vaw16N4rmGI7Wt/t/0Td/0
VzXXsl/+8pf/7Hve855fb82v/HXsQP5WXsfa77zK7VF6/uWXX/7ezX50E3mvhPjlqnzKpXyLG2GT
RsolzVYu5Vua98Wmfil31/7f/M3ffPEebw/Wz236v7s9Wn+r+qxxnTuw/6cL1/n5nlj1pz/96e/Y
/vnP22P1T7fJtx6rArfco3+8qHJpkGXsNdRosSnPWukeYVOt68ovO8p6rfykUbk0yDL2mpaGM/Lf
eOONcn9oe7j+oXLLXt8O3NSD9clPfvIj2yX/99sxfevIF+EMNmlULg2yjL2GGmewSYN9tAayjMWV
5RxjsoyL50g5Moof91uPljbkCu3NPFjbY/WT2/n83HZpX/RzenyJPfXIT/nKpXGETbXqwX4tNuVZ
65qcY9xiUx9n5ZcdZb1WftJorVU1e+ymsR6tPRv1AJmbeLB+9Vd/9S9te/+z2v+RLwJZxtIsW3M+
zmCTBvuoJ1nG4spS4ww2abCP1kCWsTit1XV6rNf1/E1jPVq9DXqgc9M/WNvPrP74tvf/LO0/Lz5j
r6k5Hy025VkrnSNsqnVd+WVbbMpXLo0jbKpVD/YbZaVzF7v1Wo/WXTbuGdZM/2Btl/Jntv195+gX
oXiOpJG4qiPL2LWpcQabNNhHayDLWFxZapzBJg320RrItjjxbllbc1tuPVq+SQ/cn/rB+pVf+ZU/
uV3I7/UzaF3wxmX20rd8sozfAjeH/VpsyrNWukfYVOu68su22JSvXBpH2FSrHq1+mu9Z1m7xerR6
G/aA5qZ+sLZ9/ivbPy/y4jP28wiX+YlHR/xeNvVjrWv6XKp1Vn7ZM9ik4evp9Uu14qlxBtvTUF9Z
siFej5Y26wHbqR+s7S8n/kXf+7qkPnhpNZfyrD2DTX1cV37ZFpvyt7ZW36dLPvfG92/zf+hLX/rS
P7ikseaf3Q5M/WBt2/q2vxha2+wXVNvOS+x5n0u1zsovewabNHw9vX6pVjw1zmCTBvt4f59Ltc7K
L9tjnev5ScPW88Pr0ert3rOdm/bB+uVf/uV3bZfw0S8H0xbz0jL2GrvMj9ItNuVZK90jbKp1Xfll
W2zKVy6NI2yqVQ/2a7Epz1ppjljqWrwerZGNfIrstA/WCy+88G7to11Epd6yvPiMBSaNvWyqdV35
Zc9gk8atrdX3VH5vD8SUfbx/69HyTXkg/rQP1nbp/ggvKGOdweMLqlAX9q3YnVG2V6s5alZ+71pH
2NTH1yBfmmkNSSNxLY29bOqj9bU0NN+zrdrUb8utR6u3mc9gbtoHS3vJi8hYXNma8zHKeq38pME+
LTbVOiu/7Bls0rimtfp+0H/8Lz8/SqfPKZ6fd4t/+Atf+ML6jXht0DO20z9Y2t9wEZ94oIpNl5m1
rulzqfaurOrKtnRT3tdzSWMvm/pImxotNuVZ65qcY+ys/EuWGhUzVxrMb3/avB6tS5v7lOZv5sFK
F1G5tNe8tIy9hpd+lHUt+UmDfVpsqnVWftkz2KTxtNfqn6nn33Wt9Whtf3r493vaa+7+d2DqB+tp
fmnu+kWoI061OnrOMRYnHcbFcySNxEmTc4ylT13G4qTLOOkmjcS51h6fuoxdQ/02+yPr0fKdefr+
1A9Wbeeei6ht18VULJs09rKp1nXllx1lvVZ+0ngIa01ruK+1ai/2WK4rral0lN/serT2bOw9MdM/
WNo3XkzP+5wupubdco4xWcbeR3NJI3HFk2UszbuwvVrNpX5716o1ScstdRmT7cU+R/+stW6/gb8e
LW7uU4qnfrB48Rn7HvMyj7KuJT9psE+LTbXOyi87ynqt/KTxENaa1pDWqs9xyfZq2avHrkfr0k7f
z/zUD5a2bO9FTBeUta7pc6n2rqzqyrZ0U97X09NIteI5x1hcWfZrsSnPWukeZaVD63+toeZSn1a+
tdZ6tLa/8rB+I56bfY/xTTxYoxeRl5mxnwcv8yjrWvKTBvu02FTrrPyyo6zXyk8aT3utWssle09r
/ZHPf/7zf+9S7zV/zg5M+2C99tprcYd4aRl7Eb94LTblWStdsozFleUcY7KMi+dIGomrOrKMXZtz
jMkyLp4jaSSOdZdi6jL2evZL7PZXHn5sPVq+a/fnT/tg1Zaly6WtTBdRc26TBmvFk2Usriw1RlnX
kp802KfFplpn5ZcdZb1WftI4Y63S32PZL62pdFKetevR2rPjx5mpHyxtDy+X530uXcy7sqor29JN
eV9PTyPViuccY3Fl2a/FpjxrpUuWsTj1d51LbK/W5+h7D59L/fayrK1H64tf/OL65aFv8Mn+1A+W
XzxeLt9H5yo/yrqW/KTBPi021Torv+wo67Xyk8Y1rVWf45JNn1M1/Lx3Zbe69WhpU+/BTv1g1X7t
vYjpgrJW+0+WsTj1d51LbK9Wc0nDe4i7S3/XSX2k7Vzq41xiNe+W/Rj3WJ+75Ld0U75yafTYbW49
WmnTTshN/2DVHvUuF/eQLGPna87HKOu18pMG+7TYVOus/LKjrNfKTxrPeq1aW7JcG2PV8HMxFleW
GmI3ux4t36iT/Jt4sLRXrculebd7WV3QXq3myDIWV5ZzjMkyLp4jaSSu6sgydm3OMSbLuHiOpJE4
1l2KqcvY69mvxab849yPbX9P6++65vKP7cDUDxYvXG1V63KlbTzCplr14LpGWem4TRrsI54sY3Fl
qTHKupb8pME+LTbVih2x7MdYWqnfXvZx7Y+vR0u7edxO/WDV9gxerrij1Hh8EQ+xSYN91IAsY3Fl
OceYLOPiOZJG4qqOLGPX5hxjsoyLPzLYj7Frc44xWcQ/vv09rfUzLd+UO/rTP1i1L4OXKz5ySaNy
aRxhU616sN8oKx23SYN9xJNlLK4sNUZZ15KfNNhHLG39qzktlvnUR3qJ1ZzboLEeLd+gO/pTP1jp
cjFX+xYuV/dyu0aq1Vk41+ozyqZ+7OOaPpdq78qqrmxLN+V9PT2NVCu+NyemZVu1KV+5NMgy9hrM
rUfLN+cO/tQPVu0HLsyjLapcGmQZew01WmzKs1a6R9hU67ryy46yXis/aVQuDbKMvYYaI6zrXPLZ
Rzz7MRZXlho72fVo+SYO+tM/WNqPO16uR+Wti5jy7OP9fS7VOiu/7Bls0vD19PqlWvGcYyyuLPu1
2JRnrXRbec27pS5jsoxTr6SRuNIytn4j/u+4/vL37cC0D1b6l5/twry1Ozsu1zCb+kiE/VpsyrPW
NTnHuMWmPs7KLzvKeq38pHHGWqW/x7IfY2nc11of6/7EerS00/vttA9WbcHei5gupraQGmewSYN9
vL/PpVpn5Zc9g00avp5ev1QrnnOMxZVlvx7rdT2fGoy9lnOMyTIunqNy2x8ErEeLG3MhnvrBqs9+
1uXipWOsfU799rKp1nXll22xKb+3v3S9j3zqMhaXNEZZ15KfNCq3d/A/4Kc6aqQ+PVZzbpMG+4iv
R+tzn/vc+uWhNuSCnf7B0udvXZiRy0WWsXqVZb8z2KTBPloDWcbirnGt/pnd98+U/NYepHxLlyxj
78s5xsauR8s2o+dO/WDxgjD2jeEcY7KMi+dIGomruiNsqtVa2K/FpjxrXZNzjFts6uOs/LIjrNdd
8p/1Whv916N16eC2+akfLH1+XpCRLwJrXZNzjFvsaP+ernqUbemmfE/T51KtejrX66851SlmfSuf
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
TxpPe61ayyx22ger9x/wS4f3EC4XLzNjrfuhrjWtd631yccv7YmfrfyyLTblKzf7mPbBGj1sHTQv
AmNx0mecLk3SSJw0fS7VqifnGIuTLmPvo7mkkThpco5xSzf1cVZ+q08rv7e/6r2PfK6NsbikMcq6
lvykUbk0yLa4VHuNuakfLB1I6xB52OLLsoax2KSxl021riu/7CjrtfKTxkNYa1rDWuuTZ572xM9W
/sx26gfLvwh3OWzWMPaLwTnGZBkXz5E0Eld1ZBm7NucYk2VcPEfSSFzVHWFTrdbCfi025Vnrmpxj
3GJTH2fllx1lvVZ+T0PMtdupH6w6HF4uxjrA3mGzZpRVD7dJg33Ek2Usriw1RlnXkp802KfFplpn
5Zc9g00at7bW1u/f+l5fqz/9g5W+COlS6wBbcyl/1hfBdVIfX5v89Lk0lzS8h7ikkWrFc46xOOky
TmtIGomTJucYqyd1GYuTLuOkmzQSJ03OMVZP6jIWJ13GLV3nZvFv4sHSYfFgRy6Ga7jOiMYoq55u
k4avp8emWvHUGGWl4zZpsI94sozFlaXGGWzSYB+tgSxjcQ9hrb6WGfypH6x04dLlSpwuW2/OL0DS
bWn0NH2upZl0L7FrrW//fTff597ePOt91Vn7GuVzbYzFzWSnfrDqoO7jYuoCpAtyH/1SH1+D/LJ7
+4+wo/17a7jmtabPlfYmcdpvn0u12h/nUq04zXk8sz/9g6UD5QXQoTLfukStfNK/xKp3qtVc0qhc
GmQZew3nGJNlXDxH0khc1ZFl7NqcY0yWcfEcSSNxVXeETbVaC/u12JRnrWu25sTMYKd+sHiAjHWA
lecc4x7rc/LLjmjsZYvrsew/wnqt/NSvp+lzqdZ15ZcdZb1WftLw9YgrS5YxWcY93T1s6tfT9LlU
q57OKTeTnfrBqoPi4TL2w+QcY7Iey2cNY3FlOceYLOPiOZJG4qqOLGPX5hxjsoyL50gaias6soxd
m3OMyTIuniNpJK7qjrCpVmthvx6rmtns9A+WDmzksBMrHbe9C5M0mJMW84yd4xzjFltcj1Vd2VHW
a+UnjV5/n0u1riu/7CjrtfKThq9HXFmyjMky7unuYVO/lqbrzeJP+2Clvzw3cthkGfsFaM2lfOXS
IMvYazjHmCzj4jmSRuKqjixj1+YcY7KMi+dIGomrOrKMXZtzjMkyLp4jaSSu6o6wqZZrmSGe9sHS
BUiHxMNl7DU152OEVR1rGIsre6Qfa6Wb+u1lU63ryi87ynqt/KSx1jr2s2Pt5Yx26gerDix9AXSQ
/CK02JRnrWv25sSVTbqtfE/T51qaSfcSWzUaLTblK5cGWcZewznGZBkXz5E0Eld1ZBm7NucYk2Vc
PEfSSFzVJZZ6s8TTP1g6qJHD3sv2LspejVrfXnak3yirfXKbNNZaj/9s52ntq5/lLP7UDxYvBmM/
RM4xJsu4eI4zNEqT2i3dlGet1kiWsTj1d51LbK9Wc0nDe4i7S3/XSX2k7Vzq41xiNe+W/RgfYXu1
mqt+6fdvNX/tduoHS4eTLhtzPVZzbtNF7GmmuaMaSbPWSF3G/ByMe7pkPZaf+vU0fS7Vuq78sqOs
18pPGr4ecWXJMibLuKdL1mP5qV9LUzWz2Zt4sOrQRg6bLGO/BJxjTNZj+axhLK5szfk4g00a7KOe
ZBmLK8s5xmQZF8+RNBJXdWQZuzbnGJNlXDxH0khc1ZFl7NqcY+zsbP7NPFg6OB4uY3Fla87HKOu1
8kc1uIbSSRqJO8qmPv455Lf6aJ5rY+wc5xi32OJ6rOrKjrJeKz9p9Pr7XKp1XfllR1mvndGf+sEa
PWy/VDrspJG44skylmZiNZdqzuqnHr3+mtvD3uda/TOnPlqfc1o7c6184hJ7qb/rXGK17tRHc0nD
e4hLGi3Oa67Zn/rB0sG0DvHoxejpqnfZ1EfzPQ2fG9FosSnvPbSm1pr3sqmPtKkxykrHbdJgH/Fk
GYsrS41R1rXkJw32abGp1ln5M9upHyy/CCOHfQabNHw9fqkSq3nWtNiUZ61r+lyqdVZ+2TPYpOHr
6fVLteI5x1hcWfZrsSnPWumSZSxO/V3nEtur1VxPQ8y126kfrDocvxSKmWvlE3eU7V2qZ92vtbaU
f6hr1fmU1bi1tepzz2inf7Dq0I584VKtLgK/CGewZ2joM2udirneVj5xiZ1prf6Zz/hcScN79M4m
1YrnHGNxs9qbeLB0eDxcxuLK1pyPFpvyrJXOUbZ0jmrsXVvq459DfmtNrfze/qr3PvK5NsbiksYo
61ryk0bl0iDL2GuoMcq61qz+tA/Wq6+++sSjo0PcezHShWGta/pcqr0rqzq31GdMlrGvlXOME5v6
Ja60yDJmP8Y93T1s6tfT9LlUq56cYyyurGsqZq6VT1xie/2Ln2FM+2DpcPYedvF72d7FoMYoq3W7
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
dVZ+2VHWa+UnjYew1rSGtdb+metMZ7I38WDpwHjp04UvNuVZ65o+l2rvyqqubEs35X09PY1UK55z
jMWVZb8Wm/Ksle4RNtW6rvyyLTblK5fGETbVqgf7jbDSmM1O+2C1/n2qdOi8GDpksozFlaXGKOta
8pMG+7TYVOus/LKjrNfKTxoPYa1pDbeyVp3NTHbaB6sOKV1MHR7nGIuTDuPiOZJG4qTpc6lW+pxj
LE66jL2P5pJG4qTpc6m2pXuJVV3qo7mk4esR19LYy6Y+0qZGi0151rom5xi32NRH7Mx26gdLB9c7
XF4Qxj2Nvexo/56u1lO2x3GOsXQq73OMxaV+o6xryU8avh5x6u9zqVa8c6lWnOYYs14c84ylU3mf
YyxOuoy9lnOMW6xzs/hTP1g8SMY6xMr7HGNxZTnHmCxj76O5pJG44skyluZd2F6t5lK/Gdeq/dPn
dss9YEyWcdqvpJG40hphvfcM/tQPVjrcdNg6SF6QUVY6bpMG+4gny1hcWWqMsq4lP2mwT4tNtc7K
LzvKeq38pPEQ1prW8BDWqn27djv9g6UD4kVKl6jYlGeta/pcqr0rq7qyLd2U9/X0NFKteM4xFleW
/VpsyrNWumQZi1N/17nE9mo1lzS8h7jUXzln5FOXsbik0WJTvvUHTq5/rf7NPFi6BHXAPhhrjheB
sbiy1BhlXUt+0mCfFptqnZVfdpT1WvlJY6317b/NoL0qy71J+ycusa4lv6Wh+Vns1A8WD1uHxnzv
sPeySYO13t/nUu1dWdWVbemmvK+np5FqxXOOsbiy7NdiU5610iXLWJz6u84ltleruaThPcSl/so5
I5+6jMX1NJy5Zn/qB0sHmC5NOvTEtTT2sqmPLgw1RlnpuE0a7COeLGNxZakxyrqW/KTBPi021Tor
v+wo67Xyk8ZDWGtrDVr3bHb6B0sH1jpYXkTGqi9LjTPYpME+WgNZxuK0Vte5xPZqNZc0vIe4u/R3
ndRH2s6lPs4lVvNu2Y/xEbZXq7nUj2u/C6uamezUDxYvAmM/SF6QFpvyrJXuETbVuq78sqOs18pP
GpVLgyxjr6HGKOta8pMG+7TYVOus/LKjrNfKTxpPe61aywx26gdLB8QLki5RsSnPWtf0uVTrrPyy
Z7BJw9fT65dqxXOOsbiy7NdiU5610iXLWJz6u84ltleruaThPcTdpb/rpD7Sdi71cS6xmp/R3sSD
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
nzR8PeLKkmVMlnFPdw+b+rU0t/+br0d333Vn8Z+b5YOkz/Hxj3+8/qNYL2ruuefyx035lCudlE+5
xLa4+2JTv5S7r/4jumldKTeieV9sWlfK3Vf/C7pf/b7v+753FDPjmPlnWPWj4q/5oaUfpWo+5Vs/
eh1hU63Wx36jrHTcJg32EU+Wsbiy1BhlXUt+0mCfFptqnZVfdpT1WvlJ4yGs9fEa/oPWOaOd+sHa
ftT7xQd+ud52p+5zrf6FSn20EOcq12JTnrWu6XOp9q6s6sq2dFPe19PTSLXiOcdYXFn2a7Epz1rp
Jnb7/at/pfkZ7dQP1nagn9gO7bU6OB4uYz/cmvPRYlOetdI5wqZa15VfdpT1WvlJo3JpkGXsNdQY
ZV1LftJgnxabap2VX3aU9Vr5SePktb72+uuv152fdrww7SfbPtgrr7zyvz/wgQ/8ie1nWn/GP2f6
/YaUqxrmGfd0W2zKp1zq38qlfEvzvtjUL+Xuq/+IblpXyo1o3heb1pVy2+P38x/5yEf+ea1j1jH1
z7Dq0N75znf+7c38Pz/Ap/Aj3aN2qU9NpHzlTF0xswAAAyhJREFU0jjCplr1YL9RVjpukwb7iCfL
WFxZaoyyriU/abBPi021zsovO8p6rfykEdb6O9ufDtZdn3pM/TOsOrlPfepT/3f7WdaXtx+Rvied
ZPqRKuWqNuVTLrEtboRNGimXNFu5lG9p3heb+qXcffUf0U3rSrkRzTPY7QH7no9+9KO/Xlozj+kf
rDq8z3zmM1/64Ac/WH/F4c89hMuVLlRaV8pVLfOMXZ9zjO/CJo2UW2t9c3e5N4x1BimfcmFfP/79
3//9Py+dme1NPFh1gNuj9fKHPvSh/7n9SPQXtkvQ/KUwLwhjXYaUT7niUz7lEtviRtikkXJJs5VL
+ZbmfbGpX8rdV/8R3bSulBvR3Nivbhof2R6rf1R1tzBu5sGqw9x+E/4/vfTSS5/e3G/b/nn33gtT
tXvZFpc0zmCTRsrdV/8R3bSulBvRvC82rSvl7qv/Dt3PPv/8839te6x+sdhbGTf1YNWhbj/T+u/f
/d3f/U+236D8r1v4Ddsl/KObjX8FnheUcelpcI5xi6v8fbAtzdSvxaZ8yiXNVi7lW5r3xaZ+KXdf
/Ud0sa43tl8h/Mct9+Nf+cpXfvBjH/vY/yitWxrxi3pLG/CjP/qj795+pPrz22f+xu0ifMN2Ib6e
n/+FF+7+rh+p1TpGNLbPorJHFhf+bXMMWKv5IxpHah9K/1rH3s+R9vBI7XYf/9em+VvbEv7b9nes
/u0P/MAPTPvvCeq8l107sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1
A2sH1g6sHVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6s
HVg7sHZg7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg
7cDagbUDawfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6sHVg7sHZg7cDagbUD
awfWDqwdWDuwdmDtwNqBtQNrB9YOrB1YO7B2YO3A2oG1A2sH1g6sHdizA/8fWPjdZgn98fkAAAAA
SUVORK5CYII=
"
preserveAspectRatio="none"
height="300"
width="300" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="420"
y="366.64789"
id="text4419"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4421"
x="420"
y="366.64789">Python</tspan></text>
</g>
<text
sodipodi:linespacing="125%"
id="text4428"
y="253.79074"
x="362.07062"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
y="253.79074"
x="362.07062"
id="tspan4430"
sodipodi:role="line">...</tspan></text>
</g>
<rect
style="opacity:1;fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:2.83464575;stroke-miterlimit:4;stroke-dasharray:none"
id="rect4449"
width="99.285713"
height="52.142857"
x="340.71429"
y="340.21933" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="351.53308"
y="383.13611"
id="text4441"
sodipodi:linespacing="125%"><tspan
sodipodi:role="line"
id="tspan4443"
x="351.53308"
y="383.13611">SQL</tspan></text>
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker4739);marker-end:url(#marker4743)"
d="m 220,558.07647 0,87.14286"
id="path4737"
inkscape:connector-curvature="0" />
<path
inkscape:connector-curvature="0"
id="path4747"
d="m 391.42857,558.07647 0,87.14286"
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker4749);marker-end:url(#marker4753)" />
<path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:url(#marker4759);marker-end:url(#marker4763)"
d="m 560.71428,558.07647 0,87.14286"
id="path4757"
inkscape:connector-curvature="0" />
<g
id="g4208"
transform="translate(-28.571429,34.285714)">
<rect
y="438.73514"
x="172.80156"
height="84.396919"
width="495.82547"
id="rect4182"
style="opacity:1;fill:#666666;fill-opacity:1;stroke:#000000;stroke-width:1.29487348;stroke-miterlimit:4;stroke-dasharray:none" />
<text
sodipodi:linespacing="125%"
id="text4184"
y="495.8457"
x="313.31195"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-weight:bold;fill:#cccccc"
y="495.8457"
x="313.31195"
id="tspan4186"
sodipodi:role="line">Database</tspan></text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -0,0 +1,390 @@
<?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"
version="1.1"
id="svg2"
xml:space="preserve"
width="1292.7303"
height="614.19531"
viewBox="0 0 1292.7304 614.19531"
sodipodi:docname="2019-02-15-Heap-File-1.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath24"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path22"
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1027"
id="namedview4"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.22778322"
inkscape:cx="-165.37108"
inkscape:cy="418.07552"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g10"
inkscape:groupmode="layer"
inkscape:label="04-Storage2"
transform="matrix(1.3333333,0,0,-1.3333333,-35.861973,708.11979)"><g
id="g12" /><g
id="g34"
transform="translate(502.5,18.14844)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:18px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text38"><tspan
x="0"
y="0"
id="tspan36"></tspan></text>
</g><path
d="M 257,479 H 367 V 390 H 257 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path46"
inkscape:connector-curvature="0" /><g
id="g48"
transform="matrix(1,0,0,-1,257,479)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path50"
inkscape:connector-curvature="0" /></g><path
d="M 387,479 H 497 V 390 H 387 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path52"
inkscape:connector-curvature="0" /><g
id="g54"
transform="matrix(1,0,0,-1,387,479)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path56"
inkscape:connector-curvature="0" /></g><path
d="M 517,479 H 627 V 390 H 517 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path58"
inkscape:connector-curvature="0" /><g
id="g60"
transform="matrix(1,0,0,-1,517,479)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path62"
inkscape:connector-curvature="0" /></g><path
d="M 647,479 H 757 V 390 H 647 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path64"
inkscape:connector-curvature="0" /><g
id="g66"
transform="matrix(1,0,0,-1,647,479)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path68"
inkscape:connector-curvature="0" /></g><path
d="M 257,347 H 367 V 258 H 257 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path70"
inkscape:connector-curvature="0" /><g
id="g72"
transform="matrix(1,0,0,-1,257,347)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path74"
inkscape:connector-curvature="0" /></g><path
d="M 387,347 H 497 V 258 H 387 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path76"
inkscape:connector-curvature="0" /><g
id="g78"
transform="matrix(1,0,0,-1,387,347)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path80"
inkscape:connector-curvature="0" /></g><path
d="M 517,347 H 627 V 258 H 517 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path82"
inkscape:connector-curvature="0" /><g
id="g84"
transform="matrix(1,0,0,-1,517,347)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path86"
inkscape:connector-curvature="0" /></g><path
d="M 647,347 H 757 V 258 H 647 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path88"
inkscape:connector-curvature="0" /><g
id="g90"
transform="matrix(1,0,0,-1,647,347)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path92"
inkscape:connector-curvature="0" /></g><path
d="M 38,413 H 148 V 324 H 38 Z"
style="fill:#b51a00;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path94"
inkscape:connector-curvature="0" /><g
id="g96"
transform="matrix(1,0,0,-1,38,413)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path98"
inkscape:connector-curvature="0" /></g><g
id="g100"
transform="matrix(1,0,0,-1,126.0104,499.8279)"><path
d="m 6.489578,107.8279 v -0.8708 C 40.80061,48.92837 88.00368,-32.50836 126.4896,13.55427 l 1,1.27367"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path102"
inkscape:connector-curvature="0" /></g><path
d="m 247.2207,482.4739 12.943,-7.0908 -2.0931,14.6088 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path104"
inkscape:connector-curvature="0" /><path
d="m 127.5944,396.6632 -1.0756,-14.7188 12.4204,7.9708 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path106"
inkscape:connector-curvature="0" /><g
id="g108"
transform="matrix(1,0,0,-1,348.4375,500.4984)"><path
d="m 8.0625,12.49841 1,-0.78672 c 16.09962,-15.918995 28.66852,-14.998871 39,-0.93955 l 1,1.72627"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path110"
inkscape:connector-curvature="0" /></g><path
d="m 391.02,486.0455 12.2572,-8.2197 -0.7786,14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path112"
inkscape:connector-curvature="0" /><path
d="m 352.525,493.478 -3.7363,-14.2772 13.6636,5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path114"
inkscape:connector-curvature="0" /><g
id="g116"
transform="matrix(1,0,0,-1,478,501)"><path
d="m 7.5,13 1,-1.28831 C 24.59962,-4.207305 38.16852,-3.287181 48.5,10.77214 L 49.5,12"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path118"
inkscape:connector-curvature="0" /></g><path
d="m 521.02,487.0455 12.2572,-8.2197 -0.7786,14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path120"
inkscape:connector-curvature="0" /><path
d="m 481.525,493.478 -3.7363,-14.2772 13.6636,5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path122"
inkscape:connector-curvature="0" /><g
id="g124"
transform="matrix(1,0,0,-1,608,501)"><path
d="m 7.5,13 1,-1.28831 C 24.59962,-4.207305 38.16852,-3.287181 48.5,10.77214 L 49.5,12"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path126"
inkscape:connector-curvature="0" /></g><path
d="m 651.02,487.0455 12.2572,-8.2197 -0.7786,14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path128"
inkscape:connector-curvature="0" /><path
d="m 611.525,493.478 -3.7363,-14.2772 13.6636,5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path130"
inkscape:connector-curvature="0" /><g
id="g132"
transform="translate(348,234.7464)"><path
d="m 7.5,13.25363 1,-1.54194 c 16.09962,-15.918995 29.66852,-14.998871 40,-0.93955 l 1,1.48149"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path134"
inkscape:connector-curvature="0" /></g><path
d="m 391.02,248.9545 12.2572,8.2197 -0.7786,-14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path136"
inkscape:connector-curvature="0" /><path
d="m 351.525,242.522 -3.7363,14.2772 13.6636,-5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path138"
inkscape:connector-curvature="0" /><g
id="g140"
transform="translate(478,235.7464)"><path
d="m 7.5,13.25363 1,-1.54194 c 16.09962,-15.918995 29.66852,-14.998871 40,-0.93955 l 1,1.48149"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path142"
inkscape:connector-curvature="0" /></g><path
d="m 521.02,249.9545 12.2572,8.2197 -0.7786,-14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path144"
inkscape:connector-curvature="0" /><path
d="m 481.525,243.522 -3.7363,14.2772 13.6636,-5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path146"
inkscape:connector-curvature="0" /><g
id="g148"
transform="translate(608,235.7464)"><path
d="m 7.5,13.25363 1,-1.54194 c 16.09962,-15.918995 29.66852,-14.998871 40,-0.93955 l 1,1.48149"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path150"
inkscape:connector-curvature="0" /></g><path
d="m 651.02,249.9545 12.2572,8.2197 -0.7786,-14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path152"
inkscape:connector-curvature="0" /><path
d="m 611.525,243.522 -3.7363,14.2772 13.6636,-5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path154"
inkscape:connector-curvature="0" /><g
id="g156"
transform="translate(127,235.6981)"><path
d="m 5.5,108.3019 1,-1.3448 C 40.81103,48.92837 88.0141,-32.50836 126.5,13.55427 l 1,0.74759"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path158"
inkscape:connector-curvature="0" /></g><path
d="m 248.2207,252.5261 12.943,7.0908 -2.0931,-14.6088 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path160"
inkscape:connector-curvature="0" /><path
d="m 127.5944,339.3368 -1.0756,14.7188 12.4204,-7.9708 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path162"
inkscape:connector-curvature="0" /><g
id="g164"
transform="matrix(1,0,0,-1,740,501)"><path
d="m 7.5,13 1,-1.28831 C 24.59962,-4.207305 38.16852,-3.287181 48.5,10.77214 L 49.5,12"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path166"
inkscape:connector-curvature="0" /></g><path
d="m 783.02,487.0455 12.2572,-8.2197 -0.7786,14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path168"
inkscape:connector-curvature="0" /><path
d="m 743.525,493.478 -3.7363,-14.2772 13.6636,5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path170"
inkscape:connector-curvature="0" /><g
id="g172"
transform="translate(740,235.7464)"><path
d="m 7.5,13.25363 1,-1.54194 c 16.09962,-15.918995 29.66852,-14.998871 40,-0.93955 l 1,1.48149"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path174"
inkscape:connector-curvature="0" /></g><path
d="m 783.02,249.9545 12.2572,8.2197 -0.7786,-14.7375 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path176"
inkscape:connector-curvature="0" /><path
d="m 743.525,243.522 -3.7363,14.2772 13.6636,-5.5774 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path178"
inkscape:connector-curvature="0" /><g
id="g180"
transform="translate(794.0015,458.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text184"><tspan
x="0"
y="0"
id="tspan182">ø</tspan></text>
</g><g
id="g186"
transform="translate(793.5,263.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text190"><tspan
x="0"
y="0"
id="tspan188">ø</tspan></text>
</g><g
id="g192"
transform="translate(814.7847,499.1797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text196"><tspan
x="0 21.4116 39.3372 57.262798 77.380798 93.542397 105.21 135.4164 144.6228 158.6088 179.6088"
y="0"
sodipodi:role="line"
id="tspan194">Pages with </tspan></text>
<text
transform="matrix(1,0,0,-1,191.2764,0)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text200"><tspan
x="0"
y="0"
id="tspan198"> </tspan></text>
</g><g
id="g202"
transform="translate(863.9214,450.1797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text206"><tspan
x="0 31.5 49.425598 63.411598"
y="0"
sodipodi:role="line"
id="tspan204">Data</tspan></text>
</g><g
id="g208"
transform="translate(851.7563,272.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text212"><tspan
x="0 21 53.382 74.382004 88.367996 106.764"
y="0"
sodipodi:role="line"
id="tspan210">Empty </tspan></text>
</g><g
id="g214"
transform="translate(858.3701,223.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text218"><tspan
x="0 21.4116 39.3372 57.262798 77.380798"
y="0"
sodipodi:role="line"
id="tspan216">Pages</tspan></text>
</g><g
id="g220"
transform="translate(22.77441,210.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text224"><tspan
x="0 31.5 40.706402 56.498402 76.616402 95.012398 108.9984 132.174 150.0576 168.4536"
y="0"
sodipodi:role="line"
id="tspan222">Directory </tspan></text>
</g><g
id="g226"
transform="translate(68.31201,161.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text230"><tspan
x="0 21.4116 39.3372 57.262798"
y="0"
sodipodi:role="line"
id="tspan228">Page</tspan></text>
</g><g
id="g232"
transform="translate(178.4814,79.17969)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text236"><tspan
x="0 21 38.925598 57.321602 78.321602 89.989197 110.9892 128.91479 146.84039 166.9584 178.62601 197.022 220.1976 241.1976 255.18359 273.10919 282.31561 303.31561 319.4772 331.14481 352.14481 363.81241 384.81241 407.98801 417.1944 438.1944 452.18039 472.2984 488.93039 505.09201 516.75958 537.75958 546.966 567.966 584.12762 595.79523 617.20679 635.13239 649.11841"
y="0"
sodipodi:role="line"
id="tspan234">Each page contains 2 pointers plus data</tspan></text>
</g></g></svg>

After

Width:  |  Height:  |  Size: 20 KiB

View file

@ -0,0 +1,269 @@
<?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"
version="1.1"
id="svg2"
xml:space="preserve"
width="1103.2744"
height="687.20691"
viewBox="0 0 1103.2745 687.20691"
sodipodi:docname="2019-02-15-Heap-File-2.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath24"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path22"
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1752"
inkscape:window-height="971"
id="namedview4"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.64426823"
inkscape:cx="385.60126"
inkscape:cy="511.08556"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="0"
inkscape:current-layer="g10" /><g
id="g10"
inkscape:groupmode="layer"
inkscape:label="04-Storage2"
transform="matrix(1.3333333,0,0,-1.3333333,-132.36068,759.01157)"><g
id="g12" /><g
id="g34"
transform="translate(502.5,18.14844)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:18px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text38"><tspan
x="0"
y="0"
id="tspan36"></tspan></text>
</g><path
d="M 336,531 H 446 V 442 H 336 Z"
style="fill:#b51a00;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path46"
inkscape:connector-curvature="0" /><g
id="g48"
transform="matrix(1,0,0,-1,336,531)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path50"
inkscape:connector-curvature="0" /></g><g
id="g52"
transform="translate(115.7744,406.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text56"><tspan
x="0 31.5 40.706402 56.498402 76.616402 95.012398 108.9984 132.174 150.0576 168.4536"
y="0"
sodipodi:role="line"
id="tspan54">Directory </tspan></text>
</g><g
id="g58"
transform="translate(153.2319,357.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text62"><tspan
x="0 21.4116 39.3372 57.262798 77.380798"
y="0"
sodipodi:role="line"
id="tspan60">Pages</tspan></text>
</g><g
id="g64"
transform="translate(95.54102,149.7578)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:38px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text68"><tspan
x="0 28.5 36.829601 51.117599 69.319603 85.9636 98.617599 119.586 134.634 142.96359 161.1656 175.78799 186.34441 202.56281 216.8508 235.0528 245.60921 261.82761 272.384 289.02802 309.9964 318.32599 326.65561 344.8576 361.50159 374.15561 382.4852 403.45361 422.45361 433.01001 453.97839 463.47839 474.03479 493.03479 509.2532 525.47162 543.67358 558.29602 568.85242 581.13397 600.09601 608.4256 624.64398 632.97357 637.49939 648.05579 664.27417 674.83063 683.16022 691.48981 710.48981 727.55939 745.76141 765.13379 775.69019 784.01978 792.34943 806.9718 819.62579"
y="0"
sodipodi:role="line"
id="tspan66">Directories are a collection of pages (e.g., a linked list)</tspan></text>
<text
transform="matrix(1,0,0,-1,831.9074,0)"
style="font-variant:normal;font-weight:normal;font-size:38px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text72"><tspan
x="0"
y="0"
id="tspan70"> </tspan></text>
</g><g
id="g74"
transform="translate(249.6284,105.7578)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:38px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text78"><tspan
x="0 28.5 36.829601 51.117599 69.319603 85.9636 98.617599 119.586 134.634 142.96359 161.1656 175.78799 186.34441 205.34441 226.31281 234.6424 253.6424 266.29639 276.85281 289.50681 310.47519 321.03159 337.25 345.57959 353.90921 364.46561 383.83801 400.0564 412.71039 428.9288 439.4852 458.4852 474.70361 490.922 509.12399 523.7464"
y="0"
sodipodi:role="line"
id="tspan76">Directories point to all data pages </tspan></text>
<text
transform="matrix(1,0,0,-1,534.3028,0)"
style="font-variant:normal;font-weight:normal;font-size:38px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text82"><tspan
x="0"
y="0"
id="tspan80"> </tspan></text>
</g><g
id="g84"
transform="translate(235.5918,61.75781)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:38px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text88"><tspan
x="0 12.2816 30.483601 49.483601 62.1376 77.1856 85.515198 103.7172 118.3396 128.896 145.53999 161.75841 180.75841 191.3148 199.64439 218.64439 235.28841 243.618 262.61801 281.99039 300.19241 310.74881 332.9408 343.49719 364.46561 373.96561 384.522 394.022 408.31 426.51199 444.71399 455.27039 474.27039 490.4888 506.70721 524.90918 539.53162"
y="0"
sodipodi:role="line"
id="tspan86">(entries can include # of free pages)</tspan></text>
</g><path
d="M 587,559 H 697 V 492 H 587 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path90"
inkscape:connector-curvature="0" /><g
id="g92"
transform="matrix(1,0,0,-1,587,559)"><path
d="M 0,0 H 110 V 67 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path94"
inkscape:connector-curvature="0" /></g><path
d="M 587,477 H 697 V 409 H 587 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path96"
inkscape:connector-curvature="0" /><g
id="g98"
transform="matrix(1,0,0,-1,587,476.6751)"><path
d="M 0,-0.3249207 H 110 V 67.67508 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path100"
inkscape:connector-curvature="0" /></g><path
d="M 587,394 H 697 V 327 H 587 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path102"
inkscape:connector-curvature="0" /><g
id="g104"
transform="matrix(1,0,0,-1,587,394.3502)"><path
d="M 0,0.3501587 H 110 V 67.35016 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path106"
inkscape:connector-curvature="0" /></g><path
d="M 587,268 H 697 V 201 H 587 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path108"
inkscape:connector-curvature="0" /><g
id="g110"
transform="matrix(1,0,0,-1,587,268.2192)"><path
d="M 0,0.2192383 H 110 V 67.21924 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path112"
inkscape:connector-curvature="0" /></g><g
id="g114"
transform="translate(620.5884,296.2492)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text118"><tspan
x="0"
y="0"
id="tspan116">…</tspan></text>
</g><path
d="M 336,400 H 446 V 311 H 336 Z"
style="fill:#b51a00;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path120"
inkscape:connector-curvature="0" /><g
id="g122"
transform="matrix(1,0,0,-1,336,400)"><path
d="M 0,0 H 110 V 89 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path124"
inkscape:connector-curvature="0" /></g><g
id="g126"
transform="matrix(-0.01437671,0.9998966,0.9998966,0.01437671,311.7987,395.1876)"><path
d="M 7.711257,12.8398 8.69988,11.71169 C 24.7995,-4.207305 38.20631,-3.287181 48.53779,10.77214 l 0.74232,1.30729"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path128"
inkscape:connector-curvature="0" /></g><path
d="m 325.2159,438.1851 8.0426,12.374 -14.7248,-0.9903 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path130"
inkscape:connector-curvature="0" /><path
d="m 319.106,399.0293 14.3295,-3.5306 -5.7732,13.582 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path132"
inkscape:connector-curvature="0" /><g
id="g134"
transform="matrix(1,0,0,-1,354.0104,567.7402)"><path
d="M 0,60.21407 C 34.9322,2.044751 200.1945,-26.25142 253.4896,32.12509 l 1,1.61508"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path136"
inkscape:connector-curvature="0" /></g><path
d="m 602.3014,531.2819 13.155,-6.6893 -2.5415,14.5376 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path138"
inkscape:connector-curvature="0" /><g
id="g140"
transform="matrix(1,0,0,-1,381,534.5056)"><path
d="M 0,26.71967 C 34.99212,-31.54944 178.7777,14.18914 229.5,80.56377 V 81.5056"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path142"
inkscape:connector-curvature="0" /></g><path
d="m 604.1907,450.5499 12.8564,-7.2466 -1.9166,14.6331 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path144"
inkscape:connector-curvature="0" /><g
id="g146"
transform="matrix(1,0,0,-1,409,523.931)"><path
d="M 0,16.65064 C 35.03381,-41.68788 150.766,66.3579 198.5,139.0983 l 1,0.8327"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path148"
inkscape:connector-curvature="0" /></g><path
d="m 602.1045,381.7847 12.5799,-7.7166 -1.3747,14.6939 z"
style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path150"
inkscape:connector-curvature="0" /><g
id="g152"
transform="translate(783.333,432.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text156"><tspan
x="0 31.5 49.425598 63.411598 81.337196"
y="0"
sodipodi:role="line"
id="tspan154">Data </tspan></text>
<text
transform="matrix(1,0,0,-1,93.0048,0)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text160"><tspan
x="0"
y="0"
id="tspan158"> </tspan></text>
</g><g
id="g162"
transform="translate(777.2319,383.6797)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text166"><tspan
x="0 21.4116 39.3372 57.262798 77.380798"
y="0"
sodipodi:role="line"
id="tspan164">Pages</tspan></text>
</g></g></svg>

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -0,0 +1,473 @@
<?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="227.2872mm"
height="157.99657mm"
viewBox="0 0 227.2872 157.99657"
version="1.1"
id="svg1378"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="2019-02-15-Layout-RowWise.svg">
<defs
id="defs1372" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="41.106128"
inkscape:cy="484.44526"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="20"
fit-margin-left="20"
fit-margin-right="20"
fit-margin-bottom="20"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata1375">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(13.101936,-53.33258)">
<g
id="g1389"
transform="translate(-15.875,31.750001)">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382"
sodipodi:role="line">A1</tspan></text>
</g>
<g
transform="translate(33.261901,31.750001)"
id="g1389-8">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-6"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-4"
sodipodi:role="line">B1</tspan></text>
</g>
<g
transform="translate(82.398803,31.750001)"
id="g1389-7">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-9"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-3"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-9"
sodipodi:role="line">C1</tspan></text>
</g>
<g
transform="translate(131.53571,31.750001)"
id="g1389-8-2">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-6-8"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-3"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-4-0"
sodipodi:role="line">D1</tspan></text>
</g>
<g
id="g1781"
transform="translate(-15.875,21.166667)">
<rect
rx="0.52964824"
y="77.773804"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-5"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-4"
y="94.10466"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="36.17424"
id="tspan1382-92"
sodipodi:role="line">A2</tspan></text>
</g>
<g
id="g1786"
transform="translate(-5.2916667,21.166667)">
<rect
rx="0.52964824"
y="77.773804"
x="61.988091"
height="24.946428"
width="38.55357"
id="rect1380-6-7"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-4"
y="94.10466"
x="74.727806"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="74.727806"
id="tspan1382-4-9"
sodipodi:role="line">B2</tspan></text>
</g>
<g
id="g1791"
transform="translate(5.2916667,21.166667)">
<rect
rx="0.52964824"
y="77.773804"
x="100.54166"
height="24.946428"
width="38.55357"
id="rect1380-9-4"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-3-5"
y="94.10466"
x="113.28138"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="113.28138"
id="tspan1382-9-9"
sodipodi:role="line">C2</tspan></text>
</g>
<g
id="g1796"
transform="translate(15.875,21.166667)">
<rect
rx="0.52964824"
y="77.773804"
x="139.09523"
height="24.946428"
width="38.55357"
id="rect1380-6-8-5"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-3-7"
y="94.10466"
x="151.83495"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="151.83495"
id="tspan1382-4-0-0"
sodipodi:role="line">D2</tspan></text>
</g>
<g
id="g1828"
transform="translate(-15.875,10.583333)">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1532"
width="38.55357"
height="24.946428"
x="23.434523"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="36.17424"
y="129.63443"
id="text1536"><tspan
sodipodi:role="line"
id="tspan1534"
x="36.17424"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">A3</tspan></text>
</g>
<g
id="g1823"
transform="translate(-5.2916667,10.583333)">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1540"
width="38.55357"
height="24.946428"
x="61.988091"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="74.727806"
y="129.63443"
id="text1544"><tspan
sodipodi:role="line"
id="tspan1542"
x="74.727806"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">B3</tspan></text>
</g>
<g
id="g1818"
transform="translate(5.2916667,10.583333)">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1548"
width="38.55357"
height="24.946428"
x="100.54166"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="113.28138"
y="129.63443"
id="text1552"><tspan
sodipodi:role="line"
id="tspan1550"
x="113.28138"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">C3</tspan></text>
</g>
<g
id="g1813"
transform="translate(15.875,10.583333)">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1556"
width="38.55357"
height="24.946428"
x="139.09523"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="151.83495"
y="129.63443"
id="text1560"><tspan
sodipodi:role="line"
id="tspan1558"
x="151.83495"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">D3</tspan></text>
</g>
<g
id="g1845"
transform="translate(-15.875)">
<rect
rx="0.52964824"
y="148.83333"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1566"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1570"
y="165.16418"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="36.17424"
id="tspan1568"
sodipodi:role="line">A4</tspan></text>
</g>
<g
id="g1850"
transform="translate(-5.2916667)">
<rect
rx="0.52964824"
y="148.83333"
x="61.988091"
height="24.946428"
width="38.55357"
id="rect1574"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1578"
y="165.16418"
x="74.727806"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="74.727806"
id="tspan1576"
sodipodi:role="line">B4</tspan></text>
</g>
<g
id="g1855"
transform="translate(5.2916667)">
<rect
rx="0.52964824"
y="148.83333"
x="100.54166"
height="24.946428"
width="38.55357"
id="rect1582"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1586"
y="165.16418"
x="113.28138"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="113.28138"
id="tspan1584"
sodipodi:role="line">C4</tspan></text>
</g>
<g
id="g1860"
transform="translate(15.875)">
<rect
rx="0.52964824"
y="148.83333"
x="139.09523"
height="24.946428"
width="38.55357"
id="rect1590"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1594"
y="165.16418"
x="151.83495"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="151.83495"
id="tspan1592"
sodipodi:role="line">D4</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="12.89659"
y="191.17929"
id="text1864"><tspan
sodipodi:role="line"
id="tspan1862"
x="12.89659"
y="191.17929"
style="stroke-width:0.26458332">File 1</tspan></text>
<text
id="text1868"
y="191.17929"
x="62.074833"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="191.17929"
x="62.074833"
id="tspan1866"
sodipodi:role="line">File 2</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="111.1058"
y="191.17929"
id="text1872"><tspan
sodipodi:role="line"
id="tspan1870"
x="111.1058"
y="191.17929"
style="stroke-width:0.26458332">File 3</tspan></text>
<text
id="text1876"
y="191.17929"
x="160.11609"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="stroke-width:0.26458332"
y="191.17929"
x="160.11609"
id="tspan1874"
sodipodi:role="line">File 4</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,416 @@
<?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="155.5372mm"
height="132.85863mm"
viewBox="0 0 155.5372 132.85863"
version="1.1"
id="svg1378"
inkscape:version="0.92.3 (2405546, 2018-03-11)"
sodipodi:docname="2019-02-15-Layout-RowWise.svg">
<defs
id="defs1372" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.7"
inkscape:cx="41.106128"
inkscape:cy="484.44526"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1" />
<metadata
id="metadata1375">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-22.773064,-41.582579)">
<g
id="g1389">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382"
sodipodi:role="line">A1</tspan></text>
</g>
<g
transform="translate(38.553568)"
id="g1389-8">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-6"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-4"
sodipodi:role="line">B1</tspan></text>
</g>
<g
transform="translate(77.107136)"
id="g1389-7">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-9"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-3"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-9"
sodipodi:role="line">C1</tspan></text>
</g>
<g
transform="translate(115.6607)"
id="g1389-8-2">
<rect
rx="0.52964824"
y="42.244038"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-6-8"
style="fill:#c83737;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-3"
y="58.574898"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="58.574898"
x="36.17424"
id="tspan1382-4-0"
sodipodi:role="line">D1</tspan></text>
</g>
<g
id="g1781">
<rect
rx="0.52964824"
y="77.773804"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1380-5"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-4"
y="94.10466"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="36.17424"
id="tspan1382-92"
sodipodi:role="line">A2</tspan></text>
</g>
<g
id="g1786">
<rect
rx="0.52964824"
y="77.773804"
x="61.988091"
height="24.946428"
width="38.55357"
id="rect1380-6-7"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-4"
y="94.10466"
x="74.727806"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="74.727806"
id="tspan1382-4-9"
sodipodi:role="line">B2</tspan></text>
</g>
<g
id="g1791">
<rect
rx="0.52964824"
y="77.773804"
x="100.54166"
height="24.946428"
width="38.55357"
id="rect1380-9-4"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-3-5"
y="94.10466"
x="113.28138"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="113.28138"
id="tspan1382-9-9"
sodipodi:role="line">C2</tspan></text>
</g>
<g
id="g1796">
<rect
rx="0.52964824"
y="77.773804"
x="139.09523"
height="24.946428"
width="38.55357"
id="rect1380-6-8-5"
style="fill:#37abc8;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1384-2-3-7"
y="94.10466"
x="151.83495"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="94.10466"
x="151.83495"
id="tspan1382-4-0-0"
sodipodi:role="line">D2</tspan></text>
</g>
<g
id="g1828">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1532"
width="38.55357"
height="24.946428"
x="23.434523"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="36.17424"
y="129.63443"
id="text1536"><tspan
sodipodi:role="line"
id="tspan1534"
x="36.17424"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">A3</tspan></text>
</g>
<g
id="g1823">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1540"
width="38.55357"
height="24.946428"
x="61.988091"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="74.727806"
y="129.63443"
id="text1544"><tspan
sodipodi:role="line"
id="tspan1542"
x="74.727806"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">B3</tspan></text>
</g>
<g
id="g1818">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1548"
width="38.55357"
height="24.946428"
x="100.54166"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="113.28138"
y="129.63443"
id="text1552"><tspan
sodipodi:role="line"
id="tspan1550"
x="113.28138"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">C3</tspan></text>
</g>
<g
id="g1813">
<rect
style="fill:#00aa88;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0"
id="rect1556"
width="38.55357"
height="24.946428"
x="139.09523"
y="113.30357"
rx="0.52964824" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
x="151.83495"
y="129.63443"
id="text1560"><tspan
sodipodi:role="line"
id="tspan1558"
x="151.83495"
y="129.63443"
style="fill:#ffffff;stroke-width:0.26458332">D3</tspan></text>
</g>
<g
id="g1845">
<rect
rx="0.52964824"
y="148.83333"
x="23.434523"
height="24.946428"
width="38.55357"
id="rect1566"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1570"
y="165.16418"
x="36.17424"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="36.17424"
id="tspan1568"
sodipodi:role="line">A4</tspan></text>
</g>
<g
id="g1850">
<rect
rx="0.52964824"
y="148.83333"
x="61.988091"
height="24.946428"
width="38.55357"
id="rect1574"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1578"
y="165.16418"
x="74.727806"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="74.727806"
id="tspan1576"
sodipodi:role="line">B4</tspan></text>
</g>
<g
id="g1855">
<rect
rx="0.52964824"
y="148.83333"
x="100.54166"
height="24.946428"
width="38.55357"
id="rect1582"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1586"
y="165.16418"
x="113.28138"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="113.28138"
id="tspan1584"
sodipodi:role="line">C4</tspan></text>
</g>
<g
id="g1860">
<rect
rx="0.52964824"
y="148.83333"
x="139.09523"
height="24.946428"
width="38.55357"
id="rect1590"
style="fill:#6600ff;stroke:#808080;stroke-width:1.32291663;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0" />
<text
id="text1594"
y="165.16418"
x="151.83495"
style="font-style:normal;font-weight:normal;font-size:10.58333302px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.26458332"
xml:space="preserve"><tspan
style="fill:#ffffff;stroke-width:0.26458332"
y="165.16418"
x="151.83495"
id="tspan1592"
sodipodi:role="line">D4</tspan></text>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -0,0 +1,729 @@
<?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"
version="1.1"
id="svg2"
xml:space="preserve"
width="1121.3973"
height="589.88092"
viewBox="0 0 1121.3974 589.88092"
sodipodi:docname="2019-02-15-Page-Layouts.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs6"><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath24"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path22"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath338"><path
d="m 384.2173,469.9414 h 258.7422 v 73.11719 H 384.2173 Z"
id="path336"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath352"><path
d="m 360.2193,501.6646 h 35.46381 v 21.08885 H 360.2193 Z"
id="path350"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath364"><path
d="m 363.6866,493.0195 h 31.76735 v 12.01958 H 363.6866 Z"
id="path362"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath376"><path
d="m 363.339,466.048 h 30.91183 v 38.8571 H 363.339 Z"
id="path374"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath388"><path
d="m 381.0884,298.9414 h 209.1953 v 73.11719 H 381.0884 Z"
id="path386"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath402"><path
d="m 360.3169,335.6646 h 35.46381 v 21.08885 H 360.3169 Z"
id="path400"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath414"><path
d="m 363.7843,327.0195 h 31.76735 v 12.01958 H 363.7843 Z"
id="path412"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath426"><path
d="m 363.4367,300.048 h 30.91183 v 38.8571 H 363.4367 Z"
id="path424"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath438"><path
d="m 99.03955,148.9414 h 357.0977 v 73.11719 H 99.03955 Z"
id="path436"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath452"><path
d="m 302.0163,202.1779 h 50.51816 v 37.5582 H 302.0163 Z"
id="path450"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath464"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path462"
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1027"
id="namedview4"
showgrid="false"
inkscape:zoom="0.64426823"
inkscape:cx="229.12267"
inkscape:cy="417.5211"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g10"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0" /><g
id="g10"
inkscape:groupmode="layer"
inkscape:label="04-Storage2"
transform="matrix(1.3333333,0,0,-1.3333333,-164.16585,812.40664)"><g
id="g12" /><g
id="g28"
transform="translate(283.625,623.3594)" /><g
id="g34"
transform="translate(502.5,18.14844)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:18px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text38"><tspan
x="0"
y="0"
id="tspan36"></tspan></text>
</g><g
id="g1679"><path
inkscape:connector-curvature="0"
id="path46"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,535 H 376 V 508 H 219 Z" /><g
transform="matrix(1,0,0,-1,218.9905,535)"
id="g48"><path
inkscape:connector-curvature="0"
id="path50"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0.00946045,0 H 157.0095 V 27 H 0.00946045 Z" /></g><path
inkscape:connector-curvature="0"
id="path52"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,508 H 376 V 481 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,508)"
id="g54"><path
inkscape:connector-curvature="0"
id="path56"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path58"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,481 H 376 V 454 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,481)"
id="g60"><path
inkscape:connector-curvature="0"
id="path62"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path64"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,454 H 376 V 427 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,454)"
id="g66"><path
inkscape:connector-curvature="0"
id="path68"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path70"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,427 H 376 V 400 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,427)"
id="g72"><path
inkscape:connector-curvature="0"
id="path74"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path76"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,400 H 376 V 373 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,400)"
id="g78"><path
inkscape:connector-curvature="0"
id="path80"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path82"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,373 H 376 V 346 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,373)"
id="g84"><path
inkscape:connector-curvature="0"
id="path86"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path88"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,346 H 376 V 319 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,346)"
id="g90"><path
inkscape:connector-curvature="0"
id="path92"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path94"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,319 H 376 V 292 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,319)"
id="g96"><path
inkscape:connector-curvature="0"
id="path98"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path100"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,292 H 376 V 265 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,292)"
id="g102"><path
inkscape:connector-curvature="0"
id="path104"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path106"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 219,265 H 376 V 238 H 219 Z" /><g
transform="matrix(1,0,0,-1,219,265)"
id="g108"><path
inkscape:connector-curvature="0"
id="path110"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><g
transform="translate(356.0884,242.4922)"
id="g112"><text
id="text116"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan114"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">6</tspan></text>
</g><g
transform="translate(192.4801,511.9922)"
id="g118"><text
id="text122"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan120"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">1</tspan></text>
</g><g
transform="translate(193.1821,484.9922)"
id="g124"><text
id="text128"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan126"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">2</tspan></text>
</g><g
transform="translate(193.2341,457.9922)"
id="g130"><text
id="text134"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan132"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">3</tspan></text>
</g><g
transform="translate(193.1951,430.9922)"
id="g136"><text
id="text140"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan138"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">4</tspan></text>
</g><g
transform="translate(192.8571,403.9922)"
id="g142"><text
id="text146"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan144"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">5</tspan></text>
</g><g
transform="translate(192.7531,376.9922)"
id="g148"><text
id="text152"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan150"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">6</tspan></text>
</g><g
transform="translate(192.8181,349.9922)"
id="g154"><text
id="text158"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan156"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">7</tspan></text>
</g><g
transform="translate(192.5971,322.9922)"
id="g160"><text
id="text164"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan162"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">8</tspan></text>
</g><g
transform="translate(192.5971,295.9922)"
id="g166"><text
id="text170"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan168"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">…</tspan></text>
</g><g
transform="translate(187.8501,270.4922)"
id="g172"><text
id="text176"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"
x="4.5"><tspan
id="tspan174"
y="0"
x="4.5"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">N</tspan></text>
</g></g><g
id="g346"><g
id="g348"
clip-path="url(#clipPath352)"><g
id="g354"
transform="matrix(1,0,0,-1,361.9023,520.418)"><path
d="M 0,0 32.09766,16.41797"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path356"
inkscape:connector-curvature="0" /></g></g></g><g
id="g358"><g
id="g360"
clip-path="url(#clipPath364)"><g
id="g366"
transform="matrix(1,0,0,-1,365.043,502.582)"><path
d="M 0,7.105461 29.05469,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path368"
inkscape:connector-curvature="0" /></g></g></g><g
id="g370"><g
id="g372"
clip-path="url(#clipPath376)"><g
id="g378"
transform="matrix(1,0,0,-1,365.5352,503)"><path
d="M 0,35.04688 26.51953,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path380"
inkscape:connector-curvature="0" /></g></g></g><g
id="g396"><g
id="g398"
clip-path="url(#clipPath402)"><g
id="g404"
transform="matrix(1,0,0,-1,362,354.418)"><path
d="M 0,0 32.09766,16.41797"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path406"
inkscape:connector-curvature="0" /></g></g></g><g
id="g408"><g
id="g410"
clip-path="url(#clipPath414)"><g
id="g416"
transform="matrix(1,0,0,-1,365.1406,336.582)"><path
d="M 0,7.105461 29.05469,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path418"
inkscape:connector-curvature="0" /></g></g></g><g
id="g420"><g
id="g422"
clip-path="url(#clipPath426)"><g
id="g428"
transform="matrix(1,0,0,-1,365.6328,337)"><path
d="M 0,35.04688 26.51953,0"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path430"
inkscape:connector-curvature="0" /></g></g></g><g
id="g446"><g
id="g448"
clip-path="url(#clipPath452)"><g
id="g454"
transform="matrix(1,0,0,-1,303.8828,237.5117)"><path
d="M 46.78516,0 0,33.10938"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path456"
inkscape:connector-curvature="0" /></g></g></g><g
id="g1927"
transform="translate(4.7167969)"><path
inkscape:connector-curvature="0"
id="path178"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,292 H 846 V 265 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,292)"
id="g180"><path
inkscape:connector-curvature="0"
id="path182"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path184"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,508 H 846 V 481 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,508)"
id="g186"><path
inkscape:connector-curvature="0"
id="path188"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path190"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,481 H 846 V 454 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,481)"
id="g192"><path
inkscape:connector-curvature="0"
id="path194"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path196"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,454 H 846 V 427 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,454)"
id="g198"><path
inkscape:connector-curvature="0"
id="path200"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path202"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,427 H 846 V 400 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,427)"
id="g204"><path
inkscape:connector-curvature="0"
id="path206"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path208"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,346 H 846 V 319 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,346)"
id="g210"><path
inkscape:connector-curvature="0"
id="path212"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path214"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,373 H 846 V 346 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,373)"
id="g216"><path
inkscape:connector-curvature="0"
id="path218"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path220"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,535 H 846 V 508 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,535)"
id="g222"><path
inkscape:connector-curvature="0"
id="path224"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path226"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,319 H 846 V 292 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,319)"
id="g228"><path
inkscape:connector-curvature="0"
id="path230"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path232"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,400 H 846 V 373 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,400)"
id="g234"><path
inkscape:connector-curvature="0"
id="path236"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><path
inkscape:connector-curvature="0"
id="path238"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
d="M 689,265 H 846 V 238 H 689 Z" /><g
transform="matrix(1,0,0,-1,689,265)"
id="g240"><path
inkscape:connector-curvature="0"
id="path242"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 0,0 H 157 V 27 H 0 Z" /></g><g
transform="translate(666.447,511.9922)"
id="g250"><text
id="text254"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan252"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Courier;-inkscape-font-specification:Courier">1</tspan></text>
</g><g
transform="translate(667.149,484.9922)"
id="g256"><text
id="text260"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan258"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">2</tspan></text>
</g><g
transform="translate(667.201,457.9922)"
id="g262"><text
id="text266"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan264"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">3</tspan></text>
</g><g
transform="translate(667.162,430.9922)"
id="g268"><text
id="text272"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan270"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">4</tspan></text>
</g><g
transform="translate(666.824,403.9922)"
id="g274"><text
id="text278"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan276"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">5</tspan></text>
</g><g
transform="translate(666.72,376.9922)"
id="g280"><text
id="text284"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan282"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">6</tspan></text>
</g><g
transform="translate(666.785,349.9922)"
id="g286"><text
id="text290"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan288"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">7</tspan></text>
</g><g
transform="translate(666.564,322.9922)"
id="g292"><text
id="text296"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan294"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">8</tspan></text>
</g><g
transform="translate(666.564,295.9922)"
id="g298"><text
id="text302"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan300"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">…</tspan></text>
</g><g
transform="translate(666.317,268.9922)"
id="g304"><text
id="text308"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan306"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">N</tspan></text>
</g><g
transform="translate(821.8501,241.9922)"
id="g478"><text
id="text482"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan480"
y="0"
x="0"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">N</tspan></text>
</g><g
id="g1995"
transform="translate(142.5,4.4999996)"><text
y="-238.3318"
x="553.33319"
id="text248"
style="font-variant:normal;font-weight:normal;font-size:22px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
transform="scale(1,-1)"><tspan
id="tspan246"
sodipodi:role="line"
y="-238.3318"
x="553.33319 564.33319 575.33319 586.33319 597.33319 608.33319 619.33319 655.80042"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:22px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start">01101011</tspan></text>
<g
id="g298-1"
transform="translate(636.40634,238.52242)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:26px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text302-1"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:26px;font-family:Courier;-inkscape-font-specification:'Courier, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;writing-mode:lr-tb;text-anchor:start"
x="0"
y="0"
id="tspan300-1">…</tspan></text>
</g></g></g><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="214.541"
y="-578.91437"
id="text1939"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1937"
x="214.541"
y="-578.91437"
style="font-size:40px;stroke-width:0.75">Packed</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="564.68164"
y="-578.91437"
id="text1943"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1941"
x="564.68164"
y="-578.91437"
style="font-size:40px;stroke-width:0.75">Unpacked (Bitmap)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="120.18005"
y="-174.50804"
id="text1947"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1945"
x="120.18005"
y="-174.50804"
style="stroke-width:0.75">Number of Records</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="769.8902"
y="-203.13452"
id="text1951"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1949"
x="769.8902"
y="-203.13452"
style="line-height:1;text-align:center;text-anchor:middle;stroke-width:0.75">Bit array of occupied slots</tspan><tspan
sodipodi:role="line"
x="769.8902"
y="-173.13452"
style="line-height:1;text-align:center;text-anchor:middle;stroke-width:0.75"
id="tspan1957">(and size of page)</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="401.69772"
y="-492.24435"
id="text1961"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1959"
x="401.69772"
y="-492.24435"
style="stroke-width:0.75">Data Records</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="398.40512"
y="-327.61414"
id="text1965"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1963"
x="398.40512"
y="-327.61414"
style="stroke-width:0.75">Free Space</tspan></text>
</g></svg>

After

Width:  |  Height:  |  Size: 41 KiB

View file

@ -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"
version="1.1"
id="svg2"
xml:space="preserve"
width="1009.2916"
height="672.81763"
viewBox="0 0 1009.2917 672.81763"
sodipodi:docname="2019-02-15-Page-Layouts-2.svg"
inkscape:version="0.92.3 (2405546, 2018-03-11)"><metadata
id="metadata8"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs6"><marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker4727"
style="overflow:visible"
inkscape:isstock="true"><path
id="path4725"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4589"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always"><path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4587"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="marker4523"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always"><path
id="path4521"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:isstock="true"
style="overflow:visible"
id="marker4379"
refX="0"
refY="0"
orient="auto"
inkscape:stockid="Arrow2Mend"
inkscape:collect="always"><path
transform="scale(-0.6)"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
id="path4377"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow1Send"
orient="auto"
refY="0"
refX="0"
id="Arrow1Send"
style="overflow:visible"
inkscape:isstock="true"><path
id="path1081"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.2,0,0,-0.2,-1.2,0)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow1Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Mend"
style="overflow:visible"
inkscape:isstock="true"><path
id="path1075"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.4,0,0,-0.4,-4,0)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow2Mend"
orient="auto"
refY="0"
refX="0"
id="Arrow2Mend"
style="overflow:visible"
inkscape:isstock="true"
inkscape:collect="always"><path
id="path1093"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.625;stroke-linejoin:round;stroke-opacity:1"
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
transform="scale(-0.6)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="marker1523"
style="overflow:visible"
inkscape:isstock="true"><path
id="path1521"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" /></marker><marker
inkscape:stockid="Arrow1Lend"
orient="auto"
refY="0"
refX="0"
id="Arrow1Lend"
style="overflow:visible"
inkscape:isstock="true"><path
id="path1069"
d="M 0,0 5,-5 -12.5,0 5,5 Z"
style="fill:#808080;fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1.00000003pt;stroke-opacity:1"
transform="matrix(-0.8,0,0,-0.8,-10,0)"
inkscape:connector-curvature="0" /></marker><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath24"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path22"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath52"><path
d="M 144,218.0001 H 879 V 504 H 144 Z"
id="path50"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath66"><path
d="m 239,434.4186 h 161 v 39.41397 H 239 Z"
id="path64"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath80"><path
d="m 395,366.2139 h 161 v 39.41397 H 395 Z"
id="path78"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath94"><path
d="m 483,330.7999 h 161 v 39.41397 H 483 Z"
id="path92"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath108"><path
d="M 144,218.0001 H 879 V 337.4234 H 144 Z"
id="path106"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath122"><path
d="m 506,217.9999 h 373 v 39.41397 H 506 Z"
id="path120"
inkscape:connector-curvature="0" /></clipPath><clipPath
clipPathUnits="userSpaceOnUse"
id="clipPath136"><path
d="M 0,0 H 1024 V 768 H 0 Z"
id="path134"
inkscape:connector-curvature="0" /></clipPath></defs><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1027"
id="namedview4"
showgrid="false"
fit-margin-top="0"
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="0.22778322"
inkscape:cx="331.6435"
inkscape:cy="-231.63071"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="g10" /><g
id="g10"
inkscape:groupmode="layer"
inkscape:label="04-Storage2"
transform="matrix(1.3333333,0,0,-1.3333333,-162.45037,796.20148)"><g
id="g12" /><g
id="g46"><g
id="g48"
clip-path="url(#clipPath52)"><path
d="M 146,502 H 877 V 220 H 146 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path54"
inkscape:connector-curvature="0" /><g
id="g56"
transform="matrix(1,0,0,-1,146,502)"><path
d="M 0,0 H 731 V 282 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path58"
inkscape:connector-curvature="0" /></g></g></g><g
id="g60"
transform="translate(-94.5,29.038228)"><g
id="g62"
clip-path="url(#clipPath66)"><path
d="M 241,472 H 398 V 436 H 241 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path68"
inkscape:connector-curvature="0" /><g
id="g70"
transform="matrix(1,0,0,-1,241,471.8326)"><path
d="m 0,-0.16745 h 157 v 36 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path72"
inkscape:connector-curvature="0" /></g></g></g><g
id="g74"
transform="translate(-93,97.038288)"><g
id="g76"
clip-path="url(#clipPath80)"><path
d="M 397,404 H 554 V 368 H 397 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path82"
inkscape:connector-curvature="0" /><g
id="g84"
transform="matrix(1,0,0,-1,397,403.6279)"><path
d="M 0,-0.3720932 H 157 V 35.62791 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path86"
inkscape:connector-curvature="0" /></g></g></g><g
id="g88"
transform="matrix(0.99943352,0,0,1.0457674,-23.68079,116.84348)"><g
id="g90"
clip-path="url(#clipPath94)"><path
d="M 485,368 H 642 V 333 H 485 Z"
style="fill:#4f7a28;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path96"
inkscape:connector-curvature="0" /><g
id="g98"
transform="matrix(1,0,0,-1,485,368.2139)"><path
d="M 0,0.2138824 H 157 V 35.21388 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path100"
inkscape:connector-curvature="0" /></g></g></g><g
id="g102"><g
id="g104"
clip-path="url(#clipPath108)"><path
d="M 146,335 H 877 V 220 H 146 Z"
style="fill:#0056d6;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path110"
inkscape:connector-curvature="0" /><g
id="g112"
transform="matrix(1,0,0,-1,146,335.4233)"><path
d="M 0,0.4233246 H 731 V 115.4233 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path114"
inkscape:connector-curvature="0" /></g></g></g><g
id="g116"><g
id="g118"
clip-path="url(#clipPath122)"><path
d="M 508,255 H 877 V 220 H 508 Z"
style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="path124"
inkscape:connector-curvature="0" /><g
id="g126"
transform="matrix(1,0,0,-1,508,255.4139)"><path
d="M 0,0.4139099 H 369 V 35.41391 H 0 Z"
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path128"
inkscape:connector-curvature="0" /></g></g></g><g
id="g138"
transform="translate(519.9185,226.9141)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:30px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text142"><tspan
x="0 15 23.334 38.334 46.667999 61.667999 70.001999 85.001999 93.335999"
y="0"
sodipodi:role="line"
id="tspan140">1 2 3 4 …</tspan></text>
</g><g
id="g162"
transform="matrix(0,1,1,0,838.7148,221.0143)"><path
d="M -0.01434326,-0.2148438 H 32.98566"
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path164"
inkscape:connector-curvature="0" /></g><g
id="g166"
transform="matrix(1,0,0,-1,123.2528,331.0742)" /><g
id="g178"
transform="translate(197.43968,506.59931)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text182"><tspan
x="0 25.368"
y="0"
sodipodi:role="line"
id="tspan180">R1</tspan></text>
</g><g
id="g184"
transform="translate(357.65113,506.85976)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text188"><tspan
x="0 25.368"
y="0"
sodipodi:role="line"
id="tspan186">R2</tspan></text>
</g><g
id="g190"
transform="translate(518.26528,511.90156)"><text
transform="scale(1,-1)"
style="font-variant:normal;font-weight:normal;font-size:42px;font-family:GillSans;-inkscape-font-specification:GillSans;writing-mode:lr-tb;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
id="text194"><tspan
x="0 25.368"
y="0"
sodipodi:role="line"
id="tspan192">R3</tspan></text>
</g><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="366.30222"
y="-567.15112"
id="text1054"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1052"
x="366.30222"
y="-567.15112"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;font-family:Cabin;-inkscape-font-specification:Cabin;stroke-width:0.75">Variable Size Records</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:30px;line-height:1000;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="451.08679"
y="-98.778122"
id="text1058"
transform="scale(1,-1)"><tspan
sodipodi:role="line"
id="tspan1056"
x="451.08679"
y="-98.778122"
style="stroke-width:0.75">Pointer to start of free space</tspan></text>
<path
inkscape:connector-curvature="0"
id="path1348"
d="m 853.60772,123.47267 c 3.486,107.64841 3.486,107.64841 3.486,107.64841"
style="fill:none;stroke:#808080;stroke-width:1.80000007;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
d="M 517.4023,245.5587 C 295.97465,296.59407 121.80546,245.50185 146.5,461.16743"
id="path1519"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4379)"
d="M 547.54178,253.53054 C 537.66397,298.80385 276.77011,303.70948 303.5,461.16743"
id="path4287"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4523)"
d="M 573.88262,251.88424 C 576.35207,325.96784 439.48716,355.31226 461,461.03956"
id="path4513"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4589)"
d="m 602.5466,253.53054 c 6.58521,62.55948 20.64744,88.66968 16.90893,205.55349"
id="path4579"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:3.75;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#marker4727)"
d="M 857.09372,231.12108 C 778.70096,137.46624 28.207399,180.5177 141.5,332"
id="path4717"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /></g></svg>

After

Width:  |  Height:  |  Size: 18 KiB

View file

@ -0,0 +1,405 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:cc="http://web.resource.org/cc/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns:ns1="http://sozi.baierouge.fr"
id="svg2233"
sodipodi:docname="MagicBall.svg"
inkscape:export-filename="/home/leon/smb/Eaglenest/gnu/OOo/0Oo-GFX-Mouette/mouette+noel2006/20061217_laMouette-Noel2006.png"
viewBox="0 0 1050 1050"
sodipodi:version="0.32"
inkscape:export-xdpi="54.860001"
version="1.0"
inkscape:output_extension="org.inkscape.output.svg.inkscape"
inkscape:export-ydpi="54.860001"
inkscape:version="0.45.1"
sodipodi:docbase="/home/leon/eaglenest/gnu/img/openclipart_bb"
>
<defs
id="defs2235"
>
<linearGradient
id="linearGradient3694"
y2="1050.1"
gradientUnits="userSpaceOnUse"
x2="525"
x1="525"
inkscape:collect="always"
>
<stop
id="stop3690"
style="stop-color:#667f96"
offset="0"
/>
<stop
id="stop3692"
style="stop-color:#667f96;stop-opacity:0"
offset="1"
/>
</linearGradient
>
<linearGradient
id="linearGradient3697"
y2="1729.2"
gradientUnits="userSpaceOnUse"
x2="950.95"
gradientTransform="matrix(.98962 0 0 .92999 -94.997 -680.55)"
y1="1729.2"
x1="302.05"
inkscape:collect="always"
>
<stop
id="stop3575"
style="stop-color:#dcd0c9"
offset="0"
/>
<stop
id="stop3587"
style="stop-color:#886a5a"
offset=".12926"
/>
<stop
id="stop3583"
style="stop-color:#715a4c"
offset=".14392"
/>
<stop
id="stop3591"
style="stop-color:black"
offset=".37364"
/>
<stop
id="stop3581"
style="stop-color:#785f50"
offset=".85432"
/>
<stop
id="stop3589"
style="stop-color:#917260"
offset=".86413"
/>
<stop
id="stop3577"
style="stop-color:#e8e1dd"
offset="1"
/>
</linearGradient
>
<linearGradient
id="linearGradient3700"
y2="1729.3"
gradientUnits="userSpaceOnUse"
x2="950.94"
gradientTransform="matrix(1.011 0 0 1.0917 -108.4 -960.22)"
y1="1729.3"
x1="302.06"
inkscape:collect="always"
>
<stop
id="stop3619"
style="stop-color:#b19686"
offset="0"
/>
<stop
id="stop3621"
style="stop-color:#886a5a"
offset=".12926"
/>
<stop
id="stop3623"
style="stop-color:#715a4c"
offset=".14392"
/>
<stop
id="stop3625"
style="stop-color:black"
offset=".37364"
/>
<stop
id="stop3627"
style="stop-color:#785f50"
offset=".85432"
/>
<stop
id="stop3629"
style="stop-color:#917260"
offset=".86413"
/>
<stop
id="stop3631"
style="stop-color:#c4b2a7"
offset="1"
/>
</linearGradient
>
<linearGradient
id="linearGradient3711"
y2="1784.1"
gradientUnits="userSpaceOnUse"
x2="636.24"
gradientTransform="matrix(1.011 0 0 1.0917 -108.4 -960.22)"
y1="924.03"
x1="636.24"
inkscape:collect="always"
>
<stop
id="stop3553"
style="stop-color:white;stop-opacity:0"
offset="0"
/>
<stop
id="stop3559"
style="stop-color:white;stop-opacity:.46392"
offset=".5"
/>
<stop
id="stop3557"
style="stop-color:white;stop-opacity:0"
offset="1"
/>
</linearGradient
>
<radialGradient
id="radialGradient3717"
gradientUnits="userSpaceOnUse"
cy="1314.1"
cx="578.1"
gradientTransform="matrix(.81005 0 0 .81968 126.6 232.81)"
r="460.95"
inkscape:collect="always"
>
<stop
id="stop3530"
style="stop-color:white;stop-opacity:0"
offset="0"
/>
<stop
id="stop3536"
style="stop-color:white;stop-opacity:.14433"
offset="0.7"
/>
<stop
id="stop3532"
style="stop-color:white;stop-opacity:.63918"
offset="1"
/>
</radialGradient
>
<radialGradient
id="radialGradient4269"
gradientUnits="userSpaceOnUse"
cy="1355.1"
cx="626.75"
gradientTransform="matrix(.77455 0 0 .93488 141.3 88.241)"
r="460.95"
inkscape:collect="always"
>
<stop
id="stop4265"
style="stop-color:#000000"
offset="0"
/>
<stop
id="stop4267"
style="stop-color:#000000;stop-opacity:0"
offset="1"
/>
</radialGradient
>
</defs
>
<sodipodi:namedview
id="base"
bordercolor="#666666"
inkscape:pageshadow="2"
inkscape:window-y="0"
pagecolor="#ffffff"
inkscape:window-height="963"
width="1050px"
inkscape:zoom="0.34982012"
inkscape:window-x="1280"
height="1050px"
borderopacity="1.0"
inkscape:current-layer="layer3"
inkscape:cx="861.36349"
inkscape:cy="345.73577"
inkscape:guide-bbox="true"
inkscape:window-width="1274"
inkscape:pageopacity="1.0000000"
showguides="true"
/>
<path
id="path1648"
sodipodi:nodetypes="csss"
style="stroke:#ffffff;stroke-width:1px;display:none;fill:none"
d="m90.96 117.48c105.62-29.817 164.49-18.7 304.84-6.95 82.53 6.91 180.31-11.422 237.15-8.54 95.11 4.81 189.98 28.25 321.12 20.54"
/>
<g
id="layer4"
sodipodi:insensitive="true"
inkscape:label="bg"
inkscape:groupmode="layer"
>
<rect
id="rect3686"
style="color:#000000;fill:url(#linearGradient3694)"
height="1050"
width="1050"
y="0"
x="0"
/>
<path
id="rect37530"
style="color:#000000;fill:#678096"
d="m0 0v1050h1050v-1050h-1050zm1 1h1048v1048h-1048v-1048z"
/>
</g
>
<g
id="layer3"
inkscape:label="bulle"
inkscape:groupmode="layer"
>
<path
id="path3290"
sodipodi:rx="460.9512"
sodipodi:ry="430.93576"
style="color:#000000;fill:url(#radialGradient4269)"
sodipodi:type="arc"
d="m1087.7 1355.1a460.95 430.94 0 1 1 -921.9 0 460.95 430.94 0 1 1 921.9 0z"
transform="matrix(1.133 0 0 .10305 -185.13 840.08)"
sodipodi:cy="1355.1228"
sodipodi:cx="626.75067"
/>
<path
id="path3635"
style="color:#000000;fill-opacity:.73864;fill:#ffffff"
d="m525 48.628c-257 0-465.57 210.31-465.57 469.44-0.003 259.13 208.57 469.43 465.57 469.43s465.57-210.3 465.57-469.43-208.57-469.44-465.57-469.44zm0 8.632c252.27 0 457.01 206.45 457.01 460.81s-204.74 460.8-457.01 460.8-457.01-206.44-457.01-460.8c-0.001-254.36 204.74-460.81 457.01-460.81z"
/>
<path
id="path3637"
sodipodi:rx="460.9512"
sodipodi:ry="430.93576"
style="color:#000000;fill:url(#radialGradient3717)"
sodipodi:type="arc"
d="m1087.7 1355.1a460.95 430.94 0 1 1 -921.9 0 460.95 430.94 0 1 1 921.9 0z"
transform="matrix(.99660 0 0 1.0749 -99.619 -938.5)"
sodipodi:cy="1355.1228"
sodipodi:cx="626.75067"
/>
<path
id="path3639"
style="color:#000000;fill:url(#linearGradient3711)"
d="m519 48.663c-254.23 3.25-459.57 212.3-459.57 469.41-0.003 257.55 206.05 466.86 460.89 469.4-198.2-3.25-358.31-212.3-358.31-469.4 0-257.11 160.11-466.16 358.31-469.41-0.44 0.007-0.88-0.003-1.32 0.003zm10.68 0c198.2 3.25 358.31 212.3 358.31 469.41 0 257.1-160.11 466.15-358.31 469.4 254.84-2.54 460.89-211.85 460.89-469.4 0-257.56-206.05-466.87-460.89-469.41z"
/>
<path
id="path3641"
style="color:#000000;fill:url(#linearGradient3700)"
d="m196.99 853.91v131.07c131.98 22.92 531.27 20.82 656.02 0v-131.07c-139.2 42.6-509.59 41.61-656.02 0zm6.92 12.48c143.33 34.57 505.92 35.39 642.18 0v108.87c-122.11 17.26-512.99 19.02-642.18 0v-108.87z"
/>
<path
id="path3643"
sodipodi:nodetypes="ccccc"
style="color:#000000;fill:url(#linearGradient3697)"
d="m203.92 864.82c143.33 35.44 505.9 36.29 642.17 0v111.65c-122.12 17.71-512.99 19.51-642.17 0v-111.65z"
/>
</g
>
<metadata
>
<rdf:RDF
>
<cc:Work
>
<dc:format
>image/svg+xml</dc:format
>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage"
/>
<cc:license
rdf:resource="http://creativecommons.org/licenses/publicdomain/"
/>
<dc:publisher
>
<cc:Agent
rdf:about="http://openclipart.org/"
>
<dc:title
>Openclipart</dc:title
>
</cc:Agent
>
</dc:publisher
>
<dc:title
>Magic ball</dc:title
>
<dc:date
>2007-10-30T22:38:14</dc:date
>
<dc:description
/>
<dc:source
>https://openclipart.org/detail/7655/magic-ball-by-benbois</dc:source
>
<dc:creator
>
<cc:Agent
>
<dc:title
>BenBois</dc:title
>
</cc:Agent
>
</dc:creator
>
<dc:subject
>
<rdf:Bag
>
<rdf:li
>ball</rdf:li
>
<rdf:li
>crystal</rdf:li
>
<rdf:li
>magic</rdf:li
>
<rdf:li
>orb</rdf:li
>
</rdf:Bag
>
</dc:subject
>
</cc:Work
>
<cc:License
rdf:about="http://creativecommons.org/licenses/publicdomain/"
>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Reproduction"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#Distribution"
/>
<cc:permits
rdf:resource="http://creativecommons.org/ns#DerivativeWorks"
/>
</cc:License
>
</rdf:RDF
>
</metadata
>
</svg
>

After

Width:  |  Height:  |  Size: 11 KiB