/*
* A CCNx library test.
*
* Copyright (C) 2008, 2009 Palo Alto Research Center, Inc.
*
* This work is free software; you can redistribute it and/or modify it under
* the terms of the GNU General Public License version 2 as published by the
* Free Software Foundation.
* This work is distributed in the hope that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* for more details. You should have received a copy of the GNU General Public
* License along with this program; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301, USA.
*/
package org.ccnx.ccn.test;
import java.io.ByteArrayInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.security.InvalidKeyException;
import java.security.SignatureException;
import java.util.concurrent.Semaphore;
import org.ccnx.ccn.CCNHandle;
import org.ccnx.ccn.impl.support.Log;
import org.ccnx.ccn.io.CCNDescriptor;
import org.ccnx.ccn.profiles.VersioningProfile;
import org.ccnx.ccn.protocol.ContentName;
import org.ccnx.ccn.protocol.MalformedContentNameStringException;
import org.junit.AfterClass;
import org.junit.Assert;
import org.junit.BeforeClass;
/**
* Part of older test infrastructure.
*/
public class BlockReadWriteTest extends BasePutGetTest {
protected static final String fileName = "medium_file.txt";
protected static final int CHUNK_SIZE = 512;
protected Semaphore sema = new Semaphore(0);
@BeforeClass
public static void setUpBeforeClass() throws Exception {
BasePutGetTest.setUpBeforeClass();
// Set debug level: use for more FINE, FINER, FINEST for debug-level tracing
//Library.setLevel(Level.FINEST);
//SystemConfiguration.setDebugFlag("DEBUG_SIGNATURES");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
CCNTestBase.tearDownAfterClass();
}
@Override
public void getResults(ContentName baseName, int count, CCNHandle handle)
throws IOException, InvalidKeyException, SignatureException, InterruptedException {
ContentName thisName = VersioningProfile.addVersion(ContentName.fromNative(baseName, fileName), count);
sema.acquire(); // Block until puts started
CCNDescriptor desc = new CCNDescriptor(thisName, null, handle, false);
desc.setTimeout(5000);
Log.info("Opened descriptor for reading: " + thisName);
FileOutputStream os = new FileOutputStream(_testDir + fileName + "_testout.txt");
byte[] compareBytes = TEST_LONG_CONTENT.getBytes();
byte[] bytes = new byte[compareBytes.length];
int buflen;
int slot = 0;
// if you ask for more data than you can hold, it's an error, even if you
// know that not that much will come back
while ((buflen = desc.read(bytes, slot, Math.min(CHUNK_SIZE * 3, bytes.length - slot))) > 0) {
Log.info("Read " + buflen + " bytes from CCNDescriptor.");
os.write(bytes, 0, (int)buflen);
if (desc.available() == 0) {
Log.info("Descriptor claims 0 bytes available.");
}
slot += buflen;
}
desc.close();
Log.info("Closed CCN reading CCNDescriptor.");
Assert.assertArrayEquals(bytes, compareBytes);
}
/**
* Responsible for calling checkPutResults on each put. (Could return them all in
* a batch then check...)
* @throws InterruptedException
* @throws IOException
* @throws MalformedContentNameStringException
* @throws SignatureException
* @throws InvalidKeyException
*/
@Override
public void doPuts(ContentName baseName, int count, CCNHandle handle)
throws InterruptedException, SignatureException, MalformedContentNameStringException,
IOException, InvalidKeyException {
ContentName thisName = VersioningProfile.addVersion(ContentName.fromNative(baseName, fileName), count);
CCNDescriptor desc = new CCNDescriptor(thisName, null, handle, true);
desc.setTimeout(5000);
sema.release(); // put channel open
Log.info("Opened descriptor for writing: " + thisName);
// Dump the file in small packets
InputStream is = new ByteArrayInputStream(TEST_LONG_CONTENT.getBytes());
byte[] bytes = new byte[CHUNK_SIZE];
int buflen = 0;
while ((buflen = is.read(bytes)) >= 0) {
desc.write(bytes, 0, buflen);
Log.info("Wrote " + buflen + " bytes to CCNDescriptor.");
}
Log.info("Finished writing. Closing CCN writing CCNDescriptor.");
desc.close();
Log.info("Closed CCN writing CCNDescriptor.");
}
@Override
public void testGetServPut() throws Throwable {
System.out.println("NO TEST: PutThread/GetServer");
}
@Override
public void testGetPutServ() throws Throwable {
System.out.println("NO TEST: PutServer/GetThread");
}
protected static final String TEST_CONTENT =
"Four score and seven years ago, our fathers brought forth upon this \n" +
"continent a new nation: conceived in liberty, and dedicated to the \n" +
"proposition that all men are created equal.\n" +
"\n" +
"Now we are engaged in a great civil war. . .testing whether that \n" +
"nation, or any nation so conceived and so dedicated. . . can long \n" +
"endure. We are met on a great battlefield of that war. \n" +
"\n" +
"We have come to dedicate a portion of that field as a final resting \n" +
"place for those who here gave their lives that that nation might \n" +
"live. It is altogether fitting and proper that we should do this. \n" +
"\n" +
"But, in a larger sense, we cannot dedicate. . .we cannot \n" +
"consecrate. . . we cannot hallow this ground. The brave men, living \n" +
"and dead, who struggled here have consecrated it, far above our poor \n" +
"power to add or detract. The world will little note, nor long \n" +
"remember, what we say here, but it can never forget what they did \n" +
"here. \n" +
"\n" +
"It is for us the living, rather, to be dedicated here to the \n" +
"unfinished work which they who fought here have thus far so nobly \n" +
"advanced. It is rather for us to be here dedicated to the great task \n" +
"remaining before us. . .that from these honored dead we take increased \n" +
"devotion to that cause for which they gave the last full measure of \n" +
"devotion. . . that we here highly resolve that these dead shall not \n" +
"have died in vain. . . that this nation, under God, shall have a new \n" +
"birth of freedom. . . and that government of the people. . .by the \n" +
"people. . .for the people. . . shall not perish from the earth. \n" +
"\n";
protected static final String TEST_MEDIUM_CONTENT =
"By the President of the United States of America:\n" +
"\n" +
"A PROCLAMATION\n" +
"\n" +
"Whereas on the 22nd day of September, A.D. 1862, a\n" +
"proclamation was issued by the President of the United\n" +
"States, containing, among other things, the following, to\n" +
"wit:\n" +
"\n" +
"That on the 1st day of January, A.D. 1863, all persons held as\n" +
"slaves within any State or designated part of a State the people\n" +
"whereof shall then be in rebellion against the United States shall\n" +
"be then, thenceforward, and forever free; and the executive\n" +
"government of the United States, including the military and naval\n" +
"authority thereof, will recognize and maintain the freedom of such\n" +
"persons and will do no act or acts to repress such persons, or any\n" +
"of them, in any efforts they may make for their actual freedom.\n" +
"\n" +
"That the executive will on the 1st day of January aforesaid, by\n" +
"proclamation, designate the States and parts of States, if any, in\n" +
"which the people thereof, respectively, shall then be in rebellion\n" +
"against the United States; and the fact that any State or the people\n" +
"thereof shall on that day be in good faith represented in the Congress\n" +
"of the United States by members chosen thereto at elections wherein a\n" +
"majority of the qualified voters of such States shall have\n" +
"participated shall, in the absence of strong countervailing testimony,\n" +
"be deemed conclusive evidence that such State and the people thereof\n" +
"are not then in rebellion against the United States.\n" +
"\n" +
"Now, therefore, I, Abraham Lincoln, President of the United\n" +
"States, by virtue of the power in me vested as Commander-In-Chief\n" +
"of the Army and Navy of the United States in time of actual armed\n" +
"rebellion against the authority and government of the United\n" +
"States, and as a fit and necessary war measure for supressing said\n" +
"rebellion, do, on this 1st day of January, A.D. 1863, and in\n" +
"accordance with my purpose so to do, publicly proclaimed for the\n" +
"full period of one hundred days from the first day above\n" +
"mentioned, order and designate as the States and parts of States\n" +
"wherein the people thereof, respectively, are this day in\n" +
"rebellion against the United States the following, to wit:\n" +
"\n" +
"Arkansas, Texas, Louisiana (except the parishes of St. Bernard,\n" +
"Palquemines, Jefferson, St. John, St. Charles, St. James,\n" +
"Ascension, Assumption, Terrebone, Lafourche, St. Mary, St. Martin,\n" +
"and Orleans, including the city of New Orleans), Mississippi,\n" +
"Alabama, Florida, Georgia, South Carolina, North Carolina, and\n" +
"Virginia (except the forty-eight counties designated as West\n" +
"Virginia, and also the counties of Berkeley, Accomac,\n" +
"Morthhampton, Elizabeth City, York, Princess Anne, and Norfolk,\n" +
"including the cities of Norfolk and Portsmouth), and which\n" +
"excepted parts are for the present left precisely as if this\n" +
"proclamation were not issued.\n" +
"\n" +
"And by virtue of the power and for the purpose aforesaid, I do\n" +
"order and declare that all persons held as slaves within said\n" +
"designated States and parts of States are, and henceforward shall\n" +
"be, free; and that the Executive Government of the United States,\n" +
"including the military and naval authorities thereof, will\n" +
"recognize and maintain the freedom of said persons.\n" +
"\n" +
"And I hereby enjoin upon the people so declared to be free to\n" +
"abstain from all violence, unless in necessary self-defence; and I\n" +
"recommend to them that, in all case when allowed, they labor\n" +
"faithfully for reasonable wages.\n" +
"\n" +
"And I further declare and make known that such persons of\n" +
"suitable condition will be received into the armed service of\n" +
"the United States to garrison forts, positions, stations, and\n" +
"other places, and to man vessels of all sorts in said\n" +
"service.\n" +
"\n" +
"And upon this act, sincerely believed to be an act of\n" +
"justice, warranted by the Constitution upon military\n" +
"necessity, I invoke the considerate judgment of mankind and\n" +
"the gracious favor of Almighty God.\n";
protected static final String TEST_LOREM_IPSUM_CONTENT =
"Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nulla eu\n" +
"leo. Mauris lacus. Sed facilisis placerat elit. Donec enim magna,\n" +
"interdum vel, aliquam non, iaculis ac, ligula. Aenean elit orci,\n" +
"rhoncus molestie, sagittis vitae, tempor nec, purus. Donec\n" +
"blandit. Sed fermentum, orci sed faucibus sodales, sem erat convallis\n" +
"lorem, sed tempus lorem ligula ut nunc. Fusce felis massa, ornare vel,\n" +
"pellentesque sit amet, bibendum a, urna. Pellentesque lectus. Mauris\n" +
"massa. Sed malesuada lacus eget mauris. Nulla scelerisque. Sed vitae\n" +
"sem sed neque fringilla egestas. Cum sociis natoque penatibus et\n" +
"magnis dis parturient montes, nascetur ridiculus mus. Vivamus felis\n" +
"nunc, egestas in, euismod sed, aliquet auctor, nisi.\n" +
"\n" +
"Maecenas quis velit id enim sagittis cursus. Phasellus luctus. Aliquam\n" +
"ultrices. Aenean suscipit tristique tortor. Duis lectus velit,\n" +
"scelerisque nec, dictum blandit, porttitor ac, libero. Etiam nisi\n" +
"arcu, rutrum sit amet, tincidunt scelerisque, accumsan a,\n" +
"risus. Vestibulum posuere elementum est. Nunc nec ligula non mi\n" +
"tincidunt imperdiet. Pellentesque cursus suscipit sem. Nullam eget est\n" +
"ut velit volutpat commodo. Nam augue risus, tempus eget, placerat non,\n" +
"porta id, odio. Curabitur dui arcu, aliquam ac, fringilla id, aliquet\n" +
"ac, quam. Aliquam ac diam vel odio pretium consequat.\n" +
"\n" +
"Quisque magna mi, egestas a, lacinia vitae, tristique id, augue. Ut\n" +
"sem ipsum, accumsan non, dictum non, egestas ac, dolor. Phasellus\n" +
"ornare aliquet purus. Cras fermentum sem ut lacus. Sed tempor. Sed\n" +
"viverra tincidunt orci. Ut nunc ante, dapibus non, pulvinar ac, porta\n" +
"bibendum, neque. Sed vehicula feugiat nibh. Nulla facilisi. Proin\n" +
"convallis. Nunc accumsan diam ut nisi.\n" +
"\n" +
"Nulla tristique est eget nisl. Donec erat mauris, bibendum in, varius\n" +
"in, varius sed, nunc. Aliquam vitae est eu massa posuere pretium. Duis\n" +
"leo enim, eleifend at, gravida quis, gravida ac, purus. Vivamus a\n" +
"lacus. Praesent placerat auctor magna. Proin eget purus ac urna\n" +
"bibendum posuere. Duis ornare. Sed scelerisque dolor vitae\n" +
"dolor. Vivamus dignissim. Nullam est. Maecenas sollicitudin faucibus\n" +
"eros. Nunc a tellus vitae urna vestibulum congue.\n" +
"\n" +
"Pellentesque adipiscing imperdiet est. Sed odio est, aliquet at,\n" +
"sollicitudin sit amet, vestibulum nec, nisi. Morbi scelerisque\n" +
"pellentesque est. Pellentesque nec urna. Nullam semper ante eget\n" +
"ligula. Mauris ligula. Nulla risus quam, aliquam sit amet, aliquam\n" +
"quis, condimentum sed, lorem. Nulla vel risus. Sed nec\n" +
"sapien. Pellentesque elementum. Vestibulum tempus. Fusce congue lacus\n" +
"nec purus. Aenean dui eros, vehicula vitae, ultricies in, egestas\n" +
"suscipit, nibh. Quisque feugiat est et sapien ornare vehicula. Nulla\n" +
"lobortis, nisl sed consectetuer iaculis, magna ante pretium massa, vel\n" +
"facilisis nisi tellus nec augue. Curabitur sit amet leo ac felis\n" +
"convallis congue. Donec libero sem, pulvinar nec, sagittis sit amet,\n" +
"dictum eget, leo. Suspendisse imperdiet ante eu nibh. Nulla sem.\n" +
"\n" +
"Sed imperdiet blandit arcu. Vivamus eget velit nec magna volutpat\n" +
"condimentum. Ut pellentesque elit in arcu. Aliquam faucibus purus a\n" +
"quam. Aliquam erat volutpat. Duis a libero. Sed pede neque, adipiscing\n" +
"vel, dictum sit amet, rhoncus sed, sem. Phasellus vel est a leo\n" +
"pharetra aliquam. Sed vestibulum. In accumsan est nec\n" +
"tortor. Suspendisse gravida, enim ut tempus imperdiet, ligula dui\n" +
"mollis risus, id hendrerit erat risus sit amet lectus. Morbi vitae\n" +
"est. Nullam fringilla porta ipsum. Curabitur tincidunt felis vel\n" +
"sapien. Cras nibh enim, faucibus nec, feugiat sed, sodales id,\n" +
"nunc. Pellentesque lacus quam, commodo nec, tristique eget, tempor\n" +
"nec, urna. Praesent gravida nisi eu dui.\n" +
"\n" +
"Aenean porta. Phasellus aliquam semper lectus. Nullam porttitor. Duis\n" +
"ipsum mi, malesuada non, condimentum sit amet, dapibus eu, dui. Duis\n" +
"luctus, felis ut malesuada posuere, lorem enim interdum tellus, vel\n" +
"facilisis quam urna in pede. Proin suscipit tortor ac justo. Nullam\n" +
"sem erat, adipiscing eget, molestie eu, convallis ac, ipsum. Cras eu\n" +
"nisl sollicitudin libero vulputate vehicula. Vestibulum commodo est eu\n" +
"risus. Aliquam sit amet arcu. Donec cursus volutpat libero. Donec\n" +
"tempus sem in neque. Aenean diam. Nunc rutrum diam eu purus. Proin\n" +
"vitae dui. Quisque enim erat, vehicula ut, porta eu, luctus vitae,\n" +
"est.\n" +
"\n" +
"Duis purus. Vivamus nec sapien vitae ligula varius mattis. Etiam arcu\n" +
"mauris, commodo id, rutrum sit amet, accumsan sit amet, augue. Proin\n" +
"sit amet purus. Quisque tempor. Vestibulum commodo neque. Etiam\n" +
"massa. In nibh arcu, tincidunt sed, faucibus eget, accumsan eget,\n" +
"tortor. Proin suscipit neque ac magna. Donec venenatis nulla a\n" +
"lorem. Phasellus sodales. Donec feugiat lacus. Donec mauris.\n" +
"\n" +
"Praesent id orci quis ante mattis congue. Mauris varius interdum\n" +
"urna. Duis id elit id lacus ornare bibendum. Vivamus lacus lacus,\n" +
"vulputate et, mattis ut, tempor a, nunc. Aliquam commodo feugiat\n" +
"quam. Curabitur sit amet elit. Fusce vehicula lacus id nisl. Donec\n" +
"lorem dui, rhoncus sed, feugiat sit amet, tempus nec, turpis. Aliquam\n" +
"sodales. Duis tristique magna sit amet elit. Mauris mauris. Phasellus\n" +
"dui massa, porttitor bibendum, lobortis sollicitudin, accumsan nec,\n" +
"eros. Nullam egestas enim a sem hendrerit auctor. Sed nunc mauris,\n" +
"laoreet ac, mollis vel, auctor in, sapien. Fusce sollicitudin placerat\n" +
"ante. Maecenas ut tortor. Aliquam gravida tincidunt odio. Pellentesque\n" +
"habitant morbi tristique senectus et netus et malesuada fames ac\n" +
"turpis egestas. Nunc placerat metus a neque.\n" +
"\n" +
"Curabitur pellentesque tincidunt est. Mauris lacinia nisl eget\n" +
"velit. Cras feugiat quam non magna. Vestibulum posuere. Pellentesque\n" +
"suscipit, ante a aliquet rhoncus, velit velit accumsan ipsum, nec\n" +
"iaculis mi velit eu mauris. Proin congue gravida mi. Duis nulla lacus,\n" +
"fringilla a, porta sed, tempor sed, elit. Donec bibendum. Vestibulum\n" +
"nec erat sit amet turpis pretium eleifend. Vestibulum vitae neque eu\n" +
"risus tincidunt ultrices. In est erat, rhoncus in, posuere vel,\n" +
"blandit a, nisl. Sed ornare. Sed convallis, lacus quis iaculis\n" +
"adipiscing, tellus urna molestie augue, eget tristique ipsum dolor sed\n" +
"dui. In non diam in eros vulputate ultricies. In hac habitasse platea\n" +
"dictumst. Nullam viverra pede tempor orci. Cras venenatis pede. Mauris\n" +
"dapibus. Sed faucibus sem nec leo. Donec id quam.\n" +
"\n" +
"Mauris vehicula dui at nulla. Donec orci. Donec ut tellus. Integer\n" +
"luctus metus eu urna. Class aptent taciti sociosqu ad litora torquent\n" +
"per conubia nostra, per inceptos himenaeos. Sed arcu justo, bibendum\n" +
"eu, gravida vel, condimentum non, erat. Sed urna leo, ullamcorper\n" +
"eget, sodales sed, fringilla vitae, massa. Cras ut purus. Aenean sit\n" +
"amet dui vel tellus iaculis adipiscing. Praesent sodales tempus\n" +
"diam. Maecenas aliquam, ligula et sollicitudin auctor, lectus augue\n" +
"pulvinar magna, ut fermentum metus risus non nulla. Quisque\n" +
"accumsan. Pellentesque nibh est, tincidunt a, blandit nec, interdum\n" +
"quis, lacus. Ut imperdiet elementum mauris. Cras eu nunc a augue\n" +
"varius venenatis. Curabitur vestibulum vulputate ligula.\n" +
"\n" +
"Nullam ultricies. Proin vitae lorem nec magna congue bibendum. Sed ut\n" +
"dui ac orci gravida suscipit. Maecenas arcu. Proin sed\n" +
"nunc. Suspendisse at dolor imperdiet magna iaculis elementum. Cras\n" +
"vehicula, quam vitae rutrum mattis, quam purus facilisis enim, vitae\n" +
"tristique augue purus vel turpis. Donec consectetuer, odio at\n" +
"pellentesque eleifend, risus est vestibulum leo, sed pharetra velit\n" +
"mauris a arcu. Proin iaculis sodales arcu. Pellentesque leo. Proin\n" +
"tincidunt, magna eu egestas gravida, felis metus venenatis turpis, sed\n" +
"lobortis libero purus sed mi. Fusce justo urna, varius at, dapibus at,\n" +
"ultricies ut, dui. Sed ut risus. Integer mattis. Vestibulum\n" +
"felis. Suspendisse nibh nulla, consequat varius, convallis vel,\n" +
"fringilla lacinia, leo. Etiam ullamcorper viverra purus. Mauris tellus\n" +
"mauris, vulputate vel, suscipit non, auctor eu, urna. Pellentesque\n" +
"laoreet, diam sed pharetra aliquet, purus nibh mattis pede, quis\n" +
"fermentum neque augue sit amet diam. Morbi pede.\n" +
"\n" +
"Proin nulla libero, tincidunt eget, suscipit at, malesuada nec,\n" +
"lacus. Proin varius, nibh in vehicula porta, purus massa auctor nisl,\n" +
"non luctus mi nibh ut augue. Aenean nisi justo, mattis et, luctus\n" +
"eget, fermentum sed, lorem. Pellentesque habitant morbi tristique\n" +
"senectus et netus et malesuada fames ac turpis egestas. Vestibulum\n" +
"odio sapien, faucibus sed, convallis et, fermentum eget, risus. Nullam\n" +
"orci nibh, venenatis et, elementum ac, pulvinar a, urna. Phasellus in\n" +
"turpis. Donec molestie gravida mi. Praesent sollicitudin sapien non\n" +
"sapien. Etiam quam massa, mattis nec, volutpat consequat, lobortis eu,\n" +
"neque. Morbi mollis congue metus. In vitae erat. Proin aliquam lacus\n" +
"ac elit. Class aptent taciti sociosqu ad litora torquent per conubia\n" +
"nostra, per inceptos himenaeos. Donec in pede ac diam aliquam\n" +
"venenatis. Suspendisse ut risus. Nunc nec dolor nec dolor eleifend\n" +
"ultricies. Nullam sollicitudin porttitor magna.\n" +
"\n" +
"Mauris quam risus, posuere vitae, dignissim vitae, congue ac,\n" +
"augue. Vivamus bibendum. Proin condimentum aliquam orci. Etiam quis\n" +
"eros nec sem accumsan luctus. Pellentesque habitant morbi tristique\n" +
"senectus et netus et malesuada fames ac turpis egestas. Praesent\n" +
"nisi. Aliquam fermentum gravida quam. Nullam a felis eu quam vehicula\n" +
"volutpat. Suspendisse ornare est ac nulla. Mauris lacus massa,\n" +
"pharetra a, commodo quis, sagittis sit amet, lorem. Sed semper cursus\n" +
"neque. Mauris ac enim. Curabitur porta, elit at molestie gravida,\n" +
"tortor metus tincidunt lacus, nec suscipit neque odio a nisi. Aenean\n" +
"nisi ipsum, varius tempus, sollicitudin at, vestibulum ac,\n" +
"mauris. Pellentesque habitant morbi tristique senectus et netus et\n" +
"malesuada fames ac turpis egestas. Suspendisse luctus odio vitae\n" +
"enim. Nunc libero nibh, tristique id, mollis id, lacinia sit amet, mi.\n" +
"\n" +
"Vestibulum faucibus, metus vitae sollicitudin consequat, sapien enim\n" +
"eleifend libero, a mattis velit neque a magna. Phasellus tellus mi,\n" +
"fermentum quis, posuere vitae, aliquet elementum, risus. Morbi\n" +
"nisi. Integer purus magna, vehicula sed, tempor et, suscipit at,\n" +
"nisi. Pellentesque laoreet pede quis ligula. Nunc at arcu. Suspendisse\n" +
"ac lacus. Maecenas sit amet augue. Morbi vitae quam scelerisque dui\n" +
"cursus ullamcorper. Mauris nec ipsum pharetra est tristique\n" +
"interdum. Pellentesque non nisl. Mauris imperdiet felis ut\n" +
"odio. Pellentesque ac urna at elit sagittis sodales. Morbi et enim sed\n" +
"ligula rhoncus imperdiet. Ut suscipit mi vel metus. Proin id quam at\n" +
"justo sollicitudin sollicitudin. Cum sociis natoque penatibus et\n" +
"magnis dis parturient montes, nascetur ridiculus mus. In vel augue.\n" +
"\n" +
"Pellentesque massa. Nam eget urna eu lectus dictum eleifend. Fusce\n" +
"sagittis. Fusce ac neque. Maecenas pellentesque accumsan est. Quisque\n" +
"viverra, sem at pellentesque consectetuer, tortor lacus scelerisque\n" +
"enim, et interdum leo velit at neque. Sed pharetra. In sed dolor non\n" +
"sem faucibus consequat. Maecenas neque tortor, rhoncus eget, tristique\n" +
"sit amet, sagittis egestas, lorem. Cum sociis natoque penatibus et\n" +
"magnis dis parturient montes, nascetur ridiculus mus. Sed nec mi.\n" +
"\n" +
"Suspendisse sed augue. Lorem ipsum dolor sit amet, consectetuer\n" +
"adipiscing elit. Mauris vulputate mattis dui. Sed mollis condimentum\n" +
"urna. Morbi vehicula rhoncus dolor. Nulla facilisi. Sed eget purus nec\n" +
"turpis dignissim interdum. Nulla pulvinar tellus nec tellus convallis\n" +
"sodales. Lorem ipsum dolor sit amet, consectetuer adipiscing\n" +
"elit. Proin euismod, nisl in consectetuer congue, est ligula\n" +
"condimentum pede, id imperdiet ipsum est et sapien. Proin tellus\n" +
"nulla, ultrices at, porta ac, ullamcorper non, ipsum. Vestibulum\n" +
"convallis ligula nec lectus. Cras vel neque. Mauris velit lectus,\n" +
"luctus nec, mollis sit amet, facilisis ac, mi. Aenean interdum. Cras\n" +
"odio eros, imperdiet at, fermentum eget, dapibus eu, odio. Ut id\n" +
"lacus. Maecenas posuere est nec libero. Aenean aliquet turpis ut nunc.\n" +
"\n" +
"Nam semper quam eget dolor fringilla sodales. Etiam sed dui. Fusce\n" +
"quis arcu ac sapien fermentum commodo. Etiam leo lectus, hendrerit a,\n" +
"adipiscing non, sagittis at, velit. In diam. Curabitur porttitor\n" +
"egestas velit. Fusce cursus. Morbi quis felis a nibh placerat\n" +
"consequat. Suspendisse magna neque, ullamcorper vitae, faucibus ut,\n" +
"molestie ac, purus. Ut et ipsum in metus dignissim elementum. Aliquam\n" +
"lacus diam, tempor id, viverra in, placerat ac, ligula. Praesent quam\n" +
"turpis, lobortis at, vestibulum rutrum, semper a, orci. In viverra\n" +
"justo id nisl. Quisque non enim. Curabitur magna. Mauris mauris\n" +
"sapien, hendrerit at, hendrerit gravida, iaculis ac, dolor. Aliquam\n" +
"eget mauris. Donec in pede id tellus pulvinar dapibus.\n" +
"\n" +
"Duis blandit, diam at interdum imperdiet, risus nisi vestibulum leo,\n" +
"sed mollis velit eros porta libero. Cras dictum, nulla non dapibus\n" +
"pulvinar, lacus nulla condimentum massa, sed mollis orci mauris quis\n" +
"dolor. Nunc interdum est sed eros laoreet convallis. Class aptent\n" +
"taciti sociosqu ad litora torquent per conubia nostra, per inceptos\n" +
"himenaeos. Nam id pede ac tortor consectetuer interdum. Maecenas nisi\n" +
"mi, eleifend at, dignissim id, ultrices scelerisque, nunc. Aliquam nec\n" +
"mi. Cras mollis commodo odio. Vivamus lectus ipsum, semper quis,\n" +
"eleifend sed, elementum nec, risus. Maecenas venenatis, dui eu\n" +
"dignissim consequat, dui nisi viverra erat, vitae laoreet metus ante\n" +
"eget lectus. Donec ultrices suscipit risus. Aliquam imperdiet, libero\n" +
"ac tincidunt auctor, orci metus pretium risus, sit amet semper quam\n" +
"est a nisi. Phasellus varius viverra leo. Pellentesque habitant morbi\n" +
"tristique senectus et netus et malesuada fames ac turpis\n" +
"egestas. Integer laoreet, arcu nec dictum mattis, ipsum tortor luctus\n" +
"velit, tincidunt faucibus mi neque in neque. Phasellus ornare nunc vel\n" +
"lectus.\n" +
"\n" +
"Curabitur nec nisi eget odio pretium congue. Praesent pulvinar, quam\n" +
"eu molestie sagittis, ante arcu mattis justo, quis viverra quam urna\n" +
"eget est. Sed interdum consectetuer arcu. Etiam ultricies varius\n" +
"ante. Integer scelerisque neque vel augue. Proin sollicitudin, enim\n" +
"vitae ornare volutpat, diam urna rutrum lectus, at dignissim neque\n" +
"lacus imperdiet leo. Pellentesque habitant morbi tristique senectus et\n" +
"netus et malesuada fames ac turpis egestas. Mauris nec tellus ut odio\n" +
"ultricies vehicula. Donec volutpat, erat vel ornare varius, arcu nisl\n" +
"vehicula orci, posuere mattis mi dui vitae nibh. Vivamus sit amet\n" +
"risus nec enim vulputate malesuada. Phasellus in sem. Sed accumsan\n" +
"adipiscing sem. Maecenas cursus consectetuer mauris. Vestibulum ut est\n" +
"in arcu tincidunt sodales. Nam at justo ultrices ligula condimentum\n" +
"elementum. Mauris ipsum erat, commodo a, aliquam at, laoreet in,\n" +
"tortor. Praesent faucibus. Suspendisse mattis dui ac lacus. Ut viverra\n" +
"fermentum orci. Nulla sit amet felis non neque laoreet mattis.\n" +
"\n" +
"Duis tempus volutpat libero. Nunc metus elit, dapibus vel, cursus vel,\n" +
"adipiscing vitae, justo. Curabitur placerat, dolor ac lobortis\n" +
"egestas, libero velit tincidunt ipsum, nec interdum purus felis non\n" +
"elit. Morbi vel risus eget urna congue aliquet. Donec ac nunc in\n" +
"tortor sodales porttitor. Nunc gravida feugiat eros. Nullam\n" +
"tortor. Proin accumsan mauris vel eros. Sed quis tortor. Ut rhoncus\n" +
"lobortis pede. Nulla facilisi. Mauris non purus sed lacus hendrerit\n" +
"volutpat. Donec aliquam, mi ut blandit aliquam, quam nisi mollis enim,\n" +
"in porttitor ligula elit eget lacus. Nulla facilisi. Integer porta\n" +
"justo et ante. Nam dui tellus, sagittis eu, mollis sit amet, vulputate\n" +
"vel, nisi.\n" +
"\n" +
"Suspendisse potenti. Nulla sit amet nibh id orci porta mattis. Nulla\n" +
"iaculis nunc id eros. Donec odio ipsum, eleifend iaculis, molestie\n" +
"vel, pretium eget, metus. Sed sed tortor ac magna pulvinar\n" +
"dignissim. Morbi blandit. Proin pulvinar. Nulla erat magna, convallis\n" +
"pellentesque, semper a, suscipit in, arcu. Proin odio felis, porta\n" +
"vitae, lacinia eu, mattis vitae, elit. Pellentesque at ipsum. Donec\n" +
"eget lectus eget metus pulvinar dignissim. Maecenas tempus nisl eget\n" +
"dolor. Quisque pharetra enim nec dolor dapibus volutpat. Nulla\n" +
"facilisi. Phasellus mauris nisl, pellentesque bibendum, luctus eget,\n" +
"semper at, leo. Quisque turpis. Vestibulum eget augue.\n" +
"\n" +
"Phasellus tincidunt ullamcorper orci. In vel urna vel dui tempus\n" +
"faucibus. Duis accumsan purus eu ipsum. Maecenas varius tempus mi. Nam\n" +
"a tellus. Etiam ultrices sem a justo. Class aptent taciti sociosqu ad\n" +
"litora torquent per conubia nostra, per inceptos himenaeos. Donec\n" +
"malesuada sagittis nulla. In a mauris at mi consectetuer\n" +
"pellentesque. Mauris gravida. Cras eget sem. Aenean ornare orci.\n" +
"\n" +
"Sed congue, eros sed feugiat ultricies, tortor ante mattis enim,\n" +
"facilisis pharetra diam nisl eu erat. Nullam lorem sapien, eleifend\n" +
"porttitor, accumsan et, suscipit eget, nulla. Phasellus posuere purus\n" +
"sit amet turpis. In et orci. Fusce risus. Proin egestas, risus at\n" +
"sagittis eleifend, dolor ipsum condimentum justo, sit amet commodo\n" +
"nulla velit a nibh. Aliquam elit. Vestibulum ante ipsum primis in\n" +
"faucibus orci luctus et ultrices posuere cubilia Curae; In hac\n" +
"habitasse platea dictumst. Morbi lacus. Sed elit diam, tincidunt eget,\n" +
"cursus vel, viverra ut, sapien. Sed blandit luctus sapien. Maecenas\n" +
"metus. Etiam in justo ac urna bibendum gravida. Morbi ante arcu,\n" +
"pellentesque ut, semper id, commodo et, purus. Cras vel ipsum. Proin\n" +
"egestas mauris gravida diam. Cras dapibus placerat augue. Aliquam\n" +
"congue urna sit amet odio. Praesent eros.\n" +
"\n" +
"Curabitur fringilla viverra felis. Nam enim diam, euismod ut, commodo\n" +
"ac, semper at, erat. Aliquam tellus turpis, molestie et, aliquet nec,\n" +
"laoreet ac, leo. Morbi rutrum. Integer commodo, libero at ullamcorper\n" +
"dictum, lorem pede ultrices dui, sit amet iaculis ante nisl vitae\n" +
"leo. Quisque aliquam pulvinar lectus. Maecenas purus lacus, iaculis\n" +
"nec, accumsan non, viverra a, turpis. Pellentesque laoreet leo id\n" +
"risus. Nunc pharetra posuere tellus. Cras ligula dui, faucibus\n" +
"volutpat, ultrices quis, faucibus vitae, dui.\n" +
"\n" +
"Vestibulum ullamcorper facilisis odio. Donec et enim. Nunc suscipit\n" +
"purus sed magna faucibus placerat. Aenean molestie. Vestibulum\n" +
"consectetuer sem non arcu. Morbi est lorem, posuere et, imperdiet vel,\n" +
"semper ut, velit. Praesent lacinia. Morbi mollis feugiat\n" +
"velit. Maecenas fermentum cursus orci. Suspendisse aliquet augue id\n" +
"elit.\n" +
"\n" +
"Ut lacinia lectus mollis quam molestie fermentum. Aenean dolor nisl,\n" +
"vehicula lobortis, faucibus venenatis, scelerisque pellentesque,\n" +
"mi. Donec massa. Aliquam faucibus vehicula est. Aliquam erat\n" +
"volutpat. Praesent quam orci, molestie in, tempor at, vestibulum nec,\n" +
"tortor. Proin lacus nulla, venenatis quis, vulputate id, placerat ac,\n" +
"felis. Sed turpis nulla, auctor sed, mollis nec, sodales sit amet,\n" +
"nulla. Vestibulum semper dictum nunc. Phasellus consequat adipiscing\n" +
"risus. Suspendisse ut arcu. Aliquam interdum dui pretium neque. Nam\n" +
"ultrices, turpis in venenatis elementum, est purus tincidunt augue,\n" +
"sit amet rhoncus erat felis ac leo. Sed eget tellus. Pellentesque\n" +
"dictum. Phasellus vitae urna. Lorem ipsum dolor sit amet, consectetuer\n" +
"adipiscing elit. Integer bibendum iaculis tellus.\n" +
"\n" +
"Aliquam ante tellus, venenatis ac, semper in, gravida in, augue. In at\n" +
"lacus sit amet elit laoreet feugiat. In sapien nisi, molestie at,\n" +
"molestie ac, aliquam nec, nibh. Vestibulum ante ipsum primis in\n" +
"faucibus orci luctus et ultrices posuere cubilia Curae; Mauris eu\n" +
"lectus ac turpis eleifend sagittis. Mauris luctus velit sit amet\n" +
"dui. Duis mollis ligula in mi. Curabitur enim. In dignissim pulvinar\n" +
"lectus. Pellentesque scelerisque eros et magna. Curabitur mattis dolor\n" +
"non quam. Ut scelerisque enim vitae turpis. Nulla malesuada metus id\n" +
"metus.\n" +
"\n" +
"Aenean congue massa non purus. Maecenas consectetuer odio ut\n" +
"lacus. Aliquam erat volutpat. Nam aliquet. Pellentesque iaculis\n" +
"tincidunt ipsum. Sed in ante. Suspendisse bibendum convallis\n" +
"felis. Pellentesque risus purus, vulputate at, bibendum in, ultricies\n" +
"id, pede. Sed mattis mauris vel elit. Suspendisse faucibus faucibus\n" +
"ante. Nullam risus eros, vestibulum et, vehicula eget, ullamcorper\n" +
"quis, mauris. Duis aliquet vestibulum justo. Morbi ultrices, tortor id\n" +
"euismod fringilla, metus tellus convallis risus, at ultrices augue\n" +
"magna at dui. Maecenas interdum auctor eros. Aenean pretium. Donec\n" +
"tempus, pede at ornare vulputate, diam justo sagittis nulla, eget\n" +
"faucibus justo elit quis metus. Mauris nec elit at nisi fringilla\n" +
"interdum.\n" +
"\n" +
"Nunc egestas egestas odio. Proin feugiat auctor mi. In id nulla. Donec\n" +
"quis turpis sit amet dolor sodales interdum. Nunc non mauris eu dolor\n" +
"dignissim varius. Integer ut lectus ac erat interdum hendrerit. Sed\n" +
"rhoncus. Nulla ac turpis. Aliquam quis sem quis felis eleifend\n" +
"vestibulum. Curabitur ipsum lectus, porta non, vulputate quis,\n" +
"facilisis in, nulla. Suspendisse potenti. Donec quis odio. Quisque\n" +
"fringilla consequat diam. Donec vitae ligula consequat odio porta\n" +
"vulputate.\n" +
"\n" +
"Etiam a orci. Lorem ipsum dolor sit amet, consectetuer adipiscing\n" +
"elit. Aliquam erat volutpat. Quisque non sapien. Aliquam tempor\n" +
"ultricies justo. Nulla risus velit, auctor pharetra, scelerisque sit\n" +
"amet, mollis at, purus. Nam vulputate semper magna. Praesent eu ipsum\n" +
"eu lectus volutpat auctor. Curabitur in neque mollis metus gravida\n" +
"dignissim. Nulla facilisi. Quisque erat velit, molestie quis,\n" +
"adipiscing a, molestie eget, augue. Quisque mollis, nisl eget porta\n" +
"eleifend, lectus leo sollicitudin libero, vel dapibus justo lectus a\n" +
"est. Maecenas a purus. Cras auctor.\n" +
"\n" +
"Curabitur purus libero, malesuada eu, bibendum at, tincidunt in,\n" +
"velit. Donec sit amet velit id libero lacinia faucibus. Phasellus\n" +
"enim. Aenean non nulla. Vivamus cursus. Quisque sapien magna, mattis\n" +
"eu, convallis sit amet, dapibus gravida, sem. Nunc eleifend, libero\n" +
"vitae pretium pretium, nulla quam vehicula est, nec porta turpis odio\n" +
"eu nulla. Sed diam. Nunc sit amet neque. Cras bibendum, eros vel\n" +
"scelerisque commodo, est tortor eleifend orci, id laoreet nibh quam ac\n" +
"risus. Sed id odio eu leo consequat luctus. Proin quis tortor quis\n" +
"quam auctor sodales. Quisque augue. Integer ornare. Duis nulla. Nulla\n" +
"nisi. Nam quis ligula.\n" +
"\n" +
"Etiam purus urna, facilisis sit amet, commodo ac, tincidunt vitae,\n" +
"nulla. Aenean nisi nunc, dictum ac, varius a, lobortis sit amet,\n" +
"magna. Nam luctus. Sed quis nisi. Vivamus commodo, magna id euismod\n" +
"laoreet, tortor lacus commodo orci, in vulputate nunc ligula a\n" +
"augue. Donec nulla purus, ultrices rhoncus, facilisis semper, congue\n" +
"a, arcu. Aenean sem diam, dignissim eu, convallis et, porta sed,\n" +
"metus. Vivamus molestie nisi in diam. Pellentesque auctor faucibus\n" +
"purus. Cras non nisi.\n" +
"\n" +
"Fusce non pede. Praesent blandit, est sed rutrum scelerisque, augue\n" +
"pede aliquam orci, at sagittis ligula nulla et lectus. Praesent\n" +
"aliquet dapibus lacus. Nunc in velit. Aliquam diam. Aenean tincidunt\n" +
"felis vel nibh. Fusce ac est vitae nulla luctus interdum. Aliquam quam\n" +
"nulla, aliquet vel, mollis eu, congue quis, nisl. Vivamus dui. Proin\n" +
"nulla lectus, adipiscing quis, scelerisque non, gravida eget,\n" +
"ante. Nam neque neque, molestie at, convallis id, consequat eu,\n" +
"risus. Nullam vel orci at ligula volutpat tristique. Curabitur nec\n" +
"metus eu nisl rhoncus varius. Praesent viverra. In congue congue\n" +
"ipsum. Sed diam mauris, feugiat consectetuer, lobortis eget, convallis\n" +
"a, nisi. Nulla eu pede. Donec viverra varius turpis. Nullam libero.\n" +
"\n" +
"Morbi eleifend. Duis auctor eros eget mi. Nunc tempor ligula. Maecenas\n" +
"ut sapien ut felis interdum congue. Vestibulum vel arcu ut dolor\n" +
"rhoncus viverra. Nam porttitor, augue eget dignissim tristique, dolor\n" +
"augue bibendum massa, ut tempor arcu arcu non dolor. Praesent feugiat\n" +
"semper mauris. Maecenas augue magna, scelerisque sed, dapibus in,\n" +
"laoreet id, lorem. Nulla nisl. Etiam a odio. Nunc pulvinar lectus sit\n" +
"amet urna. Cras lorem. Nullam ut sapien ut ante vehicula viverra. Cras\n" +
"tortor. Pellentesque viverra. Aliquam ipsum.\n" +
"\n" +
"Fusce convallis nulla. Curabitur at mi non turpis pretium\n" +
"dignissim. Integer non justo. Suspendisse non neque eu velit pulvinar\n" +
"fringilla. Aliquam in lacus. Cras felis metus, euismod et, aliquet at,\n" +
"bibendum semper, nulla. Praesent in erat. Mauris egestas leo luctus\n" +
"nibh. Integer eros eros, semper in, vehicula sit amet, viverra quis,\n" +
"lacus. Morbi congue justo sit amet turpis. Vestibulum gravida tellus\n" +
"eget felis. Praesent et massa. Sed suscipit sagittis elit. Vivamus\n" +
"consectetuer mauris a tellus. Phasellus suscipit lobortis eros. Morbi\n" +
"elementum bibendum nulla. Sed hendrerit felis malesuada mauris. Fusce\n" +
"imperdiet feugiat ante.\n" +
"\n" +
"Etiam ac nisl ut libero tempus tempor. Fusce faucibus lorem et\n" +
"quam. Sed sollicitudin urna in ante. Sed feugiat leo vitae\n" +
"odio. Vivamus lacinia iaculis tellus. Proin sagittis sem. Cum sociis\n" +
"natoque penatibus et magnis dis parturient montes, nascetur ridiculus\n" +
"mus. In hac habitasse platea dictumst. Nulla in diam eu justo\n" +
"pellentesque molestie. Aenean id arcu quis pede facilisis\n" +
"hendrerit. Fusce purus odio, ullamcorper ut, eleifend in, condimentum\n" +
"nec, ipsum. Quisque pellentesque, quam eget semper laoreet, libero\n" +
"augue lacinia elit, sed lacinia nulla velit egestas nisi. Quisque\n" +
"semper. Praesent imperdiet vestibulum ipsum. Nunc erat quam, mollis\n" +
"quis, molestie vitae, imperdiet sit amet, massa. Sed ac ipsum sit amet\n" +
"quam consectetuer semper. Nullam eget ligula. Sed eget quam.\n" +
"\n" +
"Nulla et neque et sem facilisis eleifend. Sed sed turpis. Phasellus mi\n" +
"nisl, cursus eu, placerat ut, accumsan vel, ipsum. Vestibulum ante\n" +
"ipsum primis in faucibus orci luctus et ultrices posuere cubilia\n" +
"Curae; Morbi purus ipsum, elementum sed, hendrerit ac, pellentesque\n" +
"nec, turpis. Etiam dapibus accumsan est. Cras sit amet magna eget eros\n" +
"aliquam adipiscing. Proin pellentesque, libero sit amet consectetuer\n" +
"venenatis, ipsum nisl lacinia nulla, vitae gravida elit mi quis\n" +
"lorem. Aenean erat odio, tempor sed, posuere auctor, fringilla tempor,\n" +
"orci. Sed vehicula dui vitae arcu. Nullam ipsum justo, sodales vitae,\n" +
"pretium sit amet, cursus sed, arcu.\n" +
"\n" +
"Suspendisse potenti. Ut et risus. Nulla eleifend, sem ac vulputate\n" +
"tempus, orci pede blandit dolor, eget venenatis magna libero id\n" +
"tellus. Nam at tortor. Pellentesque et justo. Cras ultrices libero nec\n" +
"libero. Curabitur ornare. Aliquam non libero. Nulla porttitor libero\n" +
"nec orci. Mauris facilisis sapien et arcu. Proin non felis. Integer\n" +
"vitae massa. Pellentesque adipiscing nibh tristique tellus. Cum sociis\n" +
"natoque penatibus et magnis dis parturient montes, nascetur ridiculus\n" +
"mus. Aenean eros libero, porttitor id, volutpat ut, bibendum dapibus,\n" +
"ante. Maecenas ut nisl. Vivamus ullamcorper commodo tellus. Sed\n" +
"ultrices porta ipsum.\n" +
"\n" +
"Sed at ante. Pellentesque habitant morbi tristique senectus et netus\n" +
"et malesuada fames ac turpis egestas. Aliquam suscipit, risus eget\n" +
"facilisis tincidunt, nunc mauris tempus elit, nec venenatis odio\n" +
"sapien in sem. Cras eu leo. Ut id metus. Duis condimentum augue sed\n" +
"nisl. Integer elementum orci et massa. Vivamus vehicula vestibulum\n" +
"lectus. Curabitur tristique volutpat lectus. Mauris leo augue, aliquet\n" +
"quis, sagittis volutpat, mattis in, dui. Aenean et enim quis lacus\n" +
"gravida pretium. Donec euismod. Vivamus ornare, sem quis blandit\n" +
"facilisis, turpis purus viverra elit, in luctus lacus nisl sed mi. Sed\n" +
"arcu. Aliquam dictum urna.\n" +
"\n" +
"Donec quis enim. Curabitur porttitor lorem vel pede. Praesent in\n" +
"sapien ut lacus iaculis vulputate. Praesent et velit. Phasellus sit\n" +
"amet nibh. Nulla lorem magna, pharetra ac, convallis eu, hendrerit sit\n" +
"amet, nibh. Pellentesque in justo eget orci fermentum\n" +
"scelerisque. Nulla erat mi, accumsan in, semper id, fermentum id,\n" +
"tortor. Cras at ante gravida libero tempor consequat. Proin metus. Sed\n" +
"tempus dui vel nisl. Donec nulla odio, gravida vel, tempus sit amet,\n" +
"dignissim eu, tellus. Nulla quis nulla. Etiam augue. Curabitur\n" +
"facilisis lacinia leo. Nulla sollicitudin risus ac odio.\n" +
"\n" +
"Integer faucibus enim. Pellentesque habitant morbi tristique senectus\n" +
"et netus et malesuada fames ac turpis egestas. Donec ultrices\n" +
"fringilla nulla. Donec feugiat, nulla a pharetra condimentum, felis\n" +
"pede auctor ligula, ac eleifend metus arcu nec dui. Nunc\n" +
"nisi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices\n" +
"posuere cubilia Curae; Morbi et magna. In molestie sem in\n" +
"turpis. Vestibulum ut purus sit amet dui sodales interdum. Aliquam\n" +
"pulvinar elit et dui. Aliquam pulvinar. Class aptent taciti sociosqu\n" +
"ad litora torquent per conubia nostra, per inceptos himenaeos. Nam\n" +
"dolor arcu, dapibus ut, porta nec, elementum sed, nisl. Mauris id\n" +
"diam. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices\n" +
"posuere cubilia Curae; Donec in eros interdum magna dignissim\n" +
"varius. In rhoncus.\n" +
"\n" +
"In lorem metus, condimentum eget, euismod ut, vehicula non,\n" +
"nulla. Etiam sollicitudin. Morbi porttitor, urna in consequat dictum,\n" +
"ante libero bibendum tortor, quis vestibulum neque metus pellentesque\n" +
"justo. Aliquam elit. Vestibulum ante ipsum primis in faucibus orci\n" +
"luctus et ultrices posuere cubilia Curae; Donec ultrices volutpat\n" +
"nunc. Nulla tristique tincidunt ante. Nam tempor enim nec mi. Duis\n" +
"eget ante a lacus sodales pulvinar. Maecenas commodo sapien et\n" +
"nulla. Fusce imperdiet diam sit amet enim.\n" +
"\n" +
"Nulla facilisi. Fusce lobortis fringilla enim. Quisque sed felis sed\n" +
"nunc aliquet ultricies. Nulla facilisi. Ut eu sem quis nisi rhoncus\n" +
"interdum. In luctus arcu. Aenean sed ipsum a nisl dignissim\n" +
"tincidunt. Quisque semper tortor eu massa. Aliquam lacus. Duis\n" +
"blandit, libero vitae vestibulum eleifend, risus odio venenatis orci,\n" +
"ut volutpat lorem lacus at nibh. Praesent ligula neque, tincidunt id,\n" +
"pharetra vitae, rhoncus non, risus. Vivamus euismod, metus nec rhoncus\n" +
"aliquet, arcu sapien convallis diam, quis vestibulum pede nulla\n" +
"iaculis mi. Duis malesuada. Integer at orci id velit placerat\n" +
"dictum. Fusce et enim sit amet erat ultrices ultricies. Aliquam\n" +
"mauris. Etiam a sem. Aenean id ipsum.\n" +
"\n" +
"Suspendisse potenti. Nunc nec lectus id nulla ornare rutrum. In hac\n" +
"habitasse platea dictumst. Nullam iaculis, nisl id sodales hendrerit,\n" +
"pede magna ullamcorper lorem, quis malesuada est metus vitae\n" +
"leo. Maecenas dictum, quam quis elementum aliquam, diam erat\n" +
"scelerisque erat, et elementum nibh quam id magna. Quisque sem nisi,\n" +
"egestas porta, consequat vel, faucibus porttitor, elit. Duis ante\n" +
"eros, vehicula in, laoreet ac, interdum a, purus. Donec in\n" +
"dolor. Praesent vel massa. Curabitur laoreet eros vestibulum\n" +
"nulla. Etiam iaculis pellentesque turpis. Nulla vestibulum ultricies\n" +
"sem. Donec diam. Vestibulum iaculis consequat ante. Aenean porta,\n" +
"libero vitae luctus sollicitudin, tellus velit semper sem, in aliquet\n" +
"justo neque ornare elit.\n" +
"\n" +
"Suspendisse vel orci. Sed volutpat, lectus nec dapibus porttitor,\n" +
"ligula quam volutpat tellus, vel adipiscing magna ligula ac\n" +
"lectus. Pellentesque imperdiet diam ut magna. Cras risus. Morbi quis\n" +
"risus. Maecenas semper consectetuer elit. Maecenas semper congue\n" +
"est. Proin sit amet augue in orci laoreet euismod. Fusce vel tortor at\n" +
"lorem porta varius. Nam erat sem, ornare in, aliquam ac, rhoncus quis,\n" +
"leo. Sed sem. Nullam sem nunc, consectetuer nec, dictum nec, fermentum\n" +
"nec, mi. Pellentesque est leo, fringilla sit amet, iaculis eu,\n" +
"ultricies sit amet, orci. Nulla mauris. Donec augue nisl, aliquet eu,\n" +
"tempor vel, imperdiet eu, purus. Sed placerat. Lorem ipsum dolor sit\n" +
"amet, consectetuer adipiscing elit. Lorem ipsum dolor sit amet,\n" +
"consectetuer adipiscing elit.\n" +
"\n" +
"Aliquam vitae arcu. Phasellus viverra metus in urna. Pellentesque\n" +
"habitant morbi tristique senectus et netus et malesuada fames ac\n" +
"turpis egestas. Vestibulum aliquet mauris et dui. Aliquam molestie\n" +
"gravida urna. Nullam interdum leo vel dui. Cras id nibh. Etiam a\n" +
"justo. Sed at pede. Donec tristique sapien ullamcorper lorem. Donec\n" +
"urna diam, mollis sit amet, tincidunt faucibus, tincidunt at,\n" +
"erat. Curabitur eros. Praesent massa neque, auctor quis, imperdiet\n" +
"vitae, vestibulum vitae, mauris. Donec sollicitudin tortor eu\n" +
"nisl. Vestibulum sit amet nibh. Cras varius lacus a tortor. Aenean\n" +
"rhoncus.\n" +
"\n" +
"Donec tincidunt ullamcorper diam. Phasellus tempus dignissim\n" +
"mauris. Proin nec dolor. Cras sem sem, faucibus quis, sodales nec,\n" +
"rutrum vel, diam. Duis blandit. Quisque gravida nisl quis urna. Donec\n" +
"mollis dolor in leo elementum luctus. Ut ultrices lacinia\n" +
"leo. Praesent lacinia. Nullam posuere, risus ac auctor malesuada,\n" +
"justo dui semper leo, eget commodo metus velit a felis. Donec\n" +
"vestibulum hendrerit odio. Sed quis nisl nullam.\n";
public static final String TEST_LONG_CONTENT = TEST_CONTENT + TEST_MEDIUM_CONTENT + TEST_LOREM_IPSUM_CONTENT;
}