XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition (794 page)

BOOK: XSLT 2.0 and XPath 2.0 Programmer's Reference, 4th Edition
12.95Mb size Format: txt, pdf, ePub

Technically, this interface is rather poorly named. The Internet RFCs distinguish the process of
resolving
a relative URI against a base URI, which is essentially a syntactic operation on two character strings, from the process of
dereferencing
the resulting absolute URI, which typically sends a request over the wires to retrieve some resource. Although the
URIResolver
is passed the relative URI and base URI as separate arguments, it would be bad practice to resolve the relative URI in a nonstandard way. The real power of the
URIResolver
is its ability to control how the absolute URI is dereferenced.

The interface defines only one method:

Method
Description
Source resolve(String, String)
The first argument is a relative URI, the second is the base URI against which it is resolved. The method returns a
Source
containing the requested document, or throws a
TransformerException
if it cannot retrieve it. It may also return null, indicating that the default
URIResolver
should be used.

There is a practical problem that the JAXP interface does not address, namely the XSLT rule that if you call the
document()
function twice to fetch the same absolute URI, the same document should be returned each time. Since the
URIResolver
accepts the relative URI and base URI as separate arguments, but does not actually return an absolute URI, it's not entirely clear whether it is the responsibility of the processor or the
URIResolver
to enforce this rule, especially when the URI is in a format that the XSLT processor itself does not recognize, as in the example above.

Note also that the arguments are supplied in the opposite order to those of the Java
java.net.URI
class.

Examples of JAXP Transformations

This section provides some simple examples of applications that use the JAXP API in different ways to control a transformation.

Example 1: Transformation Using Files

This example (
FileTransform.java
) performs a single transformation, reading the source document and stylesheet from files, and sending the XML output to another file.

import javax.xml.transform.*;

import javax.xml.transform.stream.*;

import java.io.File;

public class FileTransform {

    public static void main(String[] args) throws Exception {

        StreamSource source = new StreamSource(new File(args[0]));

        StreamSource style = new StreamSource(new File(args[1]));

        StreamResult out = new StreamResult(new File(args[2]));

        TransformerFactory factory = TransformerFactory.newInstance();

        Transformer t = factory.newTransformer(style);

        t.transform(source, out);

    }   

}

This is a minimal JAXP application.

At one time I was reluctant to supply
File
objects to the JAXP
StreamSource
and
StreamResult
constructors, because the filename-to-URI conversion was buggy. In recent releases the problems seem to have been fixed.

Assuming you have installed the Sun Java JDK, you can compile this application by the command:

javac FileTransform.java

This assumes that the directory containing the Java source file is the current directory. Once you have compiled the code, you can run it from the command line, for example:

java FileTransform source.xml style.xsl out.html

Of course, this is not a very professionally written application. It will fall over with a stack trace if incorrect arguments are supplied, if either of the input files doesn't exist, or if errors occur during the transformation; but it's a start. My aim in these examples is to show how the main JAXP classes work, not to teach you professional Java programming.

Because some people like to type examples exactly as they are written in the book, the folder containing the Java applications also contains specimen XML and XSL files called
source.xml
and
style.xsl
. So if you make this folder your current directory, you should be able to type the command line above exactly as shown. But, of course, the Java application will handle any source file and any stylesheet. The stylesheet
style.xsl
uses the construct shown at the start of this chapter to place in the output file a comment identifying which XSLT processor was used. So by experimenting with different classpath settings you should be able to satisfy yourself that this code works with multiple XSLT processors.

Example 2: Supplying Parameters and Output Properties

This example,
Parameters.java
, enhances the previous example:

  • It allows a stylesheet parameter to be supplied from the command line.
  • It modifies the output properties defined in the stylesheet.
  • It directs the output to
    System.out
    instead of a file.

The
main()
method of the enhanced application looks like this:

public static void main(String[] args) throws Exception {

    StreamSource source = new StreamSource(new File(args[0]));

    StreamSource style = new StreamSource(new File(args[1]));

    String title = args[2];

    TransformerFactory factory = TransformerFactory.newInstance();

    Transformer t = factory.newTransformer(style);

    t.setParameter(“title”, title);

    t.setOutputProperty(OutputKeys.INDENT, “no”);

    t.transform(source, new StreamResult(System.out));

}

