Initial revision
authorkasper <kasper@735d13b6-9817-0410-8766-e36946ffe9aa>
Fri, 16 Dec 2005 09:52:50 +0000 (09:52 +0000)
committerkasper <kasper@735d13b6-9817-0410-8766-e36946ffe9aa>
Fri, 16 Dec 2005 09:52:50 +0000 (09:52 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Extensions/lorem_ipsum/trunk@882 735d13b6-9817-0410-8766-e36946ffe9aa

54 files changed:
class.tx_loremipsum_wiz.php [new file with mode: 0755]
doc/TODO.txt [new file with mode: 0755]
doc/manual.sxw [new file with mode: 0755]
ext_emconf.php [new file with mode: 0755]
ext_icon.gif [new file with mode: 0755]
ext_tables.php [new file with mode: 0755]
ext_tables.sql [new file with mode: 0755]
images/a1.jpg [new file with mode: 0755]
images/a2.jpg [new file with mode: 0755]
images/a3.jpg [new file with mode: 0755]
images/a4.jpg [new file with mode: 0755]
images/a5.jpg [new file with mode: 0755]
images/a6.jpg [new file with mode: 0755]
images/a7.jpg [new file with mode: 0755]
images/b1.jpg [new file with mode: 0755]
images/b2.jpg [new file with mode: 0755]
images/b3.jpg [new file with mode: 0755]
images/b4.jpg [new file with mode: 0755]
images/b5.jpg [new file with mode: 0755]
images/b6.jpg [new file with mode: 0755]
images/b7.jpg [new file with mode: 0755]
images/c1.jpg [new file with mode: 0755]
images/c2.jpg [new file with mode: 0755]
images/c3.jpg [new file with mode: 0755]
images/c4.jpg [new file with mode: 0755]
images/c5.jpg [new file with mode: 0755]
images/c6.jpg [new file with mode: 0755]
images/c7.jpg [new file with mode: 0755]
images/d1.jpg [new file with mode: 0755]
images/d2.jpg [new file with mode: 0755]
images/d3.jpg [new file with mode: 0755]
images/d4.jpg [new file with mode: 0755]
images/d5.jpg [new file with mode: 0755]
images/d6.jpg [new file with mode: 0755]
images/d7.jpg [new file with mode: 0755]
images/e1.jpg [new file with mode: 0755]
images/e2.jpg [new file with mode: 0755]
images/e3.jpg [new file with mode: 0755]
images/e4.jpg [new file with mode: 0755]
images/e5.jpg [new file with mode: 0755]
images/e6.jpg [new file with mode: 0755]
images/e7.jpg [new file with mode: 0755]
images/f1.jpg [new file with mode: 0755]
images/f2.jpg [new file with mode: 0755]
images/f3.jpg [new file with mode: 0755]
images/f4.jpg [new file with mode: 0755]
images/f5.jpg [new file with mode: 0755]
images/f6.jpg [new file with mode: 0755]
images/f7.jpg [new file with mode: 0755]
lipsum.gif [new file with mode: 0755]
locallang_csh.xml [new file with mode: 0755]
lorem_ipsum.gif [new file with mode: 0755]
lorem_ipsum.ru.txt [new file with mode: 0755]
lorem_ipsum.txt [new file with mode: 0755]

diff --git a/class.tx_loremipsum_wiz.php b/class.tx_loremipsum_wiz.php
new file mode 100755 (executable)
index 0000000..2cdc2fd
--- /dev/null
@@ -0,0 +1,314 @@
+<?php
+/***************************************************************
+*  Copyright notice
+*
+*  (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
+*  All rights reserved
+*
+*  This script is part of the TYPO3 project. The TYPO3 project is
+*  free software; you can redistribute it and/or modify
+*  it under the terms of the GNU General Public License as published by
+*  the Free Software Foundation; either version 2 of the License, or
+*  (at your option) any later version.
+*
+*  The GNU General Public License can be found at
+*  http://www.gnu.org/copyleft/gpl.html.
+*  A copy is found in the textfile GPL.txt and important notices to the license
+*  from the author is found in LICENSE.txt distributed with these scripts.
+*
+*
+*  This script is distributed in the hope that it will be useful,
+*  but WITHOUT ANY WARRANTY; without even the implied warranty of
+*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+*  GNU General Public License for more details.
+*
+*  This copyright notice MUST APPEAR in all copies of the script!
+***************************************************************/
+/**
+ * Lorem Ipsum dummy text wizard
+ *
+ * @author     Kasper Skaarhoj <kasper@typo3.com>
+ */
+/**
+ * [CLASS/FUNCTION INDEX of SCRIPT]
+ *
+ *
+ *
+ *   61: class tx_loremipsum_wiz
+ *   80:     function main($PA,$pObj)
+ *  156:     function getHeaderTitleJS($varName, $type, $endSequence='', $add=FALSE, $count=10)
+ *  212:     function getIcon($type, $backPath='')
+ *  228:     function loadLoremIpsumArray()
+ *
+ * TOTAL FUNCTIONS: 4
+ * (This index is automatically created/updated by the extension "extdeveval")
+ *
+ */
+
+
+
+
+
+
+
+/**
+ * Lorem Ipsum dummy text wizard
+ *
+ * @author     Kasper Skaarhoj <kasper@typo3.com>
+ * @package TYPO3
+ * @subpackage tx_loremipsum
+ */
+class tx_loremipsum_wiz {
+
+               // Static variables:
+       var $str_loremIpsum = 'Lorem ipsum dolor sit amet.';
+       var $str_loremIpsum_extended = 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit.';
+       var $LRfileMap = array(
+               0 => 'lorem_ipsum.txt',
+               1 => 'lorem_ipsum.ru.txt'
+       );
+
+               // Internal, static:
+       var $loremIpsumSource = array();
+       var $lindex = '';
+       var $paragraphSentences = 5;
+       var $LRfile = 'lorem_ipsum.txt';        // Default
+       var $backPath = '';
+
+
+       /**
+        * Main function for TCEforms wizard.
+        *
+        * @param       array           Parameter array for "userFunc" wizard type
+        * @param       object          Parent object
+        * @return      string          HTML for the wizard.
+        */
+       function main($PA,$pObj)        {
+               #debug($PA);
+
+                       // Detect proper LR file source:
+               $this->setLRfile($PA);
+
+                       // Load Lorem Ipsum sources from text file:
+               $this->loadLoremIpsumArray();
+
+               switch($PA['params']['type'])   {
+                       case 'title':
+                       case 'header':
+                       case 'description':
+                       case 'word':
+                       case 'paragraph':
+                       case 'loremipsum':
+                               $onclick = $this->getHeaderTitleJS(
+                                                               "document.".$PA['formName']."['".$PA['itemName']."'].value",
+                                                               $PA['params']['type'],
+                                                               $PA['params']['endSequence'],
+                                                               $PA['params']['add'],
+                                                               t3lib_div::intInRange($PA['params']['count'],2,100,10)
+                                                       ).';'.
+                                                       implode('',$PA['fieldChangeFunc']).             // Necessary to tell TCEforms that the value is updated.
+                                                       'return false;';
+
+                               $output.= '<a href="#" onclick="'.htmlspecialchars($onclick).'">'.
+                                                       $this->getIcon($PA['params']['type'],$this->backPath).
+                                                       '</a>';
+                       break;
+                       case 'images':
+
+                               $ordA = ord('a');
+                               $extPath = t3lib_extMgm::extPath('lorem_ipsum');
+
+                               $tRows = array();
+                               for($a=0;$a<6;$a++)     {
+                                       $tCells = array();
+                                       for($b=0;$b<7;$b++)     {
+                                               $absfile = $extPath.'images/'.chr($ordA+$a).($b+1).'.jpg';
+                                               $onclick = "setFormValueFromBrowseWin('".$PA['itemName']."',unescape('".rawurlencode($absfile)."'),unescape('".rawurlencode(basename($absfile))."')); return false;";
+                                               $tCells[].= '<a href="#" onclick="'.htmlspecialchars($onclick).'">'.
+                                                                       t3lib_BEfunc::getThumbNail('thumbs.php', $absfile).
+                                                                       '</a>';
+                                       }
+
+                                       $tdAttrib = ' style="width: 56px;" align="center" bgcolor="#cccccc"';
+                                       $tRows[] = '
+                                               <tr>
+                                                       <td'.$tdAttrib.'>
+                                                       '.implode('</td><td'.$tdAttrib.'>', $tCells).'
+                                                       </td>
+                                               </tr>';
+                               }
+
+                               $output = '
+                                       <table border="0" cellpadding="2" cellspacing="2" style="border: 1px solid black; margin-top: 5px; margin-bottom: 15px;">
+                                               <tr><td colspan="7" bgcolor="#aaaaaa"><b>Click a dummy image to select it:</b></td></tr>
+                                               '.implode('',$tRows).'
+                                               <tr><td colspan="7"><em>All images are copyright &#169; Kasper Sk&#229;rh&#248;j 2001-2004 and licensed in these resolutions under Open Content License.</em></td></tr>
+                                       </table>';
+
+                       break;
+               }
+
+               return $output;
+       }
+
+       /**
+        * Create rotating Lipsum text for JS variable
+        * Can be used by other non TCEform fields as well.
+        *
+        * @param       string          JavaScript variable name, eg. a form field value property reference.
+        * @param       string          Type = key from $this->lindex array
+        * @param       string          List of character numbers to end sequence with.
+        * @param       integer         Number of options to cycle through.
+        * @param       integer         Number of texts to cycle through
+        * @return      string          JavaScript applying a lipsum string to input javascript variable.
+        */
+       function getHeaderTitleJS($varName, $type, $endSequence='', $add=FALSE, $count=10)      {
+
+                       // Load data:
+               $this->loadLoremIpsumArray();
+
+                       // Type must exist:
+               if (is_array($this->lindex[$type]))     {
+
+                               // Shuffle index:
+                       shuffle($this->lindex[$type]);
+
+                               // Init vars: Creates pointer. Currently random based on time value. Can it be cycling through 0-$count instead?
+                       if ($type == 'loremipsum')      {
+                               $code = "
+                               var lipsum_temp_pointer = 0;
+                               var lipsum_temp_strings = new Array();";
+                       } else {
+                               $code = "
+                               var lipsum_temp_date = new Date();
+                               var lipsum_temp_pointer = lipsum_temp_date.getTime()%".$count.";
+                               var lipsum_temp_strings = new Array();";
+                       }
+
+
+                               // End-sequence:
+                       $chars = t3lib_div::trimExplode(',',$endSequence,1);
+                       $addJS = '';
+                       foreach($chars as $charVal)     {
+                               if (intval($charVal)>0) {
+                                       $addJS.="+unescape('".rawurlencode(chr(intval($charVal)))."')";
+                               }
+                       }
+
+                               // Add Lipsum content to array:
+                       for ($a=0;$a<$count;$a++)       {
+                               $code.= "
+                               lipsum_temp_strings[".$a."]='".$this->lindex[$type][$a]."'".$addJS.";";
+                       }
+
+                               // Set variable value:
+                       $code.="
+                               ".$varName.($add?'+':'')."=lipsum_temp_strings[lipsum_temp_pointer];
+                       ";
+
+                               // Return:
+                       return $code;
+               }
+       }
+
+       /**
+        * Return icon for Lipsum Wizard
+        *
+        * @param       string          Type (see keyword list in other functions)
+        * @param       string          Backpath.
+        * @return      string          Text/Icon
+        */
+       function getIcon($type, $backPath='')   {
+               switch($type)   {
+                       case 'loremipsum':
+                               return '<img src="'.$backPath.t3lib_extMgm::extRelPath('lorem_ipsum').'lorem_ipsum.gif" width="48" height="10" hspace="2" class="absmiddle" title="'.$this->str_loremIpsum.'..." alt="" />';
+                       break;
+                       default:
+                               return '<img src="'.$backPath.t3lib_extMgm::extRelPath('lorem_ipsum').'lipsum.gif" width="48" height="20" hspace="2" class="absmiddle" title="Insert dummy content." alt="" />';
+                       break;
+               }
+       }
+
+       /**
+        * Initialize LoremIpsum sources.
+        *
+        * @return      void
+        */
+       function loadLoremIpsumArray()  {
+               global $T3_VAR;
+
+               if (!is_array($T3_VAR['ext']['lorem_ipsum'][$this->LRfile]['lindex']))  {
+                               // Init:
+                       $pCounter = 0;
+
+                               // Load text:
+                       $lipsumText = t3lib_div::getUrl(t3lib_extMgm::extPath('lorem_ipsum').$this->LRfile);
+
+                               // Split into sentencies:
+                       $this->loremIpsumSource = t3lib_div::trimExplode('.',$lipsumText,1);
+
+                               // Make unique and sort:
+                       $this->loremIpsumSource = array_unique($this->loremIpsumSource);
+                       sort($this->loremIpsumSource);
+
+                               // Create index of title/header/sentence length strings:
+                       $this->lindex = array(
+                               'title' => array(),
+                               'header' => array(),
+                               'description' => array(),
+                               'word' => array(),
+                               'paragraph' => array(),
+                               'loremipsum' => array($this->str_loremIpsum)
+                       );
+                       foreach($this->loremIpsumSource as $lipsumStr)  {
+                               $strlen = strlen($lipsumStr);
+                               $lipsumStr = ereg_replace('['.chr(13).chr(10).']',' ',$lipsumStr);
+
+                               if ($strlen < 20)       {
+                                       $this->lindex['title'][] = $lipsumStr;
+                                       $this->lindex['word'][] = ereg_replace('^.*[ ]([[:alnum:]]+)$','\1',$lipsumStr);
+                               } elseif ($strlen < 60) {
+                                       $this->lindex['header'][] = $lipsumStr;
+                               } else {
+                                       $this->lindex['description'][] = $lipsumStr;
+                                       $this->lindex['paragraph'][round($pCounter/$this->paragraphSentences)].= $lipsumStr.'. ';
+                                       $pCounter++;
+                               }
+                       }
+
+                       $this->lindex['word'] = array_unique($this->lindex['word']);
+
+                       $T3_VAR['ext']['lorem_ipsum'][$this->LRfile]['lindex'] = $this->lindex;
+               } else {
+                       $this->lindex = $T3_VAR['ext']['lorem_ipsum'][$this->LRfile]['lindex'];
+               }
+#debug($this->lindex);
+       }
+
+       /**
+        * Set Lorem Ipsum source file.
+        *
+        * @param       array   PA input array
+        * @return      void
+        */
+       function setLRfile(&$PA) {
+               if ($GLOBALS['TCA'][$PA['table']] && $GLOBALS['TCA'][$PA['table']]['ctrl']['languageField'])    {
+                       $lField = $GLOBALS['TCA'][$PA['table']]['ctrl']['languageField'];
+                       $lValue = intval($PA['row'][$lField]);
+
+                       if ($lValue>0)  {
+                               list($row) = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('*','sys_language','uid='.$lValue);
+
+                               if (isset($this->LRfileMap[$row['tx_loremipsum_type']]))        {
+                                       $this->LRfile = $this->LRfileMap[$row['tx_loremipsum_type']];
+                               }
+                       }
+               }
+       }
+}
+
+// Include extension?
+if (defined('TYPO3_MODE') && $TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/lorem_ipsum/class.tx_loremipsum_wiz.php'])    {
+       include_once($TYPO3_CONF_VARS[TYPO3_MODE]['XCLASS']['ext/lorem_ipsum/class.tx_loremipsum_wiz.php']);
+}
+?>
\ No newline at end of file
diff --git a/doc/TODO.txt b/doc/TODO.txt
new file mode 100755 (executable)
index 0000000..0d3ade9
--- /dev/null
@@ -0,0 +1,4 @@
+- Different wizard for form/table/bullet list usage
+- RTE content? / Disable for RTE
+- Translate the few labels from english to LL.
+- Support more than UTF-8 for non-LR content.
\ No newline at end of file
diff --git a/doc/manual.sxw b/doc/manual.sxw
new file mode 100755 (executable)
index 0000000..29e42a9
Binary files /dev/null and b/doc/manual.sxw differ
diff --git a/ext_emconf.php b/ext_emconf.php
new file mode 100755 (executable)
index 0000000..4fe17c0
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+########################################################################
+# Extension Manager/Repository config file for ext: "lorem_ipsum"
+#
+# Auto generated 01-06-2004 04:13
+#
+# Manual updates:
+# Only the data in the array - anything else is removed by next write
+########################################################################
+
+$EM_CONF[$_EXTKEY] = Array (
+       'title' => 'Lorem Ipsum',
+       'description' => 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Spice up your development with good dummy content!',
+       'category' => 'be',
+       'shy' => 0,
+       'dependencies' => 'cms',
+       'conflicts' => '',
+       'priority' => '',
+       'loadOrder' => '',
+       'TYPO3_version' => '3.7.0-',
+       'PHP_version' => '-',
+       'module' => '',
+       'state' => 'stable',
+       'internal' => 0,
+       'uploadfolder' => 0,
+       'createDirs' => '',
+       'modify_tables' => '',
+       'clearCacheOnLoad' => 0,
+       'lockType' => '',
+       'author' => 'Kasper Skaarhoj',
+       'author_email' => 'kasper@typo3.com',
+       'author_company' => '',
+       'CGLcompliance' => '',
+       'CGLcompliance_note' => '',
+       'private' => 0,
+       'download_password' => '',
+       'version' => '1.0.0',   // Don't modify this! Managed automatically during upload to repository.
+       '_md5_values_when_last_written' => 'a:50:{s:27:"class.tx_loremipsum_wiz.php";s:4:"fc6f";s:12:"ext_icon.gif";s:4:"1bdc";s:14:"ext_tables.php";s:4:"3d1b";s:10:"lipsum.gif";s:4:"c228";s:15:"lorem_ipsum.gif";s:4:"9272";s:15:"lorem_ipsum.txt";s:4:"f13e";s:12:"doc/TODO.txt";s:4:"41e2";s:14:"doc/manual.sxw";s:4:"b9dd";s:13:"images/a1.jpg";s:4:"c37c";s:13:"images/a2.jpg";s:4:"a92d";s:13:"images/a3.jpg";s:4:"47a1";s:13:"images/a4.jpg";s:4:"9d88";s:13:"images/a5.jpg";s:4:"8a60";s:13:"images/a6.jpg";s:4:"5606";s:13:"images/a7.jpg";s:4:"aaa1";s:13:"images/b1.jpg";s:4:"ef00";s:13:"images/b2.jpg";s:4:"e39d";s:13:"images/b3.jpg";s:4:"aefc";s:13:"images/b4.jpg";s:4:"2498";s:13:"images/b5.jpg";s:4:"3c3e";s:13:"images/b6.jpg";s:4:"edda";s:13:"images/b7.jpg";s:4:"b62d";s:13:"images/c1.jpg";s:4:"dcd7";s:13:"images/c2.jpg";s:4:"6503";s:13:"images/c3.jpg";s:4:"9f79";s:13:"images/c4.jpg";s:4:"b4c8";s:13:"images/c5.jpg";s:4:"2de9";s:13:"images/c6.jpg";s:4:"6157";s:13:"images/c7.jpg";s:4:"3033";s:13:"images/d1.jpg";s:4:"2507";s:13:"images/d2.jpg";s:4:"d704";s:13:"images/d3.jpg";s:4:"afc0";s:13:"images/d4.jpg";s:4:"d973";s:13:"images/d5.jpg";s:4:"6079";s:13:"images/d6.jpg";s:4:"ddf4";s:13:"images/d7.jpg";s:4:"dffc";s:13:"images/e1.jpg";s:4:"fe4b";s:13:"images/e2.jpg";s:4:"e493";s:13:"images/e3.jpg";s:4:"93a9";s:13:"images/e4.jpg";s:4:"8d33";s:13:"images/e5.jpg";s:4:"34cd";s:13:"images/e6.jpg";s:4:"92b7";s:13:"images/e7.jpg";s:4:"dfb6";s:13:"images/f1.jpg";s:4:"2493";s:13:"images/f2.jpg";s:4:"55eb";s:13:"images/f3.jpg";s:4:"0b55";s:13:"images/f4.jpg";s:4:"8f73";s:13:"images/f5.jpg";s:4:"1458";s:13:"images/f6.jpg";s:4:"1244";s:13:"images/f7.jpg";s:4:"cd6d";}',
+);
+
+?>
\ No newline at end of file
diff --git a/ext_icon.gif b/ext_icon.gif
new file mode 100755 (executable)
index 0000000..b993e8a
Binary files /dev/null and b/ext_icon.gif differ
diff --git a/ext_tables.php b/ext_tables.php
new file mode 100755 (executable)
index 0000000..0cebd4f
--- /dev/null
@@ -0,0 +1,105 @@
+<?php
+if (!defined ('TYPO3_MODE'))   die ('Access denied.');
+
+if (TYPO3_MODE=='BE')  {
+
+               // Create wizard configuration:
+       $wizConfig = array(
+               'type' => 'userFunc',
+               'userFunc' => 'EXT:lorem_ipsum/class.tx_loremipsum_wiz.php:tx_loremipsum_wiz->main',
+               'params' => array()
+       );
+
+               // Load affected tables (except "pages"):
+       t3lib_div::loadTCA('tt_content');
+       t3lib_div::loadTCA('pages_language_overlay');
+       t3lib_div::loadTCA('sys_language');
+
+
+               // *********************
+               // Apply wizards to:
+               // *********************
+
+               // Titles:
+       $TCA['pages']['columns']['title']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages']['columns']['nav_title']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['title']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['nav_title']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'title'
+               )));
+
+               // Subheaders
+       $TCA['pages']['columns']['subtitle']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['subtitle']['config']['wizards']['tx_loremipsum'] =
+       $TCA['tt_content']['columns']['header']['config']['wizards']['tx_loremipsum'] =
+       $TCA['tt_content']['columns']['subheader']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'header'
+               )));
+
+               // Description / Abstract:
+       $TCA['pages']['columns']['description']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages']['columns']['abstract']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['description']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['abstract']['config']['wizards']['tx_loremipsum'] =
+       $TCA['tt_content']['columns']['imagecaption']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'description',
+                       'endSequence' => '46,32',
+                       'add' => TRUE
+               )));
+
+               // Keywords field:
+       $TCA['pages']['columns']['keywords']['config']['wizards']['tx_loremipsum'] =
+       $TCA['pages_language_overlay']['columns']['keywords']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'word',
+                       'endSequence' => '44,32',
+                       'add' => TRUE,
+                       'count' => 30
+               )));
+
+               // Bodytext field in Content Elements:
+       $TCA['tt_content']['columns']['bodytext']['config']['wizards']['_VERTICAL'] = 1;
+       $TCA['tt_content']['columns']['bodytext']['config']['wizards']['tx_loremipsum_2'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'loremipsum',
+                       'endSequence' => '32',
+                       'add'=>TRUE
+               )));
+       $TCA['tt_content']['columns']['bodytext']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'paragraph',
+                       'endSequence' => '10',
+                       'add'=>TRUE
+               )));
+
+       $TCA['tt_content']['columns']['image']['config']['wizards']['_POSITION'] = 'bottom';
+       $TCA['tt_content']['columns']['image']['config']['wizards']['tx_loremipsum'] =
+               array_merge($wizConfig,array('params'=>array(
+                       'type' => 'images'
+               )));
+
+
+               // Adding type selector to languages records:
+       $tempColumns = array(
+               'tx_loremipsum_type' => Array (
+                       'label' => 'Select Dummy Content type:',
+                       'config' => Array (
+                               'type' => 'select',
+                               'items' => Array (
+                                       Array('Traditional Lorem Ipsum', '0'),
+                                       Array('Russian Sample Text', '1'),
+                               ),
+                               'default' => '0'
+                       )
+               ),
+       );
+       t3lib_extMgm::addTCAcolumns('sys_language',$tempColumns,1);
+       t3lib_extMgm::addToAllTCAtypes('sys_language','tx_loremipsum_type');
+
+               // CSH:
+       t3lib_extMgm::addLLrefForTCAdescr('xEXT_loremipsum','EXT:lorem_ipsum/locallang_csh.xml');
+}
+?>
diff --git a/ext_tables.sql b/ext_tables.sql
new file mode 100755 (executable)
index 0000000..333fb58
--- /dev/null
@@ -0,0 +1,5 @@
+# TYPO3 CVS ID: $Id: ext_tables.sql,v 1.3 2003/10/28 08:54:48 typo3 Exp $
+
+CREATE TABLE sys_language (
+       tx_loremipsum_type tinyint(4) unsigned DEFAULT '0' NOT NULL,
+);
\ No newline at end of file
diff --git a/images/a1.jpg b/images/a1.jpg
new file mode 100755 (executable)
index 0000000..22ab765
Binary files /dev/null and b/images/a1.jpg differ
diff --git a/images/a2.jpg b/images/a2.jpg
new file mode 100755 (executable)
index 0000000..f293fae
Binary files /dev/null and b/images/a2.jpg differ
diff --git a/images/a3.jpg b/images/a3.jpg
new file mode 100755 (executable)
index 0000000..fe19353
Binary files /dev/null and b/images/a3.jpg differ
diff --git a/images/a4.jpg b/images/a4.jpg
new file mode 100755 (executable)
index 0000000..0a41ccd
Binary files /dev/null and b/images/a4.jpg differ
diff --git a/images/a5.jpg b/images/a5.jpg
new file mode 100755 (executable)
index 0000000..a5853e9
Binary files /dev/null and b/images/a5.jpg differ
diff --git a/images/a6.jpg b/images/a6.jpg
new file mode 100755 (executable)
index 0000000..ea99a2a
Binary files /dev/null and b/images/a6.jpg differ
diff --git a/images/a7.jpg b/images/a7.jpg
new file mode 100755 (executable)
index 0000000..c67d871
Binary files /dev/null and b/images/a7.jpg differ
diff --git a/images/b1.jpg b/images/b1.jpg
new file mode 100755 (executable)
index 0000000..2b5c7a1
Binary files /dev/null and b/images/b1.jpg differ
diff --git a/images/b2.jpg b/images/b2.jpg
new file mode 100755 (executable)
index 0000000..6281422
Binary files /dev/null and b/images/b2.jpg differ
diff --git a/images/b3.jpg b/images/b3.jpg
new file mode 100755 (executable)
index 0000000..cad980c
Binary files /dev/null and b/images/b3.jpg differ
diff --git a/images/b4.jpg b/images/b4.jpg
new file mode 100755 (executable)
index 0000000..8006489
Binary files /dev/null and b/images/b4.jpg differ
diff --git a/images/b5.jpg b/images/b5.jpg
new file mode 100755 (executable)
index 0000000..c89e5bf
Binary files /dev/null and b/images/b5.jpg differ
diff --git a/images/b6.jpg b/images/b6.jpg
new file mode 100755 (executable)
index 0000000..520875e
Binary files /dev/null and b/images/b6.jpg differ
diff --git a/images/b7.jpg b/images/b7.jpg
new file mode 100755 (executable)
index 0000000..4b3f3ea
Binary files /dev/null and b/images/b7.jpg differ
diff --git a/images/c1.jpg b/images/c1.jpg
new file mode 100755 (executable)
index 0000000..6c1266a
Binary files /dev/null and b/images/c1.jpg differ
diff --git a/images/c2.jpg b/images/c2.jpg
new file mode 100755 (executable)
index 0000000..041a285
Binary files /dev/null and b/images/c2.jpg differ
diff --git a/images/c3.jpg b/images/c3.jpg
new file mode 100755 (executable)
index 0000000..30da725
Binary files /dev/null and b/images/c3.jpg differ
diff --git a/images/c4.jpg b/images/c4.jpg
new file mode 100755 (executable)
index 0000000..33b94ea
Binary files /dev/null and b/images/c4.jpg differ
diff --git a/images/c5.jpg b/images/c5.jpg
new file mode 100755 (executable)
index 0000000..05c4428
Binary files /dev/null and b/images/c5.jpg differ
diff --git a/images/c6.jpg b/images/c6.jpg
new file mode 100755 (executable)
index 0000000..289ba13
Binary files /dev/null and b/images/c6.jpg differ
diff --git a/images/c7.jpg b/images/c7.jpg
new file mode 100755 (executable)
index 0000000..45249f4
Binary files /dev/null and b/images/c7.jpg differ
diff --git a/images/d1.jpg b/images/d1.jpg
new file mode 100755 (executable)
index 0000000..b0251e9
Binary files /dev/null and b/images/d1.jpg differ
diff --git a/images/d2.jpg b/images/d2.jpg
new file mode 100755 (executable)
index 0000000..5c8a63f
Binary files /dev/null and b/images/d2.jpg differ
diff --git a/images/d3.jpg b/images/d3.jpg
new file mode 100755 (executable)
index 0000000..033096d
Binary files /dev/null and b/images/d3.jpg differ
diff --git a/images/d4.jpg b/images/d4.jpg
new file mode 100755 (executable)
index 0000000..250bd50
Binary files /dev/null and b/images/d4.jpg differ
diff --git a/images/d5.jpg b/images/d5.jpg
new file mode 100755 (executable)
index 0000000..970e0a1
Binary files /dev/null and b/images/d5.jpg differ
diff --git a/images/d6.jpg b/images/d6.jpg
new file mode 100755 (executable)
index 0000000..d4f78e2
Binary files /dev/null and b/images/d6.jpg differ
diff --git a/images/d7.jpg b/images/d7.jpg
new file mode 100755 (executable)
index 0000000..947dcce
Binary files /dev/null and b/images/d7.jpg differ
diff --git a/images/e1.jpg b/images/e1.jpg
new file mode 100755 (executable)
index 0000000..53a4357
Binary files /dev/null and b/images/e1.jpg differ
diff --git a/images/e2.jpg b/images/e2.jpg
new file mode 100755 (executable)
index 0000000..352fb1c
Binary files /dev/null and b/images/e2.jpg differ
diff --git a/images/e3.jpg b/images/e3.jpg
new file mode 100755 (executable)
index 0000000..bb34332
Binary files /dev/null and b/images/e3.jpg differ
diff --git a/images/e4.jpg b/images/e4.jpg
new file mode 100755 (executable)
index 0000000..03c6620
Binary files /dev/null and b/images/e4.jpg differ
diff --git a/images/e5.jpg b/images/e5.jpg
new file mode 100755 (executable)
index 0000000..f0e269f
Binary files /dev/null and b/images/e5.jpg differ
diff --git a/images/e6.jpg b/images/e6.jpg
new file mode 100755 (executable)
index 0000000..e8139f0
Binary files /dev/null and b/images/e6.jpg differ
diff --git a/images/e7.jpg b/images/e7.jpg
new file mode 100755 (executable)
index 0000000..fdaf091
Binary files /dev/null and b/images/e7.jpg differ
diff --git a/images/f1.jpg b/images/f1.jpg
new file mode 100755 (executable)
index 0000000..7dc9786
Binary files /dev/null and b/images/f1.jpg differ
diff --git a/images/f2.jpg b/images/f2.jpg
new file mode 100755 (executable)
index 0000000..ca2fd89
Binary files /dev/null and b/images/f2.jpg differ
diff --git a/images/f3.jpg b/images/f3.jpg
new file mode 100755 (executable)
index 0000000..d16a992
Binary files /dev/null and b/images/f3.jpg differ
diff --git a/images/f4.jpg b/images/f4.jpg
new file mode 100755 (executable)
index 0000000..4b69e6c
Binary files /dev/null and b/images/f4.jpg differ
diff --git a/images/f5.jpg b/images/f5.jpg
new file mode 100755 (executable)
index 0000000..81454fa
Binary files /dev/null and b/images/f5.jpg differ
diff --git a/images/f6.jpg b/images/f6.jpg
new file mode 100755 (executable)
index 0000000..128c9a5
Binary files /dev/null and b/images/f6.jpg differ
diff --git a/images/f7.jpg b/images/f7.jpg
new file mode 100755 (executable)
index 0000000..d1f5046
Binary files /dev/null and b/images/f7.jpg differ
diff --git a/lipsum.gif b/lipsum.gif
new file mode 100755 (executable)
index 0000000..ed9c4fc
Binary files /dev/null and b/lipsum.gif differ
diff --git a/locallang_csh.xml b/locallang_csh.xml
new file mode 100755 (executable)
index 0000000..c59438c
--- /dev/null
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
+<T3locallang>
+       <meta type="array">
+               <description>CSH for Lorem Ipsum Extension</description>
+               <type>CSH</type>
+               <fileId>EXT:lorem_ipsum/locallang_csh.xml</fileId>
+               <csh_table>xEXT_loremipsum</csh_table>
+               <labelContext type="array">
+               </labelContext>
+       </meta>
+       <data type="array">
+               <languageKey index="default" type="array">
+                       <label index=".alttitle">Lorem Ipsum</label>
+                       <label index=".description">"Lorem Ipsum" is an extension that creates industry standard dummy text for pages and content elements in TYPO3. Usually it is available as a wizard icon next to form fields.</label>
+               </languageKey>
+       </data>
+</T3locallang>
\ No newline at end of file
diff --git a/lorem_ipsum.gif b/lorem_ipsum.gif
new file mode 100755 (executable)
index 0000000..6562f95
Binary files /dev/null and b/lorem_ipsum.gif differ
diff --git a/lorem_ipsum.ru.txt b/lorem_ipsum.ru.txt
new file mode 100755 (executable)
index 0000000..1bd18a4
--- /dev/null
@@ -0,0 +1,6 @@
+Быстрый Редактор разработан, чтобы сократить число щелчков, необходимых для редактировать содержание страницы.
+Просто щелкая на. название страницы. в дереве Вы получаете. открытую первую запись. содержимого. В верхней панели инструментов Вы можете выбрать другие записи из списка.
+Быстрый Редактор разработан, чтобы сократить число щелчков, необходимых для редактировать, В верхней панели инструментов Вы можете выбрать другие записи из списка. Просто щелкая на название страницы, в дереве Вы получаете. открытую первую запись. содержимого, открытую первую запись можете выбрать другие записи из списка В верхней панели инструментов Вы.
+Быстрый разработан Редактор, чтобы число щелчков сократить, для редактировать, необходимых В верхней. панели инструментов. Вы можете. выбрать другие записи. из списка. щелкая на Просто название страницы, в открытую первую дереве получаете. открытую первую запись. содержимого, открытую первую запись можете выбрать другие записи из списка В верхней панели инструментов Вы.
+Группы внутренних пользователей, доступные для пользователей бэкенда. Членство в группах определяет права пользователей бэкенда. Быстрый Редактор разработан, чтобы сократить число щелчков, необходимых для редактировать, В верхней панели инструментов.
+Группы. внутренних. пользователей, доступные. для. пользователей бэкенда. Членство. в группах. определяет. права. пользователей бэкенда. Быстрый Редактор разработан, чтобы сократить число щелчков, необходимых для редактировать, В верхней панели инструментов.
\ No newline at end of file
diff --git a/lorem_ipsum.txt b/lorem_ipsum.txt
new file mode 100755 (executable)
index 0000000..67041bb
--- /dev/null
@@ -0,0 +1,229 @@
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque porta erat vitae nisl. In hac habitasse platea dictumst. Aliquam ac urna. Morbi magna mauris, semper ut, varius in, convallis vitae, nulla. Proin massa lorem, mollis eget, rutrum vitae, commodo id, risus. Curabitur scelerisque risus eget odio. Proin laoreet blandit elit. Aenean varius, sapien laoreet dapibus volutpat, risus lorem ornare wisi, lobortis venenatis nisl augue sed purus. Nam suscipit viverra justo. Suspendisse tincidunt. Nullam vel quam.
+
+In hac habitasse platea dictumst. Ut volutpat viverra lacus. Donec tincidunt. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus nulla mi, bibendum eget, ornare commodo, laoreet molestie, lorem. Nam mauris massa, rhoncus nec, pharetra at, sollicitudin non, est. In adipiscing. Integer eu pede. Quisque nec magna at purus commodo euismod. Vestibulum feugiat ipsum at augue. Aliquam ac orci fermentum libero molestie blandit. Sed placerat, neque sed ullamcorper luctus, erat ipsum consectetuer ante, eget scelerisque ligula tellus vel erat. Cras nec est quis nisl pellentesque egestas. Aenean orci. Proin fringilla, quam a consequat viverra, leo lectus cursus justo, at elementum metus est nec risus. Pellentesque nibh metus, dictum sit amet, malesuada sit amet, laoreet eu, orci. In lorem nibh, accumsan quis, euismod nec, aliquam et, tellus. Etiam vestibulum mauris sit amet arcu. Vestibulum vehicula erat sit amet elit. Morbi interdum suscipit lacus.
+
+Duis erat. Suspendisse interdum ligula nec arcu. Duis ornare metus at ante. Praesent vel tellus sed metus lacinia consequat. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Praesent elit quam, tristique non, luctus id, congue eget, nibh. Aenean rutrum imperdiet lorem. Curabitur dignissim sollicitudin neque. Suspendisse cursus ullamcorper felis. Curabitur sem odio, tincidunt quis, hendrerit sed, facilisis a, risus. Nulla est neque, consequat ac, semper id, feugiat bibendum, justo. Cras facilisis lacinia elit. Etiam egestas magna nec nibh.
+
+Nulla facilisi. Etiam ante. Mauris lectus. Nunc tortor augue, tristique posuere, ultricies sed, ultrices at, dui. Morbi mattis, dui in gravida commodo, felis libero interdum metus, et condimentum magna nibh ut sapien. Cras eros risus, vulputate quis, convallis at, accumsan at, risus. Aliquam tellus wisi, pharetra ac, gravida at, sollicitudin non, dolor. Aenean commodo, urna at suscipit scelerisque, est nunc consectetuer erat, vel sodales sapien justo eget felis. Suspendisse suscipit pretium nunc. Sed justo pede, vehicula et, dictum nec, aliquet nec, est. Nulla aliquam fringilla neque. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam vestibulum, nunc sed venenatis tempus, sem nisl nonummy arcu, sit amet cursus tortor ligula et leo.
+
+Praesent ligula arcu, auctor ac, pharetra sit amet, consequat vestibulum, diam. Donec rhoncus orci ut arcu. Phasellus aliquam. Donec mauris enim, nonummy vitae, aliquam vitae, rutrum a, pede. Maecenas mauris. Fusce viverra. Proin ultricies. Cras ornare, lorem vel sodales vestibulum, lacus magna aliquam nulla, quis tempus lacus urna sed neque. Praesent cursus leo eu risus. Cras nisl lacus, semper et, posuere nec, viverra sit amet, neque. Aenean purus tellus, vestibulum quis, iaculis et, dignissim sed, turpis. In non lectus. Proin eu erat ut massa bibendum hendrerit. Nullam nulla libero, rutrum at, sagittis eu, ornare sed, lacus. Suspendisse potenti. Proin egestas, sapien a mattis egestas, eros erat mollis nibh, vitae auctor felis tortor in mi. Vivamus orci elit, rhoncus non, hendrerit et, accumsan et, ipsum. Donec in wisi et lectus ultrices laoreet.
+
+Quisque porttitor. Praesent aliquam, elit nec pretium rutrum, urna enim imperdiet felis, quis feugiat nisl pede sit amet nisl. Integer a justo. Fusce tincidunt nulla vel nibh. Quisque nunc. Vestibulum tempor ornare neque. Proin quis erat non ipsum porta pulvinar. Fusce lectus. Vivamus arcu. Pellentesque ullamcorper elementum est.
+
+Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin a est at nunc sagittis suscipit. Vestibulum mauris orci, vulputate quis, congue eget, nonummy non, ante. Sed molestie magna id tortor. Nam lacinia purus eget risus. Vestibulum pharetra pellentesque dolor. Pellentesque sed sapien vitae nibh bibendum blandit. Aenean eget sapien. Nullam varius ultricies elit. Vivamus in orci vitae diam sagittis dictum. Quisque gravida pharetra velit. Nullam non arcu.
+
+Vivamus eu eros eget ipsum pretium ultrices. Sed justo libero, blandit nec, eleifend vitae, adipiscing vel, orci. Nulla augue. In nulla augue, sagittis ac, fringilla in, pellentesque luctus, enim. Integer venenatis rhoncus felis. Praesent eget diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed viverra, mi nec suscipit pulvinar, sem nisl tincidunt mi, vel interdum risus neque vel elit. Maecenas erat mi, fermentum nec, sodales et, scelerisque eu, justo. Sed bibendum. Curabitur id tellus quis leo semper egestas. Aliquam id augue. Duis sodales semper ipsum. Quisque aliquam ante eget mauris. Quisque at tellus.
+
+In id nibh at pede vehicula pharetra. Vivamus feugiat nonummy dolor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam lacinia nisl non metus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis vel lorem sit amet turpis vehicula faucibus. Vivamus dapibus bibendum dui. Nam in lacus. Aenean ante neque, imperdiet sed, ultricies vitae, aliquam dictum, arcu. Proin eleifend sapien nec ipsum. Fusce condimentum, tellus sit amet convallis molestie, magna odio porttitor ligula, non luctus elit urna non justo. Morbi aliquam adipiscing turpis. Sed risus wisi, volutpat vel, egestas eget, blandit quis, sem. Nunc erat nisl, mattis et, rutrum sed, pretium sit amet, eros. Aenean posuere. Nam nec odio. Duis mauris sapien, iaculis et, interdum non, ultricies ac, erat. Nulla massa wisi, fringilla quis, fermentum eget, consectetuer viverra, metus. Suspendisse rutrum dui a diam dignissim congue.
+
+Donec consectetuer quam sit amet odio. Donec suscipit. Sed vestibulum adipiscing velit. Proin tempor, urna eget convallis commodo, lacus lectus posuere purus, nec rutrum arcu lectus nec purus. Donec est. Duis consequat, arcu et tincidunt blandit, erat leo dapibus tellus, ac porta sem tortor ac enim. Duis sit amet mauris non metus auctor tincidunt. Suspendisse neque arcu, semper sit amet, consequat eget, convallis ac, turpis. Aenean nonummy molestie erat. Nunc mollis mi quis mauris adipiscing elementum. Duis ut pede id turpis rhoncus rhoncus.
+
+Fusce sed metus. Nunc nec dolor lacinia lectus venenatis blandit. Praesent tristique dolor sit amet nibh. Aenean nonummy scelerisque elit. Phasellus sed diam vel ante pretium elementum. Nam fermentum dignissim dolor. Praesent imperdiet facilisis dui. Maecenas vel nibh id arcu iaculis pellentesque. Pellentesque vel mauris ut urna facilisis vestibulum. Vestibulum ut arcu. Etiam eu velit vel orci blandit volutpat. Sed wisi. Etiam tempus magna. Duis a tellus sagittis quam sodales tincidunt. Donec sodales, lacus et viverra iaculis, ante lorem iaculis libero, eu condimentum diam ligula quis ligula. Sed quis libero. Nulla elit diam, scelerisque at, faucibus sed, aliquam nec, metus. Duis eleifend pede vel justo. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+Integer sed mauris. Sed sit amet nunc malesuada tortor fringilla dignissim. Suspendisse vulputate facilisis justo. Nunc volutpat dolor nec nisl. Vivamus ornare nibh sit amet neque. Cras ac ligula. Vestibulum iaculis, ligula non consectetuer interdum, quam massa iaculis mi, ut dictum nunc pede vitae nibh. In tempor libero in justo. Ut volutpat wisi a dolor. Aenean fermentum ipsum. Donec suscipit. Aenean sem. Ut placerat ipsum non wisi. In ac dolor id ante dapibus aliquet. Ut sit amet leo. Suspendisse tempor aliquet sem. Nunc mi ante, nonummy et, fringilla at, tristique sed, elit. Etiam non ipsum.
+
+Quisque sit amet eros. Curabitur enim. Nam eu elit. In vitae mi. Praesent eget justo vel justo tempus malesuada. Integer ornare tellus sit amet ante. Suspendisse potenti. Sed sed orci. Maecenas condimentum. Maecenas eget ipsum vitae tellus iaculis porttitor. Nullam sollicitudin ornare lectus. Quisque diam nulla, posuere ac, pulvinar ut, cursus tristique, est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Ut risus lectus, sollicitudin quis, fringilla sit amet, auctor non, justo. Nullam quis odio. Vestibulum ornare lorem eget nunc. Vestibulum eu elit tempor wisi feugiat ultricies.
+
+Praesent sit amet massa at velit pharetra aliquet. Pellentesque mollis, nibh vitae cursus pretium, orci nibh pretium diam, eu accumsan pede dui quis justo. Nullam hendrerit massa non sapien. Nullam luctus bibendum lectus. Quisque justo nunc, aliquet sit amet, lacinia quis, scelerisque nec, magna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed commodo ipsum id ligula. Nunc fermentum, lacus nec commodo auctor, libero nunc molestie libero, sed pellentesque orci velit sit amet neque. Nam lacus lectus, mattis vel, pharetra sit amet, placerat sit amet, nibh. Proin dapibus augue eu massa. Morbi eget nibh. Vestibulum consequat massa vitae wisi. Sed dignissim dui sed ipsum. Aliquam mattis iaculis diam. Pellentesque massa nunc, egestas quis, volutpat ac, semper eget, orci. Aliquam elit. Mauris porta. Curabitur interdum purus.
+
+Quisque lobortis. Nullam laoreet tristique wisi. Vivamus mollis. Curabitur congue mi. Phasellus sapien diam, consequat sit amet, condimentum nec, sollicitudin et, lorem. Praesent commodo est. Suspendisse ac quam quis eros lacinia vulputate. Curabitur urna urna, ornare sit amet, cursus at, feugiat quis, leo. Integer libero libero, scelerisque cursus, sagittis et, facilisis at, pede. Proin at dolor quis quam consequat ullamcorper. Sed porttitor libero in tellus. Morbi non lectus ac orci luctus semper. Sed pulvinar leo eu enim. Cras tempor. Ut at libero vel enim pulvinar vestibulum. Morbi luctus.
+
+Suspendisse sit amet erat eu sapien vestibulum porttitor. Sed non tellus. Vivamus tempus ipsum vel nisl. Aliquam non wisi. Fusce pretium, ipsum malesuada condimentum vulputate, lectus lacus vehicula ligula, sed accumsan mauris elit in est. Nam rutrum. Ut eu nibh. Nulla vel neque. Maecenas euismod dolor et orci. Curabitur tincidunt elementum ante. Nulla facilisi.
+
+Quisque pede. Curabitur egestas viverra ante. Integer sit amet purus. Vestibulum leo turpis, fringilla sit amet, semper eget, vestibulum ut, arcu. Nullam vehicula dolor. Maecenas augue. Maecenas consequat elit pellentesque tortor. Quisque augue purus, pulvinar ut, placerat eu, varius nec, risus. Maecenas porttitor dolor ut orci. Curabitur molestie est eget metus. Aenean vehicula condimentum tortor. Nulla urna purus, lobortis sed, adipiscing et, ornare sed, sapien. Etiam ligula. Maecenas ligula. Aenean eu purus. Nam ultricies. Phasellus sit amet diam ut dui rhoncus ullamcorper.
+
+Quisque blandit mauris eget lectus. Vivamus semper augue ut diam. Praesent quis turpis vitae mauris ultricies eleifend. Phasellus lobortis urna a wisi. Pellentesque ut leo. Quisque mattis. Quisque vehicula, wisi nec ullamcorper imperdiet, nibh metus ultrices arcu, pharetra varius risus diam sit amet nibh. Morbi dapibus. Pellentesque lobortis, arcu sit amet placerat tincidunt, mauris ligula luctus justo, non vehicula neque mi eget turpis. Nullam dapibus risus et neque. Pellentesque et sem.
+
+Sed imperdiet cursus ipsum. Pellentesque nec ligula. Maecenas non nibh eu enim aliquam porttitor. Proin neque enim, ornare ultrices, tempus nec, lobortis et, tellus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis pharetra libero non urna. Donec cursus ante eu lectus. Curabitur diam odio, blandit vel, pretium non, mollis in, mi. Curabitur lobortis nulla nec orci. Suspendisse tempor sem vitae wisi. Suspendisse nibh eros, euismod at, condimentum nec, ultrices quis, lorem. Mauris odio. Vivamus sit amet leo ac dui semper sollicitudin.
+
+Vestibulum egestas. Cras sapien erat, venenatis nec, accumsan vel, pretium sit amet, purus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Maecenas pellentesque, enim id sodales cursus, enim nunc laoreet ante, a mollis nulla justo ut lectus. Duis nec felis. Donec at erat dapibus purus tristique rhoncus. Curabitur sed massa pulvinar libero mattis nonummy. Sed nisl nisl, egestas eget, hendrerit eu, tempus at, mauris. Nunc id ante in augue sollicitudin facilisis. Quisque imperdiet leo nec orci. Phasellus at libero volutpat risus ullamcorper tincidunt. Donec nonummy lacinia quam.
+
+Duis quis ligula in est volutpat ultrices. Morbi risus. Integer turpis mi, convallis id, aliquam in, feugiat in, mauris. In nec turpis dignissim urna mollis imperdiet. Fusce facilisis pellentesque mauris. Sed non diam vel lacus rutrum dignissim. Proin orci diam, consequat at, elementum ac, pretium in, dolor. Maecenas ullamcorper nulla nec metus. Nunc porttitor, tellus in semper posuere, libero quam condimentum turpis, ut semper ipsum urna sed nulla. Cras nonummy leo ac ligula. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas sed purus.
+
+Aenean est. Phasellus fringilla, nunc et semper hendrerit, diam risus pellentesque nulla, ut viverra pede sem id magna. Aliquam sed risus ut arcu vehicula ullamcorper. Nulla a diam non libero molestie consequat. Curabitur nunc ipsum, fermentum in, faucibus quis, facilisis a, turpis. Sed nibh wisi, luctus at, vulputate quis, blandit id, metus. Fusce vulputate dictum metus. Maecenas ultricies congue neque. Nunc accumsan, felis ut dignissim ullamcorper, massa leo viverra augue, scelerisque porta arcu arcu sed metus. Pellentesque nec velit eu elit porta fermentum. Aenean iaculis nulla. Nunc non lacus sit amet elit rutrum tincidunt. Phasellus sed magna auctor tortor tristique molestie. Quisque tempor rutrum lectus. Donec dignissim iaculis sem. Pellentesque lacus sapien, feugiat ut, viverra ac, vehicula sagittis, tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Morbi diam enim, sodales et, congue in, sodales eget, dolor. Nullam id est.
+
+Pellentesque imperdiet. Duis at diam. Mauris sagittis. Etiam mauris nulla, venenatis a, lobortis at, auctor sit amet, nulla. Pellentesque sodales pretium ante. Proin ipsum enim, faucibus sed, mattis eu, aliquet eget, libero. Donec leo. Cras vel diam. Quisque nibh est, luctus id, gravida in, convallis et, neque. Vivamus nec magna. Donec porttitor nisl non ipsum. Donec placerat adipiscing ligula. Mauris sed lorem a lorem adipiscing aliquet. Nunc nisl.
+
+Nulla sed arcu et tortor sagittis sollicitudin. Nullam sem. Proin enim. Morbi pellentesque sem ut magna. Duis feugiat mollis est. Curabitur convallis ligula non pede. Morbi neque erat, nonummy a, porttitor ac, sodales eleifend, wisi. Ut sem. Ut ante. Vivamus egestas, turpis id tincidunt sagittis, nunc diam auctor ligula, id vestibulum arcu arcu sed elit. Sed blandit pretium elit. Pellentesque lacinia mi ac tellus. Duis viverra tincidunt enim. Vestibulum urna dui, ultricies nec, interdum imperdiet, eleifend sit amet, libero. Mauris condimentum lobortis magna. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Suspendisse vehicula elementum diam. Phasellus in massa at velit ultrices tincidunt. Nullam quis tellus at purus pulvinar dapibus. Nam nec sem sit amet eros lobortis laoreet.
+
+Maecenas egestas facilisis massa. Fusce ut arcu eu diam condimentum sodales. Cras vitae dolor eu libero rutrum semper. Vestibulum laoreet sem quis quam. Maecenas vehicula condimentum ante. Quisque congue ultricies velit. Integer risus. Nam vitae nunc. Maecenas hendrerit varius erat. Nunc sagittis, diam ut fermentum tempor, diam ante vehicula nulla, ac accumsan est lectus ac sapien. Proin varius eros ut lorem. Aliquam in ante sit amet sapien laoreet porttitor. Nam ut lorem ac tortor malesuada convallis. Aenean posuere risus non tellus. Duis dignissim, dui et varius adipiscing, pede libero varius ipsum, eget tincidunt mi eros non dui. Nam ultrices. Proin risus. Integer odio wisi, semper ut, luctus ac, aliquet vel, metus.
+
+Suspendisse rhoncus felis eget risus varius laoreet. Integer vulputate molestie massa. Donec pretium nunc non est. Phasellus tempus mauris sit amet turpis vulputate volutpat. Proin eu magna vel tellus tincidunt feugiat. Proin bibendum scelerisque mi. Nullam leo diam, cursus quis, sollicitudin eget, volutpat sit amet, lectus. Nulla facilisi. Nam eget mauris in mauris pretium gravida. Sed faucibus, lacus eu interdum feugiat, wisi leo vulputate lectus, ut ullamcorper nisl nisl placerat tellus. Curabitur mollis eros pretium ante.
+
+Nam aliquam, lorem nec dapibus feugiat, ipsum quam laoreet arcu, sed ullamcorper augue augue vitae magna. Vestibulum arcu odio, viverra vel, suscipit et, lacinia accumsan, lectus. Etiam mattis risus et lorem blandit vulputate. Nam sit amet nunc rhoncus dolor dignissim condimentum. Duis lobortis metus in massa. Curabitur sagittis tortor ac quam. Mauris varius tincidunt nibh. Aenean arcu est, semper vitae, euismod quis, vehicula eu, risus. Morbi a wisi quis ante posuere gravida. Etiam facilisis sem non augue. Praesent id ante ac elit laoreet molestie. Aliquam sit amet elit. Vivamus adipiscing. Integer aliquam quam aliquam diam. Aliquam eget ante. Suspendisse nec leo eu purus vulputate mattis. Vivamus posuere egestas elit. Quisque neque.
+
+Mauris magna odio, interdum sed, laoreet eu, vulputate dictum, est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vivamus accumsan. Fusce erat. Etiam rutrum odio eu eros venenatis imperdiet. Vivamus nunc nisl, facilisis ultricies, feugiat non, ornare non, sapien. Duis vel ligula ut felis condimentum convallis. Quisque risus. Etiam hendrerit, massa eu luctus vehicula, neque lorem blandit nisl, sed tincidunt urna diam ut pede. Phasellus et wisi vel sapien ultrices pellentesque. Mauris aliquet cursus metus. Pellentesque cursus, libero eget malesuada cursus, magna risus pharetra felis, vitae vestibulum massa urna id turpis. Fusce viverra. Suspendisse potenti. In viverra, tellus et imperdiet tincidunt, nibh nulla blandit neque, nec mattis eros lacus eget lorem. Maecenas gravida pulvinar augue. Phasellus eu ante.
+
+Vivamus at enim ut wisi fringilla dictum. Cras condimentum est vitae dui. In blandit euismod magna. Aenean eros. Suspendisse vitae neque a tortor interdum varius. Etiam non nunc eu nunc porta ornare. Quisque sed sapien. Integer nunc. Aenean dictum leo. Proin tincidunt. Morbi at nunc sed turpis convallis aliquam. Donec porta. Nulla mi felis, laoreet at, aliquet quis, convallis in, leo. Fusce velit. Aliquam erat volutpat. Vivamus molestie elit vitae eros. Fusce euismod nisl ut lacus.
+
+Quisque ultricies mauris sed sapien. Maecenas at pede fermentum purus feugiat sagittis. Duis tellus nibh, varius sed, eleifend mattis, aliquam et, magna. Ut placerat elit ac quam. Fusce nonummy pede quis libero congue elementum. Cras viverra dignissim tellus. Sed magna. Vivamus congue consequat mi. Ut consectetuer, nunc at porttitor venenatis, ligula massa tristique tortor, eget volutpat tellus tortor ac arcu. Suspendisse tincidunt feugiat enim. Vivamus sed elit et arcu iaculis luctus. Curabitur porttitor porttitor elit. Donec sed ligula. Nulla venenatis nunc in dolor. Nulla facilisi. Mauris est tortor, tempor ac, varius venenatis, sodales eget, tellus. Curabitur vitae felis. Quisque in quam. Praesent tristique consectetuer nisl.
+
+Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Morbi sit amet arcu. Suspendisse felis ipsum, fringilla sed, vehicula vitae, iaculis non, magna. Morbi sit amet augue id massa faucibus nonummy. Phasellus eleifend, sapien vitae tempus congue, massa ante dictum odio, at iaculis nisl sem id massa. Morbi dapibus. Nullam eleifend, elit ac faucibus pretium, wisi magna suscipit lorem, ut viverra est dui vitae wisi. Quisque congue ante rhoncus risus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus dictum mattis magna. Mauris vulputate. Vestibulum fringilla elementum turpis. Phasellus et nisl sed mi venenatis euismod. Pellentesque nonummy, wisi a tristique luctus, est libero fermentum metus, id lacinia eros tortor id justo. Aliquam hendrerit velit quis mauris. Ut diam. Nunc mollis felis sit amet mi. Fusce wisi. Mauris et dolor.
+
+Phasellus semper ligula at magna. Donec blandit eros sollicitudin nunc. Aliquam nunc augue, euismod sit amet, aliquam id, rutrum vel, sapien. Etiam posuere. Suspendisse magna urna, semper eget, pharetra a, venenatis vitae, nisl. In malesuada metus vitae pede. Suspendisse ac purus. In lacinia orci eget libero. Donec ultrices est id nunc. Duis quis est nec pede luctus pharetra. Fusce velit tortor, malesuada nec, condimentum sed, posuere vel, lacus. Nullam non nisl in nibh nonummy tempus. In quis quam. Maecenas ut neque. Nulla pellentesque pretium tortor. Ut vel felis. Ut quam tortor, vehicula et, feugiat sed, eleifend eu, lorem. Morbi ut turpis at turpis ornare laoreet. Duis eleifend nonummy sapien. Suspendisse potenti.
+
+Sed iaculis. Phasellus erat eros, fringilla ac, mattis sed, iaculis vel, nunc. Proin ultrices, turpis sed mollis pellentesque, lorem nunc tristique sapien, eu laoreet lectus dui vel mi. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Nulla porta mollis sapien. Integer in massa. Nam lacinia orci. Pellentesque odio ante, ultricies nec, tincidunt nec, faucibus sed, libero. Vestibulum posuere, sem eu egestas tempor, odio orci interdum risus, id varius arcu sapien in massa. Pellentesque rhoncus. Cras turpis turpis, pretium pulvinar, pretium vel, nonummy eu, leo. Ut eu velit a lorem egestas pharetra. Ut facilisis, mi et tincidunt bibendum, ante arcu egestas diam, vitae egestas est quam sit amet orci. Ut ut ligula non massa condimentum dapibus. Nullam odio tellus, condimentum nec, cursus quis, sagittis nec, mi. Vestibulum dignissim. Etiam sit amet augue ac elit blandit congue. Praesent sodales, lectus in ultrices dignissim, libero elit rutrum tellus, consectetuer iaculis felis libero a felis. Morbi eleifend dolor. In in dui.
+
+Duis id metus id mauris suscipit lobortis. Nulla tristique ultricies libero. Ut vitae massa ac ligula auctor dignissim. Mauris at orci. Sed laoreet eleifend lorem. Nulla placerat tellus in risus. Nam turpis justo, tempor ut, tristique non, suscipit ornare, magna. Sed metus. Nunc libero. Sed commodo orci non nunc. Nullam fermentum lectus sed nisl. Vestibulum erat wisi, interdum varius, cursus eget, facilisis sed, libero. Proin mauris urna, convallis ut, aliquet non, interdum nec, magna. Sed et felis. Duis porta sapien sagittis leo. Ut blandit. Nulla condimentum justo a metus. Ut cursus molestie massa.
+
+Sed vitae leo. Cras eget lectus. Nam fermentum posuere augue. Nulla interdum consequat erat. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus lectus ligula, blandit eget, dapibus in, auctor et, nunc. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus eu nisl. Mauris ultrices varius pede. Nam semper est in arcu. Quisque massa. Nulla venenatis pulvinar justo. Cras malesuada tempus wisi.
+
+Aliquam viverra egestas urna. Sed consectetuer. Vestibulum id lorem id arcu tempus cursus. Donec tristique nunc at libero. Morbi a turpis. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam semper nulla quis justo. Aliquam commodo imperdiet mauris. Duis sem. Proin ut mauris. Mauris venenatis turpis vel ipsum. Aenean nibh nisl, iaculis id, dapibus eget, sollicitudin ac, neque. Praesent aliquet. Duis consectetuer tincidunt magna. Phasellus ultricies purus nec dui. Nullam sem ligula, ultricies sit amet, commodo sit amet, bibendum id, velit. Proin aliquam dolor vel tellus. Pellentesque suscipit mauris id pede.
+
+Cras faucibus luctus lacus. Nam fringilla ligula id tortor. Aliquam erat volutpat. Maecenas vel velit eu nisl volutpat ullamcorper. Aliquam tortor sem, facilisis nec, sagittis at, posuere eu, eros. Mauris pharetra accumsan elit. Donec quis metus. Donec wisi. Curabitur vulputate ipsum nec purus. Suspendisse vulputate quam sed felis. Vestibulum sed metus quis velit semper sollicitudin. Sed luctus porta wisi. Sed non lacus. Pellentesque vitae elit ut pede dapibus interdum. Pellentesque ut lorem. Aenean in lorem imperdiet urna laoreet eleifend. Aliquam ullamcorper.
+
+Duis quam. Nullam lacus. Proin id ipsum eget eros malesuada feugiat. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vivamus porttitor ornare enim. Etiam ullamcorper, turpis eget sagittis viverra, magna tellus euismod neque, ac volutpat magna mi ut metus. Aenean sit amet nulla at justo ullamcorper commodo. Etiam lacinia urna et sapien. Aenean suscipit, libero nec aliquet dictum, velit neque tristique massa, aliquam placerat purus eros nec eros. Praesent auctor sodales pede. Aenean sit amet magna tempus erat commodo venenatis. Maecenas congue nibh vel magna.
+
+Sed nonummy massa sit amet nibh. Cras vel justo at tellus viverra pellentesque. Donec suscipit. Vestibulum venenatis odio eget purus. Donec fermentum tincidunt tortor. Mauris at velit et augue porta commodo. Integer eget ipsum a pede suscipit viverra. Nunc euismod, orci ac malesuada aliquet, lacus dui dapibus mauris, eu vehicula odio lorem non purus. Donec pulvinar aliquet sapien. Maecenas luctus, tortor vitae elementum porttitor, magna diam ornare leo, et lobortis pede massa ut quam. In hac habitasse platea dictumst. Curabitur scelerisque tempor wisi. Aliquam rhoncus, tortor eget mollis blandit, dolor dui dapibus metus, vitae semper ipsum magna vitae magna. In hac habitasse platea dictumst. Nunc condimentum turpis sed neque. In odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc ut turpis a neque fringilla dignissim.
+
+Mauris commodo, enim et gravida nonummy, arcu nisl posuere diam, vitae malesuada nunc ante a ipsum. Nullam et felis. Quisque convallis risus eget lectus. Praesent varius, enim eget posuere fermentum, velit ante porta pede, in dapibus turpis sem nec quam. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nunc pharetra pharetra elit. Praesent eleifend tincidunt neque. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Proin faucibus, dui nec imperdiet dictum, diam sapien fermentum est, quis euismod wisi quam sed nisl. Fusce gravida pharetra ante. Vestibulum quis arcu. Nunc sapien odio, condimentum nec, consectetuer nec, porta sed, odio. Donec quis orci ut tortor placerat sagittis. Duis a wisi quis nulla porttitor ultricies. Donec et orci. Nunc non quam ac est fermentum luctus.
+
+Mauris purus sem, fringilla sit amet, venenatis ac, imperdiet nec, nibh. Aliquam nibh. Ut luctus tortor id leo hendrerit sagittis. Ut odio. Pellentesque risus lectus, tristique eget, pharetra tristique, elementum eget, turpis. In hac habitasse platea dictumst. Mauris hendrerit wisi eu magna. Integer ut enim. In ut risus vel wisi ultricies condimentum. Donec risus dui, venenatis at, commodo a, lobortis at, tellus. Donec pede. Mauris et eros. Etiam et nisl. Donec tempor mattis eros. Mauris euismod ligula at tortor. Etiam quis mauris. Nulla at neque vitae nunc feugiat vestibulum. Curabitur massa massa, vestibulum id, volutpat id, semper id, eros. Pellentesque condimentum diam vel felis. Cras ac lorem.
+
+Suspendisse ante felis, consequat in, lacinia sit amet, tempor sed, felis. Phasellus euismod nibh ac massa. Aliquam eget diam quis mauris porta molestie. Etiam dolor neque, nonummy at, molestie vel, aliquam ac, leo. Suspendisse rhoncus condimentum sapien. Cras tortor turpis, vulputate non, accumsan a, pretium in, magna. Pellentesque nec felis. Integer enim ligula, feugiat hendrerit, tempor et, porta sed, urna. Suspendisse potenti. Suspendisse nonummy eros at augue. Sed quam. Nullam scelerisque varius urna. Ut dignissim vulputate elit.
+
+Integer iaculis pulvinar ipsum. Praesent scelerisque lorem. Sed pellentesque quam dapibus nunc. Vestibulum leo purus, tempor eu, ullamcorper sit amet, pulvinar nec, nulla. Sed ut magna. Quisque congue porttitor dolor. Integer dapibus mi eget urna. Aliquam ac orci quis eros volutpat vehicula. Morbi sed turpis. Morbi ut neque et tortor suscipit congue. Aliquam velit. Nulla facilisi. Maecenas sit amet velit vitae enim ultricies blandit.
+
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In tincidunt consectetuer felis. Ut imperdiet lectus at dui. Sed volutpat, dolor gravida placerat porttitor, ipsum odio dapibus nibh, ut adipiscing velit nunc vel neque. Donec sed tellus. Vivamus ac sapien. Phasellus fermentum, leo ac placerat imperdiet, purus arcu sagittis nisl, eu tristique tellus sem a metus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam purus eros, ullamcorper at, blandit sed, pulvinar id, odio. In et purus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Duis felis. Sed dolor.
+
+Morbi leo eros, semper sit amet, rhoncus nec, malesuada quis, odio. Morbi ac dolor. Nulla ornare ipsum. Mauris aliquam velit eget metus. Sed lorem tellus, rutrum sit amet, tristique eget, eleifend blandit, wisi. Quisque turpis. Nullam iaculis dui eget sapien. Vivamus fringilla eleifend pede. Curabitur mollis. Vestibulum venenatis nonummy ante. Vestibulum neque est, posuere a, sollicitudin non, tincidunt eget, neque.
+
+Nullam vel ante. Nam mattis faucibus eros. Ut tristique erat vitae eros. Maecenas quam. Sed vestibulum augue sit amet lorem. Nullam porttitor elit a ante. Nulla sagittis tellus consectetuer enim. Fusce adipiscing lobortis odio. Fusce volutpat arcu ac tellus. Morbi vel neque tristique enim venenatis imperdiet. Donec eu velit.
+
+Morbi lectus purus, nonummy quis, interdum at, hendrerit eget, nisl. Pellentesque volutpat faucibus tellus. Vivamus blandit enim eu nulla adipiscing vestibulum. Ut a urna. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras metus odio, suscipit vel, congue in, condimentum vitae, augue. Suspendisse sed eros. Donec ligula. Etiam quis justo. In consectetuer molestie leo. Pellentesque turpis dui, sollicitudin eget, lobortis vitae, malesuada iaculis, lectus. Nulla facilisi. Suspendisse quam orci, pulvinar at, nonummy non, venenatis vitae, lacus. Vestibulum et augue. Maecenas sed eros sit amet metus suscipit porttitor. Quisque lectus eros, porttitor quis, pulvinar at, placerat facilisis, tellus. Aliquam lobortis, diam sed sagittis dapibus, augue dolor rhoncus lacus, nec elementum nunc libero nonummy tortor.
+
+Cras quis odio. Curabitur venenatis orci et diam. Praesent eros. Proin nisl. Integer dolor leo, bibendum sed, mattis ac, auctor a, libero. Suspendisse molestie massa sit amet justo. Donec justo est, bibendum non, volutpat sed, eleifend quis, risus. Mauris eleifend quam non nibh. Vestibulum sem elit, ornare sed, gravida eget, tincidunt vitae, eros. Praesent felis. Nullam eget urna. Cras sit amet diam. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum id wisi vitae mauris ornare scelerisque. Nullam interdum ornare magna. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+Curabitur dictum semper lacus. Maecenas nonummy, nibh in consequat suscipit, augue erat mollis tellus, eget volutpat lectus mi at quam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Mauris vitae ante id sem pretium porta. Quisque congue tellus sit amet tortor. Maecenas lobortis nisl eget orci ultricies aliquam. Fusce pretium, erat in congue pretium, ipsum ligula aliquet nisl, quis vulputate erat eros ut arcu. Nullam lectus. Nulla dapibus, velit sed tincidunt varius, eros dui placerat erat, sit amet luctus urna ligula aliquam pede. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Ut velit. Nunc at magna. Vivamus ipsum. Cras eget velit. Nam quis magna.
+
+Nunc eu enim. Proin pede orci, bibendum vel, accumsan id, tempus vitae, orci. Fusce ligula nunc, tempus ut, lobortis a, sagittis quis, augue. Vivamus pharetra lacus. Vivamus imperdiet commodo sem. Aenean in lectus id elit vehicula fermentum. Suspendisse potenti. Praesent ut mauris sit amet nibh lobortis pulvinar. Nullam bibendum risus a velit. Nullam ut wisi congue leo feugiat lobortis. In leo. Suspendisse molestie lobortis felis. Proin at tortor. Integer venenatis, purus in iaculis fringilla, tortor justo porttitor nunc, at mollis nisl enim vitae lorem. Donec varius massa vitae tortor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vestibulum vel nulla.
+
+Sed mollis, sapien ut elementum tristique, tellus ipsum accumsan nisl, ac interdum urna mauris ut velit. Curabitur mattis, pede eget interdum volutpat, purus mauris dignissim arcu, ut viverra erat arcu non mi. Morbi rutrum purus sed metus vestibulum adipiscing. Morbi sit amet pede sit amet quam tincidunt venenatis. Curabitur mattis. Nullam porta venenatis augue. Vestibulum vehicula convallis lectus. Quisque purus. Aliquam erat volutpat. Praesent aliquet, diam eu lacinia consectetuer, purus risus vulputate diam, a semper nunc lacus commodo ligula. Donec varius iaculis erat. Quisque egestas libero nec ipsum. Pellentesque a velit hendrerit sem viverra interdum. Pellentesque nonummy pellentesque odio.
+
+Donec quis purus at ligula aliquet interdum. Donec eu dui. Pellentesque nunc risus, facilisis nec, malesuada vel, tincidunt at, wisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nullam lacinia, felis viverra elementum viverra, massa urna feugiat diam, nec dictum lacus felis ac est. Maecenas nibh est, condimentum quis, porttitor ut, varius quis, eros. Etiam eu diam quis turpis adipiscing accumsan. Donec interdum lectus eu sapien. Morbi eu diam. Quisque semper ante a ipsum. Duis elementum est. Donec ut dui in tortor pretium suscipit. Cras ultricies. Phasellus odio. Nam sed lorem. Integer cursus mollis est.
+
+Vestibulum dictum nulla ac libero. Nam imperdiet urna eu sapien. Curabitur at orci. Maecenas lorem. Morbi volutpat. Integer sollicitudin nibh non ipsum. Etiam turpis libero, elementum at, dictum ut, feugiat quis, lacus. Sed ipsum. Nullam eget ipsum eu dui rutrum porttitor. Praesent lacinia augue ac libero volutpat tempus. Nulla risus magna, molestie vitae, bibendum ac, posuere sed, orci. Aliquam erat volutpat. Proin ut felis elementum dolor pretium iaculis. Quisque ut nisl. Aenean consectetuer porta urna.
+
+Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Pellentesque augue. Fusce lacus turpis, lobortis sit amet, sodales in, elementum commodo, libero. Sed vehicula dignissim ligula. Ut ut lorem ac leo consequat placerat. Proin a felis. Morbi tempor magna vitae enim. Fusce eu odio. Duis in leo ac turpis vestibulum luctus. Mauris felis ipsum, egestas quis, facilisis mattis, porta et, mauris. Nulla leo. Nullam ut arcu. Integer et ligula.
+
+Mauris posuere, neque id blandit placerat, ante arcu mollis elit, eget feugiat justo sapien in metus. Etiam porttitor libero. Nam eu odio vitae turpis egestas laoreet. Sed ullamcorper, ligula a vehicula pellentesque, magna lectus euismod tellus, in dapibus wisi risus ac sapien. Vestibulum suscipit nisl vitae eros venenatis nonummy. Donec quam. Nam tempor iaculis neque. Nullam accumsan auctor magna. Vestibulum lobortis augue vitae nulla. Vivamus nulla. Curabitur eros.
+
+Morbi gravida ipsum sit amet metus. Mauris vulputate risus id quam. Ut wisi velit, elementum vitae, nonummy non, eleifend nec, eros. Cras arcu. Nunc non leo. Fusce aliquam vestibulum leo. Duis sed urna. Nam fermentum venenatis lacus. Quisque ante wisi, viverra et, placerat non, pellentesque vel, tellus. Curabitur pulvinar. Nullam ligula tortor, venenatis id, tempus vel, vestibulum nec, arcu. Fusce condimentum sapien nec felis. Aliquam fringilla accumsan eros. Praesent ullamcorper lobortis mauris. Sed id est.
+
+Quisque auctor libero non leo. Duis tincidunt mauris ut pede. Donec pellentesque lectus sit amet ipsum. Quisque luctus tortor at justo. Cras malesuada quam eget nibh accumsan rutrum. Curabitur hendrerit pede et eros. Nulla elit. Ut felis justo, laoreet a, consequat non, porta pretium, massa. In sem. Pellentesque ipsum odio, vestibulum at, lacinia ut, tristique vel, magna.
+
+Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Quisque dolor eros, tempor at, tempus et, feugiat ac, tortor. Mauris et enim. Morbi posuere. Duis nunc urna, feugiat eu, faucibus eu, sollicitudin ut, ante. Sed mollis. Aenean pellentesque bibendum velit. Cras enim. Etiam congue mollis lorem. Sed sagittis libero porta dui. Mauris nunc risus, tempor placerat, euismod sit amet, molestie a, massa. Phasellus pharetra iaculis libero. Vivamus lacinia diam sit amet diam. Donec sodales ante eu eros. Proin nisl diam, gravida non, eleifend at, laoreet vitae, est. Sed aliquet. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+
+Pellentesque et wisi. Maecenas feugiat metus non metus. Nam ut wisi ac sem condimentum semper. Nullam eu libero eu magna rutrum vestibulum. Nunc sapien est, tempor euismod, tincidunt accumsan, bibendum non, pede. Nam commodo rutrum orci. Fusce id tellus. In et nulla. Donec malesuada, turpis at lobortis mattis, leo urna pulvinar purus, in volutpat elit turpis at eros. In malesuada, purus eu dictum varius, ipsum orci gravida orci, vel ultrices neque enim eu ante. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Ut rutrum lorem et diam. Cras ipsum ante, congue vitae, pellentesque at, ullamcorper in, lectus. Mauris ac leo ac mauris eleifend auctor. Nam elementum sapien nec augue. Sed ut odio eget arcu commodo ultricies. Pellentesque interdum.
+
+Sed dignissim tortor eu est. Integer molestie. Curabitur augue nibh, iaculis eget, suscipit ut, sodales in, lectus. Etiam accumsan. In eros neque, dapibus nec, varius ut, cursus ut, libero. Donec ac velit non dui semper convallis. Maecenas nulla diam, convallis sed, tincidunt a, eleifend eu, felis. Vestibulum arcu nisl, placerat sed, auctor in, iaculis eu, augue. Fusce enim libero, vestibulum at, rhoncus at, eleifend non, risus. Proin lacinia. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Proin accumsan sem et magna. Nam semper pede. Etiam vulputate elit at quam. Nam ornare elit tincidunt arcu. Aliquam accumsan mi. Phasellus sagittis quam nec sem. Pellentesque semper dapibus ipsum. Pellentesque euismod purus id justo. Nam euismod.
+
+Aenean id mauris. Mauris magna dolor, vulputate vitae, lacinia in, sodales ut, ante. Aliquam erat volutpat. Aenean in diam vel tellus consequat vestibulum. Curabitur tellus magna, porta a, pulvinar non, ultrices in, orci. Mauris nibh. Mauris odio enim, ornare sed, tincidunt in, scelerisque a, urna. Vivamus sapien. Integer dictum egestas ipsum. Mauris vestibulum semper mauris. Phasellus pulvinar, velit rhoncus mattis vulputate, neque nisl consequat felis, ac consequat tellus lorem vitae nunc. Suspendisse eget sapien in pede imperdiet interdum.
+
+Proin ornare, neque et malesuada varius, lacus lectus sollicitudin odio, vel sagittis ipsum est quis nisl. Vestibulum vitae libero. Donec pede nunc, dictum sit amet, posuere nec, venenatis sed, nibh. Suspendisse laoreet eros vitae purus. Etiam quis dui. Suspendisse lobortis ornare dolor. Integer ut eros ut risus iaculis elementum. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent sit amet lectus. Proin nonummy ante eu lectus. Proin quis elit. Suspendisse nec tortor. Vivamus placerat gravida augue. Phasellus pharetra blandit est. Aenean placerat pede iaculis tellus. Maecenas mollis, libero at porta dictum, tellus est dignissim libero, eu lacinia nisl libero ac dui. Sed at orci suscipit odio aliquam varius.
+
+Suspendisse potenti. Morbi pharetra quam ut neque. Nullam facilisis adipiscing enim. Aliquam non justo eget arcu bibendum gravida. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Donec molestie leo sed sem. Mauris tellus urna, hendrerit vel, faucibus id, rutrum eu, tellus. Cras at justo sit amet urna ornare vestibulum. Donec vitae augue vitae quam venenatis convallis. Pellentesque ut orci nec ipsum blandit lacinia. Morbi iaculis. Praesent odio. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+Vivamus hendrerit. Sed ut metus. Aliquam viverra enim sed mi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed turpis justo, consequat tempus, laoreet eu, fringilla in, mauris. Cras lacinia euismod odio. Integer auctor tempus dolor. Sed quam nibh, vehicula ut, fringilla nec, eleifend non, risus. Aenean faucibus, lacus sit amet semper facilisis, nunc velit sollicitudin nulla, tincidunt convallis elit velit vitae neque. Etiam condimentum enim sit amet turpis. Sed tortor. Maecenas mattis velit adipiscing neque egestas faucibus. Nunc in tellus at ligula adipiscing commodo. Donec iaculis. Proin justo. Vestibulum suscipit velit non velit. Integer eget ante. Proin id augue. Aenean porta auctor diam. Suspendisse potenti.
+
+Mauris pharetra, est id suscipit egestas, nulla odio auctor erat, vitae scelerisque eros nunc vitae nulla. Cras nec diam. Praesent interdum blandit tellus. Sed dapibus molestie ligula. Nullam accumsan, ligula facilisis consectetuer iaculis, libero eros ultrices sapien, in elementum est sapien id justo. Integer accumsan. Nulla sit amet magna quis ligula laoreet lobortis. Nunc bibendum est sit amet arcu. Nunc mattis bibendum augue. Pellentesque tristique, nulla euismod suscipit vestibulum, arcu neque imperdiet mi, sodales tincidunt risus nibh vitae enim. Maecenas dolor tortor, bibendum a, sollicitudin quis, scelerisque ut, nunc. Sed nec ipsum. In hac habitasse platea dictumst. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
+
+Fusce blandit bibendum odio. In pulvinar, velit eget porttitor venenatis, magna augue lobortis nibh, eget feugiat felis lectus ac metus. Duis turpis felis, dictum id, lobortis ut, posuere a, enim. Morbi at lectus at mi mollis volutpat. Aliquam ornare varius lacus. Maecenas quam lacus, eleifend eu, aliquet vitae, congue nec, nunc. Duis auctor rutrum risus. Suspendisse arcu nibh, molestie in, adipiscing in, dictum sed, neque. Mauris mi ipsum, accumsan in, elementum dapibus, mattis ut, diam. Vestibulum sit amet nulla posuere augue ornare convallis. Quisque eget ligula.
+
+Nunc dapibus nisl vitae dui. Praesent purus urna, lobortis nec, tempor ac, accumsan eu, nisl. In tincidunt. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi purus elit, consequat at, imperdiet at, lacinia in, tellus. Vestibulum sem nulla, tincidunt id, euismod non, tempus sed, nisl. Sed et mauris eget tellus eleifend consequat. Pellentesque tempus, felis at mollis convallis, eros mauris feugiat tortor, a rhoncus sapien tortor at neque. Curabitur tristique dignissim augue. Donec convallis sapien eget sem. Ut felis leo, tempor eu, condimentum nec, vehicula at, nulla. Maecenas condimentum nunc et magna. Nam tincidunt scelerisque mi. Vivamus dictum, nibh quis congue tincidunt, quam pede venenatis velit, quis auctor turpis massa a lorem. Etiam interdum purus eget orci. Morbi neque. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Aliquam commodo libero sit amet tellus. Etiam ante dui, lacinia hendrerit, fermentum in, venenatis quis, risus.
+
+Nam non eros malesuada velit pulvinar tincidunt. Integer hendrerit purus et mauris. Sed egestas turpis gravida mi. Sed iaculis. In risus neque, fringilla vitae, gravida eget, sollicitudin sit amet, neque. Vivamus ultrices. Nulla pulvinar dui sit amet velit. Phasellus non felis. Curabitur mollis molestie est. Mauris velit. In vitae mi. Phasellus arcu enim, lacinia in, tincidunt vitae, tincidunt quis, nunc. Etiam vulputate turpis ac wisi. Maecenas lacus sem, ultricies in, fermentum eu, consequat id, magna. Praesent hendrerit pede id lectus. Aenean vitae nulla.
+
+Quisque quis nibh. Nullam sodales bibendum justo. Sed tortor pede, feugiat in, dapibus in, semper vitae, quam. Pellentesque felis lectus, ultrices at, euismod non, laoreet porttitor, dolor. Etiam at purus in nulla malesuada fringilla. Vestibulum erat massa, ullamcorper eget, accumsan in, commodo nec, dolor. Sed in turpis. Aliquam nec tellus. Quisque mollis. Curabitur nisl. Donec vitae nulla. Mauris libero. Cras neque velit, sagittis non, venenatis non, facilisis id, elit. Cras tincidunt, justo eget sagittis laoreet, sem wisi nonummy erat, ut accumsan erat erat sed nisl. Nunc arcu ante, pulvinar a, feugiat sed, scelerisque eget, lectus.
+
+Cras posuere congue sem. Maecenas faucibus tincidunt pede. Pellentesque posuere lorem ut magna venenatis fringilla. Ut lacus mi, fermentum eget, pretium non, viverra mattis, sapien. Praesent mi. In at ligula et tortor posuere commodo. Curabitur blandit dictum est. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce elementum nunc pulvinar enim. Suspendisse nec elit.
+
+Nam convallis magna ut ante. Pellentesque sem. Integer pharetra dui id dui. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Duis tempus erat. Duis placerat faucibus leo. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec elit felis, rhoncus congue, posuere vel, aliquet at, massa. Aliquam commodo nunc eu pede. Proin fermentum tempor tortor. Curabitur sit amet mauris eget lacus aliquet posuere. Proin eget diam vel lorem pulvinar facilisis. Suspendisse sit amet wisi id nulla imperdiet egestas. Nullam scelerisque gravida pede. In dapibus faucibus enim. Donec pellentesque ligula. Aliquam vitae quam. Duis pharetra imperdiet lorem. Mauris wisi ligula, mattis sit amet, mattis a, nonummy sit amet, est. Praesent rhoncus.
+
+Vivamus rutrum nunc at quam sollicitudin suscipit. Phasellus dapibus odio eget nibh. Nam ornare sapien non sapien. Integer pharetra aliquam leo. Maecenas ullamcorper sagittis purus. Vestibulum pretium pede vitae nunc. Curabitur ligula est, mattis sed, pulvinar quis, euismod at, erat. Morbi et mauris ac purus congue mollis. Vivamus et erat. Integer nulla leo, dignissim ut, laoreet non, nonummy ac, purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+Maecenas vel diam. Suspendisse aliquam, est nec facilisis feugiat, lorem ipsum scelerisque nibh, vitae fermentum dolor lectus vel est. Fusce ut mauris placerat ligula scelerisque laoreet. Pellentesque wisi nunc, varius porttitor, auctor id, cursus vitae, felis. Maecenas venenatis faucibus augue. Aliquam dapibus ipsum quis ipsum. Morbi elementum, libero nec varius sodales, nibh risus blandit nulla, eget pretium magna sapien ut elit. Vivamus gravida, quam vitae ornare varius, est ligula commodo odio, at tempus est lectus quis elit. Fusce non sapien. Sed eget libero a est sodales pretium. Aliquam erat volutpat. Donec ultrices mattis tortor. Curabitur scelerisque facilisis tortor. Aenean et elit.
+
+In tempor. Integer justo nunc, venenatis pellentesque, imperdiet sit amet, molestie ut, velit. Etiam odio leo, elementum at, pellentesque suscipit, gravida cursus, lectus. Fusce odio mauris, fringilla id, pulvinar eget, varius ac, magna. Fusce eu sapien. Pellentesque eros augue, luctus vitae, porttitor in, varius et, erat. Praesent lacus orci, volutpat et, facilisis a, fringilla sed, felis. In volutpat sollicitudin felis. Morbi aliquam arcu vehicula justo. Nulla nisl erat, mattis eu, egestas nec, commodo ut, leo. Cras pretium justo ac mi.
+
+Sed placerat, augue eget dignissim malesuada, nunc elit egestas nisl, a facilisis felis nibh in nisl. Phasellus quis quam. In eu diam. Phasellus elit mauris, malesuada ut, venenatis at, auctor id, eros. Curabitur ac neque id lectus pulvinar tincidunt. Fusce tristique urna id velit. Donec sit amet erat sed neque malesuada adipiscing. Integer felis ipsum, pulvinar et, ultricies non, tempus sit amet, lorem. Etiam tincidunt quam sed mauris. Maecenas tempor neque sit amet magna. Quisque id ipsum id massa auctor aliquam. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. In hac habitasse platea dictumst. Nunc eros.
+
+Nullam cursus hendrerit justo. Etiam est. Quisque sit amet nulla. In hac habitasse platea dictumst. Fusce pharetra lacus vel mauris. Donec congue semper neque. Vestibulum sapien ante, commodo sed, tincidunt nec, ornare nec, nisl. Curabitur turpis arcu, mattis vehicula, lobortis sit amet, dignissim ac, massa. Cras fermentum. Aliquam a libero eget lectus lobortis vulputate. Nam nibh.
+
+Etiam et wisi sit amet erat scelerisque molestie. Donec posuere. Praesent cursus ullamcorper tellus. Nunc fermentum. Suspendisse auctor nibh vitae tellus. Etiam congue erat sit amet est. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Sed tortor. Sed elit purus, ullamcorper a, tempor nec, laoreet eu, dolor. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus feugiat mauris in ipsum. Ut libero nunc, mollis id, malesuada vel, mollis sit amet, pede.
+
+Nunc ornare tristique sem. Praesent at nunc vel tellus posuere sagittis. Quisque diam risus, mollis in, viverra sit amet, blandit vitae, enim. Aliquam ornare, wisi eget luctus volutpat, ligula sem congue quam, a hendrerit odio velit rhoncus risus. Donec rutrum molestie sapien. In facilisis enim sit amet dolor malesuada pretium. Aenean et eros eu mauris eleifend laoreet. Morbi volutpat, massa eu auctor elementum, magna ante ullamcorper pede, non vestibulum urna augue sit amet odio. Cras molestie velit lobortis tellus aliquet pharetra. Phasellus felis est, elementum porttitor, semper vel, cursus ut, tortor. Integer et turpis non magna adipiscing mollis. Vestibulum enim. Nam et orci. Donec at libero posuere turpis pharetra sollicitudin. Integer turpis metus, gravida eu, sollicitudin convallis, eleifend nec, sem. Donec odio nunc, fringilla id, adipiscing eu, interdum sed, odio. Aliquam tellus leo, pharetra ac, pharetra sit amet, luctus in, urna. Praesent vestibulum nulla sed lectus.
+
+Donec laoreet tortor a metus. Nulla est. Donec id mi. Proin euismod ante quis augue. Donec metus lorem, facilisis in, ornare vel, suscipit ac, risus. Etiam placerat ornare elit. Sed eget sapien vel velit dictum consectetuer. Cras enim risus, luctus vel, consectetuer eu, placerat a, enim. Cras eu ante. Nullam in elit. Donec vel lorem. Cras molestie. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Suspendisse potenti. Nulla bibendum tempus purus. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
+
+Ut elit lectus, blandit at, consectetuer vitae, tincidunt eget, sapien. Nullam elementum. Nullam rhoncus metus at lacus. Aliquam non leo. Sed vel nisl. Proin malesuada turpis a tellus. Donec ut tellus quis turpis ornare facilisis. In quis justo ut wisi sodales tempor. Nam fringilla eros. Praesent ullamcorper. Pellentesque eleifend consequat tellus.
+
+Nam tristique diam in sapien. Donec felis. Vivamus bibendum, ligula consequat viverra molestie, eros ante bibendum felis, vel vulputate metus ante non wisi. Nam laoreet, erat ac laoreet euismod, sapien felis pretium libero, semper euismod mauris metus quis tortor. Duis suscipit gravida ipsum. Suspendisse tristique commodo eros. Vivamus massa. Phasellus convallis diam sed neque. Sed ac risus. In fringilla nonummy sapien. Integer condimentum, augue at rutrum dignissim, quam quam luctus quam, ac cursus tellus diam vel massa. Duis congue ligula quis purus. Vestibulum odio wisi, cursus suscipit, feugiat nec, dictum et, lacus. Vestibulum tortor nulla, tempor aliquam, ullamcorper non, sodales in, lacus. Donec blandit.
+
+Integer in est. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Vivamus at eros. Curabitur wisi metus, lobortis ut, viverra et, hendrerit vitae, nisl. Aliquam hendrerit aliquet orci. Cras ut tortor ac turpis ornare tincidunt. Duis dolor purus, elementum id, ornare vitae, tristique ac, augue. Sed mollis rutrum arcu. Suspendisse potenti. Phasellus volutpat viverra tortor. Sed malesuada interdum turpis.
+
+Donec lectus. Vestibulum dignissim, augue in condimentum porta, massa nibh pharetra pede, et nonummy dolor tortor vitae ipsum. Aenean lacinia, eros in venenatis venenatis, ipsum lorem tincidunt massa, sit amet vulputate pede est et nulla. Phasellus ut urna. Nullam et lorem eget sapien ornare elementum. Curabitur et mi vel ipsum luctus adipiscing. Integer et eros ac dui volutpat gravida. Suspendisse potenti. Donec pretium. Suspendisse dictum ullamcorper diam. Suspendisse nulla. Curabitur viverra dolor eget tellus. Vestibulum pretium, wisi eget sollicitudin vestibulum, tellus tortor mattis dolor, id lobortis enim tortor in arcu. Nulla posuere. Praesent et nunc non libero feugiat tincidunt. Mauris libero. Suspendisse tortor. Praesent ac metus.
+
+Ut est libero, placerat non, vehicula id, aliquet eu, justo. Morbi posuere nunc eget sapien. Curabitur a enim quis purus nonummy sollicitudin. Proin vitae augue. Aliquam cursus velit id tellus. Sed placerat. Quisque at wisi. Nunc vitae nulla. Quisque orci sapien, pretium placerat, sagittis ut, eleifend eu, sapien. Cras tincidunt.
+
+Duis condimentum, mi vel vestibulum nonummy, sapien eros pulvinar wisi, eget placerat ligula nibh a ante. Aenean luctus, augue quis congue pharetra, turpis massa hendrerit elit, a ornare wisi orci ac sapien. Vestibulum nibh mauris, interdum sit amet, pharetra ac, interdum eu, velit. Nunc sapien. Integer imperdiet, tortor et euismod nonummy, justo lacus interdum neque, sed iaculis nisl eros ut wisi. Curabitur a lorem. Etiam euismod, velit et suscipit tempus, libero massa tincidunt orci, vel commodo lacus quam at lectus. Quisque egestas orci at dui blandit placerat. Nam eget nisl ornare ligula pulvinar mattis. Nullam molestie, nunc ac laoreet lacinia, mauris magna ullamcorper mi, nec condimentum eros ante gravida nulla. Maecenas id ante vitae augue consequat varius.
+
+In magna pede, dictum sed, blandit at, vulputate quis, ante. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas leo. Nullam eu ipsum nec quam sollicitudin sollicitudin. Aenean sed tortor. Fusce adipiscing pede. Nam suscipit viverra sem. Sed placerat velit ut nibh. Vestibulum ac neque. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam at est. Donec justo nunc, imperdiet at, consectetuer vel, mollis eu, eros. Donec scelerisque placerat massa. Vestibulum feugiat, nulla vitae congue porttitor, augue turpis ultricies libero, non elementum sapien metus id tellus. Sed fermentum augue nec tortor. Nunc adipiscing.
+
+Aliquam orci eros, ultricies eu, semper id, tempor quis, orci. Nunc urna augue, interdum id, eleifend nec, ullamcorper eget, tellus. Sed consequat eros vel augue. Quisque tellus. Nunc tristique. Mauris arcu orci, posuere et, accumsan vitae, viverra vitae, sapien. Sed ullamcorper, turpis a vestibulum convallis, orci odio dapibus wisi, ut mollis quam orci et lectus. Nulla nec nunc et orci congue iaculis. Nullam bibendum nulla. Nullam enim. Maecenas adipiscing mi ac nunc. Nulla vulputate. Mauris vestibulum. Praesent congue molestie tellus. Proin egestas wisi ut lectus. Maecenas elit. Vivamus posuere est at justo.
+
+Nunc gravida metus sed mauris. Curabitur tellus justo, convallis fringilla, congue nec, malesuada ut, wisi. Fusce lacus. Proin lorem nunc, laoreet a, vulputate id, tincidunt nec, mauris. Aliquam tempor nibh vitae nunc. Duis bibendum quam lacinia mi. Nullam odio ante, ultricies at, dapibus a, varius in, dui. Maecenas tellus velit, tristique non, blandit et, porta a, ligula. Nullam porttitor. Curabitur suscipit eros at odio. Nullam sollicitudin diam vel elit. Vestibulum vehicula. Nulla volutpat laoreet velit. In pulvinar pede ut mauris. Cras massa nisl, egestas cursus, nonummy et, pellentesque sit amet, pede. Quisque euismod. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Morbi non ante. Cras et lectus.
+
+In et leo et arcu volutpat accumsan. Etiam vestibulum, odio a convallis fermentum, tortor tortor aliquet justo, sed tincidunt felis eros vel risus. Sed enim dolor, molestie aliquet, faucibus vel, elementum posuere, felis. Proin imperdiet nisl id eros. Aliquam dolor. Mauris libero. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Proin ullamcorper. Morbi nec erat vitae pede malesuada eleifend. Duis eget lorem vel turpis vestibulum feugiat. Sed nonummy. Fusce justo diam, condimentum non, suscipit ac, vehicula eu, diam. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Ut quis mauris. Sed vitae wisi. Nunc eleifend tortor non massa tincidunt egestas.
+
+Proin volutpat eleifend leo. Proin sit amet augue eu felis pulvinar ornare. Nulla quam. Donec sed odio nec nulla malesuada dignissim. Mauris eu elit. Donec porttitor, ipsum quis feugiat fringilla, velit ligula suscipit ante, sit amet pharetra dui sapien non augue. Suspendisse consectetuer, leo pulvinar rhoncus convallis, urna dui porttitor erat, quis volutpat mauris dolor id sapien. Sed non mi ac neque dignissim pellentesque. Aliquam wisi enim, tincidunt sit amet, aliquam eu, accumsan quis, orci. Integer vehicula sem ut wisi. Maecenas ipsum. Ut massa nisl, interdum ut, tristique ac, mattis in, magna. Etiam accumsan pharetra nulla. Ut venenatis augue ac ipsum. Fusce eget nisl.
+
+Nullam wisi tellus, ultricies non, volutpat vitae, dictum id, diam. Vestibulum sodales rutrum quam. Integer ante. In eget wisi et felis sodales sodales. Quisque lobortis nisl ac risus. Morbi egestas ullamcorper urna. Proin mollis suscipit lectus. Phasellus tristique suscipit wisi. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Mauris sit amet mi in enim porta blandit. Morbi volutpat, nibh id vulputate dictum, velit nibh dictum neque, id suscipit urna ante a odio. Suspendisse et turpis. Donec id magna. Morbi eget tortor vitae wisi auctor porta. Nulla non velit. Praesent massa leo, molestie in, vestibulum in, bibendum id, mi. Nam aliquet quam sit amet augue. Vivamus vestibulum turpis et neque. Nullam sed nunc.
+
+Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis a elit quis lorem lacinia imperdiet. Donec nec nisl sed orci aliquet lacinia. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. In ac nulla sed nisl fringilla ultrices. Quisque quis risus in sem suscipit iaculis. Phasellus nonummy pellentesque nulla. Nam ultrices. Nullam mi ante, rutrum non, eleifend ut, facilisis vel, turpis. Integer odio. Fusce ligula massa, commodo sit amet, elementum vel, aliquet ut, urna. Mauris adipiscing lorem non orci. Curabitur placerat ipsum vel mi placerat fermentum. Sed libero tortor, luctus in, molestie id, ultrices at, nibh. Pellentesque id enim. Cras elementum pharetra purus. Nam suscipit purus non ipsum.
+
+Sed nec metus. Sed adipiscing orci nec odio. Aliquam rutrum odio a metus. Nunc ipsum wisi, lobortis nec, congue eget, venenatis id, lectus. Etiam eros erat, viverra vitae, tempus non, scelerisque nec, mi. Suspendisse potenti. Sed nulla nulla, fermentum et, ultricies eget, pellentesque non, nunc. Aliquam erat volutpat. Cras pretium hendrerit velit. Nullam interdum rhoncus nulla. Sed aliquet bibendum turpis. Maecenas imperdiet augue quis est. Aliquam lobortis massa eget erat pharetra tempor.
+
+Pellentesque blandit tristique ipsum. Proin nec eros. Vivamus ipsum. Donec nonummy turpis sed velit. Nunc ornare tristique leo. Sed id risus at tellus aliquam rhoncus. Proin imperdiet enim vitae odio. Suspendisse dolor lacus, congue at, aliquam et, rhoncus quis, nulla. Curabitur eget velit a justo facilisis mollis. In facilisis neque a turpis. Integer bibendum, felis at accumsan semper, enim est lacinia magna, quis sodales nulla augue ac libero. Nunc consectetuer accumsan nisl.
+
+Integer eget metus. Nulla eu sem. Curabitur sed purus vitae massa auctor posuere. Nam ut nibh sed dui posuere elementum. Ut vulputate vehicula ante. Maecenas gravida, elit vitae mollis cursus, eros tellus pretium arcu, at faucibus enim lorem quis velit. Suspendisse aliquet, eros vel molestie tempus, dolor lorem cursus augue, nec pharetra elit ante id nulla. Donec pellentesque urna nec sem. Cras congue, lectus eget dictum tincidunt, eros est mollis nunc, quis consequat massa nulla non wisi. Integer felis. Integer et lacus eget metus mattis egestas. Aenean vitae leo non odio congue convallis. Ut volutpat, nunc ut dignissim condimentum, erat augue consequat nibh, non faucibus mauris felis in enim. Nulla facilisi. Nulla vel nunc eu lorem elementum condimentum. Aenean egestas suscipit lorem. Proin feugiat bibendum mauris. Ut condimentum augue sed leo. Nam est lectus, interdum id, accumsan a, blandit quis, mauris. Nullam neque.
+
+Donec odio lectus, sagittis nec, imperdiet non, viverra quis, risus. Etiam commodo augue at wisi. Nulla eget massa ut ante vulputate tincidunt. In vel urna non wisi faucibus pharetra. Integer diam. Vivamus pharetra consectetuer wisi. Nullam pretium tortor eget mi mattis rhoncus. Ut vel mauris. Maecenas condimentum est in sem. Aliquam dui mauris, lobortis bibendum, hendrerit vitae, vestibulum sed, turpis. Nam sodales, risus non pretium pharetra, odio dui mollis ipsum, id molestie dui odio eu wisi. Suspendisse sit amet risus. Ut sapien elit, rhoncus id, iaculis nec, convallis eu, dolor. Ut rhoncus urna. Aliquam erat volutpat. Curabitur pretium. Nullam porttitor, erat tristique ultricies pulvinar, nibh sem dignissim nisl, non rhoncus tellus arcu et orci. Nullam dictum, velit nec luctus consequat, felis ante egestas lectus, nec viverra wisi arcu vel leo. Phasellus volutpat magna quis velit.
+
+Quisque ultrices ipsum nec neque. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. In hac habitasse platea dictumst. Etiam vel arcu non diam elementum suscipit. Quisque sed enim sit amet lectus pretium scelerisque. Nam ac ante. Sed facilisis massa a sapien. Phasellus dui massa, pretium nonummy, pellentesque ut, aliquam in, pede. Mauris wisi. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+
+Suspendisse est. Duis vulputate dolor. Ut vel libero. Integer purus nisl, mattis sit amet, bibendum non, tristique sed, ipsum. Cras euismod turpis at dolor. Proin hendrerit, urna ut faucibus ullamcorper, diam wisi dictum orci, sit amet fermentum dolor mi nec nisl. Duis facilisis odio a quam. Maecenas semper diam at mi. Suspendisse rhoncus, mi non pellentesque vulputate, nibh pede consequat odio, vel accumsan wisi nunc non mauris. Phasellus tincidunt, tellus eget dignissim auctor, arcu risus venenatis magna, ac euismod odio felis sed orci. Aliquam erat volutpat. Maecenas tempus.
+
+In scelerisque rutrum ante. Suspendisse eget mauris vel magna aliquam sollicitudin. Morbi egestas velit id neque. Praesent facilisis, pede ultricies volutpat tristique, erat dolor sodales enim, et tempus libero dui id tortor. Pellentesque magna lectus, consequat sit amet, sodales ut, porta ac, ipsum. Curabitur eget libero. Donec in orci. Suspendisse sit amet enim. Pellentesque euismod diam at urna. Pellentesque pretium risus vitae mi vehicula faucibus. Morbi hendrerit. Vivamus eu velit.
+
+Ut mi erat, gravida a, commodo non, gravida in, odio. Ut nibh. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus nec neque vel arcu ornare laoreet. Nullam cursus, erat sed tempus convallis, erat eros iaculis eros, non consequat ante mi in turpis. Aenean pulvinar. Integer lobortis, felis quis aliquam pulvinar, sapien mi adipiscing eros, sed adipiscing ipsum orci non quam. Cras in sapien non sem cursus adipiscing. Proin vitae tortor. Donec commodo, ipsum id rhoncus tristique, lacus est sodales ipsum, sit amet sagittis sapien wisi convallis nisl. Curabitur nisl. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Cras blandit nunc vel risus. Donec sodales, lacus sed dignissim laoreet, enim magna pharetra sapien, ac viverra nulla est nec ante. Etiam urna lorem, commodo eget, mattis nec, elementum a, odio. Donec ut lectus. Duis eget wisi quis dui ultrices feugiat. Proin commodo blandit eros. Pellentesque rutrum malesuada quam.
+
+In laoreet sem vel sem congue tincidunt. Donec felis. Nam wisi. Etiam nonummy rhoncus augue. Donec et ante non metus pellentesque elementum. Proin diam dolor, auctor in, ultrices sed, luctus in, arcu. Etiam et sem. Suspendisse leo. Donec nulla purus, euismod ac, egestas eget, tincidunt in, turpis. Maecenas viverra, velit eu ornare varius, nulla ligula facilisis neque, id varius erat leo et tellus.
+
+Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nulla non magna tincidunt turpis ullamcorper luctus. Nullam feugiat sem. Praesent et lectus. Praesent vel purus eu leo vestibulum lacinia. Etiam eu lacus sit amet sem egestas eleifend. Aliquam tempor molestie erat. Fusce pede eros, blandit ac, ultrices ut, ornare at, enim. In nonummy odio non metus. Nullam aliquet. Nullam eros massa, mattis vel, nonummy in, lacinia quis, ipsum. Vestibulum ipsum urna, iaculis nec, posuere ut, mattis nec, wisi. Curabitur velit quam, facilisis sit amet, scelerisque a, rutrum bibendum, odio. Phasellus placerat velit volutpat ligula.
+
+Pellentesque mauris. Vivamus mattis, metus at adipiscing ultricies, eros nunc scelerisque metus, at accumsan est arcu a ipsum. In hac habitasse platea dictumst. Nullam ultricies turpis et tellus. Mauris vel lorem. Morbi luctus sodales justo. Sed sagittis. In faucibus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Pellentesque euismod felis vitae quam. Nullam adipiscing. In porttitor nisl eget nulla imperdiet consequat. Nulla lacus sapien, ullamcorper ut, interdum at, adipiscing id, wisi. Proin leo ligula, posuere sed, imperdiet eu, pretium eget, nisl. Ut id sapien ut urna rutrum venenatis. Nulla facilisi. Nam non ipsum sit amet dui bibendum commodo. Quisque egestas, odio non tristique vulputate, dui orci molestie ante, vel consectetuer velit pede quis ligula. Nulla facilisi. Maecenas venenatis porta magna.
+
+Nunc dolor dolor, tempor nec, pharetra eu, posuere vel, sem. Cras aliquet imperdiet justo. Curabitur libero purus, adipiscing at, nonummy non, aliquet quis, metus. Nam tortor odio, pellentesque vitae, accumsan quis, ullamcorper vel, massa. Ut congue magna vitae diam. Sed nec wisi. Pellentesque pretium mauris. Nulla laoreet neque porttitor dolor. Suspendisse posuere fermentum lacus. Praesent ultrices massa at libero. Ut in libero non velit aliquet lacinia. Mauris at metus. Aliquam molestie wisi id mi. Aenean eros nisl, scelerisque vel, pulvinar id, ullamcorper quis, ante.
+
+Nullam ornare consectetuer erat. Maecenas mollis iaculis urna. Aliquam ornare vehicula augue. Aliquam sed lorem. Integer nec erat et diam convallis viverra. Nullam elementum consequat leo. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Maecenas risus ante, iaculis ac, posuere quis, commodo in, tortor. Praesent vitae mi at leo interdum imperdiet. In orci dui, pellentesque ut, adipiscing sed, tempus nonummy, orci. Etiam sit amet eros. Maecenas aliquet. Vivamus neque urna, hendrerit at, luctus ut, volutpat et, est.
+
+Pellentesque eleifend fermentum ligula. Maecenas sapien. Donec consectetuer. In hac habitasse platea dictumst. Quisque auctor, felis eu gravida fermentum, mi eros dignissim eros, eget consequat metus tellus sit amet diam. Nam eleifend leo et libero. Ut euismod imperdiet mauris. Maecenas dapibus mi vitae diam. Ut a tortor ac orci aliquet suscipit. Pellentesque odio lacus, consequat eu, mollis ut, tempus sit amet, felis. Etiam porttitor egestas mauris. Ut augue nisl, aliquam et, volutpat at, aliquet porta, diam. Donec lorem. Donec dapibus, libero et consequat lacinia, libero orci ultrices velit, non porta ligula purus feugiat risus. Cras posuere ligula. Aenean sodales lectus sit amet libero. Mauris consectetuer orci ac magna. Ut vitae massa id massa auctor viverra. Duis id mauris.
+
+Duis porttitor. Nulla facilisi. Donec eleifend ipsum sit amet ligula. Donec sit amet augue semper neque congue semper. Suspendisse vehicula augue nec mauris. Proin egestas pede eu diam. Mauris suscipit. Ut at lacus vel felis nonummy accumsan. Praesent blandit elit ut diam. Donec pulvinar fringilla quam. Duis eget lectus sed nibh dignissim placerat. Pellentesque gravida laoreet tellus. Aliquam augue erat, molestie vel, viverra vel, vestibulum a, leo. Duis facilisis diam eget risus. Maecenas pellentesque nunc. Curabitur neque nunc, vestibulum quis, ultrices cursus, iaculis id, velit. Nunc non pede ut libero euismod ornare. Integer porttitor sem iaculis leo. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
+
+Praesent ultrices, urna sed rhoncus tristique, pede orci varius magna, at semper dui dolor sed orci. Praesent egestas lacinia pede. Morbi nec sapien. Phasellus et turpis a massa placerat ultricies. Cras et wisi. Mauris quis elit dictum mauris pellentesque iaculis. Vivamus sem sapien, posuere ac, suscipit eu, luctus nec, velit. Pellentesque vel purus. Integer bibendum, purus eget laoreet imperdiet, odio purus laoreet purus, id pretium mi dolor ut nulla. Proin eu felis.
+
+Aenean vel augue. Duis condimentum imperdiet enim. Vestibulum sollicitudin urna ultrices sapien. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos hymenaeos. Curabitur in ligula. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nunc sit amet ligula. Sed justo sem, luctus nec, ornare non, laoreet quis, odio. Sed nonummy mauris id nisl. Donec sapien est, imperdiet eget, vestibulum at, cursus nec, velit. Etiam felis ipsum, aliquam at, commodo eget, malesuada non, wisi. Aliquam erat volutpat.
+
+Ut lacus turpis, semper et, aliquam eget, venenatis et, magna. Suspendisse potenti. Sed adipiscing, purus eu vulputate aliquam, sapien ante condimentum turpis, at molestie arcu ante sit amet lectus. Cras viverra mollis sem. In hac habitasse platea dictumst. In hac habitasse platea dictumst. Sed sed mauris ac massa pretium ultricies. Etiam auctor leo eu nunc. Donec aliquet tempor est. Nullam sodales tristique neque. Quisque in dolor quis orci porttitor pulvinar. Sed ante neque, porta at, congue vel, tristique gravida, dui. Sed pulvinar, tortor ut gravida dictum, sem sem tincidunt magna, vel eleifend ipsum sapien a nibh. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Cras ornare mauris ut mi.
+
+Cras in odio vel elit sollicitudin sagittis. Quisque consectetuer facilisis risus. Donec dictum. Suspendisse nunc sapien, lacinia at, fermentum nec, semper at, wisi. Cras ullamcorper condimentum enim. Phasellus sed urna. Duis wisi. Vivamus vel ante vel purus feugiat viverra. Donec dui mauris, vestibulum id, venenatis at, rhoncus ut, dui. Fusce ornare, felis eu tincidunt scelerisque, nibh mi scelerisque nunc, vitae facilisis magna leo vel velit. Suspendisse euismod ligula vitae wisi. In aliquam, metus ac interdum elementum, sem wisi posuere mauris, non facilisis arcu dui nec libero. In porttitor dapibus ante. Vivamus quis velit. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.
+
+Aenean quis eros ut sem ullamcorper vestibulum. Quisque eu enim. Proin dolor dui, pellentesque eleifend, cursus sit amet, scelerisque posuere, lacus. Aenean ante elit, elementum et, varius ut, condimentum ut, sem. Integer suscipit. Maecenas semper tempor neque. In risus. Pellentesque justo nisl, tempor et, fringilla quis, varius et, elit. Donec mauris felis, vulputate vulputate, vulputate sed, fermentum nec, purus. Donec dapibus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut justo. In hac habitasse platea dictumst. Mauris vel metus nec ante vestibulum tincidunt. Mauris risus neque, tempor et, hendrerit eu, rhoncus eget, massa. Aenean at ante. Ut erat. Quisque mi.
+
+Cras ipsum odio, sodales quis, molestie ultricies, pharetra a, ipsum. Donec condimentum fringilla velit. Phasellus laoreet lacus quis nunc. In rhoncus bibendum odio. Integer placerat. Aliquam erat tortor, dapibus vitae, vehicula vel, cursus eu, risus. Etiam vulputate iaculis dui. Curabitur sed nisl. Fusce interdum. Phasellus pharetra. Quisque euismod, massa at aliquam dignissim, massa pede aliquam libero, at tristique neque leo vitae est. Duis quis felis luctus libero pellentesque bibendum. Duis ut nunc. Nunc vel justo. Integer gravida. Donec wisi quam, mattis a, luctus vitae, tempor et, est. Vestibulum ullamcorper, risus sit amet scelerisque ultrices, lorem eros sodales erat, sit amet facilisis libero sapien non velit.
+
+Integer nulla purus, varius at, mollis sit amet, consectetuer commodo, felis. Nullam massa neque, semper eu, egestas nec, dictum ultrices, nibh. Phasellus lectus velit, molestie nec, convallis vel, commodo eu, mauris. Ut pede risus, accumsan id, sodales in, pellentesque posuere, nunc. Vivamus placerat, eros in tincidunt hendrerit, enim ante gravida est, quis vehicula orci odio ac mauris. Pellentesque ultrices. Pellentesque at lacus. Cras quis elit. Sed eu diam et lacus vulputate consectetuer. Fusce molestie sem sed ante. Sed quis lectus convallis metus scelerisque lobortis. Nam vitae enim ac sem interdum varius. Suspendisse a metus vel dui pretium elementum. Mauris accumsan erat sed dui.
+
+Mauris sit amet tortor. Integer vehicula ante quis purus. Vivamus at tellus. In hac habitasse platea dictumst. Vivamus eget nibh non quam tempor pretium. Sed eleifend odio sed dui. Etiam nec massa eget lorem semper bibendum. Nulla porttitor, orci ut vulputate ultricies, felis arcu facilisis augue, vitae tristique est quam a nulla. Curabitur eget mi a augue scelerisque tincidunt. Duis sapien mauris, porttitor volutpat, pellentesque sodales, cursus eu, justo.