PK @1Noa, mimetypeapplication/epub+zipPK @1N META-INF/PK @1N? META-INF/container.xml
PK @1N OPS/PK @1N OPS/css/PK @1NA=X X OPS/css/style.css/* CSS for Go Books – https://gobooks.com */
/* Copyright © 2019 Smart Go, Inc. All rights reserved. */
html { text-rendering: optimizeLegibility !important; }
h1, h2, h3 { -webkit-hyphens: none !important; }
h1, h2, h3, h4, h5 { page-break-after: avoid !important; }
h2, h3, h4, h5 :first-child { margin-top: 0 !important; }
.break { page-break-before: always; }
h1 { font-size: 1.65em; font-weight: bold; margin: 0 0 1.2em 0; text-align: center; text-transform: uppercase; }
h2 { font-size: 1.3em; font-weight: bold; margin: 1.2em 0 0.8em 0; text-align: center; }
h3 { font-size: 1.05em; font-weight: bold; margin: 1.6em 0 0.4em 0; }
h4 { font-size: 1em; font-weight: bold; margin: 1.6em 0 0.4em 0; }
h5 { font-size: 1em; font-weight: normal; margin: 1.2em 0 0.4em 0; }
.s1 { font-size: 1.3em; font-weight: bold; text-align: center; margin: 1.4em 0 1.6em 0; }
.s2 { font-size: 1.22em; font-weight: bold; text-align: center; margin: 1.2em 0 1.2em 0; }
p { line-height: 1.3em !important; margin: 0.8em 0 0.8em 0; }
div, figure, svg, figcaption { padding: 0; margin: 0; }
ul, ol { margin-top: 1em; margin-bottom: 1.5em; }
video { text-align: center; }
section.chapter { page-break-after: always; }
a:link, a:visited, a:hover, a:active { color: #00268F !important; text-decoration: none; }
div.cover { text-align: center; }
img.cover { max-width: 100%; }
img { width: auto; height: auto; margin-top: 0.5em; }
figure.svg { width: 100%; height: auto; }
figure { page-break-inside: avoid; max-width: 100%; max-height: 75%; margin: 0; padding: 0; }
figcaption { text-align: center; font-style: italic; font-size: 0.89em; color: #666666; line-height: 1em; text-indent: 0; }
.disabledLink { color: #666666; }
.underline { text-decoration: underline; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
.firstindent { text-indent: 1em; }
.tail { margin-right: 10em; }
.block { margin-left: 2em; margin-right: 2em; }
.indent { margin-left: 2em; }
.bullet { padding-left: 4em; text-indent: -4em; }
.bulletempty { padding-left: 4em; }
.text { margin-top: 0.2em; margin-bottom: 0.2em; text-indent: 1em; }
.first { margin-bottom: 0.2em; }
.error { color: red; }
.dia90 { width: 90%; max-height: 100%; }
.dia75 { width: 75%; max-height: 100%; }
.dia66 { width: 65%; max-height: 100%; }
.dia50 { width: 46%; max-height: 100%; }
.dia33 { width: 30.6%; max-height: 100%; }
.c19 { width: 100%; max-height: 90%; }
.c18 { width: 94.7%; max-height: 90%; }
.c17 { width: 89.5%; max-height: 90%; }
.c16 { width: 84.2%; max-height: 90%; }
.c15 { width: 78.9%; max-height: 90%; }
.c14 { width: 73.7%; max-height: 90%; }
.c13 { width: 68.4%; max-height: 90%; }
.c12 { width: 63.1%; max-height: 90%; }
.c11 { width: 57.9%; max-height: 90%; }
.c10 { width: 52.6%; max-height: 90%; }
.c9 { width: 47.4%; max-height: 90%; }
.c8 { width: 42.1%; max-height: 90%; }
.c7 { width: 36.8%; max-height: 90%; }
.c6 { width: 31.6%; max-height: 90%; }
.c5 { width: 26.3%; max-height: 90%; }
.c4 { width: 21.0%; max-height: 90%; }
.img75 { max-width: 75%; height: auto; }
.img50 { max-width: 50%; height: auto; }
.img33 { max-width: 33%; height: auto; }
.img30 { max-width: 30%; height: auto; }
.border { border: thin solid #333; }
.shadow { box-shadow: 3px 3px 3px 0px #bbb; }
figure.center { display: block; margin-left: auto; margin-right: auto; padding-bottom: 0.5em; }
figure.middle { display: inline-block; margin-left: auto; margin-right: auto; padding-bottom: 0.5em; }
figure.left { float: left; display: inline-block; margin-left: 0; margin-right: 4%; padding-bottom: 0.5em; }
figure.right { float: right; display: inline-block; margin-right: 0; margin-left: 4%; padding-bottom: 0.5em; }
div.center { margin-left: auto; margin-right: auto; padding: 0 0 0.5em 0; }
div.left { float: left; margin-left: 0; margin-right: 4%; padding: 0 0 0.5em 0; }
div.right { float: right; margin-right: 0; margin-left: 4%; padding: 0 0 0.5em 0; }
.col1 { float: left; margin-left: 0; margin-right: 4%; padding: 0 0 0.5em 0; }
.col2 { float: left; margin-left: auto; margin-right: auto; padding: 0 0 0.5em 0; }
.col3 { float: right; margin-right: 0; margin-left: 4%; padding: 0 0 0.5em 0; }
.fig { page-break-inside: avoid; }
.replay { position: relative; float: left; width: 100%; height: 0px; top: -1em; visibility: hidden; overflow: visible; }
.slider { margin-left: 3%; width: 30%; display: inline-block; visibility: hidden; overflow: visible; }
.prev { float: right; margin-right: 3%; display: inline-block; visibility: hidden; overflow: visible;}
.next { float: right; margin-right: 3%; display: inline-block; visibility: hidden; overflow: visible;}
.group { page-break-inside: avoid; display: block; }
.group::after { content: ""; clear: both; display: table; }
button { margin: 0; }
#epub-check { background-color: #DDDDDD; padding: 10px; border: 1px solid black; margin-top: 2em; }
.box { background-color: #E6E6E8; border: 2px solid #4C4F4F; padding: 0 1em 0 1em; page-break-inside: avoid; }
.hint svg { float: left; margin-left: 0; margin-right: 0.5em; padding: 0 0 0.5em 0; width: 32px; }
.hint p { visibility: hidden; }
.videoWrapper {
position: relative;
padding-bottom: 56.25%; /* 16:9 */
padding-top: 25px;
height: 0;
}
.videoWrapper iframe {
position: relative;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.t5b2 { margin-top: 0.5em; margin-bottom: 0.2em; }
.t8b2 { margin-top: 0.8em; margin-bottom: 0.2em; }
PK @1NLv
OPS/buy.xhtml
Buy This Book
Buy This Book
Buy the full book at gobooks.com
© 2017 Slate & Shell
PK @1N OPS/js/PK @1NM M OPS/js/gobooks.js// Replay diagrams in Go books – https://gobooks.com
// Copyright © 2019 Smart Go, Inc. All rights reserved.
var runEPubScripts = function() {
var ePubCheck = document.getElementById('epub-check');
if (!ePubCheck) { return; }
var ePubInfo = "This ePub reader supports JavaScript, but not the full ePub reading system. Interactive diagrams may work.";
ePubCheck.innerHTML = ePubInfo;
var rso = navigator.epubReadingSystem;
if (!rso) { return; }
ePubInfo = "";
var name = rso.name;
if (name) { ePubInfo += name; }
var version = rso.version;
if (version) { ePubInfo += " " + version; }
var hasDomManipulation = rso.hasFeature("dom-manipulation");
var hasMouseEvents = rso.hasFeature("mouse-events");
var hasTouchEvents = rso.hasFeature("touch-events")
if (!hasDomManipulation || !(hasMouseEvents || hasTouchEvents)) {
if (!hasDomManipulation) {
ePubInfo += "
Does not support ‘dom-manipulation’ feature.";
}
if (!hasMouseEvents) {
ePubInfo += "
Does not support ‘mouse-events’ feature.";
}
if (!hasTouchEvents) {
ePubInfo += "
Does not support ‘touch-events’ feature.";
}
} else {
ePubInfo += "
This ePub reader supports interactive diagrams.";
}
ePubCheck.innerHTML = ePubInfo;
}
var figureDiv = function(element) {
var div = element.parentElement;
while (!div.classList.contains("fig")) { div = div.parentElement; }
return div
}
var moveSlider = function(slider) {
var value = slider.value;
var div = figureDiv(slider);
var svg = div.getElementsByTagName("svg")[0];
var group = svg.getElementsByTagName("g");
for (var i = 0; i < group.length; i++) {
var g = group[i];
var a = g.getAttribute("gb:v");
if (a) {
var v = a.split(" ");
var visible = false;
for (var j = 0; j < v.length; j++) {
var m = parseInt(v[j], 10);
if (m <= value) {
visible = !visible;
} else {
break;
}
}
}
g.setAttributeNS(null, "visibility", (visible ? "visible" : "hidden"));
}
}
var toStart = function(slider) {
slider.value = 0;
moveSlider(slider);
}
var toEnd = function(slider) {
var range = slider.getAttribute("max")
var end = parseInt(range, 10);
slider.value = end;
moveSlider(slider);
}
var nextMove = function(button) {
var div = figureDiv(button);
var slider = div.getElementsByTagName("input")[0];
var value = slider.value;
var range = slider.getAttribute("max")
var rangeInt = parseInt(range, 10);
value++;
if (value > rangeInt) { value = 0; }
slider.value = value;
moveSlider(slider);
}
var prevMove = function(button) {
var div = figureDiv(button);
var slider = div.getElementsByTagName("input")[0];
var value = slider.value;
var range = slider.getAttribute("max")
var rangeInt = parseInt(range, 10);
value--;
if (value < 0) { value = rangeInt; }
slider.value = value;
moveSlider(slider);
}
var setVisibility = function(element, visible) {
if (element) {
element.style.visibility = (visible ? "visible" : "hidden");
}
}
var toggle = function(button) {
var div = figureDiv(button);
var slider = div.getElementsByTagName("input")[0];
var visible = (slider.style.visibility == "visible");
if (visible) { toEnd(slider); } else { toStart(slider); }
setVisibility(slider, !visible);
var button = div.getElementsByTagName("button")[0];
setVisibility(button, !visible);
button = div.getElementsByTagName("button")[1];
setVisibility(button, !visible);
var caption = div.getElementsByTagName("figcaption")[0];
setVisibility(caption, visible);
}PK @1N OPS/img/PK @1N,Sf9 f9 OPS/img/sg0126_ss_agkj_cover.jpg JFIF tExif MM * > F( i N 8Photoshop 3.0 8BIM 8BIM% ُ B~
ICC_PROFILE appl mntrRGB XYZ 9acspAPPL APPL -appl desc P bdscm cprt #wtpt rXYZ gXYZ bXYZ rTRC aarg vcgt 4 0ndin d >chad ,mmod (bTRC gTRC aabg aagg desc Display mluc &