This version of the program can be run using a command such as the following. The third argument on the command line (written in quotes because it contains spaces) is now a parameter value for the stylesheet, instead of the output filename.

java Parameters source.xml style.xsl “New organization structure”

Comparing the output with that of the previous example, note that the HTML is no longer indented, and that the contents of the
<br/></span>and<br/><span><h1><br/></span>elements have changed. And, of course, the output is written to the console this time.<br/></p><p>Example 3: Holding Documents in Memory<br/></p><p>In this example we will hold both the stylesheet and the source document in memory so that they can be used repeatedly. In principle, this would allow us to run different source documents past the same stylesheet, or to use different stylesheets to transform the same source document, but in practice, to keep the example simple, we'll use the same source document and stylesheet repeatedly, changing only the parameters to the transformation. We'll do one transformation using each of the parameters supplied on the command line.<br/></p><p>To keep the source document in memory, create a DOM. One way of doing this would be to use the<br/><span>DocumentBuilder<br/></span>class defined in the first section of this appendix. But I'd prefer to stick to using the<br/><span>javax.xml.transform<br/></span>interfaces in these examples, so I'll do it in a different way. JAXP makes it very easy to do an identity transform, and to build the DOM—all you need is an identity transform that takes the serial file as input and produces the DOM as output.<br/></p><p>You could also keep the stylesheet in memory as a DOM, but this would mean validating and compiling it each time it is used. It's better to keep the compiled stylesheet, that is, the<br/><span>Templates<br/></span>object.<br/></p><p>The main program of this example (<br/><span>Repeat.java<br/></span>) looks like this:<br/></p><div><p><span>public static void main(String[] args) throws Exception {<br/></span></p><p><span>    StreamSource source = new StreamSource(new File(args[0]));<br/></span></p><p><span>    StreamSource style = new StreamSource(new File(args[1]));<br/></span></p><p><span>    TransformerFactory factory = TransformerFactory.newInstance();<br/></span></p><p><span>    // Build a DOM using an identity transform<br/></span></p><p><span>    Transformer builder = factory.newTransformer();<br/></span></p><p><span>    DOMResult result = new DOMResult();<br/></span></p><p><span>    builder.transform(source, result);<br/></span></p><p><span>    Document doc = (Document)result.getNode();<br/></span></p><p><span>    // Compile the stylesheet<br/></span></p><p><span>    Templates templates = factory.newTemplates(style);<br/></span></p><p><span>    // do one transformation for each parameter supplied<br/></span></p><p><span>    for (int i=2; i<args.length; i++) {<br/></span></p><p><span>        Transformer t = templates.newTransformer();<br/></span></p><p><span>        System.out.println(“======= TITLE = ” + args[i] + “=======“);<br/></span></p><p><span>        t.setParameter(“title”, args[i]);<br/></span></p><p><span>        t.transform(new StreamSource(source), new StreamResult(System.out));<br/></span></p><p><span>    }<br/></span></p><p><span>}<br/></span></p></div><p>You can run this application from the command line with a command such as:<br/></p><div><p><span>java Repeat source.xml style.xsl one two three four<br/></span></p></div><p>This will run the transformation four times, producing output HTML with the title set to<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />one<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>,<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />two<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>,<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />three<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>, and<br/><span><img src="/files/04/27/65/f042765/public/ll.gif" />four<br/><img src="/files/04/27/65/f042765/public/gg.gif" /></span>in turn.<br/></p></div> </div> <div class="col-xs-12 text-left pagination-container"> <ul class="pagination"><li class="prev"><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-793" data-page="792">«</a></li> <li class="first"><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free" data-page="0">1</a></li> <li class="disabled"><span>...</span></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-395" data-page="394">395</a></li> <li class="disabled"><span>...</span></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-789" data-page="788">789</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-790" data-page="789">790</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-791" data-page="790">791</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-792" data-page="791">792</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-793" data-page="792">793</a></li> <li class="active"><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-794" data-page="793">794</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-795" data-page="794">795</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-796" data-page="795">796</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-797" data-page="796">797</a></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-798" data-page="797">798</a></li> <li class="disabled"><span>...</span></li> <li><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-850" data-page="849">850</a></li> <li class="disabled"><span>...</span></li> <li class="last"><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-901" data-page="900">901</a></li> <li class="next"><a href="/book/read-online-xslt-20-and-xpath-20-programmers-reference-4th-edition-free/page-795" data-page="794">»</a></li></ul> </div> <div class=""><div class="col-xs-12"><h2>Other books</h2></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-balls-free">Balls</a> by <span>Julian Tepper, Julian</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-stronger-a-super-human-clash-free">Stronger: A Super Human Clash</a> by <span>Michael Carroll</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-cates-04-the-terminal-state-free">Cates 04 - The Terminal State</a> by <span>Somers, Jeff</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-winter-garden-171024-free">Winter Garden</a> by <span>Adele Ashworth</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-junonia-free">Junonia</a> by <span>Kevin Henkes</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-come-undone-free">Come Undone</a> by <span>Jessica Hawkins</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-reaching-first-free">Reaching First</a> by <span>Mindy Klasky</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-cronica-de-una-muerte-anunciada-83514-free">Crónica de una muerte anunciada</a> by <span>Gabriel García Márquez</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-hard-boiled-immortal-the-immortal-chronicles-free">Hard-Boiled Immortal (The Immortal Chronicles)</a> by <span>Gene Doucette</span></div></div><div class="list-b-item col-xs-12 col-md-6"><svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 512.001 512.001" style="enable-background:new 0 0 512.001 512.001;" xml:space="preserve"> <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-225.7911" y1="273.675" x2="258.4989" y2="273.675" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_1_);" d="M431.21,483.625H80.791c-16.815,0-30.445-13.631-30.445-30.445V30.445 C50.345,13.631,63.976,0,80.791,0h350.42c16.815,0,30.445,13.631,30.445,30.445v422.734 C461.656,469.994,448.024,483.625,431.21,483.625z"/> <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="229.0494" y1="-58.9265" x2="117.5394" y2="52.5835" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <polygon style="fill:url(#SVGID_2_);" points="182.089,483.625 154.009,455.545 94.004,455.545 94.004,483.625 "/> <linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="254.8089" y1="83.693" x2="254.8089" y2="28.273" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_3_);" d="M421.848,470.705H79.115c-9.82,0-17.781-7.961-17.781-17.781V41.739 c0-15.916,12.902-28.819,28.819-28.819h331.696c15.916,0,28.819,12.902,28.819,28.819v400.147 C450.667,457.802,437.764,470.705,421.848,470.705z"/> <linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="128.8676" y1="481.5302" x2="354.4676" y2="117.1603" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F"/> <stop offset="1" style="stop-color:#8AA753"/> </linearGradient> <path style="fill:url(#SVGID_4_);" d="M431.211,0H80.791C63.976,0,50.345,13.631,50.345,30.445v422.478h10.988l0,0 c0-9.378,7.602-16.979,16.979-16.979H431.21c16.815,0,30.445-13.631,30.445-30.445V30.445C461.656,13.631,448.024,0,431.211,0z"/> <linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="254.8084" y1="58.813" x2="254.8084" y2="80.483" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <path style="fill:url(#SVGID_5_);" d="M431.211,435.944H78.312c-9.373,0-16.971,7.595-16.979,16.966v0.014 c0,9.82,7.961,17.781,17.781,17.781h342.734c15.916,0,28.819-12.902,28.819-28.819v-12.974 C445.391,433.302,438.61,435.944,431.211,435.944z"/> <linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="230.414" y1="8.8122" x2="172.72" y2="120.3222" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#B8DE6F;stop-opacity:0"/> <stop offset="1" style="stop-color:#4B7104"/> </linearGradient> <path style="fill:url(#SVGID_6_);" d="M79.114,470.706c-9.82,0-17.778-7.958-17.778-17.778c0-4.688,1.895-8.935,4.972-12.011 c3.065-3.065,7.312-4.972,12-4.972h47.306V0H80.791C63.976,0,50.345,13.63,50.345,30.445v422.734 c0,16.815,13.631,30.445,30.445,30.445h44.823v-12.919H79.114V470.706z"/> <g> <path style="fill:#FFFFFF;" d="M371.802,101.1H161.307c-4.032,0-7.3-3.268-7.3-7.3V83.301c0-4.032,3.268-7.3,7.3-7.3h210.494 c4.032,0,7.299,3.268,7.299,7.3V93.8C379.101,97.832,375.833,101.1,371.802,101.1z"/> <path style="fill:#FFFFFF;" d="M317.951,146.51H215.157c-4.032,0-7.299-3.268-7.299-7.299v-10.499c0-4.032,3.268-7.3,7.299-7.3 h102.796c4.032,0,7.3,3.268,7.3,7.3v10.499C325.251,143.243,321.983,146.51,317.951,146.51z"/> </g> <linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="265.3214" y1="209.633" x2="265.3214" y2="2.133" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB"/> <stop offset="1" style="stop-color:#F1DACB"/> </linearGradient> <path style="fill:url(#SVGID_7_);" d="M364.038,377.415H169.071c-8.318,0-15.063-6.743-15.063-15.063v-56.719 c0-8.319,6.743-15.063,15.063-15.063h194.967c8.319,0,15.063,6.743,15.063,15.063v56.719 C379.101,370.672,372.357,377.415,364.038,377.415z"/> <linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="203.8669" y1="-27.309" x2="117.1669" y2="59.391" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FFF2EB;stop-opacity:0"/> <stop offset="1" style="stop-color:#D3B4A0"/> </linearGradient> <polygon style="fill:url(#SVGID_8_);" points="169.168,470.705 154.009,455.545 94.004,455.545 94.004,470.705 "/> <linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="123.3299" y1="58.463" x2="123.3299" y2="-32.907" gradientTransform="matrix(1.0039 0 0 -1.0039 0.1922 516.5609)"> <stop offset="0" style="stop-color:#FCC344"/> <stop offset="1" style="stop-color:#F7AE3D"/> </linearGradient> <path style="fill:url(#SVGID_9_);" d="M146.114,511.368l-19.591-10.378c-1.574-0.834-3.461-0.834-5.035,0l-19.591,10.378 c-3.581,1.897-7.895-0.699-7.895-4.752v-51.07h60.004v51.07C154.009,510.668,149.695,513.264,146.114,511.368z"/> </svg> <div><a href="/book/read-online-a-fall-of-princes-free">A Fall of Princes</a> by <span>Judith Tarr</span></div></div></div> <!--er--> </div> </div> <div class="row" style="margin-top: 15px;"> </div> </div> </div> <footer class="footer"> <div class="container"> <p class="pull-left"> © READ ONLINE FREE BOOKS 2015 - 2024    Contact for me redstone2016@yeah.net <a href="https://genres.read-online-books.com">genres read online books</a> <a href="https://lit.read-online-books.com">lit read online books</a> <a href="https://fiction.read-online-books.com">fiction read online books</a> <a href="https://files.read-online-books.com">files read online books</a> <a href="https://wiki.read-online-books.com">wiki read online books</a> <a href="https://novels.read-online-books.com">novels read online books</a> <a href="https://free.read-online-books.com">free read online books</a> </p> <p class="pull-right"> <!--LiveInternet counter--> <script type="text/javascript"> document.write("<a href='//www.liveinternet.ru/click' "+ "target=_blank><img src='//counter.yadro.ru/hit?t50.6;r"+ escape(document.referrer)+((typeof(screen)=="undefined")?"": ";s"+screen.width+"*"+screen.height+"*"+(screen.colorDepth? screen.colorDepth:screen.pixelDepth))+";u"+escape(document.URL)+ ";h"+escape(document.title.substring(0,150))+";"+Math.random()+ "' alt='' title='LiveInternet' "+ "border='0' width='31' height='31'><\/a>") </script> <!--/LiveInternet--> </p> </div> </footer> <script src="/assets/ba91f165/jquery.js?v=1529425591"></script> <script src="/assets/618ab67e/yii.js?v=1529414259"></script> <script src="/js/site.js?v=1722099411"></script> <script src="/assets/5e1636ad/js/bootstrap.js?v=1529424553"></script> </body> </html>