diff --git a/build/epub.js b/build/epub.js index a270e70..9285fa5 100644 --- a/build/epub.js +++ b/build/epub.js @@ -3347,7 +3347,7 @@ EPUBJS.Chapter.prototype.replaceWithStored = function(query, attr, func, callbac console.error(e); }; - if(query == "image") { + if(query == "svg image") { //-- SVG needs this to trigger a load event link.setAttribute("externalResourcesRequired", "true"); } @@ -7245,7 +7245,7 @@ EPUBJS.replace.resources = function(callback, renderer){ EPUBJS.replace.svg = function(callback, renderer) { - renderer.replaceWithStored("image", "xlink:href", function(_store, full, done){ + renderer.replaceWithStored("svg image", "xlink:href", function(_store, full, done){ _store.getUrl(full).then(done); }, callback); diff --git a/build/epub.min.js b/build/epub.min.js index 42769fd..d499fa1 100644 --- a/build/epub.min.js +++ b/build/epub.min.js @@ -5,8 +5,8 @@ * See https://raw.githubusercontent.com/tildeio/rsvp.js/master/LICENSE * @version 3.1.0 */ -(function(){"use strict";function a(a){return"function"==typeof a||"object"==typeof a&&null!==a}function b(a){return"function"==typeof a}function c(a){return"object"==typeof a&&null!==a}function d(){}function e(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1}function f(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b}function g(a,b){return"onerror"===a?void vb.on("error",b):2!==arguments.length?vb[a]:void(vb[a]=b)}function h(){setTimeout(function(){for(var a,b=0;bh;h++)u(e.resolve(a[h]),void 0,c,d);return f}function E(a,b){var c=this;if(a&&"object"==typeof a&&a.constructor===c)return a;var d=new c(k,b);return q(d,a),d}function F(a,b){var c=this,d=new c(k,b);return t(d,a),d}function G(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function H(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function I(a,c){var d=this;d._id=Jb++,d._label=c,d._state=void 0,d._result=void 0,d._subscribers=[],vb.instrument&&xb("created",d),k!==a&&(b(a)||G(),d instanceof I||H(),z(d,a))}function J(a,b,c){this._superConstructor(a,b,!1,c)}function K(a,b){return new J(Kb,a,b).promise}function L(a,b){return Kb.all(a,b)}function M(a,b){Wb[Pb]=a,Wb[Pb+1]=b,Pb+=2,2===Pb&&Mb()}function N(){var a=process.nextTick,b=process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);return Array.isArray(b)&&"0"===b[1]&&"10"===b[2]&&(a=setImmediate),function(){a(S)}}function O(){return function(){Lb(S)}}function P(){var a=0,b=new Tb(S),c=document.createTextNode("");return b.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}function Q(){var a=new MessageChannel;return a.port1.onmessage=S,function(){a.port2.postMessage(0)}}function R(){return function(){setTimeout(S,1)}}function S(){for(var a=0;Pb>a;a+=2){var b=Wb[a],c=Wb[a+1];b(c),Wb[a]=void 0,Wb[a+1]=void 0}Pb=0}function T(){try{var a=require,b=a("vertx");return Lb=b.runOnLoop||b.runOnContext,O()}catch(c){return R()}}function U(a){var b={};return b.promise=new Kb(function(a,c){b.resolve=a,b.reject=c},a),b}function V(a,c,d){return Kb.all(a,d).then(function(a){if(!b(c))throw new TypeError("You must pass a function as filter's second argument.");for(var e=a.length,f=new Array(e),g=0;e>g;g++)f[g]=c(a[g]);return Kb.all(f,d).then(function(b){for(var c=new Array(e),d=0,f=0;e>f;f++)b[f]&&(c[d]=a[f],d++);return c.length=d,c})})}function W(a,b,c){this._superConstructor(a,b,!0,c)}function X(a,b,c){this._superConstructor(a,b,!1,c)}function Y(a,b){return new X(Kb,a,b).promise}function Z(a,b){return new Zb(Kb,a,b).promise}function $(a,c,d){return Kb.all(a,d).then(function(a){if(!b(c))throw new TypeError("You must pass a function as map's second argument.");for(var e=a.length,f=new Array(e),g=0;e>g;g++)f[g]=c(a[g]);return Kb.all(f,d)})}function _(){this.value=void 0}function ab(a){try{return a.then}catch(b){return cc.value=b,cc}}function bb(a,b,c){try{a.apply(b,c)}catch(d){return cc.value=d,cc}}function cb(a,b){for(var c,d,e={},f=a.length,g=new Array(f),h=0;f>h;h++)g[h]=a[h];for(d=0;dd;d++)c[d-1]=a[d];return c}function eb(a,b){return{then:function(c,d){return a.call(b,c,d)}}}function fb(a,b){var c=function(){for(var c,d=this,e=arguments.length,f=new Array(e+1),g=!1,h=0;e>h;++h){if(c=arguments[h],!g){if(g=ib(c),g===dc){var i=new Kb(k);return t(i,dc.value),i}g&&g!==!0&&(c=eb(g,c))}f[h]=c}var j=new Kb(k);return f[e]=function(a,c){a?t(j,a):void 0===b?q(j,c):b===!0?q(j,db(arguments)):rb(b)?q(j,cb(arguments,b)):q(j,c)},g?hb(j,f,a,d):gb(j,f,a,d)};return c.__proto__=a,c}function gb(a,b,c,d){var e=bb(c,d,b);return e===cc&&t(a,e.value),a}function hb(a,b,c,d){return Kb.all(b).then(function(b){var e=bb(c,d,b);return e===cc&&t(a,e.value),a})}function ib(a){return a&&"object"==typeof a?a.constructor===Kb?!0:ab(a):!1}function jb(a,b){return Kb.race(a,b)}function kb(a,b){return Kb.reject(a,b)}function lb(a,b){return Kb.resolve(a,b)}function mb(a){throw setTimeout(function(){throw a}),a}function nb(a,b){vb.async(a,b)}function ob(){vb.on.apply(vb,arguments)}function pb(){vb.off.apply(vb,arguments)}var qb;qb=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var rb=qb,sb=Date.now||function(){return(new Date).getTime()},tb=Object.create||function(a){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof a)throw new TypeError("Argument must be an object");return d.prototype=a,new d},ub={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,b){if("function"!=typeof b)throw new TypeError("Callback must be a function");var c,d=f(this);c=d[a],c||(c=d[a]=[]),-1===e(c,b)&&c.push(b)},off:function(a,b){var c,d,g=f(this);return b?(c=g[a],d=e(c,b),void(-1!==d&&c.splice(d,1))):void(g[a]=[])},trigger:function(a,b,c){var d,e,g=f(this);if(d=g[a])for(var h=0;he;e++)a._eachEntry(d[e],e)},B.prototype._eachEntry=function(a,b){var d=this,e=d._instanceConstructor;c(a)?a.constructor===e&&a._state!==yb?(a._onError=null,d._settledAt(a._state,b,a._result)):d._willSettleAt(e.resolve(a),b):(d._remaining--,d._result[b]=d._makeResult(zb,b,a))},B.prototype._settledAt=function(a,b,c){var d=this,e=d.promise;e._state===yb&&(d._remaining--,d._abortOnReject&&a===Ab?t(e,c):d._result[b]=d._makeResult(a,b,c)),0===d._remaining&&s(e,d._result)},B.prototype._makeResult=function(a,b,c){return c},B.prototype._willSettleAt=function(a,b){var c=this;u(a,void 0,function(a){c._settledAt(zb,b,a)},function(a){c._settledAt(Ab,b,a)})};var Eb=C,Fb=D,Gb=E,Hb=F,Ib="rsvp_"+sb()+"-",Jb=0,Kb=I;I.cast=Gb,I.all=Eb,I.race=Fb,I.resolve=Gb,I.reject=Hb,I.prototype={constructor:I,_guidKey:Ib,_onError:function(a){var b=this;vb.after(function(){b._onError&&vb.trigger("error",a,b._label)})},then:function(a,b,c){var d=this,e=d._state;if(e===zb&&!a||e===Ab&&!b)return vb.instrument&&xb("chained",d,d),d;d._onError=null;var f=new d.constructor(k,c),g=d._result;if(vb.instrument&&xb("chained",d,f),e){var h=arguments[e-1];vb.async(function(){y(e,f,h,g)})}else u(d,f,a,b);return f},"catch":function(a,b){return this.then(void 0,a,b)},"finally":function(a,b){var c=this,d=c.constructor;return c.then(function(b){return d.resolve(a()).then(function(){return b})},function(b){return d.resolve(a()).then(function(){throw b})},b)}},J.prototype=tb(Db.prototype),J.prototype._superConstructor=Db,J.prototype._makeResult=A,J.prototype._validationError=function(){return new Error("allSettled must be called with an array")};var Lb,Mb,Nb=K,Ob=L,Pb=0,Qb=({}.toString,M),Rb="undefined"!=typeof window?window:void 0,Sb=Rb||{},Tb=Sb.MutationObserver||Sb.WebKitMutationObserver,Ub="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Vb="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Wb=new Array(1e3);Mb=Ub?N():Tb?P():Vb?Q():void 0===Rb&&"function"==typeof require?T():R();var Xb=U,Yb=V,Zb=W;W.prototype=tb(Db.prototype),W.prototype._superConstructor=Db,W.prototype._init=function(){this._result={}},W.prototype._validateInput=function(a){return a&&"object"==typeof a},W.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},W.prototype._enumerate=function(){var a=this,b=a.promise,c=a._input,d=[];for(var e in c)b._state===yb&&Object.prototype.hasOwnProperty.call(c,e)&&d.push({position:e,entry:c[e]});var f=d.length;a._remaining=f;for(var g,h=0;b._state===yb&&f>h;h++)g=d[h],a._eachEntry(g.entry,g.position)},X.prototype=tb(Zb.prototype),X.prototype._superConstructor=Db,X.prototype._makeResult=A,X.prototype._validationError=function(){return new Error("hashSettled must be called with an object")};var $b,_b=Y,ac=Z,bc=$,cc=new _,dc=new _,ec=fb;if("object"==typeof self)$b=self;else{if("object"!=typeof global)throw new Error("no global: `self` or `global` found");$b=global}var fc=$b,gc=jb,hc=kb,ic=lb,jc=mb;vb.async=Qb,vb.after=function(a){setTimeout(a,0)};if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var kc=window.__PROMISE_INSTRUMENTATION__;g("instrument",!0);for(var lc in kc)kc.hasOwnProperty(lc)&&ob(lc,kc[lc])}var mc={race:gc,Promise:Kb,allSettled:Nb,hash:ac,hashSettled:_b,denodeify:ec,on:ob,off:pb,map:bc,filter:Yb,resolve:ic,reject:hc,all:Ob,rethrow:jc,defer:Xb,EventTarget:ub,configure:g,async:nb};"function"==typeof define&&define.amd?define(function(){return mc}):"undefined"!=typeof module&&module.exports?module.exports=mc:"undefined"!=typeof fc&&(fc.RSVP=mc)}).call(this);var EPUBJS=EPUBJS||{};EPUBJS.VERSION="0.2.11",EPUBJS.plugins=EPUBJS.plugins||{},EPUBJS.filePath=EPUBJS.filePath||"/epubjs/",EPUBJS.Render={},function(a){var b=(a.ePub||{},a.ePub=function(){var a,b;return"undefined"!=typeof arguments[0]&&("string"==typeof arguments[0]||arguments[0]instanceof ArrayBuffer)&&(a=arguments[0],arguments[1]&&"object"==typeof arguments[1]?(b=arguments[1],b.bookPath=a):b={bookPath:a}),!arguments[0]||"object"!=typeof arguments[0]||arguments[0]instanceof ArrayBuffer||(b=arguments[0]),new EPUBJS.Book(b)});"function"==typeof define&&define.amd?define(["rsvp"],function(){return b}):"undefined"!=typeof module&&module.exports&&(module.exports=b)}(window),EPUBJS.Book=function(a){this.settings=EPUBJS.core.defaults(a||{},{bookPath:void 0,bookKey:void 0,packageUrl:void 0,storage:!1,fromStorage:!1,saved:!1,online:!0,contained:!1,width:void 0,height:void 0,layoutOveride:void 0,orientation:void 0,minSpreadWidth:768,gap:"auto",version:1,restore:!1,reload:!1,"goto":!1,styles:{},headTags:{},withCredentials:!1,render_method:"Iframe"}),this.settings.EPUBJSVERSION=EPUBJS.VERSION,this.spinePos=0,this.stored=!1,this.online=this.settings.online||navigator.onLine,this.networkListeners(),this.ready={manifest:new RSVP.defer,spine:new RSVP.defer,metadata:new RSVP.defer,cover:new RSVP.defer,toc:new RSVP.defer,pageList:new RSVP.defer},this.readyPromises=[this.ready.manifest.promise,this.ready.spine.promise,this.ready.metadata.promise,this.ready.cover.promise,this.ready.toc.promise],this.pageList=[],this.pagination=new EPUBJS.Pagination,this.pageListReady=this.ready.pageList.promise,this.ready.all=RSVP.all(this.readyPromises),this.ready.all.then(this._ready.bind(this)),this.isRendered=!1,this._q=EPUBJS.core.queue(this),this._rendering=!1,this._displayQ=EPUBJS.core.queue(this),this._moving=!1,this._gotoQ=EPUBJS.core.queue(this),this.renderer=new EPUBJS.Renderer(this.settings.render_method),this.renderer.setMinSpreadWidth(this.settings.minSpreadWidth),this.renderer.setGap(this.settings.gap),this.listenToRenderer(this.renderer),this.defer_opened=new RSVP.defer,this.opened=this.defer_opened.promise,this.store=!1,this.settings.storage!==!1&&this.fromStorage(!0),("string"==typeof this.settings.bookPath||this.settings.bookPath instanceof ArrayBuffer)&&this.open(this.settings.bookPath,this.settings.reload),window.addEventListener("beforeunload",this.unload.bind(this),!1)},EPUBJS.Book.prototype.open=function(a,b){var c,d=this,e=new RSVP.defer;return this.settings.bookPath=a,this.settings.contained||this.isContained(a)?(this.settings.contained=this.contained=!0,this.bookUrl="",c=this.unarchive(a).then(function(){return d.loadPackage()})):(this.bookUrl=this.urlFrom(a),c=this.loadPackage()),c.then(this.settings.restore&&!b&&localStorage?function(a){var b=d.packageIdentifier(a),c=d.restore(b);c||d.unpack(a),e.resolve(),d.defer_opened.resolve()}:function(a){d.unpack(a),e.resolve(),d.defer_opened.resolve()}),this._registerReplacements(this.renderer),e.promise},EPUBJS.Book.prototype.loadPackage=function(a){var b,c=this,d=new EPUBJS.Parser,e=a||"META-INF/container.xml";return b=this.settings.packageUrl?c.loadXml(c.settings.packageUrl):c.loadXml(c.bookUrl+e).then(function(a){return d.container(a)}).then(function(a){return c.settings.contentsPath=c.bookUrl+a.basePath,c.settings.packageUrl=c.bookUrl+a.packagePath,c.settings.encoding=a.encoding,c.loadXml(c.settings.packageUrl)}),b.catch(function(){console.error("Could not load book at: "+e),c.trigger("book:loadFailed",e)}),b},EPUBJS.Book.prototype.packageIdentifier=function(a){var b=new EPUBJS.Parser;return b.identifier(a)},EPUBJS.Book.prototype.unpack=function(a){var b=this,c=new EPUBJS.Parser;b.contents=c.packageContents(a,b.settings.contentsPath),b.manifest=b.contents.manifest,b.spine=b.contents.spine,b.spineIndexByURL=b.contents.spineIndexByURL,b.metadata=b.contents.metadata,b.settings.bookKey||(b.settings.bookKey=b.generateBookKey(b.metadata.identifier)),b.globalLayoutProperties=b.parseLayoutProperties(b.metadata),b.contents.coverPath&&(b.cover=b.contents.cover=b.settings.contentsPath+b.contents.coverPath),b.spineNodeIndex=b.contents.spineNodeIndex,b.ready.manifest.resolve(b.contents.manifest),b.ready.spine.resolve(b.contents.spine),b.ready.metadata.resolve(b.contents.metadata),b.ready.cover.resolve(b.contents.cover),b.locations=new EPUBJS.Locations(b.spine,b.store,b.settings.withCredentials),b.contents.navPath?(b.settings.navUrl=b.settings.contentsPath+b.contents.navPath,b.loadXml(b.settings.navUrl).then(function(a){return c.nav(a,b.spineIndexByURL,b.spine)}).then(function(a){b.toc=b.contents.toc=a,b.ready.toc.resolve(b.contents.toc)},function(){b.ready.toc.resolve(!1)}),b.loadXml(b.settings.navUrl).then(function(a){return c.pageList(a,b.spineIndexByURL,b.spine)}).then(function(a){var c=new EPUBJS.EpubCFI,d=0;0!==a.length&&(b.pageList=b.contents.pageList=a,b.pageList.forEach(function(a){a.cfi||(d+=1,c.generateCfiFromHref(a.href,b).then(function(c){a.cfi=c,a.packageUrl=b.settings.packageUrl,d-=1,0===d&&(b.pagination.process(b.pageList),b.ready.pageList.resolve(b.pageList))}))}),d||(b.pagination.process(b.pageList),b.ready.pageList.resolve(b.pageList)))},function(){b.ready.pageList.resolve([])})):b.contents.tocPath?(b.settings.tocUrl=b.settings.contentsPath+b.contents.tocPath,b.loadXml(b.settings.tocUrl).then(function(a){return c.toc(a,b.spineIndexByURL,b.spine)}).then(function(a){b.toc=b.contents.toc=a,b.ready.toc.resolve(b.contents.toc)},function(){b.ready.toc.resolve(!1)})):b.ready.toc.resolve(!1)},EPUBJS.Book.prototype.createHiddenRender=function(a,b,c){var d,e,f=this.element.getBoundingClientRect(),g=b||this.settings.width||f.width,h=c||this.settings.height||f.height;return a.setMinSpreadWidth(this.settings.minSpreadWidth),a.setGap(this.settings.gap),this._registerReplacements(a),this.settings.forceSingle&&a.forceSingle(!0),d=document.createElement("div"),d.style.visibility="hidden",d.style.overflow="hidden",d.style.width="0",d.style.height="0",this.element.appendChild(d),e=document.createElement("div"),e.style.visibility="hidden",e.style.overflow="hidden",e.style.width=g+"px",e.style.height=h+"px",d.appendChild(e),a.initialize(e),d},EPUBJS.Book.prototype.generatePageList=function(a,b){{var c=[],d=new EPUBJS.Renderer(this.settings.render_method,!1),e=this.createHiddenRender(d,a,b),f=new RSVP.defer,g=-1,h=this.spine.length,i=0,j=function(a){var b,e=g+1,f=a||new RSVP.defer;return e>=h?f.resolve():(g=e,b=new EPUBJS.Chapter(this.spine[g],this.store),d.displayChapter(b,this.globalLayoutProperties).then(function(){d.pageMap.forEach(function(a){i+=1,c.push({cfi:a.start,page:i})}),d.pageMap.length%2>0&&d.spreads&&(i+=1,c.push({cfi:d.pageMap[d.pageMap.length-1].end,page:i})),setTimeout(function(){j(f)},1)})),f.promise}.bind(this);j().then(function(){d.remove(),this.element.removeChild(e),f.resolve(c)}.bind(this))}return f.promise},EPUBJS.Book.prototype.generatePagination=function(a,b){var c=this,d=new RSVP.defer;return this.ready.spine.promise.then(function(){c.generatePageList(a,b).then(function(a){c.pageList=c.contents.pageList=a,c.pagination.process(a),c.ready.pageList.resolve(c.pageList),d.resolve(c.pageList)})}),d.promise},EPUBJS.Book.prototype.loadPagination=function(a){var b=JSON.parse(a);return b&&b.length&&(this.pageList=b,this.pagination.process(this.pageList),this.ready.pageList.resolve(this.pageList)),this.pageList},EPUBJS.Book.prototype.getPageList=function(){return this.ready.pageList.promise},EPUBJS.Book.prototype.getMetadata=function(){return this.ready.metadata.promise},EPUBJS.Book.prototype.getToc=function(){return this.ready.toc.promise},EPUBJS.Book.prototype.networkListeners=function(){var a=this;window.addEventListener("offline",function(){a.online=!1,a.settings.storage&&a.fromStorage(!0),a.trigger("book:offline")},!1),window.addEventListener("online",function(){a.online=!0,a.settings.storage&&a.fromStorage(!1),a.trigger("book:online")},!1)},EPUBJS.Book.prototype.listenToRenderer=function(a){var b=this;a.Events.forEach(function(c){a.on(c,function(a){b.trigger(c,a)})}),a.on("renderer:visibleRangeChanged",function(a){var b,c,d,e=[];this.pageList.length>0&&(b=this.pagination.pageFromCfi(a.start),d=this.pagination.percentageFromPage(b),e.push(b),a.end&&(c=this.pagination.pageFromCfi(a.end),e.push(c)),this.trigger("book:pageChanged",{anchorPage:b,percentage:d,pageRange:e}))}.bind(this)),a.on("render:loaded",this.loadChange.bind(this))},EPUBJS.Book.prototype.loadChange=function(a){var b,c,d=EPUBJS.core.uri(a),e=EPUBJS.core.uri(this.currentChapter.absolute);d.path!=e.path?(console.warn("Miss Match",d.path,this.currentChapter.absolute),b=this.spineIndexByURL[d.filename],c=new EPUBJS.Chapter(this.spine[b],this.store),this.currentChapter=c,this.renderer.currentChapter=c,this.renderer.afterLoad(this.renderer.render.docEl),this.renderer.beforeDisplay(function(){this.renderer.afterDisplay()}.bind(this))):this._rendering||this.renderer.reformat()},EPUBJS.Book.prototype.unlistenToRenderer=function(a){a.Events.forEach(function(b){a.off(b)})},EPUBJS.Book.prototype.loadXml=function(a){return this.settings.fromStorage?this.store.getXml(a,this.settings.encoding):this.settings.contained?this.zip.getXml(a,this.settings.encoding):EPUBJS.core.request(a,"xml",this.settings.withCredentials)},EPUBJS.Book.prototype.urlFrom=function(a){var b,c=EPUBJS.core.uri(a),d=c.protocol,e="/"==c.path[0],f=window.location,g=f.origin||f.protocol+"//"+f.host,h=document.getElementsByTagName("base");return h.length&&(b=h[0].href),c.protocol?c.origin+c.path:!d&&e?(b||g)+c.path:d||e?void 0:EPUBJS.core.resolveUrl(b||f.pathname,c.path)},EPUBJS.Book.prototype.unarchive=function(a){return this.zip=new EPUBJS.Unarchiver,this.store=this.zip,this.zip.open(a)},EPUBJS.Book.prototype.isContained=function(a){if(a instanceof ArrayBuffer)return!0;var b=EPUBJS.core.uri(a);return!b.extension||"epub"!=b.extension&&"zip"!=b.extension?!1:!0},EPUBJS.Book.prototype.isSaved=function(a){var b;return localStorage?(b=localStorage.getItem(a),localStorage&&null!==b?!0:!1):!1},EPUBJS.Book.prototype.generateBookKey=function(a){return"epubjs:"+EPUBJS.VERSION+":"+window.location.host+":"+a},EPUBJS.Book.prototype.saveContents=function(){return localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.contents)):!1},EPUBJS.Book.prototype.removeSavedContents=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Book.prototype.renderTo=function(a){var b,c=this;if(EPUBJS.core.isElement(a))this.element=a;else{if("string"!=typeof a)return void console.error("Not an Element");this.element=EPUBJS.core.getEl(a)}return b=this.opened.then(function(){return c.renderer.initialize(c.element,c.settings.width,c.settings.height),c.metadata.direction&&c.renderer.setDirection(c.metadata.direction),c._rendered(),c.startDisplay()})},EPUBJS.Book.prototype.startDisplay=function(){var a;return a=this.settings.goto?this.goto(this.settings.goto):this.settings.previousLocationCfi?this.gotoCfi(this.settings.previousLocationCfi):this.displayChapter(this.spinePos)},EPUBJS.Book.prototype.restore=function(a){var b,c=this,d=["manifest","spine","metadata","cover","toc","spineNodeIndex","spineIndexByURL","globalLayoutProperties"],e=!1,f=this.generateBookKey(a),g=localStorage.getItem(f),h=d.length;if(this.settings.clearSaved&&(e=!0),!e&&"undefined"!=g&&null!==g)for(c.contents=JSON.parse(g),b=0;h>b;b++){var i=d[b];if(!c.contents[i]){e=!0;break}c[i]=c.contents[i]}return!e&&g&&this.contents&&this.settings.contentsPath?(this.settings.bookKey=f,this.ready.manifest.resolve(this.manifest),this.ready.spine.resolve(this.spine),this.ready.metadata.resolve(this.metadata),this.ready.cover.resolve(this.cover),this.ready.toc.resolve(this.toc),!0):!1},EPUBJS.Book.prototype.displayChapter=function(a,b,c){var d,e,f,g,h=this,i=c||new RSVP.defer;return this.isRendered?this._rendering||this._rendering?(this._displayQ.enqueue("displayChapter",[a,b,i]),i.promise):(EPUBJS.core.isNumber(a)?f=a:(e=new EPUBJS.EpubCFI(a),f=e.spinePos),(0>f||f>=this.spine.length)&&(console.warn("Not A Valid Location"),f=0,b=!1,e=!1),g=new EPUBJS.Chapter(this.spine[f],this.store),this._rendering=!0,this._needsAssetReplacement()&&g.registerHook("beforeChapterRender",[EPUBJS.replace.head,EPUBJS.replace.resources,EPUBJS.replace.svg],!0),h.currentChapter=g,d=h.renderer.displayChapter(g,this.globalLayoutProperties),e?h.renderer.gotoCfi(e):b&&h.renderer.lastPage(),d.then(function(){h.spinePos=f,i.resolve(h.renderer),h.settings.fromStorage===!1&&h.settings.contained===!1&&h.preloadNextChapter(),h._rendering=!1,h._displayQ.dequeue(),0===h._displayQ.length()&&h._gotoQ.dequeue()},function(a){console.error("Could not load Chapter: "+g.absolute,a),h.trigger("book:chapterLoadFailed",g.absolute),h._rendering=!1,i.reject(a)}),i.promise):(this._q.enqueue("displayChapter",arguments),i.reject({message:"Rendering",stack:(new Error).stack}),i.promise)},EPUBJS.Book.prototype.nextPage=function(){var a;return this.isRendered?(a=this.renderer.nextPage(),a?void 0:this.nextChapter()):this._q.enqueue("nextPage",arguments)},EPUBJS.Book.prototype.prevPage=function(){var a;return this.isRendered?(a=this.renderer.prevPage(),a?void 0:this.prevChapter()):this._q.enqueue("prevPage",arguments)},EPUBJS.Book.prototype.nextChapter=function(){var a;if(this.spinePos0){for(a=this.spinePos-1;this.spine[a]&&this.spine[a].linear&&"no"==this.spine[a].linear;)a--;if(a>=0)return this.displayChapter(a,!0);this.trigger("book:atStart")}else this.trigger("book:atStart")},EPUBJS.Book.prototype.getCurrentLocationCfi=function(){return this.isRendered?this.renderer.currentLocationCfi:!1},EPUBJS.Book.prototype.goto=function(a){return 0===a.indexOf("epubcfi(")?this.gotoCfi(a):a.indexOf("%")===a.length-1?this.gotoPercentage(parseInt(a.substring(0,a.length-1))/100):"number"==typeof a||isNaN(a)===!1?this.gotoPage(a):this.gotoHref(a)},EPUBJS.Book.prototype.gotoCfi=function(a,b){var c,d,e,f=b||new RSVP.defer;return this.isRendered?this._moving||this._rendering?(console.warn("Renderer is moving"),this._gotoQ.enqueue("gotoCfi",[a,f]),!1):(c=new EPUBJS.EpubCFI(a),d=c.spinePos,-1==d?!1:(e=this.spine[d],promise=f.promise,this._moving=!0,this.currentChapter&&this.spinePos===d?(this.renderer.gotoCfi(c),this._moving=!1,f.resolve(this.renderer.currentLocationCfi)):(e&&-1!=d||(d=0,e=this.spine[d]),this.currentChapter=new EPUBJS.Chapter(e,this.store),this.currentChapter&&(this.spinePos=d,render=this.renderer.displayChapter(this.currentChapter,this.globalLayoutProperties),this.renderer.gotoCfi(c),render.then(function(a){this._moving=!1,f.resolve(a.currentLocationCfi)}.bind(this)))),promise.then(function(){this._gotoQ.dequeue()}.bind(this)),promise)):(console.warn("Not yet Rendered"),this.settings.previousLocationCfi=a,!1)},EPUBJS.Book.prototype.gotoHref=function(a,b){var c,d,e,f,g,h=b||new RSVP.defer;return this.isRendered?this._moving||this._rendering?(this._gotoQ.enqueue("gotoHref",[a,h]),!1):(c=a.split("#"),d=c[0],e=c[1]||!1,f=d.replace(this.settings.contentsPath,""),g=this.spineIndexByURL[f],d||(g=this.currentChapter?this.currentChapter.spinePos:0),"number"!=typeof g?!1:this.currentChapter&&g==this.currentChapter.spinePos?(e?this.renderer.section(e):this.renderer.firstPage(),h.resolve(this.renderer.currentLocationCfi),h.promise.then(function(){this._gotoQ.dequeue()}.bind(this)),h.promise):this.displayChapter(g).then(function(){e&&this.renderer.section(e),h.resolve(this.renderer.currentLocationCfi)}.bind(this))):(this.settings.goto=a,!1)},EPUBJS.Book.prototype.gotoPage=function(a){var b=this.pagination.cfiFromPage(a);return this.gotoCfi(b)},EPUBJS.Book.prototype.gotoPercentage=function(a){var b=this.pagination.pageFromPercentage(a);return this.gotoPage(b)},EPUBJS.Book.prototype.preloadNextChapter=function(){var a,b=this.spinePos+1;return b>=this.spine.length?!1:(a=new EPUBJS.Chapter(this.spine[b]),void(a&&EPUBJS.core.request(a.absolute)))},EPUBJS.Book.prototype.storeOffline=function(){var a=this,b=EPUBJS.core.values(this.manifest);return this.store.put(b).then(function(){a.settings.stored=!0,a.trigger("book:stored")})},EPUBJS.Book.prototype.availableOffline=function(){return this.settings.stored>0?!0:!1},EPUBJS.Book.prototype.toStorage=function(){var a=this.settings.bookKey;this.store.isStored(a).then(function(b){return b===!0?(this.settings.stored=!0,!0):this.storeOffline().then(function(){this.store.token(a,!0)}.bind(this))}.bind(this))},EPUBJS.Book.prototype.fromStorage=function(a){[EPUBJS.replace.head,EPUBJS.replace.resources,EPUBJS.replace.svg];this.contained||this.settings.contained||(this.online&&this.opened.then(this.toStorage.bind(this)),this.store&&this.settings.fromStorage&&a===!1?(this.settings.fromStorage=!1,this.store.off("offline"),this.store=!1):this.settings.fromStorage||(this.store=new EPUBJS.Storage(this.settings.credentials),this.store.on("offline",function(a){a?(this.offline=!0,this.settings.fromStorage=!0,this.trigger("book:offline")):(this.offline=!1,this.settings.fromStorage=!1,this.trigger("book:online"))}.bind(this))))},EPUBJS.Book.prototype.setStyle=function(a,b,c){var d=["color","background","background-color"];return this.isRendered?(this.settings.styles[a]=b,this.renderer.setStyle(a,b,c),void(-1===d.indexOf(a)&&this.renderer.reformat())):this._q.enqueue("setStyle",arguments)},EPUBJS.Book.prototype.removeStyle=function(a){return this.isRendered?(this.renderer.removeStyle(a),this.renderer.reformat(),void delete this.settings.styles[a]):this._q.enqueue("removeStyle",arguments)},EPUBJS.Book.prototype.addHeadTag=function(a,b){return this.isRendered?void(this.settings.headTags[a]=b):this._q.enqueue("addHeadTag",arguments)},EPUBJS.Book.prototype.useSpreads=function(a){console.warn("useSpreads is deprecated, use forceSingle or set a layoutOveride instead"),this.forceSingle(a===!1?!0:!1)},EPUBJS.Book.prototype.forceSingle=function(a){var b="undefined"==typeof a?!0:a;this.renderer.forceSingle(b),this.settings.forceSingle=b,this.isRendered&&this.renderer.reformat()},EPUBJS.Book.prototype.setMinSpreadWidth=function(a){this.settings.minSpreadWidth=a,this.isRendered&&(this.renderer.setMinSpreadWidth(this.settings.minSpreadWidth),this.renderer.reformat())},EPUBJS.Book.prototype.setGap=function(a){this.settings.gap=a,this.isRendered&&(this.renderer.setGap(this.settings.gap),this.renderer.reformat())},EPUBJS.Book.prototype.chapter=function(a){var b,c,d=this.spineIndexByURL[a];return d&&(b=this.spine[d],c=new EPUBJS.Chapter(b,this.store,this.settings.withCredentials),c.load()),c},EPUBJS.Book.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveContents(),this.unlistenToRenderer(this.renderer),this.trigger("book:unload")},EPUBJS.Book.prototype.destroy=function(){window.removeEventListener("beforeunload",this.unload),this.currentChapter&&this.currentChapter.unload(),this.unload(),this.renderer&&this.renderer.remove()},EPUBJS.Book.prototype._ready=function(){this.trigger("book:ready")},EPUBJS.Book.prototype._rendered=function(){this.isRendered=!0,this.trigger("book:rendered"),this._q.flush()},EPUBJS.Book.prototype.applyStyles=function(a,b){a.applyStyles(this.settings.styles),b()},EPUBJS.Book.prototype.applyHeadTags=function(a,b){a.applyHeadTags(this.settings.headTags),b()},EPUBJS.Book.prototype._registerReplacements=function(a){a.registerHook("beforeChapterDisplay",this.applyStyles.bind(this,a),!0),a.registerHook("beforeChapterDisplay",this.applyHeadTags.bind(this,a),!0),a.registerHook("beforeChapterDisplay",EPUBJS.replace.hrefs.bind(this),!0)},EPUBJS.Book.prototype._needsAssetReplacement=function(){return this.settings.fromStorage?!0:this.settings.contained?!0:!1},EPUBJS.Book.prototype.parseLayoutProperties=function(a){var b=this.settings.layoutOveride&&this.settings.layoutOveride.layout||a.layout||"reflowable",c=this.settings.layoutOveride&&this.settings.layoutOveride.spread||a.spread||"auto",d=this.settings.layoutOveride&&this.settings.layoutOveride.orientation||a.orientation||"auto"; -return{layout:b,spread:c,orientation:d}},RSVP.EventTarget.mixin(EPUBJS.Book.prototype),RSVP.on("error",function(){}),RSVP.configure("instrument",!1),EPUBJS.Chapter=function(a,b,c){this.href=a.href,this.absolute=a.url,this.id=a.id,this.spinePos=a.index,this.cfiBase=a.cfiBase,this.properties=a.properties,this.manifestProperties=a.manifestProperties,this.linear=a.linear,this.pages=1,this.store=b,this.credentials=c,this.epubcfi=new EPUBJS.EpubCFI,this.deferred=new RSVP.defer,this.loaded=this.deferred.promise,EPUBJS.Hooks.mixin(this),this.getHooks("beforeChapterRender"),this.caches={}},EPUBJS.Chapter.prototype.load=function(a,b){var c,d=a||this.store,e=b||this.credentials;return c=d?d.getXml(this.absolute):EPUBJS.core.request(this.absolute,"xml",e),c.then(function(a){this.setDocument(a),this.deferred.resolve(this)}.bind(this)),c},EPUBJS.Chapter.prototype.render=function(){return this.load().then(function(a){var b=a.querySelector("head"),c=a.createElement("base");return c.setAttribute("href",this.absolute),b.insertBefore(c,b.firstChild),this.contents=a,new RSVP.Promise(function(b){this.triggerHooks("beforeChapterRender",function(){b(a)}.bind(this),this)}.bind(this))}.bind(this)).then(function(a){var b=new XMLSerializer,c=b.serializeToString(a);return c}.bind(this))},EPUBJS.Chapter.prototype.url=function(a){var b,c=new RSVP.defer,d=a||this.store,e=this;return d?this.tempUrl?(b=this.tempUrl,c.resolve(b)):d.getUrl(this.absolute).then(function(a){e.tempUrl=a,c.resolve(a)}):(b=this.absolute,c.resolve(b)),c.promise},EPUBJS.Chapter.prototype.setPages=function(a){this.pages=a},EPUBJS.Chapter.prototype.getPages=function(){return this.pages},EPUBJS.Chapter.prototype.getID=function(){return this.ID},EPUBJS.Chapter.prototype.unload=function(a){this.document=null,this.tempUrl&&a&&(a.revokeUrl(this.tempUrl),this.tempUrl=!1)},EPUBJS.Chapter.prototype.setDocument=function(a){{var b=a.namespaceURI;a.doctype}this.document=a.implementation.createDocument(b,null,null),this.contents=this.document.importNode(a.documentElement,!0),this.document.appendChild(this.contents),!this.document.evaluate&&document.evaluate&&(this.document.evaluate=document.evaluate)},EPUBJS.Chapter.prototype.cfiFromRange=function(a){var b,c,d,e,f,g;if(this.document){if("undefined"!=typeof document.evaluate){if(c=EPUBJS.core.getElementXPath(a.startContainer),d=EPUBJS.core.getElementXPath(a.endContainer),e=this.document.evaluate(c,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,a.collapsed||(f=this.document.evaluate(d,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue),b=this.document.createRange(),e)try{b.setStart(e,a.startOffset),!a.collapsed&&f&&b.setEnd(f,a.endOffset)}catch(h){console.log("missed"),e=!1}e||(console.log("not found, try fuzzy match"),cleanStartTextContent=EPUBJS.core.cleanStringForXpath(a.startContainer.textContent),c="//text()[contains(.,"+cleanStartTextContent+")]",e=this.document.evaluate(c,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,e&&(b.setStart(e,a.startOffset),a.collapsed||(g=EPUBJS.core.cleanStringForXpath(a.endContainer.textContent),d="//text()[contains(.,"+g+")]",f=this.document.evaluate(d,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,f&&b.setEnd(f,a.endOffset))))}else b=a;return this.epubcfi.generateCfiFromRange(b,this.cfiBase)}},EPUBJS.Chapter.prototype.find=function(a){var b=this,c=[],d=a.toLowerCase(),e=function(a){for(var e,f,g,h=a.textContent.toLowerCase(),i=b.document.createRange(),j=-1,k=150;-1!=f;)f=h.indexOf(d,j+1),-1!=f&&(i=b.document.createRange(),i.setStart(a,f),i.setEnd(a,f+d.length),e=b.cfiFromRange(i),a.textContent.length=g&&c&&c(!0),e=!0)};b(a,f)}.bind(this))},EPUBJS.Chapter.prototype.replaceWithStored=function(a,b,c,d){var e,f={},g=this.store,h=this.caches[a],i=EPUBJS.core.uri(this.absolute),j=i.base,k=b,l=5,m=function(a,b){f[b]=a},n=function(){d&&d(),EPUBJS.core.values(e).forEach(function(a){g.revokeUrl(a)}),h=f};g&&(h||(h={}),e=EPUBJS.core.clone(h),this.replace(a,function(b,d){var h=b.getAttribute(k),i=EPUBJS.core.resolveUrl(j,h),m=function(c){var e;b.onload=function(){clearTimeout(e),d(c,i)},b.onerror=function(a){clearTimeout(e),d(c,i),console.error(a)},"image"==a&&b.setAttribute("externalResourcesRequired","true"),"link[href]"==a&&"stylesheet"!==b.getAttribute("rel")?d(c,i):e=setTimeout(function(){d(c,i)},l),b.setAttribute(k,c)};i in e?(m(e[i]),f[i]=e[i],delete e[i]):c(g,i,m,b)},n,m))};var EPUBJS=EPUBJS||{};EPUBJS.core={},EPUBJS.core.getEl=function(a){return document.getElementById(a)},EPUBJS.core.getEls=function(a){return document.getElementsByClassName(a)},EPUBJS.core.request=function(a,b,c){function d(){if(this.readyState===this.DONE)if(200===this.status||0===this.status&&this.response){var a;a="xml"==b?this.responseXML?this.responseXML:(new DOMParser).parseFromString(this.response,"text/xml"):"json"==b?JSON.parse(this.response):"blob"==b?e?this.response:new Blob([this.response]):this.response,g.resolve(a)}else g.reject({message:this.response,stack:(new Error).stack})}var e=window.URL,f=e?"blob":"arraybuffer",g=new RSVP.defer,h=new XMLHttpRequest,i=XMLHttpRequest.prototype;return"overrideMimeType"in i||Object.defineProperty(i,"overrideMimeType",{value:function(){}}),c&&(h.withCredentials=!0),h.open("GET",a,!0),h.onreadystatechange=d,"blob"==b&&(h.responseType=f),"json"==b&&h.setRequestHeader("Accept","application/json"),"xml"==b&&h.overrideMimeType("text/xml"),"binary"==b&&(h.responseType="arraybuffer"),h.send(),g.promise},EPUBJS.core.toArray=function(a){var b=[];for(var c in a){var d;a.hasOwnProperty(c)&&(d=a[c],d.ident=c,b.push(d))}return b},EPUBJS.core.uri=function(a){var b,c,d,e={protocol:"",host:"",path:"",origin:"",directory:"",base:"",filename:"",extension:"",fragment:"",href:a},f=a.indexOf("blob:"),g=a.indexOf("://"),h=a.indexOf("?"),i=a.indexOf("#");return 0===f?(e.protocol="blob",e.base=a.indexOf(0,i),e):(-1!=i&&(e.fragment=a.slice(i+1),a=a.slice(0,i)),-1!=h&&(e.search=a.slice(h+1),a=a.slice(0,h),href=a),-1!=g?(e.protocol=a.slice(0,g),b=a.slice(g+3),d=b.indexOf("/"),-1===d?(e.host=e.path,e.path=""):(e.host=b.slice(0,d),e.path=b.slice(d)),e.origin=e.protocol+"://"+e.host,e.directory=EPUBJS.core.folder(e.path),e.base=e.origin+e.directory):(e.path=a,e.directory=EPUBJS.core.folder(a),e.base=e.directory),e.filename=a.replace(e.base,""),c=e.filename.lastIndexOf("."),-1!=c&&(e.extension=e.filename.slice(c+1)),e)},EPUBJS.core.folder=function(a){var b=a.lastIndexOf("/");if(-1==b)var c="";return c=a.slice(0,b+1)},EPUBJS.core.dataURLToBlob=function(a){var b,c,d,e,f,g=";base64,";if(-1==a.indexOf(g))return b=a.split(","),c=b[0].split(":")[1],d=b[1],new Blob([d],{type:c});b=a.split(g),c=b[0].split(":")[1],d=window.atob(b[1]),e=d.length,f=new Uint8Array(e);for(var h=0;e>h;++h)f[h]=d.charCodeAt(h);return new Blob([f],{type:c})},EPUBJS.core.addScript=function(a,b,c){var d,e;e=!1,d=document.createElement("script"),d.type="text/javascript",d.async=!1,d.src=a,d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b&&b())},c=c||document.body,c.appendChild(d)},EPUBJS.core.addScripts=function(a,b,c){var d=a.length,e=0,f=function(){e++,d==e?b&&b():EPUBJS.core.addScript(a[e],f,c)};EPUBJS.core.addScript(a[e],f,c)},EPUBJS.core.addCss=function(a,b,c){var d,e;e=!1,d=document.createElement("link"),d.type="text/css",d.rel="stylesheet",d.href=a,d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b&&b())},c=c||document.body,c.appendChild(d)},EPUBJS.core.prefixed=function(a){var b=["Webkit","Moz","O","ms"],c=a[0].toUpperCase()+a.slice(1),d=b.length;if("undefined"!=typeof document.documentElement.style[a])return a;for(var e=0;d>e;e++)if("undefined"!=typeof document.documentElement.style[b[e]+c])return b[e]+c;return a},EPUBJS.core.resolveUrl=function(a,b){var c,d,e=[],f=EPUBJS.core.uri(b),g=a.split("/");return f.host?b:(g.pop(),d=b.split("/"),d.forEach(function(a){".."===a?g.pop():e.push(a)}),c=g.concat(e),c.join("/"))},EPUBJS.core.uuid=function(){var a=(new Date).getTime(),b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var c=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==b?c:7&c|8).toString(16)});return b},EPUBJS.core.insert=function(a,b,c){var d=EPUBJS.core.locationOf(a,b,c);return b.splice(d,0,a),d},EPUBJS.core.locationOf=function(a,b,c,d,e){var f,g=d||0,h=e||b.length,i=parseInt(g+(h-g)/2);return c||(c=function(a,b){return a>b?1:b>a?-1:(a=b)?0:void 0}),0>=h-g?i:(f=c(b[i],a),h-g===1?f>0?i:i+1:0===f?i:-1===f?EPUBJS.core.locationOf(a,b,c,i,h):EPUBJS.core.locationOf(a,b,c,g,i))},EPUBJS.core.indexOfSorted=function(a,b,c,d,e){var f,g=d||0,h=e||b.length,i=parseInt(g+(h-g)/2);return c||(c=function(a,b){return a>b?1:b>a?-1:(a=b)?0:void 0}),0>=h-g?-1:(f=c(b[i],a),h-g===1?0===f?i:-1:0===f?i:-1===f?EPUBJS.core.indexOfSorted(a,b,c,i,h):EPUBJS.core.indexOfSorted(a,b,c,g,i))},EPUBJS.core.queue=function(a){var b=[],c=a,d=function(a,c,d){return b.push({funcName:a,args:c,context:d}),b},e=function(){var a;b.length&&(a=b.shift(),c[a.funcName].apply(a.context||c,a.args))},f=function(){for(;b.length;)e()},g=function(){b=[]},h=function(){return b.length};return{enqueue:d,dequeue:e,flush:f,clear:g,length:h}},EPUBJS.core.getElementXPath=function(a){return a&&a.id?'//*[@id="'+a.id+'"]':EPUBJS.core.getElementTreeXPath(a)},EPUBJS.core.getElementTreeXPath=function(a){var b,c,d,e,f=[],g="http://www.w3.org/1999/xhtml"===a.ownerDocument.documentElement.getAttribute("xmlns");for(a.nodeType===Node.TEXT_NODE&&(b=EPUBJS.core.indexOfTextNode(a)+1,f.push("text()["+b+"]"),a=a.parentNode);a&&1==a.nodeType;a=a.parentNode){b=0;for(var h=a.previousSibling;h;h=h.previousSibling)h.nodeType!=Node.DOCUMENT_TYPE_NODE&&h.nodeName==a.nodeName&&++b;c=a.nodeName.toLowerCase(),d=g?"xhtml:"+c:c,e=b?"["+(b+1)+"]":"",f.splice(0,0,d+e)}return f.length?"./"+f.join("/"):null},EPUBJS.core.nsResolver=function(a){var b={xhtml:"http://www.w3.org/1999/xhtml",epub:"http://www.idpf.org/2007/ops"};return b[a]||null},EPUBJS.core.cleanStringForXpath=function(a){var b=a.match(/[^'"]+|['"]/g);return b=b.map(function(a){return"'"===a?'"\'"':'"'===a?"'\"'":"'"+a+"'"}),"concat('',"+b.join(",")+")"},EPUBJS.core.indexOfTextNode=function(a){for(var b,c=a.parentNode,d=c.childNodes,e=-1,f=0;fb;b++){var d=arguments[b];for(var e in d)void 0===a[e]&&(a[e]=d[e])}return a},EPUBJS.core.extend=function(a){var b=[].slice.call(arguments,1);return b.forEach(function(b){b&&Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))})}),a},EPUBJS.core.clone=function(a){return EPUBJS.core.isArray(a)?a.slice():EPUBJS.core.extend({},a)},EPUBJS.core.isElement=function(a){return!(!a||1!=a.nodeType)},EPUBJS.core.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},EPUBJS.core.isString=function(a){return"string"==typeof a||a instanceof String},EPUBJS.core.isArray=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},EPUBJS.core.values=function(a){var b,c,d,e=-1;if(!a)return[];for(b=Object.keys(a),c=b.length,d=Array(c);++e0;){if(c=d.shift(),"text"===c.type?(e=g.childNodes[c.index],g=e.parentNode||g):g=c.id?f.getElementById(c.id):h[c.index],"undefined"==typeof g)return console.error("No Element For",c,a.str),!1;h=Array.prototype.slice.call(g.children)}return g},EPUBJS.EpubCFI.prototype.compare=function(a,b){if("string"==typeof a&&(a=new EPUBJS.EpubCFI(a)),"string"==typeof b&&(b=new EPUBJS.EpubCFI(b)),a.spinePos>b.spinePos)return 1;if(a.spinePosb.steps[c].index)return 1;if(a.steps[c].indexb.characterOffset?1:a.characterOffset")},EPUBJS.EpubCFI.prototype.generateRangeFromCfi=function(a,b){var c,d,e,f,g,h,i=b||document,j=i.createRange();return"string"==typeof a&&(a=this.parse(a)),-1===a.spinePos?!1:(c=a.steps[a.steps.length-1],"undefined"!=typeof document.evaluate?(d=this.generateXpathFromSteps(a.steps),e=i.evaluate(d,i,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue):(g=this.generateQueryFromSteps(a.steps),h=i.querySelector(g),h&&"text"==c.type&&(e=h.childNodes[c.index])),e?(e&&a.characterOffset>=0?(f=e.length,a.characterOffset-1&&this.hooks[a].splice(c,1)):Array.isArray(b)&&b.forEach(function(b){c=this.hooks[a].indexOf(b),c>-1&&this.hooks[a].splice(c,1)},this))},a.prototype.triggerHooks=function(a,b,c){function d(){f--,0>=f&&b&&b()}var e,f;return"undefined"==typeof this.hooks[a]?!1:(e=this.hooks[a],f=e.length,0===f&&b&&b(),void e.forEach(function(a){a(d,c)}))},{register:function(a){if(void 0===EPUBJS.hooks[a]&&(EPUBJS.hooks[a]={}),"object"!=typeof EPUBJS.hooks[a])throw"Already registered: "+a;return EPUBJS.hooks[a]},mixin:function(b){for(var c in a.prototype)b[c]=a.prototype[c]}}}(),EPUBJS.Layout=EPUBJS.Layout||{},EPUBJS.Layout.Reflowable=function(){this.documentElement=null,this.spreadWidth=null},EPUBJS.Layout.Reflowable.prototype.format=function(a,b,c,d){var e=EPUBJS.core.prefixed("columnAxis"),f=EPUBJS.core.prefixed("columnGap"),g=EPUBJS.core.prefixed("columnWidth"),h=EPUBJS.core.prefixed("columnFill"),i=Math.floor(b),j=Math.floor(i/8),k=d>=0?d:j%2===0?j:j-1;return this.documentElement=a,this.spreadWidth=i+k,a.style.overflow="hidden",a.style.width=i+"px",a.style.height=c+"px",a.style[e]="horizontal",a.style[h]="auto",a.style[g]=i+"px",a.style[f]=k+"px",this.colWidth=i,this.gap=k,{pageWidth:this.spreadWidth,pageHeight:c}},EPUBJS.Layout.Reflowable.prototype.calculatePages=function(){var a,b;return this.documentElement.style.width="auto",a=this.documentElement.scrollWidth,b=Math.ceil(a/this.spreadWidth),{displayedPages:b,pageCount:b}},EPUBJS.Layout.ReflowableSpreads=function(){this.documentElement=null,this.spreadWidth=null},EPUBJS.Layout.ReflowableSpreads.prototype.format=function(a,b,c,d){var e=EPUBJS.core.prefixed("columnAxis"),f=EPUBJS.core.prefixed("columnGap"),g=EPUBJS.core.prefixed("columnWidth"),h=EPUBJS.core.prefixed("columnFill"),i=2,j=Math.floor(b),k=j%2===0?j:j-1,l=Math.floor(k/8),m=d>=0?d:l%2===0?l:l-1,n=Math.floor((k-m)/i);return this.documentElement=a,this.spreadWidth=(n+m)*i,a.style.overflow="hidden",a.style.width=k+"px",a.style.height=c+"px",a.style[e]="horizontal",a.style[h]="auto",a.style[f]=m+"px",a.style[g]=n+"px",this.colWidth=n,this.gap=m,{pageWidth:this.spreadWidth,pageHeight:c}},EPUBJS.Layout.ReflowableSpreads.prototype.calculatePages=function(){var a=this.documentElement.scrollWidth,b=Math.ceil(a/this.spreadWidth);return this.documentElement.style.width=b*this.spreadWidth-this.gap+"px",{displayedPages:b,pageCount:2*b}},EPUBJS.Layout.Fixed=function(){this.documentElement=null},EPUBJS.Layout.Fixed.prototype.format=function(a){var b,c,d,e,f=EPUBJS.core.prefixed("columnWidth"),g=a.querySelector("[name=viewport]");return this.documentElement=a,g&&g.hasAttribute("content")&&(b=g.getAttribute("content"),c=b.split(","),c[0]&&(d=c[0].replace("width=","")),c[1]&&(e=c[1].replace("height=",""))),a.style.width=d+"px"||"auto",a.style.height=e+"px"||"auto",a.style[f]="auto",a.style.overflow="auto",this.colWidth=d,this.gap=0,{pageWidth:d,pageHeight:e}},EPUBJS.Layout.Fixed.prototype.calculatePages=function(){return{displayedPages:1,pageCount:1}},EPUBJS.Locations=function(a,b,c){this.spine=a,this.store=b,this.credentials=c,this.epubcfi=new EPUBJS.EpubCFI,this._locations=[],this.total=0,this.break=150,this._current=0},EPUBJS.Locations.prototype.generate=function(){{var a=new RSVP.defer,b=-1,c=this.spine.length,d=function(a){var e,f=b+1,g=a||new RSVP.defer;return f>=c?g.resolve():(b=f,e=new EPUBJS.Chapter(this.spine[b],this.store,this.credentials),this.process(e).then(function(){setTimeout(function(){d(g)},1)})),g.promise}.bind(this);d().then(function(){this.total=this._locations.length-1,this._currentCfi&&(this.currentLocation=this._currentCfi),a.resolve(this._locations)}.bind(this))}return a.promise},EPUBJS.Locations.prototype.process=function(a){return a.load().then(function(b){var c,d,e=b,f=e.documentElement.querySelector("body"),g=0;this.sprint(f,function(b){var f,h=b.length,i=0;for(0===g&&(c=e.createRange(),c.setStart(b,0)),f=this.break-g,f>h&&(g+=h,i=h);h>i;)g=this.break,i+=this.break,i>=h?g=h-(i-this.break):(c.setEnd(b,i),cfi=a.cfiFromRange(c),this._locations.push(cfi),g=0,i+=1,c=e.createRange(),c.setStart(b,i));d=b}.bind(this)),c&&(c.setEnd(d,d.length),cfi=a.cfiFromRange(c),this._locations.push(cfi),g=0)}.bind(this))},EPUBJS.Locations.prototype.sprint=function(a,b){for(var c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);node=c.nextNode();)b(node)},EPUBJS.Locations.prototype.locationFromCfi=function(a){return 0===this._locations.length?-1:EPUBJS.core.locationOf(a,this._locations,this.epubcfi.compare)},EPUBJS.Locations.prototype.percentageFromCfi=function(a){var b=this.locationFromCfi(a);return this.percentageFromLocation(b)},EPUBJS.Locations.prototype.percentageFromLocation=function(a){return a&&this.total?a/this.total:0},EPUBJS.Locations.prototype.cfiFromLocation=function(a){var b=-1;return"number"!=typeof a&&(a=parseInt(a)),a>=0&&a1?a/100:a,c=Math.ceil(this.total*b);return this.cfiFromLocation(c)},EPUBJS.Locations.prototype.load=function(a){return this._locations=JSON.parse(a),this.total=this._locations.length-1,this._locations},EPUBJS.Locations.prototype.save=function(){return JSON.stringify(this._locations)},EPUBJS.Locations.prototype.getCurrent=function(){return this._current},EPUBJS.Locations.prototype.setCurrent=function(a){var b;if("string"==typeof a)this._currentCfi=a;else{if("number"!=typeof a)return;this._current=a}0!==this._locations.length&&("string"==typeof a?(b=this.locationFromCfi(a),this._current=b):b=a,this.trigger("changed",{percentage:this.percentageFromLocation(b)}))},Object.defineProperty(EPUBJS.Locations.prototype,"currentLocation",{get:function(){return this._current},set:function(a){this.setCurrent(a)}}),RSVP.EventTarget.mixin(EPUBJS.Locations.prototype),EPUBJS.Pagination=function(a){this.pages=[],this.locations=[],this.epubcfi=new EPUBJS.EpubCFI,a&&a.length&&this.process(a)},EPUBJS.Pagination.prototype.process=function(a){a.forEach(function(a){this.pages.push(a.page),this.locations.push(a.cfi)},this),this.pageList=a,this.firstPage=parseInt(this.pages[0]),this.lastPage=parseInt(this.pages[this.pages.length-1]),this.totalPages=this.lastPage-this.firstPage},EPUBJS.Pagination.prototype.pageFromCfi=function(a){var b=-1;if(0===this.locations.length)return-1;var c=EPUBJS.core.indexOfSorted(a,this.locations,this.epubcfi.compare);return-1!=c&&c=0?this.pages[c-1]:this.pages[0],void 0!==b||(b=-1)),b},EPUBJS.Pagination.prototype.cfiFromPage=function(a){var b=-1;"number"!=typeof a&&(a=parseInt(a));var c=this.pages.indexOf(a);return-1!=c&&(b=this.locations[c]),b},EPUBJS.Pagination.prototype.pageFromPercentage=function(a){var b=Math.round(this.totalPages*a);return b},EPUBJS.Pagination.prototype.percentageFromPage=function(a){var b=(a-this.firstPage)/this.totalPages;return Math.round(1e3*b)/1e3},EPUBJS.Pagination.prototype.percentageFromCfi=function(a){var b=this.pageFromCfi(a),c=this.percentageFromPage(b);return c},EPUBJS.Parser=function(a){this.baseUrl=a||""},EPUBJS.Parser.prototype.container=function(a){var b,c,d,e;return a?(b=a.querySelector("rootfile"))?(c=b.getAttribute("full-path"),d=EPUBJS.core.uri(c).directory,e=a.xmlEncoding,{packagePath:c,basePath:d,encoding:e}):void console.error("No RootFile Found"):void console.error("Container File Not Found")},EPUBJS.Parser.prototype.identifier=function(a){var b;return a?(b=a.querySelector("metadata"),b?this.getElementText(b,"identifier"):void console.error("No Metadata Found")):void console.error("Package File Not Found")},EPUBJS.Parser.prototype.packageContents=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=this;return b&&(this.baseUrl=b),a?(c=a.querySelector("metadata"))?(d=a.querySelector("manifest"))?(e=a.querySelector("spine"))?(f=n.manifest(d),g=n.findNavPath(d),h=n.findTocPath(d,e),i=n.findCoverPath(d),j=Array.prototype.indexOf.call(e.parentNode.childNodes,e),k=n.spine(e,f),l={},k.forEach(function(a){l[a.href]=a.index}),m=n.metadata(c),m.direction=e.getAttribute("page-progression-direction"),{metadata:m,spine:k,manifest:f,navPath:g,tocPath:h,coverPath:i,spineNodeIndex:j,spineIndexByURL:l}):void console.error("No Spine Found"):void console.error("No Manifest Found"):void console.error("No Metadata Found"):void console.error("Package File Not Found")},EPUBJS.Parser.prototype.findNavPath=function(a){var b=a.querySelector("item[properties$='nav'], item[properties^='nav '], item[properties*=' nav ']");return b?b.getAttribute("href"):!1},EPUBJS.Parser.prototype.findTocPath=function(a,b){var c,d=a.querySelector("item[media-type='application/x-dtbncx+xml']");return d||(c=b.getAttribute("toc"),c&&(d=a.querySelector("item[id='"+c+"']"))),d?d.getAttribute("href"):!1},EPUBJS.Parser.prototype.findCoverPath=function(a){var b=a.querySelector("item[properties='cover-image']");return b?b.getAttribute("href"):!1},EPUBJS.Parser.prototype.metadata=function(a){var b={},c=this;return b.bookTitle=c.getElementText(a,"title"),b.creator=c.getElementText(a,"creator"),b.description=c.getElementText(a,"description"),b.pubdate=c.getElementText(a,"date"),b.publisher=c.getElementText(a,"publisher"),b.identifier=c.getElementText(a,"identifier"),b.language=c.getElementText(a,"language"),b.rights=c.getElementText(a,"rights"),b.modified_date=c.querySelectorText(a,"meta[property='dcterms:modified']"),b.layout=c.querySelectorText(a,"meta[property='rendition:layout']"),b.orientation=c.querySelectorText(a,"meta[property='rendition:orientation']"),b.spread=c.querySelectorText(a,"meta[property='rendition:spread']"),b},EPUBJS.Parser.prototype.getElementText=function(a,b){var c,d=a.getElementsByTagNameNS("http://purl.org/dc/elements/1.1/",b);return d&&0!==d.length?(c=d[0],c.childNodes.length?c.childNodes[0].nodeValue:""):""},EPUBJS.Parser.prototype.querySelectorText=function(a,b){var c=a.querySelector(b);return c&&c.childNodes.length?c.childNodes[0].nodeValue:""},EPUBJS.Parser.prototype.manifest=function(a){var b=this.baseUrl,c={},d=a.querySelectorAll("item"),e=Array.prototype.slice.call(d);return e.forEach(function(a){var d=a.getAttribute("id"),e=a.getAttribute("href")||"",f=a.getAttribute("media-type")||"",g=a.getAttribute("properties")||"";c[d]={href:e,url:b+e,type:f,properties:g}}),c},EPUBJS.Parser.prototype.spine=function(a,b){var c=[],d=a.getElementsByTagName("itemref"),e=Array.prototype.slice.call(d),f=Array.prototype.indexOf.call(a.parentNode.childNodes,a),g=new EPUBJS.EpubCFI;return e.forEach(function(a,d){var e=a.getAttribute("idref"),h=g.generateChapterComponent(f,d,e),i=a.getAttribute("properties")||"",j=i.length?i.split(" "):[],k=b[e].properties,l=k.length?k.split(" "):[],m={id:e,linear:a.getAttribute("linear")||"",properties:j,manifestProperties:l,href:b[e].href,url:b[e].url,index:d,cfiBase:h,cfi:"epubcfi("+h+")"};c.push(m)}),c},EPUBJS.Parser.prototype.querySelectorByType=function(a,b,c){var d=a.querySelector(b+'[*|type="'+c+'"]');if(0!==d.length)return d;d=a.querySelectorAll(b);for(var e=0;ed;++d)e=this.navItem(h[d],b,c),j[e.id]=e,e.parent?(f=j[e.parent],f.subitems.push(e)):k.push(e);return k},EPUBJS.Parser.prototype.navItem=function(a,b,c){var d,e=a.getAttribute("id")||!1,f=a.querySelector("a, span"),g=f.getAttribute("href")||"",h=f.textContent||"",i=g.split("#"),j=i[0],k=b[j],l=c[k],m=[],n=a.parentNode,o=l?l.cfi:""; -return n&&"navPoint"===n.nodeName&&(d=n.getAttribute("id")),e||(k?(l=c[k],e=l.id,o=l.cfi):(e="epubjs-autogen-toc-id-"+EPUBJS.core.uuid(),a.setAttribute("id",e))),{id:e,href:g,label:h,spinePos:k,subitems:m,parent:d,cfi:o}},EPUBJS.Parser.prototype.toc=function(a,b,c){var d,e,f,g=a.querySelectorAll("navMap navPoint"),h=g.length,i={},j=[];if(!g||0===h)return j;for(d=0;h>d;++d)e=this.tocItem(g[d],b,c),i[e.id]=e,e.parent?(f=i[e.parent],f.subitems.push(e)):j.push(e);return j},EPUBJS.Parser.prototype.tocItem=function(a,b,c){var d,e=a.getAttribute("id")||!1,f=a.querySelector("content"),g=f.getAttribute("src"),h=a.querySelector("navLabel"),i=h.textContent?h.textContent:"",j=g.split("#"),k=j[0],l=b[k],m=c[l],n=[],o=a.parentNode,p=m?m.cfi:"";return o&&"navPoint"===o.nodeName&&(d=o.getAttribute("id")),e||(l?(m=c[l],e=m.id,p=m.cfi):(e="epubjs-autogen-toc-id-"+EPUBJS.core.uuid(),a.setAttribute("id",e))),{id:e,href:g,label:i,spinePos:l,subitems:n,parent:d,cfi:p}},EPUBJS.Parser.prototype.pageList=function(a,b,c){var d,e,f=this.querySelectorByType(a,"nav","page-list"),g=f?f.querySelectorAll("ol li"):[],h=g.length,i=[];if(!g||0===h)return i;for(d=0;h>d;++d)e=this.pageListItem(g[d],b,c),i.push(e);return i},EPUBJS.Parser.prototype.pageListItem=function(a){var b,c,d,e=(a.getAttribute("id")||!1,a.querySelector("a")),f=e.getAttribute("href")||"",g=e.textContent||"",h=parseInt(g),i=f.indexOf("epubcfi");return-1!=i?(b=f.split("#"),c=b[0],d=b.length>1?b[1]:!1,{cfi:d,href:f,packageUrl:c,page:h}):{href:f,page:h}},EPUBJS.Render.Iframe=function(){this.iframe=null,this.document=null,this.window=null,this.docEl=null,this.bodyEl=null,this.leftPos=0,this.pageWidth=0},EPUBJS.Render.Iframe.prototype.create=function(){return this.iframe=document.createElement("iframe"),this.iframe.id="epubjs-iframe:"+EPUBJS.core.uuid(),this.iframe.scrolling="no",this.iframe.seamless="seamless",this.iframe.style.border="none",this.iframe.addEventListener("load",this.loaded.bind(this),!1),this.isMobile=navigator.userAgent.match(/(iPad|iPhone|iPod|Mobile|Android)/g),this.transform=EPUBJS.core.prefixed("transform"),this.iframe},EPUBJS.Render.Iframe.prototype.load=function(a){var b=this,c=new RSVP.defer;return this.window&&this.unload(),this.iframe.onload=function(){b.document=b.iframe.contentDocument,b.docEl=b.document.documentElement,b.headEl=b.document.head,b.bodyEl=b.document.body||b.document.querySelector("body"),b.window=b.iframe.contentWindow,b.window.addEventListener("resize",b.resized.bind(b),!1),b.leftPos=0,b.setLeft(0),b.bodyEl&&(b.bodyEl.style.margin="0"),"rtl"==b.direction&&"rtl"!=b.docEl.dir&&(b.docEl.dir="rtl",b.docEl.style.position="absolute",b.docEl.style.right="0"),c.resolve(b.docEl)},this.iframe.onerror=function(a){c.reject({message:"Error Loading Contents: "+a,stack:(new Error).stack})},this.document=this.iframe.contentDocument,this.document?(this.document.open(),this.document.write(a),this.document.close(),c.promise):(c.reject(new Error("No Document Available")),c)},EPUBJS.Render.Iframe.prototype.loaded=function(){var a,b,c=this.iframe.contentWindow.location.href;this.document=this.iframe.contentDocument,this.docEl=this.document.documentElement,this.headEl=this.document.head,this.bodyEl=this.document.body||this.document.querySelector("body"),this.window=this.iframe.contentWindow,"about:blank"!=c&&(a=this.iframe.contentDocument.querySelector("base"),b=a.getAttribute("href"),this.trigger("render:loaded",b))},EPUBJS.Render.Iframe.prototype.resize=function(a,b){this.iframe&&(this.iframe.height=b,isNaN(a)||a%2===0||(a+=1),this.iframe.width=a,this.width=this.iframe.getBoundingClientRect().width||a,this.height=this.iframe.getBoundingClientRect().height||b)},EPUBJS.Render.Iframe.prototype.resized=function(){this.width=this.iframe.getBoundingClientRect().width,this.height=this.iframe.getBoundingClientRect().height},EPUBJS.Render.Iframe.prototype.totalWidth=function(){return this.docEl.scrollWidth},EPUBJS.Render.Iframe.prototype.totalHeight=function(){return this.docEl.scrollHeight},EPUBJS.Render.Iframe.prototype.setPageDimensions=function(a,b){this.pageWidth=a,this.pageHeight=b},EPUBJS.Render.Iframe.prototype.setDirection=function(a){this.direction=a,this.docEl&&"rtl"==this.docEl.dir&&(this.docEl.dir="rtl",this.docEl.style.position="static",this.docEl.style.right="auto")},EPUBJS.Render.Iframe.prototype.setLeft=function(a){this.isMobile?this.docEl.style[this.transform]="translate("+-a+"px, 0)":this.document.defaultView.scrollTo(a,0)},EPUBJS.Render.Iframe.prototype.setStyle=function(a,b,c){c&&(a=EPUBJS.core.prefixed(a)),this.bodyEl&&(this.bodyEl.style[a]=b)},EPUBJS.Render.Iframe.prototype.removeStyle=function(a){this.bodyEl&&(this.bodyEl.style[a]="")},EPUBJS.Render.Iframe.prototype.addHeadTag=function(a,b,c){var d=c||this.document,e=d.createElement(a),f=d.head;for(var g in b)e.setAttribute(g,b[g]);f&&f.insertBefore(e,f.firstChild)},EPUBJS.Render.Iframe.prototype.page=function(a){this.leftPos=this.pageWidth*(a-1),"rtl"===this.direction&&(this.leftPos=-1*this.leftPos),this.setLeft(this.leftPos)},EPUBJS.Render.Iframe.prototype.getPageNumberByElement=function(a){var b,c;if(a)return b=this.leftPos+a.getBoundingClientRect().left,c=Math.floor(b/this.pageWidth)+1},EPUBJS.Render.Iframe.prototype.getPageNumberByRect=function(a){var b,c;return b=this.leftPos+a.left,c=Math.floor(b/this.pageWidth)+1},EPUBJS.Render.Iframe.prototype.getBaseElement=function(){return this.bodyEl},EPUBJS.Render.Iframe.prototype.getDocumentElement=function(){return this.docEl},EPUBJS.Render.Iframe.prototype.isElementVisible=function(a){var b,c;return a&&"function"==typeof a.getBoundingClientRect&&(b=a.getBoundingClientRect(),c=b.left,0!==b.width&&0!==b.height&&c>=0&&c=1&&a<=this.displayedPages?(this.chapterPos=a,this.render.page(a),this.visibleRangeCfi=this.getVisibleRangeCfi(),this.currentLocationCfi=this.visibleRangeCfi.start,this.trigger("renderer:locationChanged",this.currentLocationCfi),this.trigger("renderer:visibleRangeChanged",this.visibleRangeCfi),!0):!1:(console.warn("pageMap not set, queuing"),this._q.enqueue("page",arguments),!0)},EPUBJS.Renderer.prototype.nextPage=function(){return this.page(this.chapterPos+1)},EPUBJS.Renderer.prototype.prevPage=function(){return this.page(this.chapterPos-1)},EPUBJS.Renderer.prototype.pageByElement=function(a){var b;a&&(b=this.render.getPageNumberByElement(a),this.page(b))},EPUBJS.Renderer.prototype.lastPage=function(){return this._moving?this._q.enqueue("lastPage",arguments):void this.page(this.displayedPages)},EPUBJS.Renderer.prototype.firstPage=function(){return this._moving?this._q.enqueue("firstPage",arguments):void this.page(1)},EPUBJS.Renderer.prototype.section=function(a){var b=this.doc.getElementById(a);b&&this.pageByElement(b)},EPUBJS.Renderer.prototype.firstElementisTextNode=function(a){var b=a.childNodes,c=b.length;return c&&b[0]&&3===b[0].nodeType&&b[0].textContent.trim().length?!0:!1},EPUBJS.Renderer.prototype.isGoodNode=function(a){var b=["audio","canvas","embed","iframe","img","math","object","svg","video"];return-1!==b.indexOf(a.tagName.toLowerCase())?!0:this.firstElementisTextNode(a)},EPUBJS.Renderer.prototype.walk=function(a,b,c){for(var d,e,f,g,h=a,i=[h],j=1e4,k=0;!d&&i.length;){if(a=i.shift(),this.containsPoint(a,b,c)&&this.isGoodNode(a)&&(d=a),!d&&a&&a.childElementCount>0){if(e=a.children,!e||!e.length)return d;f=e.length?e.length:0;for(var l=f-1;l>=0;l--)e[l]!=g&&i.unshift(e[l])}if(!d&&0===i.length&&h&&null!==h.parentNode&&(i.push(h.parentNode),g=h,h=h.parentNode),k++,k>j){console.error("ENDLESS LOOP");break}}return d},EPUBJS.Renderer.prototype.containsPoint=function(a,b){var c;return a&&"function"==typeof a.getBoundingClientRect&&(c=a.getBoundingClientRect(),0!==c.width&&0!==c.height&&c.left>=b&&b<=c.left+c.width)?!0:!1},EPUBJS.Renderer.prototype.textSprint=function(a,b){for(var c,d=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,{acceptNode:function(a){return/^\s*$/.test(a.data)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}},!1);c=d.nextNode();)b(c)},EPUBJS.Renderer.prototype.sprint=function(a,b){for(var c,d=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,null,!1);c=d.nextNode();)b(c)},EPUBJS.Renderer.prototype.mapPage=function(){var a,b,c=this,d=[],e=this.render.getBaseElement(),f=1,g=this.layout.colWidth+this.layout.gap,h=this.formated.pageWidth*(this.chapterPos-1),i=g*f-h,j=0,k=function(a){var b,c,d=Array.prototype.slice.call(a.childNodes);if(a.nodeType==Node.ELEMENT_NODE){if(c=document.createRange(),c.selectNodeContents(a),b=c.getBoundingClientRect(),!b||0===b.width&&0===b.height)return;b.left>j&&d.forEach(function(a){a.nodeType==Node.TEXT_NODE&&a.textContent.trim().length&&l(a)}),b.right>j&&d.forEach(function(a){a.nodeType==Node.TEXT_NODE&&a.textContent.trim().length&&l(a)})}},l=function(e){var k=c.splitTextNodeIntoWordsRanges(e);k.forEach(function(e){var k=e.getBoundingClientRect();!k||0===k.width&&0===k.height||(k.left+k.width0&&(b&&(b.setEnd(a,pos),c.push(b)),b=this.doc.createRange(),b.setStart(a,pos+1));return b&&(b.setEnd(a,d.length),c.push(b)),c},EPUBJS.Renderer.prototype.rangePosition=function(a){var b,c;return c=a.getClientRects(),c.length?b=c[0]:null},EPUBJS.Renderer.prototype.getPageCfi=function(){var a;return this.spreads?(a=2*this.chapterPos,startRange=this.pageMap[a-2]):(a=this.chapterPos,startRange=this.pageMap[a-1]),this.pageMap[2*this.chapterPos-1].start},EPUBJS.Renderer.prototype.getRange=function(a,b,c){var d,e=this.doc.createRange();return c=!0,"undefined"==typeof document.caretPositionFromPoint||c?"undefined"==typeof document.caretRangeFromPoint||c?(this.visibileEl=this.findElementAfter(a,b),e.setStart(this.visibileEl,1)):e=this.doc.caretRangeFromPoint(a,b):(d=this.doc.caretPositionFromPoint(a,b),e.setStart(d.offsetNode,d.offset)),e},EPUBJS.Renderer.prototype.pagesInCurrentChapter=function(){var a,b;return this.pageMap?(b=this.pageMap.length,a=this.spreads?Math.ceil(b/2):b):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.currentRenderedPage=function(){var a;return this.pageMap?a=this.spreads&&this.layout.pageCount>1?2*this.chapterPos:this.chapterPos:(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.getRenderedPagesLeft=function(){var a,b,c;return this.pageMap?(b=this.pageMap.length,a=this.spreads?2*this.chapterPos:this.chapterPos,c=b-a):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.getVisibleRangeCfi=function(){var a,b,c;return this.pageMap?(this.spreads?(a=2*this.chapterPos,b=this.pageMap[a-2],c=b,this.layout.pageCount>1&&(c=this.pageMap[a-1])):(a=this.chapterPos,b=this.pageMap[a-1],c=b),b||(console.warn("page range miss:",a,this.pageMap),b=this.pageMap[this.pageMap.length-1],c=b),{start:b.start,end:c.end}):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.gotoCfi=function(a){var b,c,d;if(this._moving)return this._q.enqueue("gotoCfi",arguments);if(EPUBJS.core.isString(a)&&(a=this.epubcfi.parse(a)),"undefined"==typeof document.evaluate)c=this.epubcfi.addMarker(a,this.doc),c&&(b=this.render.getPageNumberByElement(c),this.epubcfi.removeMarker(c,this.doc),this.page(b));else if(d=this.epubcfi.generateRangeFromCfi(a,this.doc)){var e=d.getBoundingClientRect();b=e?this.render.getPageNumberByRect(e):1,this.page(b),this.currentLocationCfi=a.str}else this.page(1)},EPUBJS.Renderer.prototype.findFirstVisible=function(a){var b,c=a||this.render.getBaseElement();return b=this.walk(c,0,0),b?b:a},EPUBJS.Renderer.prototype.findElementAfter=function(a,b,c){var d,e=c||this.render.getBaseElement();return d=this.walk(e,a,b),d?d:e},EPUBJS.Renderer.prototype.resize=function(a,b,c){this.width=a,this.height=b,c!==!1&&this.render.resize(this.width,this.height),this.contents&&this.reformat(),this.trigger("renderer:resized",{width:this.width,height:this.height})},EPUBJS.Renderer.prototype.onResized=function(){var a=this.container.clientWidth,b=this.container.clientHeight;this.resize(a,b,!1)},EPUBJS.Renderer.prototype.addEventListeners=function(){this.render.document&&this.listenedEvents.forEach(function(a){this.render.document.addEventListener(a,this.triggerEvent.bind(this),!1)},this)},EPUBJS.Renderer.prototype.removeEventListeners=function(){this.render.document&&this.listenedEvents.forEach(function(a){this.render.document.removeEventListener(a,this.triggerEvent,!1)},this)},EPUBJS.Renderer.prototype.triggerEvent=function(a){this.trigger("renderer:"+a.type,a)},EPUBJS.Renderer.prototype.addSelectionListeners=function(){this.render.document.addEventListener("selectionchange",this.onSelectionChange.bind(this),!1)},EPUBJS.Renderer.prototype.removeSelectionListeners=function(){this.render.document&&this.doc.removeEventListener("selectionchange",this.onSelectionChange,!1)},EPUBJS.Renderer.prototype.onSelectionChange=function(){this.selectionEndTimeout&&clearTimeout(this.selectionEndTimeout),this.selectionEndTimeout=setTimeout(function(){this.selectedRange=this.render.window.getSelection(),this.trigger("renderer:selected",this.selectedRange)}.bind(this),500)},EPUBJS.Renderer.prototype.setMinSpreadWidth=function(a){this.minSpreadWidth=a,this.spreads=this.determineSpreads(a)},EPUBJS.Renderer.prototype.determineSpreads=function(a){return this.isForcedSingle||!a||this.width=g&&c&&c(!0),e=!0)};b(a,f)}.bind(this))},RSVP.EventTarget.mixin(EPUBJS.Renderer.prototype);var EPUBJS=EPUBJS||{};EPUBJS.replace={},EPUBJS.replace.hrefs=function(a,b){var c=this,d=function(a,d){var e,f,g=a.getAttribute("href"),h=g.search("://");if(-1!=h)a.setAttribute("target","_blank");else{var i=EPUBJS.core.uri(b.render.window.location.href);e=i.directory,f=e?"file"===i.protocol?EPUBJS.core.resolveUrl(i.base,g):EPUBJS.core.resolveUrl(e,g):g,a.onclick=function(){return c.goto(f),!1}}d()};b.replace("a[href]",d,a)},EPUBJS.replace.head=function(a,b){b.replaceWithStored("link[href]","href",EPUBJS.replace.links,a)},EPUBJS.replace.resources=function(a,b){b.replaceWithStored("[src]","src",EPUBJS.replace.srcs,a)},EPUBJS.replace.svg=function(a,b){b.replaceWithStored("image","xlink:href",function(a,b,c){a.getUrl(b).then(c)},a)},EPUBJS.replace.srcs=function(a,b,c){a.getUrl(b).then(c)},EPUBJS.replace.links=function(a,b,c,d){"stylesheet"===d.getAttribute("rel")?EPUBJS.replace.stylesheets(a,b).then(function(a,b){c(a,b)},function(){c(null)}):a.getUrl(b).then(c,function(){c(null)})},EPUBJS.replace.stylesheets=function(a,b){var c=new RSVP.defer;if(a)return a.getText(b).then(function(d){EPUBJS.replace.cssUrls(a,b,d).then(function(a){var b=window.URL||window.webkitURL||window.mozURL,d=new Blob([a],{type:"text/css"}),e=b.createObjectURL(d);c.resolve(e)},function(a){c.reject(a)})},function(a){c.reject(a)}),c.promise},EPUBJS.replace.cssUrls=function(a,b,c){var d=new RSVP.defer,e=[],f=c.match(/url\(\'?\"?([^\'|^\"^\)]*)\'?\"?\)/g);if(a)return f?(f.forEach(function(f){var g=EPUBJS.core.resolveUrl(b,f.replace(/url\(|[|\)|\'|\"]/g,"")),h=a.getUrl(g).then(function(a){c=c.replace(f,'url("'+a+'")')},function(a){d.reject(a)});e.push(h)}),RSVP.all(e).then(function(){d.resolve(c)}),d.promise):(d.resolve(c),d.promise)},EPUBJS.Storage=function(a){this.checkRequirements(),this.urlCache={},this.withCredentials=a,this.URL=window.URL||window.webkitURL||window.mozURL,this.offline=!1},EPUBJS.Storage.prototype.checkRequirements=function(){"undefined"==typeof localforage&&console.error("localForage library not loaded")},EPUBJS.Storage.prototype.put=function(a){var b=new RSVP.defer,c=a.length,d=0,e=function(b){var f,g,h=b||new RSVP.defer;return d>=c?h.resolve():(f=a[d].url,g=window.encodeURIComponent(f),EPUBJS.core.request(f,"binary").then(function(a){return localforage.setItem(g,a)}).then(function(){d++,setTimeout(function(){e(h)},1)})),h.promise}.bind(this);return Array.isArray(a)||(a=[a]),e().then(function(){b.resolve()}.bind(this)),b.promise},EPUBJS.Storage.prototype.token=function(a,b){var c=window.encodeURIComponent(a);return localforage.setItem(c,b).then(function(a){return null===a?!1:!0})},EPUBJS.Storage.prototype.isStored=function(a){var b=window.encodeURIComponent(a);return localforage.getItem(b).then(function(a){return null===a?!1:!0})},EPUBJS.Storage.prototype.getText=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(a){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,a),a}.bind(this)).then(function(b){var c=new RSVP.defer,d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;return f.addEventListener("loadend",function(){c.resolve(f.result)}),f.readAsText(e,d),c.promise}).catch(function(){var c=new RSVP.defer,d=localforage.getItem(b);return this.offline||(this.offline=!0,this.trigger("offline",!0)),d?(d.then(function(b){var d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;f.addEventListener("loadend",function(){c.resolve(f.result)}),f.readAsText(e,d)}),c.promise):(c.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),c.promise)}.bind(this))},EPUBJS.Storage.prototype.getUrl=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(c){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,c),a}.bind(this)).catch(function(){var c,d,e=new RSVP.defer,f=window.URL||window.webkitURL||window.mozURL;return this.offline||(this.offline=!0,this.trigger("offline",!0)),b in this.urlCache?(e.resolve(this.urlCache[b]),e.promise):(c=localforage.getItem(b))?(c.then(function(c){var g=new Blob([c],{type:EPUBJS.core.getMimeType(a)});d=f.createObjectURL(g),e.resolve(d),this.urlCache[b]=d}.bind(this)),e.promise):(e.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),e.promise)}.bind(this))},EPUBJS.Storage.prototype.getXml=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(a){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,a),a}.bind(this)).then(function(b){var c=new RSVP.defer,d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;return f.addEventListener("loadend",function(){var a=new DOMParser,b=a.parseFromString(f.result,"text/xml");c.resolve(b)}),f.readAsText(e,d),c.promise}).catch(function(){var c=new RSVP.defer,d=localforage.getItem(b);return this.offline||(this.offline=!0,this.trigger("offline",!0)),d?(d.then(function(b){var d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;f.addEventListener("loadend",function(){var a=new DOMParser,b=a.parseFromString(f.result,"text/xml");c.resolve(b)}),f.readAsText(e,d)}),c.promise):(c.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),c.promise)}.bind(this))},EPUBJS.Storage.prototype.revokeUrl=function(a){var b=window.URL||window.webkitURL||window.mozURL,c=this.urlCache[a];c&&b.revokeObjectURL(c)},EPUBJS.Storage.prototype.failed=function(a){console.error(a)},RSVP.EventTarget.mixin(EPUBJS.Storage.prototype),EPUBJS.Unarchiver=function(){this.checkRequirements(),this.urlCache={}},EPUBJS.Unarchiver.prototype.checkRequirements=function(){"undefined"==typeof JSZip&&console.error("JSZip lib not loaded")},EPUBJS.Unarchiver.prototype.open=function(a){if(a instanceof ArrayBuffer){this.zip=new JSZip(a);var b=new RSVP.defer;return b.resolve(),b.promise}return EPUBJS.core.request(a,"binary").then(function(a){this.zip=new JSZip(a)}.bind(this))},EPUBJS.Unarchiver.prototype.getXml=function(a,b){var c=window.decodeURIComponent(a);return this.getText(c,b).then(function(a){var b=new DOMParser;return b.parseFromString(a,"text/xml")})},EPUBJS.Unarchiver.prototype.getUrl=function(a){var b,c,d=this,e=new RSVP.defer,f=window.decodeURIComponent(a),g=this.zip.file(f),h=window.URL||window.webkitURL||window.mozURL;return g?a in this.urlCache?(e.resolve(this.urlCache[a]),e.promise):(c=new Blob([g.asUint8Array()],{type:EPUBJS.core.getMimeType(g.name)}),b=h.createObjectURL(c),e.resolve(b),d.urlCache[a]=b,e.promise):(e.reject({message:"File not found in the epub: "+a,stack:(new Error).stack}),e.promise)},EPUBJS.Unarchiver.prototype.getText=function(a){var b,c=new RSVP.defer,d=window.decodeURIComponent(a),e=this.zip.file(d);return e?(b=e.asText(),c.resolve(b),c.promise):(c.reject({message:"File not found in the epub: "+a,stack:(new Error).stack}),c.promise)},EPUBJS.Unarchiver.prototype.revokeUrl=function(a){var b=window.URL||window.webkitURL||window.mozURL,c=this.urlCache[a];c&&b.revokeObjectURL(c)},EPUBJS.Unarchiver.prototype.failed=function(a){console.error(a)},EPUBJS.Unarchiver.prototype.afterSaved=function(){this.callback()},EPUBJS.Unarchiver.prototype.toStorage=function(a){function b(){f--,0===f&&e.afterSaved()}var c=0,d=20,e=this,f=a.length;a.forEach(function(a){setTimeout(function(a){e.saveEntryFileToStorage(a,b)},c,a),c+=d}),console.log("time",c)},function(){"use strict";var a={application:{ecmascript:["es","ecma"],javascript:"js",ogg:"ogx",pdf:"pdf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],"rdf+xml":"rdf",smil:["smi","smil"],"xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd"],zip:"zip","x-httpd-eruby":"rhtml","x-latex":"latex","x-maker":["frm","maker","frame","fm","fb","book","fbdoc"],"x-object":"o","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","epub+zip":"epub","font-tdpfr":"pfr","inkml+xml":["ink","inkml"],json:"json","jsonml+json":"jsonml","mathml+xml":"mathml","metalink+xml":"metalink",mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",oxps:"oxps","vnd.amazon.ebook":"azw",widget:"wgt","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-otf":"otf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-font-woff":"woff","x-mobipocket-ebook":["prc","mobi"],"x-mspublisher":"pub","x-nzb":"nzb","x-tgif":"obj","xaml+xml":"xaml","xml-dtd":"dtd","xproc+xml":"xpl","xslt+xml":"xslt","internet-property-stream":"acx","x-compress":"z","x-compressed":"tgz","x-gzip":"gz"},audio:{flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp2","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"x-aiff":["aif","aiff","aifc"],"x-ms-wma":"wma","x-wav":"wav",adpcm:"adp",mp4:"mp4a",webm:"weba","x-aac":"aac","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",mid:["mid","rmi"]},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"x-icon":"ico",bmp:"bmp",webp:"webp","x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",mathml:"mml",plain:["txt","text","brf","conf","def","list","log","in","bas"],richtext:"rtx","tab-separated-values":"tsv","x-bibtex":"bib","x-dsrc":"d","x-diff":["diff","patch"],"x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas"],"x-pcs-gcd":"gcd","x-perl":["pl","pm"],"x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcard":"vcf",sgml:["sgml","sgm"],"x-c":["c","cc","cxx","cpp","h","hh","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt"},video:{mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"],mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv"}},b=function(){var b,c,d,e,f={}; -for(b in a)if(a.hasOwnProperty(b))for(c in a[b])if(a[b].hasOwnProperty(c))if(d=a[b][c],"string"==typeof d)f[d]=b+"/"+c;else for(e=0;ec;c++)if(a[c]===b)return c;return-1}function f(a){var b=a._promiseCallbacks;return b||(b=a._promiseCallbacks={}),b}function g(a,b){return"onerror"===a?void va.on("error",b):2!==arguments.length?va[a]:void(va[a]=b)}function h(){setTimeout(function(){for(var a,b=0;bh;h++)u(e.resolve(a[h]),void 0,c,d);return f}function E(a,b){var c=this;if(a&&"object"==typeof a&&a.constructor===c)return a;var d=new c(k,b);return q(d,a),d}function F(a,b){var c=this,d=new c(k,b);return t(d,a),d}function G(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function H(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function I(a,c){var d=this;d._id=Ja++,d._label=c,d._state=void 0,d._result=void 0,d._subscribers=[],va.instrument&&xa("created",d),k!==a&&(b(a)||G(),d instanceof I||H(),z(d,a))}function J(a,b,c){this._superConstructor(a,b,!1,c)}function K(a,b){return new J(Ka,a,b).promise}function L(a,b){return Ka.all(a,b)}function M(a,b){Wa[Pa]=a,Wa[Pa+1]=b,Pa+=2,2===Pa&&Ma()}function N(){var a=process.nextTick,b=process.versions.node.match(/^(?:(\d+)\.)?(?:(\d+)\.)?(\*|\d+)$/);return Array.isArray(b)&&"0"===b[1]&&"10"===b[2]&&(a=setImmediate),function(){a(S)}}function O(){return function(){La(S)}}function P(){var a=0,b=new Ta(S),c=document.createTextNode("");return b.observe(c,{characterData:!0}),function(){c.data=a=++a%2}}function Q(){var a=new MessageChannel;return a.port1.onmessage=S,function(){a.port2.postMessage(0)}}function R(){return function(){setTimeout(S,1)}}function S(){for(var a=0;Pa>a;a+=2){var b=Wa[a],c=Wa[a+1];b(c),Wa[a]=void 0,Wa[a+1]=void 0}Pa=0}function T(){try{var a=require,b=a("vertx");return La=b.runOnLoop||b.runOnContext,O()}catch(c){return R()}}function U(a){var b={};return b.promise=new Ka(function(a,c){b.resolve=a,b.reject=c},a),b}function V(a,c,d){return Ka.all(a,d).then(function(a){if(!b(c))throw new TypeError("You must pass a function as filter's second argument.");for(var e=a.length,f=new Array(e),g=0;e>g;g++)f[g]=c(a[g]);return Ka.all(f,d).then(function(b){for(var c=new Array(e),d=0,f=0;e>f;f++)b[f]&&(c[d]=a[f],d++);return c.length=d,c})})}function W(a,b,c){this._superConstructor(a,b,!0,c)}function X(a,b,c){this._superConstructor(a,b,!1,c)}function Y(a,b){return new X(Ka,a,b).promise}function Z(a,b){return new Za(Ka,a,b).promise}function $(a,c,d){return Ka.all(a,d).then(function(a){if(!b(c))throw new TypeError("You must pass a function as map's second argument.");for(var e=a.length,f=new Array(e),g=0;e>g;g++)f[g]=c(a[g]);return Ka.all(f,d)})}function _(){this.value=void 0}function aa(a){try{return a.then}catch(b){return cb.value=b,cb}}function ba(a,b,c){try{a.apply(b,c)}catch(d){return cb.value=d,cb}}function ca(a,b){for(var c,d,e={},f=a.length,g=new Array(f),h=0;f>h;h++)g[h]=a[h];for(d=0;dd;d++)c[d-1]=a[d];return c}function ea(a,b){return{then:function(c,d){return a.call(b,c,d)}}}function fa(a,b){var c=function(){for(var c,d=this,e=arguments.length,f=new Array(e+1),g=!1,h=0;e>h;++h){if(c=arguments[h],!g){if(g=ia(c),g===db){var i=new Ka(k);return t(i,db.value),i}g&&g!==!0&&(c=ea(g,c))}f[h]=c}var j=new Ka(k);return f[e]=function(a,c){a?t(j,a):void 0===b?q(j,c):b===!0?q(j,da(arguments)):ra(b)?q(j,ca(arguments,b)):q(j,c)},g?ha(j,f,a,d):ga(j,f,a,d)};return c.__proto__=a,c}function ga(a,b,c,d){var e=ba(c,d,b);return e===cb&&t(a,e.value),a}function ha(a,b,c,d){return Ka.all(b).then(function(b){var e=ba(c,d,b);return e===cb&&t(a,e.value),a})}function ia(a){return a&&"object"==typeof a?a.constructor===Ka?!0:aa(a):!1}function ja(a,b){return Ka.race(a,b)}function ka(a,b){return Ka.reject(a,b)}function la(a,b){return Ka.resolve(a,b)}function ma(a){throw setTimeout(function(){throw a}),a}function na(a,b){va.async(a,b)}function oa(){va.on.apply(va,arguments)}function pa(){va.off.apply(va,arguments)}var qa;qa=Array.isArray?Array.isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)};var ra=qa,sa=Date.now||function(){return(new Date).getTime()},ta=Object.create||function(a){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof a)throw new TypeError("Argument must be an object");return d.prototype=a,new d},ua={mixin:function(a){return a.on=this.on,a.off=this.off,a.trigger=this.trigger,a._promiseCallbacks=void 0,a},on:function(a,b){if("function"!=typeof b)throw new TypeError("Callback must be a function");var c,d=f(this);c=d[a],c||(c=d[a]=[]),-1===e(c,b)&&c.push(b)},off:function(a,b){var c,d,g=f(this);return b?(c=g[a],d=e(c,b),void(-1!==d&&c.splice(d,1))):void(g[a]=[])},trigger:function(a,b,c){var d,e,g=f(this);if(d=g[a])for(var h=0;he;e++)a._eachEntry(d[e],e)},B.prototype._eachEntry=function(a,b){var d=this,e=d._instanceConstructor;c(a)?a.constructor===e&&a._state!==ya?(a._onError=null,d._settledAt(a._state,b,a._result)):d._willSettleAt(e.resolve(a),b):(d._remaining--,d._result[b]=d._makeResult(za,b,a))},B.prototype._settledAt=function(a,b,c){var d=this,e=d.promise;e._state===ya&&(d._remaining--,d._abortOnReject&&a===Aa?t(e,c):d._result[b]=d._makeResult(a,b,c)),0===d._remaining&&s(e,d._result)},B.prototype._makeResult=function(a,b,c){return c},B.prototype._willSettleAt=function(a,b){var c=this;u(a,void 0,function(a){c._settledAt(za,b,a)},function(a){c._settledAt(Aa,b,a)})};var Ea=C,Fa=D,Ga=E,Ha=F,Ia="rsvp_"+sa()+"-",Ja=0,Ka=I;I.cast=Ga,I.all=Ea,I.race=Fa,I.resolve=Ga,I.reject=Ha,I.prototype={constructor:I,_guidKey:Ia,_onError:function(a){var b=this;va.after(function(){b._onError&&va.trigger("error",a,b._label)})},then:function(a,b,c){var d=this,e=d._state;if(e===za&&!a||e===Aa&&!b)return va.instrument&&xa("chained",d,d),d;d._onError=null;var f=new d.constructor(k,c),g=d._result;if(va.instrument&&xa("chained",d,f),e){var h=arguments[e-1];va.async(function(){y(e,f,h,g)})}else u(d,f,a,b);return f},"catch":function(a,b){return this.then(void 0,a,b)},"finally":function(a,b){var c=this,d=c.constructor;return c.then(function(b){return d.resolve(a()).then(function(){return b})},function(b){return d.resolve(a()).then(function(){throw b})},b)}},J.prototype=ta(Da.prototype),J.prototype._superConstructor=Da,J.prototype._makeResult=A,J.prototype._validationError=function(){return new Error("allSettled must be called with an array")};var La,Ma,Na=K,Oa=L,Pa=0,Qa=({}.toString,M),Ra="undefined"!=typeof window?window:void 0,Sa=Ra||{},Ta=Sa.MutationObserver||Sa.WebKitMutationObserver,Ua="undefined"==typeof self&&"undefined"!=typeof process&&"[object process]"==={}.toString.call(process),Va="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,Wa=new Array(1e3);Ma=Ua?N():Ta?P():Va?Q():void 0===Ra&&"function"==typeof require?T():R();var Xa=U,Ya=V,Za=W;W.prototype=ta(Da.prototype),W.prototype._superConstructor=Da,W.prototype._init=function(){this._result={}},W.prototype._validateInput=function(a){return a&&"object"==typeof a},W.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},W.prototype._enumerate=function(){var a=this,b=a.promise,c=a._input,d=[];for(var e in c)b._state===ya&&Object.prototype.hasOwnProperty.call(c,e)&&d.push({position:e,entry:c[e]});var f=d.length;a._remaining=f;for(var g,h=0;b._state===ya&&f>h;h++)g=d[h],a._eachEntry(g.entry,g.position)},X.prototype=ta(Za.prototype),X.prototype._superConstructor=Da,X.prototype._makeResult=A,X.prototype._validationError=function(){return new Error("hashSettled must be called with an object")};var $a,_a=Y,ab=Z,bb=$,cb=new _,db=new _,eb=fa;if("object"==typeof self)$a=self;else{if("object"!=typeof global)throw new Error("no global: `self` or `global` found");$a=global}var fb=$a,gb=ja,hb=ka,ib=la,jb=ma;va.async=Qa,va.after=function(a){setTimeout(a,0)};if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var kb=window.__PROMISE_INSTRUMENTATION__;g("instrument",!0);for(var lb in kb)kb.hasOwnProperty(lb)&&oa(lb,kb[lb])}var mb={race:gb,Promise:Ka,allSettled:Na,hash:ab,hashSettled:_a,denodeify:eb,on:oa,off:pa,map:bb,filter:Ya,resolve:ib,reject:hb,all:Oa,rethrow:jb,defer:Xa,EventTarget:ua,configure:g,async:na};"function"==typeof define&&define.amd?define(function(){return mb}):"undefined"!=typeof module&&module.exports?module.exports=mb:"undefined"!=typeof fb&&(fb.RSVP=mb)}).call(this);var EPUBJS=EPUBJS||{};EPUBJS.VERSION="0.2.11",EPUBJS.plugins=EPUBJS.plugins||{},EPUBJS.filePath=EPUBJS.filePath||"/epubjs/",EPUBJS.Render={},function(a){var b=(a.ePub||{},a.ePub=function(){var a,b;return"undefined"!=typeof arguments[0]&&("string"==typeof arguments[0]||arguments[0]instanceof ArrayBuffer)&&(a=arguments[0],arguments[1]&&"object"==typeof arguments[1]?(b=arguments[1],b.bookPath=a):b={bookPath:a}),!arguments[0]||"object"!=typeof arguments[0]||arguments[0]instanceof ArrayBuffer||(b=arguments[0]),new EPUBJS.Book(b)});"function"==typeof define&&define.amd?define(["rsvp"],function(){return b}):"undefined"!=typeof module&&module.exports&&(module.exports=b)}(window),EPUBJS.Book=function(a){this.settings=EPUBJS.core.defaults(a||{},{bookPath:void 0,bookKey:void 0,packageUrl:void 0,storage:!1,fromStorage:!1,saved:!1,online:!0,contained:!1,width:void 0,height:void 0,layoutOveride:void 0,orientation:void 0,minSpreadWidth:768,gap:"auto",version:1,restore:!1,reload:!1,"goto":!1,styles:{},headTags:{},withCredentials:!1,render_method:"Iframe"}),this.settings.EPUBJSVERSION=EPUBJS.VERSION,this.spinePos=0,this.stored=!1,this.online=this.settings.online||navigator.onLine,this.networkListeners(),this.ready={manifest:new RSVP.defer,spine:new RSVP.defer,metadata:new RSVP.defer,cover:new RSVP.defer,toc:new RSVP.defer,pageList:new RSVP.defer},this.readyPromises=[this.ready.manifest.promise,this.ready.spine.promise,this.ready.metadata.promise,this.ready.cover.promise,this.ready.toc.promise],this.pageList=[],this.pagination=new EPUBJS.Pagination,this.pageListReady=this.ready.pageList.promise,this.ready.all=RSVP.all(this.readyPromises),this.ready.all.then(this._ready.bind(this)),this.isRendered=!1,this._q=EPUBJS.core.queue(this),this._rendering=!1,this._displayQ=EPUBJS.core.queue(this),this._moving=!1,this._gotoQ=EPUBJS.core.queue(this),this.renderer=new EPUBJS.Renderer(this.settings.render_method),this.renderer.setMinSpreadWidth(this.settings.minSpreadWidth),this.renderer.setGap(this.settings.gap),this.listenToRenderer(this.renderer),this.defer_opened=new RSVP.defer,this.opened=this.defer_opened.promise,this.store=!1,this.settings.storage!==!1&&this.fromStorage(!0),("string"==typeof this.settings.bookPath||this.settings.bookPath instanceof ArrayBuffer)&&this.open(this.settings.bookPath,this.settings.reload),window.addEventListener("beforeunload",this.unload.bind(this),!1)},EPUBJS.Book.prototype.open=function(a,b){var c,d=this,e=new RSVP.defer;return this.settings.bookPath=a,this.settings.contained||this.isContained(a)?(this.settings.contained=this.contained=!0,this.bookUrl="",c=this.unarchive(a).then(function(){return d.loadPackage()})):(this.bookUrl=this.urlFrom(a),c=this.loadPackage()),this.settings.restore&&!b&&localStorage?c.then(function(a){var b=d.packageIdentifier(a),c=d.restore(b);c||d.unpack(a),e.resolve(),d.defer_opened.resolve()}):c.then(function(a){d.unpack(a),e.resolve(),d.defer_opened.resolve()}),this._registerReplacements(this.renderer),e.promise},EPUBJS.Book.prototype.loadPackage=function(a){var b,c=this,d=new EPUBJS.Parser,e=a||"META-INF/container.xml";return b=this.settings.packageUrl?c.loadXml(c.settings.packageUrl):c.loadXml(c.bookUrl+e).then(function(a){return d.container(a)}).then(function(a){return c.settings.contentsPath=c.bookUrl+a.basePath,c.settings.packageUrl=c.bookUrl+a.packagePath,c.settings.encoding=a.encoding,c.loadXml(c.settings.packageUrl)}),b["catch"](function(a){console.error("Could not load book at: "+e),c.trigger("book:loadFailed",e)}),b},EPUBJS.Book.prototype.packageIdentifier=function(a){var b=new EPUBJS.Parser;return b.identifier(a)},EPUBJS.Book.prototype.unpack=function(a){var b=this,c=new EPUBJS.Parser;b.contents=c.packageContents(a,b.settings.contentsPath),b.manifest=b.contents.manifest,b.spine=b.contents.spine,b.spineIndexByURL=b.contents.spineIndexByURL,b.metadata=b.contents.metadata,b.settings.bookKey||(b.settings.bookKey=b.generateBookKey(b.metadata.identifier)),b.globalLayoutProperties=b.parseLayoutProperties(b.metadata),b.contents.coverPath&&(b.cover=b.contents.cover=b.settings.contentsPath+b.contents.coverPath),b.spineNodeIndex=b.contents.spineNodeIndex,b.ready.manifest.resolve(b.contents.manifest),b.ready.spine.resolve(b.contents.spine),b.ready.metadata.resolve(b.contents.metadata),b.ready.cover.resolve(b.contents.cover),b.locations=new EPUBJS.Locations(b.spine,b.store,b.settings.withCredentials),b.contents.navPath?(b.settings.navUrl=b.settings.contentsPath+b.contents.navPath,b.loadXml(b.settings.navUrl).then(function(a){return c.nav(a,b.spineIndexByURL,b.spine)}).then(function(a){b.toc=b.contents.toc=a,b.ready.toc.resolve(b.contents.toc)},function(a){b.ready.toc.resolve(!1)}),b.loadXml(b.settings.navUrl).then(function(a){return c.pageList(a,b.spineIndexByURL,b.spine)}).then(function(a){var c=new EPUBJS.EpubCFI,d=0;0!==a.length&&(b.pageList=b.contents.pageList=a,b.pageList.forEach(function(a){a.cfi||(d+=1,c.generateCfiFromHref(a.href,b).then(function(c){a.cfi=c,a.packageUrl=b.settings.packageUrl,d-=1,0===d&&(b.pagination.process(b.pageList),b.ready.pageList.resolve(b.pageList))}))}),d||(b.pagination.process(b.pageList),b.ready.pageList.resolve(b.pageList)))},function(a){b.ready.pageList.resolve([])})):b.contents.tocPath?(b.settings.tocUrl=b.settings.contentsPath+b.contents.tocPath,b.loadXml(b.settings.tocUrl).then(function(a){return c.toc(a,b.spineIndexByURL,b.spine)}).then(function(a){b.toc=b.contents.toc=a,b.ready.toc.resolve(b.contents.toc)},function(a){b.ready.toc.resolve(!1)})):b.ready.toc.resolve(!1)},EPUBJS.Book.prototype.createHiddenRender=function(a,b,c){var d,e,f=this.element.getBoundingClientRect(),g=b||this.settings.width||f.width,h=c||this.settings.height||f.height;return a.setMinSpreadWidth(this.settings.minSpreadWidth),a.setGap(this.settings.gap),this._registerReplacements(a),this.settings.forceSingle&&a.forceSingle(!0),d=document.createElement("div"),d.style.visibility="hidden",d.style.overflow="hidden",d.style.width="0",d.style.height="0",this.element.appendChild(d),e=document.createElement("div"),e.style.visibility="hidden",e.style.overflow="hidden",e.style.width=g+"px",e.style.height=h+"px",d.appendChild(e),a.initialize(e),d},EPUBJS.Book.prototype.generatePageList=function(a,b){var c=[],d=new EPUBJS.Renderer(this.settings.render_method,!1),e=this.createHiddenRender(d,a,b),f=new RSVP.defer,g=-1,h=this.spine.length,i=0,j=function(a){var b,e=g+1,f=a||new RSVP.defer;return e>=h?f.resolve():(g=e,b=new EPUBJS.Chapter(this.spine[g],this.store),d.displayChapter(b,this.globalLayoutProperties).then(function(a){d.pageMap.forEach(function(a){i+=1,c.push({cfi:a.start,page:i})}),d.pageMap.length%2>0&&d.spreads&&(i+=1,c.push({cfi:d.pageMap[d.pageMap.length-1].end,page:i})),setTimeout(function(){j(f)},1)})),f.promise}.bind(this);j().then(function(){d.remove(),this.element.removeChild(e),f.resolve(c)}.bind(this));return f.promise},EPUBJS.Book.prototype.generatePagination=function(a,b){var c=this,d=new RSVP.defer;return this.ready.spine.promise.then(function(){c.generatePageList(a,b).then(function(a){c.pageList=c.contents.pageList=a,c.pagination.process(a),c.ready.pageList.resolve(c.pageList),d.resolve(c.pageList)})}),d.promise},EPUBJS.Book.prototype.loadPagination=function(a){var b=JSON.parse(a);return b&&b.length&&(this.pageList=b,this.pagination.process(this.pageList),this.ready.pageList.resolve(this.pageList)),this.pageList},EPUBJS.Book.prototype.getPageList=function(){return this.ready.pageList.promise},EPUBJS.Book.prototype.getMetadata=function(){return this.ready.metadata.promise},EPUBJS.Book.prototype.getToc=function(){return this.ready.toc.promise},EPUBJS.Book.prototype.networkListeners=function(){var a=this;window.addEventListener("offline",function(b){a.online=!1,a.settings.storage&&a.fromStorage(!0),a.trigger("book:offline")},!1),window.addEventListener("online",function(b){a.online=!0,a.settings.storage&&a.fromStorage(!1),a.trigger("book:online")},!1)},EPUBJS.Book.prototype.listenToRenderer=function(a){var b=this;a.Events.forEach(function(c){a.on(c,function(a){b.trigger(c,a)})}),a.on("renderer:visibleRangeChanged",function(a){var b,c,d,e=[];this.pageList.length>0&&(b=this.pagination.pageFromCfi(a.start),d=this.pagination.percentageFromPage(b),e.push(b),a.end&&(c=this.pagination.pageFromCfi(a.end),e.push(c)),this.trigger("book:pageChanged",{anchorPage:b,percentage:d,pageRange:e}))}.bind(this)),a.on("render:loaded",this.loadChange.bind(this))},EPUBJS.Book.prototype.loadChange=function(a){var b,c,d=EPUBJS.core.uri(a),e=EPUBJS.core.uri(this.currentChapter.absolute);d.path!=e.path?(console.warn("Miss Match",d.path,this.currentChapter.absolute),b=this.spineIndexByURL[d.filename],c=new EPUBJS.Chapter(this.spine[b],this.store),this.currentChapter=c,this.renderer.currentChapter=c,this.renderer.afterLoad(this.renderer.render.docEl),this.renderer.beforeDisplay(function(){this.renderer.afterDisplay()}.bind(this))):this._rendering||this.renderer.reformat()},EPUBJS.Book.prototype.unlistenToRenderer=function(a){a.Events.forEach(function(b){a.off(b)})},EPUBJS.Book.prototype.loadXml=function(a){return this.settings.fromStorage?this.store.getXml(a,this.settings.encoding):this.settings.contained?this.zip.getXml(a,this.settings.encoding):EPUBJS.core.request(a,"xml",this.settings.withCredentials)},EPUBJS.Book.prototype.urlFrom=function(a){var b,c=EPUBJS.core.uri(a),d=c.protocol,e="/"==c.path[0],f=window.location,g=f.origin||f.protocol+"//"+f.host,h=document.getElementsByTagName("base");return h.length&&(b=h[0].href),c.protocol?c.origin+c.path:!d&&e?(b||g)+c.path:d||e?void 0:EPUBJS.core.resolveUrl(b||f.pathname,c.path)},EPUBJS.Book.prototype.unarchive=function(a){return this.zip=new EPUBJS.Unarchiver,this.store=this.zip,this.zip.open(a)},EPUBJS.Book.prototype.isContained=function(a){if(a instanceof ArrayBuffer)return!0;var b=EPUBJS.core.uri(a);return!b.extension||"epub"!=b.extension&&"zip"!=b.extension?!1:!0},EPUBJS.Book.prototype.isSaved=function(a){var b;return localStorage?(b=localStorage.getItem(a),localStorage&&null!==b?!0:!1):!1},EPUBJS.Book.prototype.generateBookKey=function(a){return"epubjs:"+EPUBJS.VERSION+":"+window.location.host+":"+a},EPUBJS.Book.prototype.saveContents=function(){return localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.contents)):!1},EPUBJS.Book.prototype.removeSavedContents=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Book.prototype.renderTo=function(a){var b,c=this;if(EPUBJS.core.isElement(a))this.element=a;else{if("string"!=typeof a)return void console.error("Not an Element");this.element=EPUBJS.core.getEl(a)}return b=this.opened.then(function(){return c.renderer.initialize(c.element,c.settings.width,c.settings.height),c.metadata.direction&&c.renderer.setDirection(c.metadata.direction),c._rendered(),c.startDisplay()})},EPUBJS.Book.prototype.startDisplay=function(){var a;return a=this.settings["goto"]?this["goto"](this.settings["goto"]):this.settings.previousLocationCfi?this.gotoCfi(this.settings.previousLocationCfi):this.displayChapter(this.spinePos)},EPUBJS.Book.prototype.restore=function(a){var b,c=this,d=["manifest","spine","metadata","cover","toc","spineNodeIndex","spineIndexByURL","globalLayoutProperties"],e=!1,f=this.generateBookKey(a),g=localStorage.getItem(f),h=d.length;if(this.settings.clearSaved&&(e=!0),!e&&"undefined"!=g&&null!==g)for(c.contents=JSON.parse(g),b=0;h>b;b++){var i=d[b];if(!c.contents[i]){e=!0;break}c[i]=c.contents[i]}return!e&&g&&this.contents&&this.settings.contentsPath?(this.settings.bookKey=f,this.ready.manifest.resolve(this.manifest),this.ready.spine.resolve(this.spine),this.ready.metadata.resolve(this.metadata),this.ready.cover.resolve(this.cover),this.ready.toc.resolve(this.toc),!0):!1},EPUBJS.Book.prototype.displayChapter=function(a,b,c){var d,e,f,g,h=this,i=c||new RSVP.defer;return this.isRendered?this._rendering||this._rendering?(this._displayQ.enqueue("displayChapter",[a,b,i]),i.promise):(EPUBJS.core.isNumber(a)?f=a:(e=new EPUBJS.EpubCFI(a),f=e.spinePos),(0>f||f>=this.spine.length)&&(console.warn("Not A Valid Location"),f=0,b=!1,e=!1),g=new EPUBJS.Chapter(this.spine[f],this.store),this._rendering=!0,this._needsAssetReplacement()&&g.registerHook("beforeChapterRender",[EPUBJS.replace.head,EPUBJS.replace.resources,EPUBJS.replace.svg],!0),h.currentChapter=g,d=h.renderer.displayChapter(g,this.globalLayoutProperties),e?h.renderer.gotoCfi(e):b&&h.renderer.lastPage(),d.then(function(a){h.spinePos=f,i.resolve(h.renderer),h.settings.fromStorage===!1&&h.settings.contained===!1&&h.preloadNextChapter(),h._rendering=!1,h._displayQ.dequeue(),0===h._displayQ.length()&&h._gotoQ.dequeue()},function(a){console.error("Could not load Chapter: "+g.absolute,a),h.trigger("book:chapterLoadFailed",g.absolute),h._rendering=!1,i.reject(a)}),i.promise):(this._q.enqueue("displayChapter",arguments),i.reject({message:"Rendering",stack:(new Error).stack}),i.promise)},EPUBJS.Book.prototype.nextPage=function(){var a;return this.isRendered?(a=this.renderer.nextPage(),a?void 0:this.nextChapter()):this._q.enqueue("nextPage",arguments)},EPUBJS.Book.prototype.prevPage=function(){var a;return this.isRendered?(a=this.renderer.prevPage(),a?void 0:this.prevChapter()):this._q.enqueue("prevPage",arguments)},EPUBJS.Book.prototype.nextChapter=function(){var a;if(this.spinePos0){for(a=this.spinePos-1;this.spine[a]&&this.spine[a].linear&&"no"==this.spine[a].linear;)a--;if(a>=0)return this.displayChapter(a,!0);this.trigger("book:atStart")}else this.trigger("book:atStart")},EPUBJS.Book.prototype.getCurrentLocationCfi=function(){return this.isRendered?this.renderer.currentLocationCfi:!1},EPUBJS.Book.prototype["goto"]=function(a){return 0===a.indexOf("epubcfi(")?this.gotoCfi(a):a.indexOf("%")===a.length-1?this.gotoPercentage(parseInt(a.substring(0,a.length-1))/100):"number"==typeof a||isNaN(a)===!1?this.gotoPage(a):this.gotoHref(a)},EPUBJS.Book.prototype.gotoCfi=function(a,b){var c,d,e,f=b||new RSVP.defer;return this.isRendered?this._moving||this._rendering?(console.warn("Renderer is moving"),this._gotoQ.enqueue("gotoCfi",[a,f]),!1):(c=new EPUBJS.EpubCFI(a),d=c.spinePos,-1==d?!1:(e=this.spine[d],promise=f.promise,this._moving=!0,this.currentChapter&&this.spinePos===d?(this.renderer.gotoCfi(c),this._moving=!1,f.resolve(this.renderer.currentLocationCfi)):(e&&-1!=d||(d=0,e=this.spine[d]),this.currentChapter=new EPUBJS.Chapter(e,this.store),this.currentChapter&&(this.spinePos=d,render=this.renderer.displayChapter(this.currentChapter,this.globalLayoutProperties),this.renderer.gotoCfi(c),render.then(function(a){this._moving=!1,f.resolve(a.currentLocationCfi)}.bind(this)))),promise.then(function(){this._gotoQ.dequeue()}.bind(this)),promise)):(console.warn("Not yet Rendered"),this.settings.previousLocationCfi=a,!1)},EPUBJS.Book.prototype.gotoHref=function(a,b){var c,d,e,f,g,h=b||new RSVP.defer;return this.isRendered?this._moving||this._rendering?(this._gotoQ.enqueue("gotoHref",[a,h]),!1):(c=a.split("#"),d=c[0],e=c[1]||!1,f=d.replace(this.settings.contentsPath,""),g=this.spineIndexByURL[f],d||(g=this.currentChapter?this.currentChapter.spinePos:0),"number"!=typeof g?!1:this.currentChapter&&g==this.currentChapter.spinePos?(e?this.renderer.section(e):this.renderer.firstPage(),h.resolve(this.renderer.currentLocationCfi),h.promise.then(function(){this._gotoQ.dequeue()}.bind(this)),h.promise):this.displayChapter(g).then(function(){e&&this.renderer.section(e),h.resolve(this.renderer.currentLocationCfi)}.bind(this))):(this.settings["goto"]=a,!1)},EPUBJS.Book.prototype.gotoPage=function(a){var b=this.pagination.cfiFromPage(a);return this.gotoCfi(b)},EPUBJS.Book.prototype.gotoPercentage=function(a){var b=this.pagination.pageFromPercentage(a);return this.gotoPage(b)},EPUBJS.Book.prototype.preloadNextChapter=function(){var a,b=this.spinePos+1;return b>=this.spine.length?!1:(a=new EPUBJS.Chapter(this.spine[b]),void(a&&EPUBJS.core.request(a.absolute)))},EPUBJS.Book.prototype.storeOffline=function(){var a=this,b=EPUBJS.core.values(this.manifest);return this.store.put(b).then(function(){a.settings.stored=!0,a.trigger("book:stored")})},EPUBJS.Book.prototype.availableOffline=function(){return this.settings.stored>0?!0:!1},EPUBJS.Book.prototype.toStorage=function(){var a=this.settings.bookKey;this.store.isStored(a).then(function(b){return b===!0?(this.settings.stored=!0,!0):this.storeOffline().then(function(){this.store.token(a,!0)}.bind(this))}.bind(this))},EPUBJS.Book.prototype.fromStorage=function(a){[EPUBJS.replace.head,EPUBJS.replace.resources,EPUBJS.replace.svg];this.contained||this.settings.contained||(this.online&&this.opened.then(this.toStorage.bind(this)),this.store&&this.settings.fromStorage&&a===!1?(this.settings.fromStorage=!1,this.store.off("offline"),this.store=!1):this.settings.fromStorage||(this.store=new EPUBJS.Storage(this.settings.credentials),this.store.on("offline",function(a){a?(this.offline=!0,this.settings.fromStorage=!0,this.trigger("book:offline")):(this.offline=!1,this.settings.fromStorage=!1,this.trigger("book:online"))}.bind(this))))},EPUBJS.Book.prototype.setStyle=function(a,b,c){var d=["color","background","background-color"];return this.isRendered?(this.settings.styles[a]=b,this.renderer.setStyle(a,b,c),void(-1===d.indexOf(a)&&this.renderer.reformat())):this._q.enqueue("setStyle",arguments)},EPUBJS.Book.prototype.removeStyle=function(a){return this.isRendered?(this.renderer.removeStyle(a),this.renderer.reformat(),void delete this.settings.styles[a]):this._q.enqueue("removeStyle",arguments)},EPUBJS.Book.prototype.addHeadTag=function(a,b){return this.isRendered?void(this.settings.headTags[a]=b):this._q.enqueue("addHeadTag",arguments)},EPUBJS.Book.prototype.useSpreads=function(a){console.warn("useSpreads is deprecated, use forceSingle or set a layoutOveride instead"),a===!1?this.forceSingle(!0):this.forceSingle(!1)},EPUBJS.Book.prototype.forceSingle=function(a){var b="undefined"==typeof a?!0:a;this.renderer.forceSingle(b),this.settings.forceSingle=b,this.isRendered&&this.renderer.reformat()},EPUBJS.Book.prototype.setMinSpreadWidth=function(a){this.settings.minSpreadWidth=a,this.isRendered&&(this.renderer.setMinSpreadWidth(this.settings.minSpreadWidth),this.renderer.reformat())},EPUBJS.Book.prototype.setGap=function(a){this.settings.gap=a,this.isRendered&&(this.renderer.setGap(this.settings.gap),this.renderer.reformat())},EPUBJS.Book.prototype.chapter=function(a){var b,c,d=this.spineIndexByURL[a];return d&&(b=this.spine[d],c=new EPUBJS.Chapter(b,this.store,this.settings.withCredentials),c.load()),c},EPUBJS.Book.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveContents(),this.unlistenToRenderer(this.renderer),this.trigger("book:unload")},EPUBJS.Book.prototype.destroy=function(){window.removeEventListener("beforeunload",this.unload),this.currentChapter&&this.currentChapter.unload(),this.unload(),this.renderer&&this.renderer.remove()},EPUBJS.Book.prototype._ready=function(){this.trigger("book:ready")},EPUBJS.Book.prototype._rendered=function(a){this.isRendered=!0,this.trigger("book:rendered"),this._q.flush()},EPUBJS.Book.prototype.applyStyles=function(a,b){a.applyStyles(this.settings.styles),b()},EPUBJS.Book.prototype.applyHeadTags=function(a,b){a.applyHeadTags(this.settings.headTags),b()},EPUBJS.Book.prototype._registerReplacements=function(a){a.registerHook("beforeChapterDisplay",this.applyStyles.bind(this,a),!0),a.registerHook("beforeChapterDisplay",this.applyHeadTags.bind(this,a),!0),a.registerHook("beforeChapterDisplay",EPUBJS.replace.hrefs.bind(this),!0)},EPUBJS.Book.prototype._needsAssetReplacement=function(){return this.settings.fromStorage?!0:this.settings.contained?!0:!1},EPUBJS.Book.prototype.parseLayoutProperties=function(a){ +var b=this.settings.layoutOveride&&this.settings.layoutOveride.layout||a.layout||"reflowable",c=this.settings.layoutOveride&&this.settings.layoutOveride.spread||a.spread||"auto",d=this.settings.layoutOveride&&this.settings.layoutOveride.orientation||a.orientation||"auto";return{layout:b,spread:c,orientation:d}},RSVP.EventTarget.mixin(EPUBJS.Book.prototype),RSVP.on("error",function(a){}),RSVP.configure("instrument",!1),EPUBJS.Chapter=function(a,b,c){this.href=a.href,this.absolute=a.url,this.id=a.id,this.spinePos=a.index,this.cfiBase=a.cfiBase,this.properties=a.properties,this.manifestProperties=a.manifestProperties,this.linear=a.linear,this.pages=1,this.store=b,this.credentials=c,this.epubcfi=new EPUBJS.EpubCFI,this.deferred=new RSVP.defer,this.loaded=this.deferred.promise,EPUBJS.Hooks.mixin(this),this.getHooks("beforeChapterRender"),this.caches={}},EPUBJS.Chapter.prototype.load=function(a,b){var c,d=a||this.store,e=b||this.credentials;return c=d?d.getXml(this.absolute):EPUBJS.core.request(this.absolute,"xml",e),c.then(function(a){this.setDocument(a),this.deferred.resolve(this)}.bind(this)),c},EPUBJS.Chapter.prototype.render=function(a){return this.load().then(function(a){var b=a.querySelector("head"),c=a.createElement("base");return c.setAttribute("href",this.absolute),b.insertBefore(c,b.firstChild),this.contents=a,new RSVP.Promise(function(b,c){this.triggerHooks("beforeChapterRender",function(){b(a)}.bind(this),this)}.bind(this))}.bind(this)).then(function(a){var b=new XMLSerializer,c=b.serializeToString(a);return c}.bind(this))},EPUBJS.Chapter.prototype.url=function(a){var b,c=new RSVP.defer,d=a||this.store,e=this;return d?this.tempUrl?(b=this.tempUrl,c.resolve(b)):d.getUrl(this.absolute).then(function(a){e.tempUrl=a,c.resolve(a)}):(b=this.absolute,c.resolve(b)),c.promise},EPUBJS.Chapter.prototype.setPages=function(a){this.pages=a},EPUBJS.Chapter.prototype.getPages=function(a){return this.pages},EPUBJS.Chapter.prototype.getID=function(){return this.ID},EPUBJS.Chapter.prototype.unload=function(a){this.document=null,this.tempUrl&&a&&(a.revokeUrl(this.tempUrl),this.tempUrl=!1)},EPUBJS.Chapter.prototype.setDocument=function(a){var b=a.namespaceURI;a.doctype;this.document=a.implementation.createDocument(b,null,null),this.contents=this.document.importNode(a.documentElement,!0),this.document.appendChild(this.contents),!this.document.evaluate&&document.evaluate&&(this.document.evaluate=document.evaluate)},EPUBJS.Chapter.prototype.cfiFromRange=function(a){var b,c,d,e,f,g;if(this.document){if("undefined"!=typeof document.evaluate){if(c=EPUBJS.core.getElementXPath(a.startContainer),d=EPUBJS.core.getElementXPath(a.endContainer),e=this.document.evaluate(c,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,a.collapsed||(f=this.document.evaluate(d,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue),b=this.document.createRange(),e)try{b.setStart(e,a.startOffset),!a.collapsed&&f&&b.setEnd(f,a.endOffset)}catch(h){console.log("missed"),e=!1}e||(console.log("not found, try fuzzy match"),cleanStartTextContent=EPUBJS.core.cleanStringForXpath(a.startContainer.textContent),c="//text()[contains(.,"+cleanStartTextContent+")]",e=this.document.evaluate(c,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,e&&(b.setStart(e,a.startOffset),a.collapsed||(g=EPUBJS.core.cleanStringForXpath(a.endContainer.textContent),d="//text()[contains(.,"+g+")]",f=this.document.evaluate(d,this.document,EPUBJS.core.nsResolver,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue,f&&b.setEnd(f,a.endOffset))))}else b=a;return this.epubcfi.generateCfiFromRange(b,this.cfiBase)}},EPUBJS.Chapter.prototype.find=function(a){var b=this,c=[],d=a.toLowerCase(),e=function(a){for(var e,f,g,h=a.textContent.toLowerCase(),i=b.document.createRange(),j=-1,k=150;-1!=f;)f=h.indexOf(d,j+1),-1!=f&&(i=b.document.createRange(),i.setStart(a,f),i.setEnd(a,f+d.length),e=b.cfiFromRange(i),a.textContent.length=g&&c&&c(!0),e=!0)};b(a,f)}.bind(this))},EPUBJS.Chapter.prototype.replaceWithStored=function(a,b,c,d){var e,f={},g=this.store,h=this.caches[a],i=EPUBJS.core.uri(this.absolute),j=i.base,k=b,l=5,m=function(a,b,c){f[b]=a},n=function(a){d&&d(),EPUBJS.core.values(e).forEach(function(a){g.revokeUrl(a)}),h=f};g&&(h||(h={}),e=EPUBJS.core.clone(h),this.replace(a,function(b,d){var h=b.getAttribute(k),i=EPUBJS.core.resolveUrl(j,h),m=function(c){var e;b.onload=function(){clearTimeout(e),d(c,i)},b.onerror=function(a){clearTimeout(e),d(c,i),console.error(a)},"svg image"==a&&b.setAttribute("externalResourcesRequired","true"),"link[href]"==a&&"stylesheet"!==b.getAttribute("rel")?d(c,i):e=setTimeout(function(){d(c,i)},l),b.setAttribute(k,c)};i in e?(m(e[i]),f[i]=e[i],delete e[i]):c(g,i,m,b)},n,m))};var EPUBJS=EPUBJS||{};EPUBJS.core={},EPUBJS.core.getEl=function(a){return document.getElementById(a)},EPUBJS.core.getEls=function(a){return document.getElementsByClassName(a)},EPUBJS.core.request=function(a,b,c){function d(){if(this.readyState===this.DONE)if(200===this.status||0===this.status&&this.response){var a;a="xml"==b?this.responseXML?this.responseXML:(new DOMParser).parseFromString(this.response,"text/xml"):"json"==b?JSON.parse(this.response):"blob"==b?e?this.response:new Blob([this.response]):this.response,g.resolve(a)}else g.reject({message:this.response,stack:(new Error).stack})}var e=window.URL,f=e?"blob":"arraybuffer",g=new RSVP.defer,h=new XMLHttpRequest,i=XMLHttpRequest.prototype;return"overrideMimeType"in i||Object.defineProperty(i,"overrideMimeType",{value:function(a){}}),c&&(h.withCredentials=!0),h.open("GET",a,!0),h.onreadystatechange=d,"blob"==b&&(h.responseType=f),"json"==b&&h.setRequestHeader("Accept","application/json"),"xml"==b&&h.overrideMimeType("text/xml"),"binary"==b&&(h.responseType="arraybuffer"),h.send(),g.promise},EPUBJS.core.toArray=function(a){var b=[];for(var c in a){var d;a.hasOwnProperty(c)&&(d=a[c],d.ident=c,b.push(d))}return b},EPUBJS.core.uri=function(a){var b,c,d,e={protocol:"",host:"",path:"",origin:"",directory:"",base:"",filename:"",extension:"",fragment:"",href:a},f=a.indexOf("blob:"),g=a.indexOf("://"),h=a.indexOf("?"),i=a.indexOf("#");return 0===f?(e.protocol="blob",e.base=a.indexOf(0,i),e):(-1!=i&&(e.fragment=a.slice(i+1),a=a.slice(0,i)),-1!=h&&(e.search=a.slice(h+1),a=a.slice(0,h),href=a),-1!=g?(e.protocol=a.slice(0,g),b=a.slice(g+3),d=b.indexOf("/"),-1===d?(e.host=e.path,e.path=""):(e.host=b.slice(0,d),e.path=b.slice(d)),e.origin=e.protocol+"://"+e.host,e.directory=EPUBJS.core.folder(e.path),e.base=e.origin+e.directory):(e.path=a,e.directory=EPUBJS.core.folder(a),e.base=e.directory),e.filename=a.replace(e.base,""),c=e.filename.lastIndexOf("."),-1!=c&&(e.extension=e.filename.slice(c+1)),e)},EPUBJS.core.folder=function(a){var b=a.lastIndexOf("/");if(-1==b)var c="";return c=a.slice(0,b+1)},EPUBJS.core.dataURLToBlob=function(a){var b,c,d,e,f,g=";base64,";if(-1==a.indexOf(g))return b=a.split(","),c=b[0].split(":")[1],d=b[1],new Blob([d],{type:c});b=a.split(g),c=b[0].split(":")[1],d=window.atob(b[1]),e=d.length,f=new Uint8Array(e);for(var h=0;e>h;++h)f[h]=d.charCodeAt(h);return new Blob([f],{type:c})},EPUBJS.core.addScript=function(a,b,c){var d,e;e=!1,d=document.createElement("script"),d.type="text/javascript",d.async=!1,d.src=a,d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b&&b())},c=c||document.body,c.appendChild(d)},EPUBJS.core.addScripts=function(a,b,c){var d=a.length,e=0,f=function(){e++,d==e?b&&b():EPUBJS.core.addScript(a[e],f,c)};EPUBJS.core.addScript(a[e],f,c)},EPUBJS.core.addCss=function(a,b,c){var d,e;e=!1,d=document.createElement("link"),d.type="text/css",d.rel="stylesheet",d.href=a,d.onload=d.onreadystatechange=function(){e||this.readyState&&"complete"!=this.readyState||(e=!0,b&&b())},c=c||document.body,c.appendChild(d)},EPUBJS.core.prefixed=function(a){var b=["Webkit","Moz","O","ms"],c=a[0].toUpperCase()+a.slice(1),d=b.length;if("undefined"!=typeof document.documentElement.style[a])return a;for(var e=0;d>e;e++)if("undefined"!=typeof document.documentElement.style[b[e]+c])return b[e]+c;return a},EPUBJS.core.resolveUrl=function(a,b){var c,d,e=[],f=EPUBJS.core.uri(b),g=a.split("/");return f.host?b:(g.pop(),d=b.split("/"),d.forEach(function(a){".."===a?g.pop():e.push(a)}),c=g.concat(e),c.join("/"))},EPUBJS.core.uuid=function(){var a=(new Date).getTime(),b="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(b){var c=(a+16*Math.random())%16|0;return a=Math.floor(a/16),("x"==b?c:7&c|8).toString(16)});return b},EPUBJS.core.insert=function(a,b,c){var d=EPUBJS.core.locationOf(a,b,c);return b.splice(d,0,a),d},EPUBJS.core.locationOf=function(a,b,c,d,e){var f,g=d||0,h=e||b.length,i=parseInt(g+(h-g)/2);return c||(c=function(a,b){return a>b?1:b>a?-1:(a=b)?0:void 0}),0>=h-g?i:(f=c(b[i],a),h-g===1?f>0?i:i+1:0===f?i:-1===f?EPUBJS.core.locationOf(a,b,c,i,h):EPUBJS.core.locationOf(a,b,c,g,i))},EPUBJS.core.indexOfSorted=function(a,b,c,d,e){var f,g=d||0,h=e||b.length,i=parseInt(g+(h-g)/2);return c||(c=function(a,b){return a>b?1:b>a?-1:(a=b)?0:void 0}),0>=h-g?-1:(f=c(b[i],a),h-g===1?0===f?i:-1:0===f?i:-1===f?EPUBJS.core.indexOfSorted(a,b,c,i,h):EPUBJS.core.indexOfSorted(a,b,c,g,i))},EPUBJS.core.queue=function(a){var b=[],c=a,d=function(a,c,d){return b.push({funcName:a,args:c,context:d}),b},e=function(){var a;b.length&&(a=b.shift(),c[a.funcName].apply(a.context||c,a.args))},f=function(){for(;b.length;)e()},g=function(){b=[]},h=function(){return b.length};return{enqueue:d,dequeue:e,flush:f,clear:g,length:h}},EPUBJS.core.getElementXPath=function(a){return a&&a.id?'//*[@id="'+a.id+'"]':EPUBJS.core.getElementTreeXPath(a)},EPUBJS.core.getElementTreeXPath=function(a){var b,c,d,e,f=[],g="http://www.w3.org/1999/xhtml"===a.ownerDocument.documentElement.getAttribute("xmlns");for(a.nodeType===Node.TEXT_NODE&&(b=EPUBJS.core.indexOfTextNode(a)+1,f.push("text()["+b+"]"),a=a.parentNode);a&&1==a.nodeType;a=a.parentNode){b=0;for(var h=a.previousSibling;h;h=h.previousSibling)h.nodeType!=Node.DOCUMENT_TYPE_NODE&&h.nodeName==a.nodeName&&++b;c=a.nodeName.toLowerCase(),d=g?"xhtml:"+c:c,e=b?"["+(b+1)+"]":"",f.splice(0,0,d+e)}return f.length?"./"+f.join("/"):null},EPUBJS.core.nsResolver=function(a){var b={xhtml:"http://www.w3.org/1999/xhtml",epub:"http://www.idpf.org/2007/ops"};return b[a]||null},EPUBJS.core.cleanStringForXpath=function(a){var b=a.match(/[^'"]+|['"]/g);return b=b.map(function(a){return"'"===a?'"\'"':'"'===a?"'\"'":"'"+a+"'"}),"concat('',"+b.join(",")+")"},EPUBJS.core.indexOfTextNode=function(a){for(var b,c=a.parentNode,d=c.childNodes,e=-1,f=0;fb;b++){var d=arguments[b];for(var e in d)void 0===a[e]&&(a[e]=d[e])}return a},EPUBJS.core.extend=function(a){var b=[].slice.call(arguments,1);return b.forEach(function(b){b&&Object.getOwnPropertyNames(b).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))})}),a},EPUBJS.core.clone=function(a){return EPUBJS.core.isArray(a)?a.slice():EPUBJS.core.extend({},a)},EPUBJS.core.isElement=function(a){return!(!a||1!=a.nodeType)},EPUBJS.core.isNumber=function(a){return!isNaN(parseFloat(a))&&isFinite(a)},EPUBJS.core.isString=function(a){return"string"==typeof a||a instanceof String},EPUBJS.core.isArray=Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},EPUBJS.core.values=function(a){var b,c,d,e=-1;if(!a)return[];for(b=Object.keys(a),c=b.length,d=Array(c);++e0;){if(c=d.shift(),"text"===c.type?(e=g.childNodes[c.index],g=e.parentNode||g):g=c.id?f.getElementById(c.id):h[c.index],"undefined"==typeof g)return console.error("No Element For",c,a.str),!1;h=Array.prototype.slice.call(g.children)}return g},EPUBJS.EpubCFI.prototype.compare=function(a,b){if("string"==typeof a&&(a=new EPUBJS.EpubCFI(a)),"string"==typeof b&&(b=new EPUBJS.EpubCFI(b)),a.spinePos>b.spinePos)return 1;if(a.spinePosb.steps[c].index)return 1;if(a.steps[c].indexb.characterOffset?1:a.characterOffset")},EPUBJS.EpubCFI.prototype.generateRangeFromCfi=function(a,b){var c,d,e,f,g,h,i=b||document,j=i.createRange();return"string"==typeof a&&(a=this.parse(a)),-1===a.spinePos?!1:(c=a.steps[a.steps.length-1],"undefined"!=typeof document.evaluate?(d=this.generateXpathFromSteps(a.steps),e=i.evaluate(d,i,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue):(g=this.generateQueryFromSteps(a.steps),h=i.querySelector(g),h&&"text"==c.type&&(e=h.childNodes[c.index])),e?(e&&a.characterOffset>=0?(f=e.length,a.characterOffset-1&&this.hooks[a].splice(c,1)):Array.isArray(b)&&b.forEach(function(b){c=this.hooks[a].indexOf(b),c>-1&&this.hooks[a].splice(c,1)},this))},a.prototype.triggerHooks=function(a,b,c){function d(){f--,0>=f&&b&&b()}var e,f;return"undefined"==typeof this.hooks[a]?!1:(e=this.hooks[a],f=e.length,0===f&&b&&b(),void e.forEach(function(a){a(d,c)}))},{register:function(a){if(void 0===EPUBJS.hooks[a]&&(EPUBJS.hooks[a]={}),"object"!=typeof EPUBJS.hooks[a])throw"Already registered: "+a;return EPUBJS.hooks[a]},mixin:function(b){for(var c in a.prototype)b[c]=a.prototype[c]}}}(),EPUBJS.Layout=EPUBJS.Layout||{},EPUBJS.Layout.Reflowable=function(){this.documentElement=null,this.spreadWidth=null},EPUBJS.Layout.Reflowable.prototype.format=function(a,b,c,d){var e=EPUBJS.core.prefixed("columnAxis"),f=EPUBJS.core.prefixed("columnGap"),g=EPUBJS.core.prefixed("columnWidth"),h=EPUBJS.core.prefixed("columnFill"),i=Math.floor(b),j=Math.floor(i/8),k=d>=0?d:j%2===0?j:j-1;return this.documentElement=a,this.spreadWidth=i+k,a.style.overflow="hidden",a.style.width=i+"px",a.style.height=c+"px",a.style[e]="horizontal",a.style[h]="auto",a.style[g]=i+"px",a.style[f]=k+"px",this.colWidth=i,this.gap=k,{pageWidth:this.spreadWidth,pageHeight:c}},EPUBJS.Layout.Reflowable.prototype.calculatePages=function(){var a,b;return this.documentElement.style.width="auto",a=this.documentElement.scrollWidth,b=Math.ceil(a/this.spreadWidth),{displayedPages:b,pageCount:b}},EPUBJS.Layout.ReflowableSpreads=function(){this.documentElement=null,this.spreadWidth=null},EPUBJS.Layout.ReflowableSpreads.prototype.format=function(a,b,c,d){var e=EPUBJS.core.prefixed("columnAxis"),f=EPUBJS.core.prefixed("columnGap"),g=EPUBJS.core.prefixed("columnWidth"),h=EPUBJS.core.prefixed("columnFill"),i=2,j=Math.floor(b),k=j%2===0?j:j-1,l=Math.floor(k/8),m=d>=0?d:l%2===0?l:l-1,n=Math.floor((k-m)/i);return this.documentElement=a,this.spreadWidth=(n+m)*i,a.style.overflow="hidden",a.style.width=k+"px",a.style.height=c+"px",a.style[e]="horizontal",a.style[h]="auto",a.style[f]=m+"px",a.style[g]=n+"px",this.colWidth=n,this.gap=m,{pageWidth:this.spreadWidth,pageHeight:c}},EPUBJS.Layout.ReflowableSpreads.prototype.calculatePages=function(){var a=this.documentElement.scrollWidth,b=Math.ceil(a/this.spreadWidth);return this.documentElement.style.width=b*this.spreadWidth-this.gap+"px",{displayedPages:b,pageCount:2*b}},EPUBJS.Layout.Fixed=function(){this.documentElement=null},EPUBJS.Layout.Fixed.prototype.format=function(a,b,c,d){var e,f,g,h,i=EPUBJS.core.prefixed("columnWidth"),j=a.querySelector("[name=viewport]");return this.documentElement=a,j&&j.hasAttribute("content")&&(e=j.getAttribute("content"),f=e.split(","),f[0]&&(g=f[0].replace("width=","")),f[1]&&(h=f[1].replace("height=",""))),a.style.width=g+"px"||"auto",a.style.height=h+"px"||"auto",a.style[i]="auto",a.style.overflow="auto",this.colWidth=g,this.gap=0,{pageWidth:g,pageHeight:h}},EPUBJS.Layout.Fixed.prototype.calculatePages=function(){return{displayedPages:1,pageCount:1}},EPUBJS.Locations=function(a,b,c){this.spine=a,this.store=b,this.credentials=c,this.epubcfi=new EPUBJS.EpubCFI,this._locations=[],this.total=0,this["break"]=150,this._current=0},EPUBJS.Locations.prototype.generate=function(a){var b=new RSVP.defer,c=-1,d=this.spine.length,e=function(a){var b,f=c+1,g=a||new RSVP.defer;return f>=d?g.resolve():(c=f,b=new EPUBJS.Chapter(this.spine[c],this.store,this.credentials),this.process(b).then(function(){setTimeout(function(){e(g)},1)})),g.promise}.bind(this);e().then(function(){this.total=this._locations.length-1,this._currentCfi&&(this.currentLocation=this._currentCfi),b.resolve(this._locations)}.bind(this));return b.promise},EPUBJS.Locations.prototype.process=function(a){return a.load().then(function(b){var c,d,e=b,f=e.documentElement.querySelector("body"),g=0;this.sprint(f,function(b){var f,h=b.length,i=0;for(0===g&&(c=e.createRange(),c.setStart(b,0)),f=this["break"]-g,f>h&&(g+=h,i=h);h>i;)g=this["break"],i+=this["break"],i>=h?g=h-(i-this["break"]):(c.setEnd(b,i),cfi=a.cfiFromRange(c),this._locations.push(cfi),g=0,i+=1,c=e.createRange(),c.setStart(b,i));d=b}.bind(this)),c&&(c.setEnd(d,d.length),cfi=a.cfiFromRange(c),this._locations.push(cfi),g=0)}.bind(this))},EPUBJS.Locations.prototype.sprint=function(a,b){for(var c=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,null,!1);node=c.nextNode();)b(node)},EPUBJS.Locations.prototype.locationFromCfi=function(a){return 0===this._locations.length?-1:EPUBJS.core.locationOf(a,this._locations,this.epubcfi.compare)},EPUBJS.Locations.prototype.percentageFromCfi=function(a){var b=this.locationFromCfi(a);return this.percentageFromLocation(b)},EPUBJS.Locations.prototype.percentageFromLocation=function(a){return a&&this.total?a/this.total:0},EPUBJS.Locations.prototype.cfiFromLocation=function(a){var b=-1;return"number"!=typeof a&&(a=parseInt(a)),a>=0&&a1?a/100:a,c=Math.ceil(this.total*b);return this.cfiFromLocation(c)},EPUBJS.Locations.prototype.load=function(a){return this._locations=JSON.parse(a),this.total=this._locations.length-1,this._locations},EPUBJS.Locations.prototype.save=function(a){return JSON.stringify(this._locations)},EPUBJS.Locations.prototype.getCurrent=function(a){return this._current},EPUBJS.Locations.prototype.setCurrent=function(a){var b;if("string"==typeof a)this._currentCfi=a;else{if("number"!=typeof a)return;this._current=a}0!==this._locations.length&&("string"==typeof a?(b=this.locationFromCfi(a),this._current=b):b=a,this.trigger("changed",{percentage:this.percentageFromLocation(b)}))},Object.defineProperty(EPUBJS.Locations.prototype,"currentLocation",{get:function(){return this._current},set:function(a){this.setCurrent(a)}}),RSVP.EventTarget.mixin(EPUBJS.Locations.prototype),EPUBJS.Pagination=function(a){this.pages=[],this.locations=[],this.epubcfi=new EPUBJS.EpubCFI,a&&a.length&&this.process(a)},EPUBJS.Pagination.prototype.process=function(a){a.forEach(function(a){this.pages.push(a.page),this.locations.push(a.cfi)},this),this.pageList=a,this.firstPage=parseInt(this.pages[0]),this.lastPage=parseInt(this.pages[this.pages.length-1]),this.totalPages=this.lastPage-this.firstPage},EPUBJS.Pagination.prototype.pageFromCfi=function(a){var b=-1;if(0===this.locations.length)return-1;var c=EPUBJS.core.indexOfSorted(a,this.locations,this.epubcfi.compare);return-1!=c&&c=0?this.pages[c-1]:this.pages[0],void 0!==b||(b=-1)),b},EPUBJS.Pagination.prototype.cfiFromPage=function(a){var b=-1;"number"!=typeof a&&(a=parseInt(a));var c=this.pages.indexOf(a);return-1!=c&&(b=this.locations[c]),b},EPUBJS.Pagination.prototype.pageFromPercentage=function(a){var b=Math.round(this.totalPages*a);return b},EPUBJS.Pagination.prototype.percentageFromPage=function(a){var b=(a-this.firstPage)/this.totalPages;return Math.round(1e3*b)/1e3},EPUBJS.Pagination.prototype.percentageFromCfi=function(a){var b=this.pageFromCfi(a),c=this.percentageFromPage(b);return c},EPUBJS.Parser=function(a){this.baseUrl=a||""},EPUBJS.Parser.prototype.container=function(a){var b,c,d,e;return a?(b=a.querySelector("rootfile"))?(c=b.getAttribute("full-path"),d=EPUBJS.core.uri(c).directory,e=a.xmlEncoding,{packagePath:c,basePath:d,encoding:e}):void console.error("No RootFile Found"):void console.error("Container File Not Found")},EPUBJS.Parser.prototype.identifier=function(a){var b;return a?(b=a.querySelector("metadata"),b?this.getElementText(b,"identifier"):void console.error("No Metadata Found")):void console.error("Package File Not Found")},EPUBJS.Parser.prototype.packageContents=function(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=this;return b&&(this.baseUrl=b),a?(c=a.querySelector("metadata"))?(d=a.querySelector("manifest"))?(e=a.querySelector("spine"))?(f=n.manifest(d),g=n.findNavPath(d),h=n.findTocPath(d,e),i=n.findCoverPath(d),j=Array.prototype.indexOf.call(e.parentNode.childNodes,e),k=n.spine(e,f),l={},k.forEach(function(a){l[a.href]=a.index}),m=n.metadata(c),m.direction=e.getAttribute("page-progression-direction"),{metadata:m,spine:k,manifest:f,navPath:g,tocPath:h,coverPath:i,spineNodeIndex:j,spineIndexByURL:l}):void console.error("No Spine Found"):void console.error("No Manifest Found"):void console.error("No Metadata Found"):void console.error("Package File Not Found")},EPUBJS.Parser.prototype.findNavPath=function(a){var b=a.querySelector("item[properties$='nav'], item[properties^='nav '], item[properties*=' nav ']");return b?b.getAttribute("href"):!1},EPUBJS.Parser.prototype.findTocPath=function(a,b){var c,d=a.querySelector("item[media-type='application/x-dtbncx+xml']");return d||(c=b.getAttribute("toc"),c&&(d=a.querySelector("item[id='"+c+"']"))),d?d.getAttribute("href"):!1},EPUBJS.Parser.prototype.findCoverPath=function(a){var b=a.querySelector("item[properties='cover-image']");return b?b.getAttribute("href"):!1},EPUBJS.Parser.prototype.metadata=function(a){var b={},c=this;return b.bookTitle=c.getElementText(a,"title"),b.creator=c.getElementText(a,"creator"),b.description=c.getElementText(a,"description"),b.pubdate=c.getElementText(a,"date"),b.publisher=c.getElementText(a,"publisher"),b.identifier=c.getElementText(a,"identifier"),b.language=c.getElementText(a,"language"),b.rights=c.getElementText(a,"rights"),b.modified_date=c.querySelectorText(a,"meta[property='dcterms:modified']"),b.layout=c.querySelectorText(a,"meta[property='rendition:layout']"),b.orientation=c.querySelectorText(a,"meta[property='rendition:orientation']"),b.spread=c.querySelectorText(a,"meta[property='rendition:spread']"),b},EPUBJS.Parser.prototype.getElementText=function(a,b){var c,d=a.getElementsByTagNameNS("http://purl.org/dc/elements/1.1/",b);return d&&0!==d.length?(c=d[0],c.childNodes.length?c.childNodes[0].nodeValue:""):""},EPUBJS.Parser.prototype.querySelectorText=function(a,b){var c=a.querySelector(b);return c&&c.childNodes.length?c.childNodes[0].nodeValue:""},EPUBJS.Parser.prototype.manifest=function(a){var b=this.baseUrl,c={},d=a.querySelectorAll("item"),e=Array.prototype.slice.call(d);return e.forEach(function(a){var d=a.getAttribute("id"),e=a.getAttribute("href")||"",f=a.getAttribute("media-type")||"",g=a.getAttribute("properties")||"";c[d]={href:e,url:b+e,type:f,properties:g}}),c},EPUBJS.Parser.prototype.spine=function(a,b){var c=[],d=a.getElementsByTagName("itemref"),e=Array.prototype.slice.call(d),f=Array.prototype.indexOf.call(a.parentNode.childNodes,a),g=new EPUBJS.EpubCFI;return e.forEach(function(a,d){var e=a.getAttribute("idref"),h=g.generateChapterComponent(f,d,e),i=a.getAttribute("properties")||"",j=i.length?i.split(" "):[],k=b[e].properties,l=k.length?k.split(" "):[],m={id:e,linear:a.getAttribute("linear")||"",properties:j,manifestProperties:l,href:b[e].href,url:b[e].url,index:d,cfiBase:h,cfi:"epubcfi("+h+")"};c.push(m)}),c},EPUBJS.Parser.prototype.querySelectorByType=function(a,b,c){var d=a.querySelector(b+'[*|type="'+c+'"]');if(0!==d.length)return d;d=a.querySelectorAll(b);for(var e=0;ed;++d)e=this.navItem(h[d],b,c),j[e.id]=e,e.parent?(f=j[e.parent],f.subitems.push(e)):k.push(e);return k},EPUBJS.Parser.prototype.navItem=function(a,b,c){var d,e=a.getAttribute("id")||!1,f=a.querySelector("a, span"),g=f.getAttribute("href")||"",h=f.textContent||"",i=g.split("#"),j=i[0],k=b[j],l=c[k],m=[],n=a.parentNode,o=l?l.cfi:"";return n&&"navPoint"===n.nodeName&&(d=n.getAttribute("id")),e||(k?(l=c[k],e=l.id,o=l.cfi):(e="epubjs-autogen-toc-id-"+EPUBJS.core.uuid(),a.setAttribute("id",e))),{id:e,href:g,label:h,spinePos:k,subitems:m,parent:d,cfi:o}},EPUBJS.Parser.prototype.toc=function(a,b,c){var d,e,f,g=a.querySelectorAll("navMap navPoint"),h=g.length,i={},j=[];if(!g||0===h)return j;for(d=0;h>d;++d)e=this.tocItem(g[d],b,c),i[e.id]=e,e.parent?(f=i[e.parent],f.subitems.push(e)):j.push(e);return j},EPUBJS.Parser.prototype.tocItem=function(a,b,c){var d,e=a.getAttribute("id")||!1,f=a.querySelector("content"),g=f.getAttribute("src"),h=a.querySelector("navLabel"),i=h.textContent?h.textContent:"",j=g.split("#"),k=j[0],l=b[k],m=c[l],n=[],o=a.parentNode,p=m?m.cfi:"";return o&&"navPoint"===o.nodeName&&(d=o.getAttribute("id")),e||(l?(m=c[l],e=m.id,p=m.cfi):(e="epubjs-autogen-toc-id-"+EPUBJS.core.uuid(),a.setAttribute("id",e))),{id:e,href:g,label:i,spinePos:l,subitems:n,parent:d,cfi:p}},EPUBJS.Parser.prototype.pageList=function(a,b,c){var d,e,f=this.querySelectorByType(a,"nav","page-list"),g=f?f.querySelectorAll("ol li"):[],h=g.length,i=[];if(!g||0===h)return i;for(d=0;h>d;++d)e=this.pageListItem(g[d],b,c),i.push(e);return i},EPUBJS.Parser.prototype.pageListItem=function(a,b,c){var d,e,f,g=(a.getAttribute("id")||!1,a.querySelector("a")),h=g.getAttribute("href")||"",i=g.textContent||"",j=parseInt(i),k=h.indexOf("epubcfi");return-1!=k?(d=h.split("#"),e=d[0],f=d.length>1?d[1]:!1,{cfi:f,href:h,packageUrl:e,page:j}):{href:h,page:j}},EPUBJS.Render.Iframe=function(){this.iframe=null,this.document=null,this.window=null,this.docEl=null,this.bodyEl=null,this.leftPos=0,this.pageWidth=0},EPUBJS.Render.Iframe.prototype.create=function(){return this.iframe=document.createElement("iframe"),this.iframe.id="epubjs-iframe:"+EPUBJS.core.uuid(),this.iframe.scrolling="no",this.iframe.seamless="seamless",this.iframe.style.border="none",this.iframe.addEventListener("load",this.loaded.bind(this),!1),this.isMobile=navigator.userAgent.match(/(iPad|iPhone|iPod|Mobile|Android)/g),this.transform=EPUBJS.core.prefixed("transform"),this.iframe},EPUBJS.Render.Iframe.prototype.load=function(a,b){var c=this,d=new RSVP.defer;return this.window&&this.unload(),this.iframe.onload=function(a){c.document=c.iframe.contentDocument,c.docEl=c.document.documentElement,c.headEl=c.document.head,c.bodyEl=c.document.body||c.document.querySelector("body"),c.window=c.iframe.contentWindow,c.window.addEventListener("resize",c.resized.bind(c),!1),c.leftPos=0,c.setLeft(0),c.bodyEl&&(c.bodyEl.style.margin="0"),"rtl"==c.direction&&"rtl"!=c.docEl.dir&&(c.docEl.dir="rtl",c.docEl.style.position="absolute",c.docEl.style.right="0"),d.resolve(c.docEl)},this.iframe.onerror=function(a){d.reject({message:"Error Loading Contents: "+a,stack:(new Error).stack})},this.document=this.iframe.contentDocument,this.document?(this.document.open(),this.document.write(a),this.document.close(),d.promise):(d.reject(new Error("No Document Available")),d)},EPUBJS.Render.Iframe.prototype.loaded=function(a){var b,c,d=this.iframe.contentWindow.location.href;this.document=this.iframe.contentDocument,this.docEl=this.document.documentElement,this.headEl=this.document.head,this.bodyEl=this.document.body||this.document.querySelector("body"),this.window=this.iframe.contentWindow,"about:blank"!=d&&(b=this.iframe.contentDocument.querySelector("base"),c=b.getAttribute("href"),this.trigger("render:loaded",c))},EPUBJS.Render.Iframe.prototype.resize=function(a,b){this.iframe&&(this.iframe.height=b,isNaN(a)||a%2===0||(a+=1),this.iframe.width=a,this.width=this.iframe.getBoundingClientRect().width||a,this.height=this.iframe.getBoundingClientRect().height||b)},EPUBJS.Render.Iframe.prototype.resized=function(a){this.width=this.iframe.getBoundingClientRect().width,this.height=this.iframe.getBoundingClientRect().height},EPUBJS.Render.Iframe.prototype.totalWidth=function(){return this.docEl.scrollWidth},EPUBJS.Render.Iframe.prototype.totalHeight=function(){return this.docEl.scrollHeight},EPUBJS.Render.Iframe.prototype.setPageDimensions=function(a,b){this.pageWidth=a,this.pageHeight=b},EPUBJS.Render.Iframe.prototype.setDirection=function(a){this.direction=a,this.docEl&&"rtl"==this.docEl.dir&&(this.docEl.dir="rtl",this.docEl.style.position="static",this.docEl.style.right="auto")},EPUBJS.Render.Iframe.prototype.setLeft=function(a){this.isMobile?this.docEl.style[this.transform]="translate("+-a+"px, 0)":this.document.defaultView.scrollTo(a,0)},EPUBJS.Render.Iframe.prototype.setStyle=function(a,b,c){c&&(a=EPUBJS.core.prefixed(a)),this.bodyEl&&(this.bodyEl.style[a]=b)},EPUBJS.Render.Iframe.prototype.removeStyle=function(a){this.bodyEl&&(this.bodyEl.style[a]="")},EPUBJS.Render.Iframe.prototype.addHeadTag=function(a,b,c){var d=c||this.document,e=d.createElement(a),f=d.head;for(var g in b)e.setAttribute(g,b[g]);f&&f.insertBefore(e,f.firstChild)},EPUBJS.Render.Iframe.prototype.page=function(a){this.leftPos=this.pageWidth*(a-1),"rtl"===this.direction&&(this.leftPos=-1*this.leftPos),this.setLeft(this.leftPos)},EPUBJS.Render.Iframe.prototype.getPageNumberByElement=function(a){var b,c;if(a)return b=this.leftPos+a.getBoundingClientRect().left,c=Math.floor(b/this.pageWidth)+1},EPUBJS.Render.Iframe.prototype.getPageNumberByRect=function(a){var b,c;return b=this.leftPos+a.left,c=Math.floor(b/this.pageWidth)+1},EPUBJS.Render.Iframe.prototype.getBaseElement=function(){return this.bodyEl},EPUBJS.Render.Iframe.prototype.getDocumentElement=function(){return this.docEl},EPUBJS.Render.Iframe.prototype.isElementVisible=function(a){var b,c;return a&&"function"==typeof a.getBoundingClientRect&&(b=a.getBoundingClientRect(),c=b.left,0!==b.width&&0!==b.height&&c>=0&&c=1&&a<=this.displayedPages?(this.chapterPos=a,this.render.page(a),this.visibleRangeCfi=this.getVisibleRangeCfi(),this.currentLocationCfi=this.visibleRangeCfi.start,this.trigger("renderer:locationChanged",this.currentLocationCfi),this.trigger("renderer:visibleRangeChanged",this.visibleRangeCfi),!0):!1:(console.warn("pageMap not set, queuing"),this._q.enqueue("page",arguments),!0)},EPUBJS.Renderer.prototype.nextPage=function(){return this.page(this.chapterPos+1)},EPUBJS.Renderer.prototype.prevPage=function(){return this.page(this.chapterPos-1)},EPUBJS.Renderer.prototype.pageByElement=function(a){var b;a&&(b=this.render.getPageNumberByElement(a),this.page(b))},EPUBJS.Renderer.prototype.lastPage=function(){return this._moving?this._q.enqueue("lastPage",arguments):void this.page(this.displayedPages)},EPUBJS.Renderer.prototype.firstPage=function(){return this._moving?this._q.enqueue("firstPage",arguments):void this.page(1)},EPUBJS.Renderer.prototype.section=function(a){var b=this.doc.getElementById(a);b&&this.pageByElement(b)},EPUBJS.Renderer.prototype.firstElementisTextNode=function(a){var b=a.childNodes,c=b.length;return c&&b[0]&&3===b[0].nodeType&&b[0].textContent.trim().length?!0:!1},EPUBJS.Renderer.prototype.isGoodNode=function(a){var b=["audio","canvas","embed","iframe","img","math","object","svg","video"];return-1!==b.indexOf(a.tagName.toLowerCase())?!0:this.firstElementisTextNode(a)},EPUBJS.Renderer.prototype.walk=function(a,b,c){for(var d,e,f,g,h=a,i=[h],j=1e4,k=0;!d&&i.length;){if(a=i.shift(),this.containsPoint(a,b,c)&&this.isGoodNode(a)&&(d=a),!d&&a&&a.childElementCount>0){if(e=a.children,!e||!e.length)return d;f=e.length?e.length:0;for(var l=f-1;l>=0;l--)e[l]!=g&&i.unshift(e[l])}if(!d&&0===i.length&&h&&null!==h.parentNode&&(i.push(h.parentNode),g=h,h=h.parentNode),k++,k>j){console.error("ENDLESS LOOP");break}}return d},EPUBJS.Renderer.prototype.containsPoint=function(a,b,c){var d;return a&&"function"==typeof a.getBoundingClientRect&&(d=a.getBoundingClientRect(),0!==d.width&&0!==d.height&&d.left>=b&&b<=d.left+d.width)?!0:!1},EPUBJS.Renderer.prototype.textSprint=function(a,b){for(var c,d=document.createTreeWalker(a,NodeFilter.SHOW_TEXT,{acceptNode:function(a){return/^\s*$/.test(a.data)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}},!1);c=d.nextNode();)b(c)},EPUBJS.Renderer.prototype.sprint=function(a,b){for(var c,d=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,null,!1);c=d.nextNode();)b(c)},EPUBJS.Renderer.prototype.mapPage=function(){var a,b,c=this,d=[],e=this.render.getBaseElement(),f=1,g=this.layout.colWidth+this.layout.gap,h=this.formated.pageWidth*(this.chapterPos-1),i=g*f-h,j=0,k=function(a){var b,c,d=Array.prototype.slice.call(a.childNodes);if(a.nodeType==Node.ELEMENT_NODE){if(c=document.createRange(),c.selectNodeContents(a),b=c.getBoundingClientRect(),!b||0===b.width&&0===b.height)return;b.left>j&&d.forEach(function(a){a.nodeType==Node.TEXT_NODE&&a.textContent.trim().length&&l(a)}),b.right>j&&d.forEach(function(a){a.nodeType==Node.TEXT_NODE&&a.textContent.trim().length&&l(a)})}},l=function(e){var k=c.splitTextNodeIntoWordsRanges(e);k.forEach(function(e){var k=e.getBoundingClientRect();!k||0===k.width&&0===k.height||(k.left+k.width0&&(b&&(b.setEnd(a,pos),c.push(b)),b=this.doc.createRange(),b.setStart(a,pos+1));return b&&(b.setEnd(a,d.length),c.push(b)),c},EPUBJS.Renderer.prototype.rangePosition=function(a){var b,c;return c=a.getClientRects(),c.length?b=c[0]:null},EPUBJS.Renderer.prototype.getPageCfi=function(){var a;return this.spreads?(a=2*this.chapterPos,startRange=this.pageMap[a-2]):(a=this.chapterPos,startRange=this.pageMap[a-1]),this.pageMap[2*this.chapterPos-1].start},EPUBJS.Renderer.prototype.getRange=function(a,b,c){var d,e=this.doc.createRange();return c=!0,"undefined"==typeof document.caretPositionFromPoint||c?"undefined"==typeof document.caretRangeFromPoint||c?(this.visibileEl=this.findElementAfter(a,b),e.setStart(this.visibileEl,1)):e=this.doc.caretRangeFromPoint(a,b):(d=this.doc.caretPositionFromPoint(a,b),e.setStart(d.offsetNode,d.offset)),e},EPUBJS.Renderer.prototype.pagesInCurrentChapter=function(){var a,b;return this.pageMap?(b=this.pageMap.length,a=this.spreads?Math.ceil(b/2):b):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.currentRenderedPage=function(){var a;return this.pageMap?a=this.spreads&&this.layout.pageCount>1?2*this.chapterPos:this.chapterPos:(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.getRenderedPagesLeft=function(){var a,b,c;return this.pageMap?(b=this.pageMap.length,a=this.spreads?2*this.chapterPos:this.chapterPos,c=b-a):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.getVisibleRangeCfi=function(){var a,b,c;return this.pageMap?(this.spreads?(a=2*this.chapterPos,b=this.pageMap[a-2],c=b,this.layout.pageCount>1&&(c=this.pageMap[a-1])):(a=this.chapterPos,b=this.pageMap[a-1],c=b),b||(console.warn("page range miss:",a,this.pageMap),b=this.pageMap[this.pageMap.length-1],c=b),{start:b.start,end:c.end}):(console.warn("page map not loaded"),!1)},EPUBJS.Renderer.prototype.gotoCfi=function(a){var b,c,d;if(this._moving)return this._q.enqueue("gotoCfi",arguments);if(EPUBJS.core.isString(a)&&(a=this.epubcfi.parse(a)),"undefined"==typeof document.evaluate)c=this.epubcfi.addMarker(a,this.doc),c&&(b=this.render.getPageNumberByElement(c),this.epubcfi.removeMarker(c,this.doc),this.page(b));else if(d=this.epubcfi.generateRangeFromCfi(a,this.doc)){var e=d.getBoundingClientRect();b=e?this.render.getPageNumberByRect(e):1,this.page(b),this.currentLocationCfi=a.str}else this.page(1)},EPUBJS.Renderer.prototype.findFirstVisible=function(a){var b,c=a||this.render.getBaseElement();return b=this.walk(c,0,0),b?b:a},EPUBJS.Renderer.prototype.findElementAfter=function(a,b,c){var d,e=c||this.render.getBaseElement();return d=this.walk(e,a,b),d?d:e},EPUBJS.Renderer.prototype.resize=function(a,b,c){this.width=a,this.height=b,c!==!1&&this.render.resize(this.width,this.height),this.contents&&this.reformat(),this.trigger("renderer:resized",{width:this.width,height:this.height})},EPUBJS.Renderer.prototype.onResized=function(a){var b=this.container.clientWidth,c=this.container.clientHeight;this.resize(b,c,!1)},EPUBJS.Renderer.prototype.addEventListeners=function(){this.render.document&&this.listenedEvents.forEach(function(a){this.render.document.addEventListener(a,this.triggerEvent.bind(this),!1)},this)},EPUBJS.Renderer.prototype.removeEventListeners=function(){this.render.document&&this.listenedEvents.forEach(function(a){this.render.document.removeEventListener(a,this.triggerEvent,!1)},this)},EPUBJS.Renderer.prototype.triggerEvent=function(a){this.trigger("renderer:"+a.type,a)},EPUBJS.Renderer.prototype.addSelectionListeners=function(){this.render.document.addEventListener("selectionchange",this.onSelectionChange.bind(this),!1)},EPUBJS.Renderer.prototype.removeSelectionListeners=function(){this.render.document&&this.doc.removeEventListener("selectionchange",this.onSelectionChange,!1)},EPUBJS.Renderer.prototype.onSelectionChange=function(a){this.selectionEndTimeout&&clearTimeout(this.selectionEndTimeout),this.selectionEndTimeout=setTimeout(function(){this.selectedRange=this.render.window.getSelection(),this.trigger("renderer:selected",this.selectedRange)}.bind(this),500)},EPUBJS.Renderer.prototype.setMinSpreadWidth=function(a){this.minSpreadWidth=a,this.spreads=this.determineSpreads(a)},EPUBJS.Renderer.prototype.determineSpreads=function(a){return this.isForcedSingle||!a||this.width=g&&c&&c(!0),e=!0)};b(a,f)}.bind(this))},RSVP.EventTarget.mixin(EPUBJS.Renderer.prototype);var EPUBJS=EPUBJS||{};EPUBJS.replace={},EPUBJS.replace.hrefs=function(a,b){var c=this,d=function(a,d){var e,f,g=a.getAttribute("href"),h=g.search("://");if(-1!=h)a.setAttribute("target","_blank");else{var i=EPUBJS.core.uri(b.render.window.location.href);e=i.directory,f=e?"file"===i.protocol?EPUBJS.core.resolveUrl(i.base,g):EPUBJS.core.resolveUrl(e,g):g,a.onclick=function(){return c["goto"](f),!1}}d()};b.replace("a[href]",d,a)},EPUBJS.replace.head=function(a,b){b.replaceWithStored("link[href]","href",EPUBJS.replace.links,a)},EPUBJS.replace.resources=function(a,b){b.replaceWithStored("[src]","src",EPUBJS.replace.srcs,a)},EPUBJS.replace.svg=function(a,b){b.replaceWithStored("svg image","xlink:href",function(a,b,c){a.getUrl(b).then(c)},a)},EPUBJS.replace.srcs=function(a,b,c){a.getUrl(b).then(c)},EPUBJS.replace.links=function(a,b,c,d){"stylesheet"===d.getAttribute("rel")?EPUBJS.replace.stylesheets(a,b).then(function(a,b){c(a,b)},function(a){c(null)}):a.getUrl(b).then(c,function(a){c(null)})},EPUBJS.replace.stylesheets=function(a,b){var c=new RSVP.defer;if(a)return a.getText(b).then(function(d){EPUBJS.replace.cssUrls(a,b,d).then(function(a){var b=window.URL||window.webkitURL||window.mozURL,d=new Blob([a],{type:"text/css"}),e=b.createObjectURL(d);c.resolve(e)},function(a){c.reject(a)})},function(a){c.reject(a)}),c.promise},EPUBJS.replace.cssUrls=function(a,b,c){var d=new RSVP.defer,e=[],f=c.match(/url\(\'?\"?([^\'|^\"^\)]*)\'?\"?\)/g);if(a)return f?(f.forEach(function(f){var g=EPUBJS.core.resolveUrl(b,f.replace(/url\(|[|\)|\'|\"]/g,"")),h=a.getUrl(g).then(function(a){c=c.replace(f,'url("'+a+'")')},function(a){d.reject(a)});e.push(h)}),RSVP.all(e).then(function(){d.resolve(c)}),d.promise):(d.resolve(c),d.promise)},EPUBJS.Storage=function(a){this.checkRequirements(),this.urlCache={},this.withCredentials=a,this.URL=window.URL||window.webkitURL||window.mozURL,this.offline=!1},EPUBJS.Storage.prototype.checkRequirements=function(a){"undefined"==typeof localforage&&console.error("localForage library not loaded")},EPUBJS.Storage.prototype.put=function(a,b){var c=new RSVP.defer,d=a.length,e=0,f=function(b){var c,g,h=b||new RSVP.defer;return e>=d?h.resolve():(c=a[e].url,g=window.encodeURIComponent(c),EPUBJS.core.request(c,"binary").then(function(a){return localforage.setItem(g,a)}).then(function(a){e++,setTimeout(function(){f(h)},1)})),h.promise}.bind(this);return Array.isArray(a)||(a=[a]),f().then(function(){c.resolve()}.bind(this)),c.promise},EPUBJS.Storage.prototype.token=function(a,b){var c=window.encodeURIComponent(a);return localforage.setItem(c,b).then(function(a){return null===a?!1:!0})},EPUBJS.Storage.prototype.isStored=function(a){var b=window.encodeURIComponent(a);return localforage.getItem(b).then(function(a){return null===a?!1:!0})},EPUBJS.Storage.prototype.getText=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(a){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,a),a}.bind(this)).then(function(b){var c=new RSVP.defer,d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;return f.addEventListener("loadend",function(){c.resolve(f.result)}),f.readAsText(e,d),c.promise})["catch"](function(){var c=new RSVP.defer,d=localforage.getItem(b);return this.offline||(this.offline=!0,this.trigger("offline",!0)),d?(d.then(function(b){var d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;f.addEventListener("loadend",function(){c.resolve(f.result)}),f.readAsText(e,d)}),c.promise):(c.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),c.promise)}.bind(this))},EPUBJS.Storage.prototype.getUrl=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(c){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,c),a}.bind(this))["catch"](function(){var c,d,e=new RSVP.defer,f=window.URL||window.webkitURL||window.mozURL;return this.offline||(this.offline=!0,this.trigger("offline",!0)),b in this.urlCache?(e.resolve(this.urlCache[b]),e.promise):(c=localforage.getItem(b))?(c.then(function(c){var g=new Blob([c],{type:EPUBJS.core.getMimeType(a)});d=f.createObjectURL(g),e.resolve(d),this.urlCache[b]=d}.bind(this)),e.promise):(e.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),e.promise)}.bind(this))},EPUBJS.Storage.prototype.getXml=function(a){var b=window.encodeURIComponent(a);return EPUBJS.core.request(a,"arraybuffer",this.withCredentials).then(function(a){return this.offline&&(this.offline=!1,this.trigger("offline",!1)),localforage.setItem(b,a),a}.bind(this)).then(function(b){var c=new RSVP.defer,d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;return f.addEventListener("loadend",function(){var a=new DOMParser,b=a.parseFromString(f.result,"text/xml");c.resolve(b)}),f.readAsText(e,d),c.promise})["catch"](function(){var c=new RSVP.defer,d=localforage.getItem(b);return this.offline||(this.offline=!0,this.trigger("offline",!0)),d?(d.then(function(b){var d=EPUBJS.core.getMimeType(a),e=new Blob([b],{type:d}),f=new FileReader;f.addEventListener("loadend",function(){var a=new DOMParser,b=a.parseFromString(f.result,"text/xml");c.resolve(b)}),f.readAsText(e,d)}),c.promise):(c.reject({message:"File not found in the storage: "+a,stack:(new Error).stack}),c.promise)}.bind(this))},EPUBJS.Storage.prototype.revokeUrl=function(a){var b=window.URL||window.webkitURL||window.mozURL,c=this.urlCache[a];c&&b.revokeObjectURL(c)},EPUBJS.Storage.prototype.failed=function(a){console.error(a)},RSVP.EventTarget.mixin(EPUBJS.Storage.prototype),EPUBJS.Unarchiver=function(a){this.checkRequirements(),this.urlCache={}},EPUBJS.Unarchiver.prototype.checkRequirements=function(a){"undefined"==typeof JSZip&&console.error("JSZip lib not loaded")},EPUBJS.Unarchiver.prototype.open=function(a,b){if(a instanceof ArrayBuffer){this.zip=new JSZip(a);var c=new RSVP.defer;return c.resolve(),c.promise}return EPUBJS.core.request(a,"binary").then(function(a){this.zip=new JSZip(a)}.bind(this))},EPUBJS.Unarchiver.prototype.getXml=function(a,b){var c=window.decodeURIComponent(a);return this.getText(c,b).then(function(a){var b=new DOMParser;return b.parseFromString(a,"text/xml")})},EPUBJS.Unarchiver.prototype.getUrl=function(a,b){var c,d,e=this,f=new RSVP.defer,g=window.decodeURIComponent(a),h=this.zip.file(g),i=window.URL||window.webkitURL||window.mozURL;return h?a in this.urlCache?(f.resolve(this.urlCache[a]),f.promise):(d=new Blob([h.asUint8Array()],{type:EPUBJS.core.getMimeType(h.name)}),c=i.createObjectURL(d),f.resolve(c),e.urlCache[a]=c,f.promise):(f.reject({message:"File not found in the epub: "+a,stack:(new Error).stack}),f.promise)},EPUBJS.Unarchiver.prototype.getText=function(a,b){var c,d=new RSVP.defer,e=window.decodeURIComponent(a),f=this.zip.file(e);return f?(c=f.asText(),d.resolve(c),d.promise):(d.reject({message:"File not found in the epub: "+a,stack:(new Error).stack}),d.promise)},EPUBJS.Unarchiver.prototype.revokeUrl=function(a){var b=window.URL||window.webkitURL||window.mozURL,c=this.urlCache[a];c&&b.revokeObjectURL(c)},EPUBJS.Unarchiver.prototype.failed=function(a){console.error(a)},EPUBJS.Unarchiver.prototype.afterSaved=function(a){this.callback()},EPUBJS.Unarchiver.prototype.toStorage=function(a){function b(){f--,0===f&&e.afterSaved()}var c=0,d=20,e=this,f=a.length;a.forEach(function(a){setTimeout(function(a){e.saveEntryFileToStorage(a,b)},c,a),c+=d}),console.log("time",c)},function(){"use strict";var a={application:{ecmascript:["es","ecma"],javascript:"js",ogg:"ogx",pdf:"pdf",postscript:["ps","ai","eps","epsi","epsf","eps2","eps3"],"rdf+xml":"rdf",smil:["smi","smil"],"xhtml+xml":["xhtml","xht"],xml:["xml","xsl","xsd"],zip:"zip","x-httpd-eruby":"rhtml","x-latex":"latex","x-maker":["frm","maker","frame","fm","fb","book","fbdoc"],"x-object":"o","x-shockwave-flash":["swf","swfl"],"x-silverlight":"scr","epub+zip":"epub","font-tdpfr":"pfr","inkml+xml":["ink","inkml"],json:"json","jsonml+json":"jsonml","mathml+xml":"mathml","metalink+xml":"metalink",mp4:"mp4s","oebps-package+xml":"opf","omdoc+xml":"omdoc",oxps:"oxps","vnd.amazon.ebook":"azw",widget:"wgt","x-dtbncx+xml":"ncx","x-dtbook+xml":"dtb","x-dtbresource+xml":"res","x-font-bdf":"bdf","x-font-ghostscript":"gsf","x-font-linux-psf":"psf","x-font-otf":"otf","x-font-pcf":"pcf","x-font-snf":"snf","x-font-ttf":["ttf","ttc"],"x-font-type1":["pfa","pfb","pfm","afm"],"x-font-woff":"woff","x-mobipocket-ebook":["prc","mobi"],"x-mspublisher":"pub","x-nzb":"nzb","x-tgif":"obj","xaml+xml":"xaml","xml-dtd":"dtd","xproc+xml":"xpl","xslt+xml":"xslt","internet-property-stream":"acx","x-compress":"z","x-compressed":"tgz","x-gzip":"gz"},audio:{flac:"flac",midi:["mid","midi","kar","rmi"],mpeg:["mpga","mpega","mp2","mp3","m4a","mp2a","m2a","m3a"],mpegurl:"m3u",ogg:["oga","ogg","spx"],"x-aiff":["aif","aiff","aifc"],"x-ms-wma":"wma","x-wav":"wav",adpcm:"adp",mp4:"mp4a",webm:"weba","x-aac":"aac","x-caf":"caf","x-matroska":"mka","x-pn-realaudio-plugin":"rmp",xm:"xm",mid:["mid","rmi"]},image:{gif:"gif",ief:"ief",jpeg:["jpeg","jpg","jpe"],pcx:"pcx",png:"png","svg+xml":["svg","svgz"],tiff:["tiff","tif"],"x-icon":"ico",bmp:"bmp",webp:"webp","x-pict":["pic","pct"],"x-tga":"tga","cis-cod":"cod"},message:{rfc822:["eml","mime","mht","mhtml","nws"]},text:{"cache-manifest":["manifest","appcache"],calendar:["ics","icz","ifb"],css:"css",csv:"csv",h323:"323",html:["html","htm","shtml","stm"],iuls:"uls",mathml:"mml",plain:["txt","text","brf","conf","def","list","log","in","bas"],richtext:"rtx","tab-separated-values":"tsv","x-bibtex":"bib","x-dsrc":"d","x-diff":["diff","patch"],"x-haskell":"hs","x-java":"java","x-literate-haskell":"lhs","x-moc":"moc","x-pascal":["p","pas"],"x-pcs-gcd":"gcd","x-perl":["pl","pm"],"x-python":"py","x-scala":"scala","x-setext":"etx","x-tcl":["tcl","tk"],"x-tex":["tex","ltx","sty","cls"],"x-vcard":"vcf",sgml:["sgml","sgm"],"x-c":["c","cc","cxx","cpp","h","hh","dic"],"x-fortran":["f","for","f77","f90"],"x-opml":"opml","x-nfo":"nfo","x-sfv":"sfv","x-uuencode":"uu",webviewhtml:"htt"},video:{mpeg:["mpeg","mpg","mpe","m1v","m2v","mp2","mpa","mpv2"], +mp4:["mp4","mp4v","mpg4"],quicktime:["qt","mov"],ogg:"ogv","vnd.mpegurl":["mxu","m4u"],"x-flv":"flv","x-la-asf":["lsf","lsx"],"x-mng":"mng","x-ms-asf":["asf","asx","asr"],"x-ms-wm":"wm","x-ms-wmv":"wmv","x-ms-wmx":"wmx","x-ms-wvx":"wvx","x-msvideo":"avi","x-sgi-movie":"movie","x-matroska":["mpv","mkv","mk3d","mks"],"3gpp2":"3g2",h261:"h261",h263:"h263",h264:"h264",jpeg:"jpgv",jpm:["jpm","jpgm"],mj2:["mj2","mjp2"],"vnd.ms-playready.media.pyv":"pyv","vnd.uvvu.mp4":["uvu","uvvu"],"vnd.vivo":"viv",webm:"webm","x-f4v":"f4v","x-m4v":"m4v","x-ms-vob":"vob","x-smv":"smv"}},b=function(){var b,c,d,e,f={};for(b in a)if(a.hasOwnProperty(b))for(c in a[b])if(a[b].hasOwnProperty(c))if(d=a[b][c],"string"==typeof d)f[d]=b+"/"+c;else for(e=0;e-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(this.settings.bookmarks.splice(b,1),this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(a.styles&&(this.settings.styles=EPUBJS.core.defaults(this.settings.styles||{},a.styles)),this.settings=EPUBJS.core.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book.goto(a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),"undefined"!=typeof screenfull&&(c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull.raw&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")})),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b.goto(d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; +EPUBJS.reader={},EPUBJS.reader.plugins={},function(a,b){var c=(a.ePubReader||{},a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)});"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=EPUBJS.core.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:void 0,annotations:void 0,contained:void 0,bookKey:void 0,styles:void 0,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=decodeURIComponent(d)})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book(this.settings),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(this.settings.bookmarks.splice(b,1),this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(a){var b;return localStorage?(b=localStorage.getItem(this.settings.bookKey),null===b?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(a.styles&&(this.settings.styles=EPUBJS.core.defaults(this.settings.styles||{},a.styles)),this.settings=EPUBJS.core.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book["goto"](a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),"undefined"!=typeof screenfull&&(c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull.raw&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")})),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(a){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(b){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(a){var b=this,c=$("#sidebar"),d=$("#panels"),e="Toc",f=function(a){var c=a+"Controller";e!=a&&"undefined"!=typeof b[c]&&(b[e+"Controller"].hide(),b[c].show(),e=a,d.find(".active").removeClass("active"),d.find("#show-"+a).addClass("active"))},g=function(){return e},h=function(){b.sidebarOpen=!0,b.ReaderController.slideOut(),c.addClass("open")},i=function(){b.sidebarOpen=!1,b.ReaderController.slideIn(),c.removeClass("open")};return d.find(".show_view").on("click",function(a){var b=$(this).data("view");f(b),a.preventDefault()}),{show:h,hide:i,getActivePanel:g,changePanelTo:f}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter");d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b["goto"](d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; //# sourceMappingURL=reader.min.map \ No newline at end of file diff --git a/build/reader.min.map b/build/reader.min.map index 9d1509b..284092a 100644 --- a/build/reader.min.map +++ b/build/reader.min.map @@ -1 +1 @@ -{"version":3,"file":"reader.min.js","sources":["reader.js"],"names":["EPUBJS","reader","plugins","root","ePubReader","path","options","Reader","define","amd","module","exports","window","jQuery","bookPath","_options","book","plugin","parameters","this","$viewer","$","search","location","settings","core","defaults","restore","reload","bookmarks","undefined","annotations","contained","bookKey","styles","sidebarReflow","generatePagination","history","slice","split","forEach","p","name","value","decodeURIComponent","setBookKey","isSaved","applySavedSettings","fontSize","Book","previousLocationCfi","gotoCfi","offline","sidebarOpen","width","height","renderTo","ReaderController","call","SettingsController","ControlsController","SidebarController","BookmarksController","NotesController","hasOwnProperty","ready","all","then","hideLoader","getMetadata","meta","MetaController","getToc","toc","TocController","addEventListener","unload","bind","hashChanged","document","adjustFontSize","on","arrowKeys","selectedRange","prototype","e","interval","PLUS","MINUS","ZERO","MOD","ctrlKey","metaKey","parseInt","keyCode","preventDefault","setStyle","addBookmark","cfi","present","isBookmarked","push","trigger","removeBookmark","bookmark","splice","indexOf","clearBookmarks","addNote","note","removeNote","index","clearNotes","identifier","VERSION","host","storedSettings","localStorage","getItem","removeSavedSettings","removeItem","stored","JSON","parse","saveSettings","getCurrentLocationCfi","setItem","stringify","hash","goto","range","epubcfi","EpubCFI","generateCfiFromRangeAnchor","renderer","currentChapter","cfiBase","cfiFragment","pushState","currentLocationCfi","RSVP","EventTarget","mixin","$bookmarks","$list","find","docfrag","createDocumentFragment","show","hide","counter","createBookmarkItem","listitem","createElement","link","id","classList","add","textContent","href","event","getAttribute","appendChild","append","item","$item","remove","$fullscreen","$slider","$settings","$bookmark","goOnline","goOffline","fullscreen","addClass","removeClass","screenfull","toggle","raw","fullscreenchange","isFullscreen","bookmarked","title","bookTitle","author","creator","$title","$author","$dash","html","$notesView","$notes","$text","$anchor","popups","insertAtPoint","textNode","offset","annotation","doc","caretPositionFromPoint","clientX","clientY","offsetNode","caretRangeFromPoint","startContainer","startOffset","nodeType","i","childNodes","length","generateCfiFromTextNode","annotatedAt","Date","anchor","body","val","addAnnotation","placeMarker","text","prop","off","innerHTML","onclick","marker","mark","style","verticalAlign","lineHeight","padding","backgroundColor","borderRadius","cursor","uuid","addMarker","markerEvents","txt","showPop","pop","itemRect","left","top","iheight","iwidth","maxHeight","setAttribute","pop_content","render","onPop","offPop","hidePop","getBoundingClientRect","popRect","setTimeout","openSidebar","slideOut","registerHook","callback","chapter","spinePos","console","log","$main","$divider","$loader","$next","$prev","slideIn","currentPosition","one","showLoader","hideDivider","showDivider","keylock","metadata","direction","nextPage","prevPage","bool","$overlay","$sidebarReflowSetting","$sidebar","$panels","activePanel","changePanelTo","viewName","controllerName","getActivePanel","view","data","generateTocItems","level","container","subitems","label","insertBefore","onShow","onHide","chapterChange","$current","has","parents","tocitems","url","parent","$el","open","hasClass"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"reader.min.js","sources":["reader.js"],"names":["EPUBJS","reader","plugins","root","$","ePubReader","path","options","Reader","define","amd","module","exports","window","jQuery","bookPath","_options","book","plugin","parameters","this","$viewer","search","location","settings","core","defaults","restore","reload","bookmarks","undefined","annotations","contained","bookKey","styles","sidebarReflow","generatePagination","history","slice","split","forEach","p","name","value","decodeURIComponent","setBookKey","isSaved","applySavedSettings","fontSize","Book","previousLocationCfi","gotoCfi","offline","sidebarOpen","width","height","renderTo","ReaderController","call","SettingsController","ControlsController","SidebarController","BookmarksController","NotesController","hasOwnProperty","ready","all","then","hideLoader","getMetadata","meta","MetaController","getToc","toc","TocController","addEventListener","unload","bind","hashChanged","document","adjustFontSize","on","arrowKeys","selectedRange","prototype","e","interval","PLUS","MINUS","ZERO","MOD","ctrlKey","metaKey","parseInt","keyCode","preventDefault","setStyle","addBookmark","cfi","present","isBookmarked","push","trigger","removeBookmark","bookmark","splice","indexOf","clearBookmarks","addNote","note","removeNote","index","clearNotes","identifier","VERSION","host","storedSettings","localStorage","getItem","removeSavedSettings","removeItem","stored","JSON","parse","saveSettings","getCurrentLocationCfi","setItem","stringify","hash","range","epubcfi","EpubCFI","generateCfiFromRangeAnchor","renderer","currentChapter","cfiBase","cfiFragment","pushState","currentLocationCfi","RSVP","EventTarget","mixin","$bookmarks","$list","find","docfrag","createDocumentFragment","show","hide","counter","createBookmarkItem","listitem","createElement","link","id","classList","add","textContent","href","event","getAttribute","appendChild","append","item","$item","remove","$fullscreen","$slider","$settings","$bookmark","goOnline","goOffline","fullscreen","addClass","removeClass","screenfull","toggle","raw","fullscreenchange","isFullscreen","bookmarked","title","bookTitle","author","creator","$title","$author","$dash","html","$notesView","$notes","$text","$anchor","popups","insertAtPoint","textNode","offset","annotation","doc","caretPositionFromPoint","clientX","clientY","offsetNode","caretRangeFromPoint","startContainer","startOffset","nodeType","i","childNodes","length","generateCfiFromTextNode","annotatedAt","Date","anchor","body","val","addAnnotation","placeMarker","text","prop","off","innerHTML","onclick","marker","mark","style","verticalAlign","lineHeight","padding","backgroundColor","borderRadius","cursor","uuid","addMarker","markerEvents","txt","showPop","pop","itemRect","left","top","iheight","iwidth","maxHeight","setAttribute","pop_content","render","onPop","offPop","hidePop","getBoundingClientRect","popRect","setTimeout","openSidebar","slideOut","registerHook","callback","chapter","spinePos","console","log","$main","$divider","$loader","$next","$prev","slideIn","currentPosition","one","showLoader","hideDivider","showDivider","keylock","metadata","direction","nextPage","prevPage","bool","$overlay","$sidebarReflowSetting","$sidebar","$panels","activePanel","changePanelTo","viewName","controllerName","getActivePanel","view","data","generateTocItems","level","container","subitems","label","insertBefore","onShow","onHide","chapterChange","$current","has","parents","tocitems","url","parent","$el","open","hasClass"],"mappings":"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"} \ No newline at end of file diff --git a/reader/js/epub.js.map b/reader/js/epub.js.map index 7c23402..5e1580a 100644 --- a/reader/js/epub.js.map +++ b/reader/js/epub.js.map @@ -1 +1 @@ -{"version":3,"file":"epub.min.js","sources":["epub.js"],"names":["lib$rsvp$utils$$objectOrFunction","x","lib$rsvp$utils$$isFunction","lib$rsvp$utils$$isMaybeThenable","lib$rsvp$utils$$F","lib$rsvp$events$$indexOf","callbacks","callback","i","l","length","lib$rsvp$events$$callbacksFor","object","_promiseCallbacks","lib$rsvp$config$$configure","name","value","lib$rsvp$config$$config","arguments","lib$rsvp$instrument$$scheduleFlush","setTimeout","entry","lib$rsvp$instrument$$queue","payload","guid","key","id","childGuid","childId","error","stack","lib$rsvp$instrument$$instrument","eventName","promise","child","push","_guidKey","_id","detail","_result","label","_label","timeStamp","lib$rsvp$utils$$now","Error","lib$rsvp$$internal$$withOwnPromise","TypeError","lib$rsvp$$internal$$noop","lib$rsvp$$internal$$getThen","then","lib$rsvp$$internal$$GET_THEN_ERROR","lib$rsvp$$internal$$tryThen","fulfillmentHandler","rejectionHandler","call","e","lib$rsvp$$internal$$handleForeignThenable","thenable","async","sealed","lib$rsvp$$internal$$resolve","lib$rsvp$$internal$$fulfill","reason","lib$rsvp$$internal$$reject","lib$rsvp$$internal$$handleOwnThenable","_state","lib$rsvp$$internal$$FULFILLED","lib$rsvp$$internal$$REJECTED","_onError","lib$rsvp$$internal$$subscribe","undefined","lib$rsvp$$internal$$handleMaybeThenable","maybeThenable","constructor","lib$rsvp$$internal$$publishRejection","lib$rsvp$$internal$$publish","lib$rsvp$$internal$$PENDING","_subscribers","instrument","lib$rsvp$instrument$$default","parent","onFulfillment","onRejection","subscribers","settled","lib$rsvp$$internal$$invokeCallback","lib$rsvp$$internal$$ErrorObject","this","lib$rsvp$$internal$$tryCatch","lib$rsvp$$internal$$TRY_CATCH_ERROR","succeeded","failed","hasCallback","lib$rsvp$$internal$$initializePromise","resolver","resolved","lib$rsvp$enumerator$$makeSettledResult","state","position","lib$rsvp$enumerator$$Enumerator","Constructor","input","abortOnReject","enumerator","_instanceConstructor","_abortOnReject","_validateInput","_input","_remaining","_init","_enumerate","_validationError","lib$rsvp$promise$all$$all","entries","lib$rsvp$enumerator$$default","lib$rsvp$promise$race$$race","lib$rsvp$utils$$isArray","resolve","lib$rsvp$promise$resolve$$resolve","lib$rsvp$promise$reject$$reject","lib$rsvp$promise$$needsResolver","lib$rsvp$promise$$needsNew","lib$rsvp$promise$$Promise","lib$rsvp$promise$$counter","lib$rsvp$all$settled$$AllSettled","_superConstructor","lib$rsvp$all$settled$$allSettled","lib$rsvp$promise$$default","lib$rsvp$all$$all","array","all","lib$rsvp$asap$$asap","arg","lib$rsvp$asap$$queue","lib$rsvp$asap$$len","lib$rsvp$asap$$scheduleFlush","lib$rsvp$asap$$useNextTick","nextTick","process","version","versions","node","match","Array","isArray","setImmediate","lib$rsvp$asap$$flush","lib$rsvp$asap$$useVertxTimer","lib$rsvp$asap$$vertxNext","lib$rsvp$asap$$useMutationObserver","iterations","observer","lib$rsvp$asap$$BrowserMutationObserver","document","createTextNode","observe","characterData","data","lib$rsvp$asap$$useMessageChannel","channel","MessageChannel","port1","onmessage","port2","postMessage","lib$rsvp$asap$$useSetTimeout","lib$rsvp$asap$$attemptVertex","r","require","vertx","runOnLoop","runOnContext","lib$rsvp$defer$$defer","deferred","reject","lib$rsvp$filter$$filter","promises","filterFn","values","filtered","results","newLength","lib$rsvp$promise$hash$$PromiseHash","lib$rsvp$hash$settled$$HashSettled","lib$rsvp$hash$settled$$hashSettled","lib$rsvp$hash$$hash","lib$rsvp$promise$hash$$default","lib$rsvp$map$$map","mapFn","lib$rsvp$node$$Result","lib$rsvp$node$$getThen","obj","lib$rsvp$node$$ERROR","lib$rsvp$node$$tryApply","f","s","a","apply","lib$rsvp$node$$makeObject","_","argumentNames","args","lib$rsvp$node$$arrayResult","lib$rsvp$node$$wrapThenable","onFulFillment","lib$rsvp$node$$denodeify","nodeFunc","options","fn","self","promiseInput","lib$rsvp$node$$needsPromiseInput","lib$rsvp$node$$GET_THEN_ERROR","p","err","val","lib$rsvp$node$$handlePromiseInput","lib$rsvp$node$$handleValueInput","__proto__","result","lib$rsvp$race$$race","race","lib$rsvp$reject$$reject","lib$rsvp$resolve$$resolve","lib$rsvp$rethrow$$rethrow","lib$rsvp$$async","lib$rsvp$$on","lib$rsvp$$off","lib$rsvp$utils$$_isArray","Object","prototype","toString","Date","now","getTime","lib$rsvp$utils$$o_create","create","o","lib$rsvp$events$$default","mixin","on","allCallbacks","off","index","splice","trigger","_eachEntry","c","_settledAt","_willSettleAt","_makeResult","lib$rsvp$promise$all$$default","lib$rsvp$promise$race$$default","lib$rsvp$promise$resolve$$default","lib$rsvp$promise$reject$$default","lib$rsvp$promise$$guidKey","cast","after","catch","finally","lib$rsvp$all$settled$$default","lib$rsvp$all$$default","lib$rsvp$asap$$default","lib$rsvp$asap$$browserWindow","window","lib$rsvp$asap$$browserGlobal","MutationObserver","WebKitMutationObserver","lib$rsvp$asap$$isNode","lib$rsvp$asap$$isWorker","Uint8ClampedArray","importScripts","lib$rsvp$defer$$default","lib$rsvp$filter$$default","hasOwnProperty","lib$rsvp$platform$$platform","lib$rsvp$hash$settled$$default","lib$rsvp$hash$$default","lib$rsvp$map$$default","lib$rsvp$node$$default","global","lib$rsvp$platform$$default","lib$rsvp$race$$default","lib$rsvp$reject$$default","lib$rsvp$resolve$$default","lib$rsvp$rethrow$$default","cb","lib$rsvp$$callbacks","lib$rsvp$$eventName","lib$rsvp$umd$$RSVP","Promise","allSettled","hash","hashSettled","denodeify","map","filter","rethrow","defer","EventTarget","configure","define","module","EPUBJS","VERSION","plugins","filePath","Render","root","ePub","bookPath","ArrayBuffer","Book","amd","exports","settings","core","defaults","bookKey","packageUrl","storage","fromStorage","saved","online","contained","width","height","layoutOveride","orientation","minSpreadWidth","gap","restore","reload","goto","styles","headTags","withCredentials","render_method","EPUBJSVERSION","spinePos","stored","navigator","onLine","networkListeners","ready","manifest","RSVP","spine","metadata","cover","toc","pageList","readyPromises","pagination","Pagination","pageListReady","_ready","bind","isRendered","_q","queue","_rendering","_displayQ","_moving","_gotoQ","renderer","Renderer","setMinSpreadWidth","setGap","listenToRenderer","defer_opened","opened","store","open","addEventListener","unload","forceReload","epubpackage","book","isContained","bookUrl","unarchive","loadPackage","urlFrom","localStorage","packageXml","identifier","packageIdentifier","restored","unpack","_registerReplacements","_containerPath","parse","Parser","containerPath","loadXml","containerXml","container","paths","contentsPath","basePath","packagePath","encoding","console","contents","packageContents","spineIndexByURL","generateBookKey","globalLayoutProperties","parseLayoutProperties","coverPath","spineNodeIndex","locations","Locations","navPath","navUrl","navHtml","nav","epubcfi","EpubCFI","wait","forEach","pg","cfi","generateCfiFromHref","href","tocPath","tocUrl","tocXml","createHiddenRender","_width","_height","hiddenContainer","hiddenEl","box","element","getBoundingClientRect","forceSingle","createElement","style","visibility","overflow","appendChild","initialize","generatePageList","pager","spineLength","currentPage","nextChapter","chapter","next","done","Chapter","displayChapter","pageMap","item","start","page","spreads","end","remove","removeChild","generatePagination","defered","loadPagination","pagelistJSON","JSON","getPageList","getMetadata","getToc","Events","range","startPage","endPage","percent","pageRange","pageFromCfi","percentageFromPage","anchorPage","percentage","loadChange","url","uri","chapterUri","currentChapter","absolute","path","warn","filename","afterLoad","render","docEl","beforeDisplay","afterDisplay","reformat","unlistenToRenderer","getXml","zip","request","base","protocol","fromRoot","location","origin","host","baseTag","getElementsByTagName","resolveUrl","pathname","Unarchiver","extension","isSaved","storedSettings","getItem","saveContents","setItem","stringify","removeSavedContents","removeItem","renderTo","elem","rendered","isElement","getEl","direction","setDirection","_rendered","startDisplay","display","previousLocationCfi","gotoCfi","fetch","fromStore","len","clearSaved","chap","pos","enqueue","isNumber","_needsAssetReplacement","registerHook","replace","head","resources","svg","lastPage","preloadNextChapter","dequeue","message","nextPage","prevPage","prev","prevChapter","linear","getCurrentLocationCfi","currentLocationCfi","target","indexOf","gotoPercentage","parseInt","substring","isNaN","gotoPage","gotoHref","cfiString","spineItem","split","section","relativeURL","firstPage","cfiFromPage","pageFromPercentage","storeOffline","assets","put","availableOffline","toStorage","isStored","token","Storage","credentials","offline","setStyle","prefixed","noreflow","removeStyle","addHeadTag","tag","attrs","useSpreads","use","_use","force","load","destroy","removeEventListener","flush","applyStyles","applyHeadTags","hrefs","layout","spread","spineObject","cfiBase","properties","manifestProperties","pages","loaded","Hooks","getHooks","caches","_store","_credentials","xml","setDocument","doc","querySelector","setAttribute","insertBefore","firstChild","triggerHooks","serializer","XMLSerializer","serializeToString","tempUrl","getUrl","setPages","num","getPages","getID","ID","revokeUrl","_document","namespaceURI","doctype","implementation","createDocument","importNode","documentElement","evaluate","cfiFromRange","_range","startXpath","endXpath","startContainer","endContainer","cleanEndTextContent","getElementXPath","nsResolver","XPathResult","FIRST_ORDERED_NODE_TYPE","singleNodeValue","collapsed","createRange","setStart","startOffset","setEnd","endOffset","log","cleanStartTextContent","cleanStringForXpath","textContent","generateCfiFromRange","find","_query","matches","query","toLowerCase","excerpt","text","last","limit","textSprint","func","treeWalker","createTreeWalker","NodeFilter","SHOW_TEXT","acceptNode","test","FILTER_ACCEPT","FILTER_REJECT","nextNode","finished","progress","items","querySelectorAll","slice","count","called","full","replaceWithStored","attr","_oldUrls","_newUrls","_cache","_uri","_chapterBase","_attr","_wait","clone","link","src","getAttribute","replaceUrl","timeout","onload","clearTimeout","onerror","getElementById","getEls","classes","getElementsByClassName","type","handler","readyState","DONE","status","response","responseXML","DOMParser","parseFromString","supportsURL","Blob","URL","BLOB_RESPONSE","xhr","XMLHttpRequest","xhrPrototype","defineProperty","onreadystatechange","responseType","setRequestHeader","overrideMimeType","send","toArray","arr","member","newitm","ident","withoutProtocol","dot","firstSlash","directory","fragment","blob","doubleSlash","search","folder","lastIndexOf","lastSlash","dataURLToBlob","dataURL","parts","contentType","raw","rawLength","uInt8Array","BASE64_MARKER","atob","Uint8Array","charCodeAt","addScript","body","addScripts","srcArr","total","curr","addCss","rel","unprefixed","vendors","upper","toUpperCase","segments","folders","pop","concat","join","uuid","d","Math","random","floor","insert","compareFunction","locationOf","_start","_end","compared","pivot","b","indexOfSorted","_scope","scope","funcName","context","inwait","shift","clear","getElementTreeXPath","nodeName","tagName","pathIndex","isXhtml","ownerDocument","nodeType","Node","TEXT_NODE","indexOfTextNode","parentNode","sibling","previousSibling","DOCUMENT_TYPE_NODE","prefix","ns","xhtml","epub","str","part","textNode","sib","children","childNodes","source","prop","extend","sources","getOwnPropertyNames","propName","getOwnPropertyDescriptor","n","parseFloat","isFinite","isString","String","props","keys","cfiStr","generateChapterComponent","_spineNodeIndex","_pos","generatePathComponent","steps","segment","generateCfiFromElement","pathTo","unshift","getChapterComponent","splitStr","getPathComponent","pathComponent","getCharecterOffsetComponent","chapSegment","chapterComponent","charecterOffsetComponent","assertion","chapId","endInt","parseStep","has_brackets","spineId","step","characterOffset","textLocationAssertion","addMarker","_doc","_marker","lastStep","marker","createMarker","findParent","splitText","classList","add","removeMarker","contains","nextSib","nextSibling","prevSib","sections","compare","cfiOne","cfiTwo","generateCfiFromTextNode","anchor","offset","generateCfiFromRangeAnchor","anchorNode","anchorOffset","startElement","startSteps","startPath","startIndex","endElement","endSteps","endPath","endIndex","generateXpathFromSteps","xpath","generateQueryFromSteps","generateRangeFromCfi","textLength","startContainerParent","debug","selectNode","isCfiString","el","events","createEvent","tell","listen","deafen","listenUntil","evt","CustomEvent","msg","dispatchEvent","bindto","OnEvt","OffEvt","unlisten","hooks","plugs","plugType","hook","toAdd","toFront","removeHook","toRemove","passed","countdown","register","Layout","Reflowable","spreadWidth","format","_gap","columnAxis","columnGap","columnWidth","columnFill","colWidth","pageWidth","pageHeight","calculatePages","totalWidth","displayedPages","scrollWidth","ceil","pageCount","ReflowableSpreads","divisor","fullWidth","Fixed","content","viewport","hasAttribute","_locations","break","_current","generate","_currentCfi","currentLocation","counter","sprint","dist","locationFromCfi","percentageFromCfi","loc","percentageFromLocation","cfiFromLocation","cfiFromPercentage","save","getCurrent","setCurrent","get","set","totalPages","round","baseUrl","rootfile","fullpath","xmlEncoding","metadataNode","getElementText","manifestNode","spineNode","findNavPath","findTocPath","findCoverPath","tocId","bookTitle","creator","description","pubdate","publisher","language","rights","modified_date","querySelectorText","found","getElementsByTagNameNS","nodeValue","q","manifestXml","selected","spineXml","Id","propArray","manifestProps","manifestPropArray","vert","querySelectorByType","html","getAttributeNS","bookSpine","navElement","navItems","list","navItem","subitems","navPoints","tocItem","navLabel","pageListItem","isCfi","Iframe","iframe","bodyEl","leftPos","scrolling","seamless","border","isMobile","userAgent","transform","contentDocument","headEl","contentWindow","resized","setLeft","margin","dir","right","write","close","baseEl","resize","totalHeight","scrollHeight","setPageDimensions","defaultView","scrollTo","tagEl","getPageNumberByElement","left","getPageNumberByRect","boundingClientRect","getBaseElement","getDocumentElement","isElementVisible","rect","scroll","bool","renderMethod","hidden","listenedEvents","upEvent","downEvent","isForcedSingle","onResized","layoutSettings","initWidth","initHeight","clientWidth","clientHeight","globalLayout","removeEventListeners","removeSelectionListeners","chapterPos","currentChapterCfiBase","reconcileLayoutSettings","layoutMethod","determineLayout","visible","formated","addEventListeners","addSelectionListeners","queued","updatePages","visibleRangeCfi","getVisibleRangeCfi","property","rendition","determineSpreads","mapPage","headTag","pageByElement","firstElementisTextNode","leng","trim","isGoodNode","embeddedElements","walk","y","prevNode","startNode","STOP","ITER","containsPoint","childElementCount","SHOW_ELEMENT","prevRange","elLimit","check","elPos","elRange","ELEMENT_NODE","selectNodeContents","checkText","ranges","splitTextNodeIntoWordsRanges","collapse","indexOfBreakableChar","startPosition","whiteCharacters","charAt","rangePosition","getClientRects","getPageCfi","startRange","getRange","forceElement","caretPositionFromPoint","caretRangeFromPoint","visibileEl","findElementAfter","offsetNode","pagesInCurrentChapter","pgs","currentRenderedPage","getRenderedPagesLeft","pagesLeft","endRange","findFirstVisible","startEl","setSize","triggerEvent","onSelectionChange","selectionEndTimeout","selectedRange","getSelection","cutoff","replacments","relative","isRelative","onclick","links","srcs","stylesheets","getText","cssUrls","newText","_URL","webkitURL","mozURL","createObjectURL","replaced","checkRequirements","urlCache","current","encodedUrl","encodeURIComponent","localforage","buffer","mimeType","getMimeType","reader","FileReader","readAsText","parser","fromCache","revokeObjectURL","zipUrl","JSZip","decodededUrl","decodeURIComponent","unarchiver","file","asUint8Array","asText","afterSaved","that","delay","saveEntryFileToStorage","table","application","ecmascript","javascript","ogg","pdf","postscript","rdf+xml","smil","xhtml+xml","x-httpd-eruby","x-latex","x-maker","x-object","x-shockwave-flash","x-silverlight","epub+zip","font-tdpfr","inkml+xml","json","jsonml+json","mathml+xml","metalink+xml","mp4","oebps-package+xml","omdoc+xml","oxps","vnd.amazon.ebook","widget","x-dtbncx+xml","x-dtbook+xml","x-dtbresource+xml","x-font-bdf","x-font-ghostscript","x-font-linux-psf","x-font-otf","x-font-pcf","x-font-snf","x-font-ttf","x-font-type1","x-font-woff","x-mobipocket-ebook","x-mspublisher","x-nzb","x-tgif","xaml+xml","xml-dtd","xproc+xml","xslt+xml","internet-property-stream","x-compress","x-compressed","x-gzip","audio","flac","midi","mpeg","mpegurl","x-aiff","x-ms-wma","x-wav","adpcm","webm","x-aac","x-caf","x-matroska","x-pn-realaudio-plugin","xm","mid","image","gif","ief","jpeg","pcx","png","svg+xml","tiff","x-icon","bmp","webp","x-pict","x-tga","cis-cod","rfc822","cache-manifest","calendar","css","csv","h323","iuls","mathml","plain","richtext","tab-separated-values","x-bibtex","x-dsrc","x-diff","x-haskell","x-java","x-literate-haskell","x-moc","x-pascal","x-pcs-gcd","x-perl","x-python","x-scala","x-setext","x-tcl","x-tex","x-vcard","sgml","x-c","x-fortran","x-opml","x-nfo","x-sfv","x-uuencode","webviewhtml","video","quicktime","vnd.mpegurl","x-flv","x-la-asf","x-mng","x-ms-asf","x-ms-wm","x-ms-wmv","x-ms-wmx","x-ms-wvx","x-msvideo","x-sgi-movie","3gpp2","h261","h263","h264","jpm","mj2","vnd.ms-playready.media.pyv","vnd.uvvu.mp4","vnd.vivo","x-f4v","x-m4v","x-ms-vob","x-smv","mimeTypes","subtype","defaultValue"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"epub.min.js","sources":["epub.js"],"names":["lib$rsvp$utils$$objectOrFunction","x","lib$rsvp$utils$$isFunction","lib$rsvp$utils$$isMaybeThenable","lib$rsvp$utils$$F","lib$rsvp$events$$indexOf","callbacks","callback","i","l","length","lib$rsvp$events$$callbacksFor","object","_promiseCallbacks","lib$rsvp$config$$configure","name","value","lib$rsvp$config$$config","arguments","lib$rsvp$instrument$$scheduleFlush","setTimeout","entry","lib$rsvp$instrument$$queue","payload","guid","key","id","childGuid","childId","error","stack","lib$rsvp$instrument$$instrument","eventName","promise","child","push","_guidKey","_id","detail","_result","label","_label","timeStamp","lib$rsvp$utils$$now","Error","lib$rsvp$$internal$$withOwnPromise","TypeError","lib$rsvp$$internal$$noop","lib$rsvp$$internal$$getThen","then","lib$rsvp$$internal$$GET_THEN_ERROR","lib$rsvp$$internal$$tryThen","fulfillmentHandler","rejectionHandler","call","e","lib$rsvp$$internal$$handleForeignThenable","thenable","async","sealed","lib$rsvp$$internal$$resolve","lib$rsvp$$internal$$fulfill","reason","lib$rsvp$$internal$$reject","lib$rsvp$$internal$$handleOwnThenable","_state","lib$rsvp$$internal$$FULFILLED","lib$rsvp$$internal$$REJECTED","_onError","lib$rsvp$$internal$$subscribe","undefined","lib$rsvp$$internal$$handleMaybeThenable","maybeThenable","constructor","lib$rsvp$$internal$$publishRejection","lib$rsvp$$internal$$publish","lib$rsvp$$internal$$PENDING","_subscribers","instrument","lib$rsvp$instrument$$default","parent","onFulfillment","onRejection","subscribers","settled","lib$rsvp$$internal$$invokeCallback","lib$rsvp$$internal$$ErrorObject","this","lib$rsvp$$internal$$tryCatch","lib$rsvp$$internal$$TRY_CATCH_ERROR","succeeded","failed","hasCallback","lib$rsvp$$internal$$initializePromise","resolver","resolved","lib$rsvp$enumerator$$makeSettledResult","state","position","lib$rsvp$enumerator$$Enumerator","Constructor","input","abortOnReject","enumerator","_instanceConstructor","_abortOnReject","_validateInput","_input","_remaining","_init","_enumerate","_validationError","lib$rsvp$promise$all$$all","entries","lib$rsvp$enumerator$$default","lib$rsvp$promise$race$$race","lib$rsvp$utils$$isArray","resolve","lib$rsvp$promise$resolve$$resolve","lib$rsvp$promise$reject$$reject","lib$rsvp$promise$$needsResolver","lib$rsvp$promise$$needsNew","lib$rsvp$promise$$Promise","lib$rsvp$promise$$counter","lib$rsvp$all$settled$$AllSettled","_superConstructor","lib$rsvp$all$settled$$allSettled","lib$rsvp$promise$$default","lib$rsvp$all$$all","array","all","lib$rsvp$asap$$asap","arg","lib$rsvp$asap$$queue","lib$rsvp$asap$$len","lib$rsvp$asap$$scheduleFlush","lib$rsvp$asap$$useNextTick","nextTick","process","version","versions","node","match","Array","isArray","setImmediate","lib$rsvp$asap$$flush","lib$rsvp$asap$$useVertxTimer","lib$rsvp$asap$$vertxNext","lib$rsvp$asap$$useMutationObserver","iterations","observer","lib$rsvp$asap$$BrowserMutationObserver","document","createTextNode","observe","characterData","data","lib$rsvp$asap$$useMessageChannel","channel","MessageChannel","port1","onmessage","port2","postMessage","lib$rsvp$asap$$useSetTimeout","lib$rsvp$asap$$attemptVertex","r","require","vertx","runOnLoop","runOnContext","lib$rsvp$defer$$defer","deferred","reject","lib$rsvp$filter$$filter","promises","filterFn","values","filtered","results","newLength","lib$rsvp$promise$hash$$PromiseHash","lib$rsvp$hash$settled$$HashSettled","lib$rsvp$hash$settled$$hashSettled","lib$rsvp$hash$$hash","lib$rsvp$promise$hash$$default","lib$rsvp$map$$map","mapFn","lib$rsvp$node$$Result","lib$rsvp$node$$getThen","obj","lib$rsvp$node$$ERROR","lib$rsvp$node$$tryApply","f","s","a","apply","lib$rsvp$node$$makeObject","_","argumentNames","args","lib$rsvp$node$$arrayResult","lib$rsvp$node$$wrapThenable","onFulFillment","lib$rsvp$node$$denodeify","nodeFunc","options","fn","self","promiseInput","lib$rsvp$node$$needsPromiseInput","lib$rsvp$node$$GET_THEN_ERROR","p","err","val","lib$rsvp$node$$handlePromiseInput","lib$rsvp$node$$handleValueInput","__proto__","result","lib$rsvp$race$$race","race","lib$rsvp$reject$$reject","lib$rsvp$resolve$$resolve","lib$rsvp$rethrow$$rethrow","lib$rsvp$$async","lib$rsvp$$on","lib$rsvp$$off","lib$rsvp$utils$$_isArray","Object","prototype","toString","Date","now","getTime","lib$rsvp$utils$$o_create","create","o","lib$rsvp$events$$default","mixin","on","allCallbacks","off","index","splice","trigger","_eachEntry","c","_settledAt","_willSettleAt","_makeResult","lib$rsvp$promise$all$$default","lib$rsvp$promise$race$$default","lib$rsvp$promise$resolve$$default","lib$rsvp$promise$reject$$default","lib$rsvp$promise$$guidKey","cast","after","catch","finally","lib$rsvp$all$settled$$default","lib$rsvp$all$$default","lib$rsvp$asap$$default","lib$rsvp$asap$$browserWindow","window","lib$rsvp$asap$$browserGlobal","MutationObserver","WebKitMutationObserver","lib$rsvp$asap$$isNode","lib$rsvp$asap$$isWorker","Uint8ClampedArray","importScripts","lib$rsvp$defer$$default","lib$rsvp$filter$$default","hasOwnProperty","lib$rsvp$platform$$platform","lib$rsvp$hash$settled$$default","lib$rsvp$hash$$default","lib$rsvp$map$$default","lib$rsvp$node$$default","global","lib$rsvp$platform$$default","lib$rsvp$race$$default","lib$rsvp$reject$$default","lib$rsvp$resolve$$default","lib$rsvp$rethrow$$default","cb","lib$rsvp$$callbacks","lib$rsvp$$eventName","lib$rsvp$umd$$RSVP","Promise","allSettled","hash","hashSettled","denodeify","map","filter","rethrow","defer","EventTarget","configure","define","module","EPUBJS","VERSION","plugins","filePath","Render","root","ePub","bookPath","ArrayBuffer","Book","amd","exports","settings","core","defaults","bookKey","packageUrl","storage","fromStorage","saved","online","contained","width","height","layoutOveride","orientation","minSpreadWidth","gap","restore","reload","goto","styles","headTags","withCredentials","render_method","EPUBJSVERSION","spinePos","stored","navigator","onLine","networkListeners","ready","manifest","RSVP","spine","metadata","cover","toc","pageList","readyPromises","pagination","Pagination","pageListReady","_ready","bind","isRendered","_q","queue","_rendering","_displayQ","_moving","_gotoQ","renderer","Renderer","setMinSpreadWidth","setGap","listenToRenderer","defer_opened","opened","store","open","addEventListener","unload","forceReload","epubpackage","book","isContained","bookUrl","unarchive","loadPackage","urlFrom","localStorage","packageXml","identifier","packageIdentifier","restored","unpack","_registerReplacements","_containerPath","parse","Parser","containerPath","loadXml","containerXml","container","paths","contentsPath","basePath","packagePath","encoding","console","contents","packageContents","spineIndexByURL","generateBookKey","globalLayoutProperties","parseLayoutProperties","coverPath","spineNodeIndex","locations","Locations","navPath","navUrl","navHtml","nav","epubcfi","EpubCFI","wait","forEach","pg","cfi","generateCfiFromHref","href","tocPath","tocUrl","tocXml","createHiddenRender","_width","_height","hiddenContainer","hiddenEl","box","element","getBoundingClientRect","forceSingle","createElement","style","visibility","overflow","appendChild","initialize","generatePageList","pager","spineLength","currentPage","nextChapter","chapter","next","done","Chapter","displayChapter","chap","pageMap","item","start","page","spreads","end","remove","removeChild","generatePagination","defered","loadPagination","pagelistJSON","JSON","getPageList","getMetadata","getToc","Events","range","startPage","endPage","percent","pageRange","pageFromCfi","percentageFromPage","anchorPage","percentage","loadChange","url","uri","chapterUri","currentChapter","absolute","path","warn","filename","afterLoad","render","docEl","beforeDisplay","afterDisplay","reformat","unlistenToRenderer","getXml","zip","request","base","protocol","fromRoot","location","origin","host","baseTag","getElementsByTagName","resolveUrl","pathname","Unarchiver","extension","isSaved","storedSettings","getItem","saveContents","setItem","stringify","removeSavedContents","removeItem","renderTo","elem","rendered","isElement","getEl","direction","setDirection","_rendered","startDisplay","display","previousLocationCfi","gotoCfi","fetch","fromStore","len","clearSaved","pos","enqueue","isNumber","_needsAssetReplacement","registerHook","replace","head","resources","svg","lastPage","preloadNextChapter","dequeue","message","nextPage","prevPage","prev","prevChapter","linear","getCurrentLocationCfi","currentLocationCfi","target","indexOf","gotoPercentage","parseInt","substring","isNaN","gotoPage","gotoHref","cfiString","spineItem","split","section","relativeURL","firstPage","cfiFromPage","pageFromPercentage","storeOffline","assets","put","availableOffline","toStorage","isStored","token","Storage","credentials","offline","setStyle","prefixed","noreflow","removeStyle","addHeadTag","tag","attrs","useSpreads","use","_use","force","load","destroy","removeEventListener","flush","applyStyles","applyHeadTags","hrefs","layout","spread","event","spineObject","cfiBase","properties","manifestProperties","pages","loaded","Hooks","getHooks","caches","_store","_credentials","xml","setDocument","doc","querySelector","setAttribute","insertBefore","firstChild","triggerHooks","serializer","XMLSerializer","serializeToString","tempUrl","getUrl","setPages","num","getPages","getID","ID","revokeUrl","_document","namespaceURI","doctype","implementation","createDocument","importNode","documentElement","evaluate","cfiFromRange","_range","startXpath","endXpath","startContainer","endContainer","cleanEndTextContent","getElementXPath","nsResolver","XPathResult","FIRST_ORDERED_NODE_TYPE","singleNodeValue","collapsed","createRange","setStart","startOffset","setEnd","endOffset","log","cleanStartTextContent","cleanStringForXpath","textContent","generateCfiFromRange","find","_query","matches","query","toLowerCase","excerpt","text","last","limit","textSprint","func","treeWalker","createTreeWalker","NodeFilter","SHOW_TEXT","acceptNode","test","FILTER_ACCEPT","FILTER_REJECT","nextNode","finished","progress","items","querySelectorAll","slice","count","called","full","replaceWithStored","attr","_oldUrls","_newUrls","_cache","_uri","_chapterBase","_attr","_wait","notempty","clone","link","src","getAttribute","replaceUrl","timeout","onload","clearTimeout","onerror","getElementById","getEls","classes","getElementsByClassName","type","handler","readyState","DONE","status","response","responseXML","DOMParser","parseFromString","supportsURL","Blob","URL","BLOB_RESPONSE","xhr","XMLHttpRequest","xhrPrototype","defineProperty","mimeType","onreadystatechange","responseType","setRequestHeader","overrideMimeType","send","toArray","arr","member","newitm","ident","withoutProtocol","dot","firstSlash","directory","fragment","blob","doubleSlash","search","folder","lastIndexOf","lastSlash","dataURLToBlob","dataURL","parts","contentType","raw","rawLength","uInt8Array","BASE64_MARKER","atob","Uint8Array","charCodeAt","addScript","body","addScripts","srcArr","total","curr","addCss","rel","unprefixed","vendors","upper","toUpperCase","segments","folders","pop","concat","join","uuid","d","Math","random","floor","insert","compareFunction","locationOf","_start","_end","compared","pivot","b","indexOfSorted","_scope","scope","funcName","context","inwait","shift","clear","getElementTreeXPath","nodeName","tagName","pathIndex","isXhtml","ownerDocument","nodeType","Node","TEXT_NODE","indexOfTextNode","parentNode","sibling","previousSibling","DOCUMENT_TYPE_NODE","prefix","ns","xhtml","epub","str","part","textNode","sib","children","childNodes","source","prop","extend","sources","getOwnPropertyNames","propName","getOwnPropertyDescriptor","n","parseFloat","isFinite","isString","String","props","keys","cfiStr","generateChapterComponent","_spineNodeIndex","_pos","generatePathComponent","steps","segment","generateCfiFromElement","pathTo","unshift","getChapterComponent","splitStr","getPathComponent","pathComponent","getCharecterOffsetComponent","chapSegment","chapterComponent","charecterOffsetComponent","assertion","chapId","endInt","parseStep","has_brackets","spineId","step","characterOffset","textLocationAssertion","addMarker","_doc","_marker","lastStep","marker","createMarker","findParent","splitText","classList","add","removeMarker","contains","nextSib","nextSibling","prevSib","sections","compare","cfiOne","cfiTwo","generateCfiFromTextNode","anchor","offset","generateCfiFromRangeAnchor","anchorNode","anchorOffset","startElement","startSteps","startPath","startIndex","endElement","endSteps","endPath","endIndex","generateXpathFromSteps","xpath","generateQueryFromSteps","generateRangeFromCfi","textLength","startContainerParent","debug","selectNode","isCfiString","el","events","createEvent","tell","listen","deafen","listenUntil","evt","CustomEvent","msg","dispatchEvent","bindto","OnEvt","OffEvt","unlisten","hooks","plugs","plugType","hook","toAdd","toFront","removeHook","toRemove","passed","countdown","register","Layout","Reflowable","spreadWidth","format","_gap","columnAxis","columnGap","columnWidth","columnFill","colWidth","pageWidth","pageHeight","calculatePages","totalWidth","displayedPages","scrollWidth","ceil","pageCount","ReflowableSpreads","divisor","fullWidth","Fixed","content","viewport","hasAttribute","_locations","_current","generate","chars","_currentCfi","currentLocation","counter","sprint","dist","locationFromCfi","percentageFromCfi","loc","percentageFromLocation","cfiFromLocation","cfiFromPercentage","save","json","getCurrent","setCurrent","get","set","totalPages","round","baseUrl","rootfile","fullpath","xmlEncoding","metadataNode","getElementText","manifestNode","spineNode","findNavPath","findTocPath","findCoverPath","tocId","bookTitle","creator","description","pubdate","publisher","language","rights","modified_date","querySelectorText","found","getElementsByTagNameNS","nodeValue","q","manifestXml","selected","spineXml","Id","propArray","manifestProps","manifestPropArray","vert","querySelectorByType","html","getAttributeNS","bookSpine","navElement","navItems","list","navItem","subitems","navPoints","tocItem","navLabel","pageListItem","isCfi","Iframe","iframe","bodyEl","leftPos","scrolling","seamless","border","isMobile","userAgent","transform","contentDocument","headEl","contentWindow","resized","setLeft","margin","dir","right","write","close","v","baseEl","resize","totalHeight","scrollHeight","setPageDimensions","defaultView","scrollTo","tagEl","getPageNumberByElement","left","getPageNumberByRect","boundingClientRect","getBaseElement","getDocumentElement","isElementVisible","rect","scroll","bool","renderMethod","hidden","listenedEvents","upEvent","downEvent","isForcedSingle","onResized","layoutSettings","initWidth","initHeight","clientWidth","clientHeight","globalLayout","removeEventListeners","removeSelectionListeners","chapterPos","currentChapterCfiBase","reconcileLayoutSettings","layoutMethod","determineLayout","visible","formated","addEventListeners","addSelectionListeners","queued","updatePages","visibleRangeCfi","getVisibleRangeCfi","property","rendition","determineSpreads","mapPage","headTag","pageByElement","firstElementisTextNode","leng","trim","isGoodNode","embeddedElements","walk","y","prevNode","startNode","STOP","ITER","containsPoint","childElementCount","SHOW_ELEMENT","prevRange","elLimit","check","elPos","elRange","ELEMENT_NODE","selectNodeContents","checkText","ranges","splitTextNodeIntoWordsRanges","collapse","indexOfBreakableChar","startPosition","whiteCharacters","charAt","rangePosition","getClientRects","getPageCfi","startRange","getRange","forceElement","caretPositionFromPoint","caretRangeFromPoint","visibileEl","findElementAfter","offsetNode","pagesInCurrentChapter","pgs","currentRenderedPage","getRenderedPagesLeft","pagesLeft","endRange","findFirstVisible","startEl","setSize","triggerEvent","onSelectionChange","selectionEndTimeout","selectedRange","getSelection","cutoff","replacments","relative","isRelative","onclick","links","srcs","stylesheets","getText","cssUrls","newText","_URL","webkitURL","mozURL","createObjectURL","replaced","checkRequirements","urlCache","current","encodedUrl","encodeURIComponent","localforage","buffer","getMimeType","reader","FileReader","readAsText","parser","fromCache","revokeObjectURL","zipUrl","JSZip","decodededUrl","decodeURIComponent","mime","unarchiver","file","asUint8Array","asText","afterSaved","that","delay","saveEntryFileToStorage","table","application","ecmascript","javascript","ogg","pdf","postscript","rdf+xml","smil","xhtml+xml","x-httpd-eruby","x-latex","x-maker","x-object","x-shockwave-flash","x-silverlight","epub+zip","font-tdpfr","inkml+xml","jsonml+json","mathml+xml","metalink+xml","mp4","oebps-package+xml","omdoc+xml","oxps","vnd.amazon.ebook","widget","x-dtbncx+xml","x-dtbook+xml","x-dtbresource+xml","x-font-bdf","x-font-ghostscript","x-font-linux-psf","x-font-otf","x-font-pcf","x-font-snf","x-font-ttf","x-font-type1","x-font-woff","x-mobipocket-ebook","x-mspublisher","x-nzb","x-tgif","xaml+xml","xml-dtd","xproc+xml","xslt+xml","internet-property-stream","x-compress","x-compressed","x-gzip","audio","flac","midi","mpeg","mpegurl","x-aiff","x-ms-wma","x-wav","adpcm","webm","x-aac","x-caf","x-matroska","x-pn-realaudio-plugin","xm","mid","image","gif","ief","jpeg","pcx","png","svg+xml","tiff","x-icon","bmp","webp","x-pict","x-tga","cis-cod","rfc822","cache-manifest","calendar","css","csv","h323","iuls","mathml","plain","richtext","tab-separated-values","x-bibtex","x-dsrc","x-diff","x-haskell","x-java","x-literate-haskell","x-moc","x-pascal","x-pcs-gcd","x-perl","x-python","x-scala","x-setext","x-tcl","x-tex","x-vcard","sgml","x-c","x-fortran","x-opml","x-nfo","x-sfv","x-uuencode","webviewhtml","video","quicktime","vnd.mpegurl","x-flv","x-la-asf","x-mng","x-ms-asf","x-ms-wm","x-ms-wmv","x-ms-wmx","x-ms-wvx","x-msvideo","x-sgi-movie","3gpp2","h261","h263","h264","jpm","mj2","vnd.ms-playready.media.pyv","vnd.uvvu.mp4","vnd.vivo","x-f4v","x-m4v","x-ms-vob","x-smv","mimeTypes","subtype","defaultValue"],"mappings":"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"} \ No newline at end of file diff --git a/reader/js/epub.min.js b/reader/js/epub.min.js index a270e70..9285fa5 100644 --- a/reader/js/epub.min.js +++ b/reader/js/epub.min.js @@ -3347,7 +3347,7 @@ EPUBJS.Chapter.prototype.replaceWithStored = function(query, attr, func, callbac console.error(e); }; - if(query == "image") { + if(query == "svg image") { //-- SVG needs this to trigger a load event link.setAttribute("externalResourcesRequired", "true"); } @@ -7245,7 +7245,7 @@ EPUBJS.replace.resources = function(callback, renderer){ EPUBJS.replace.svg = function(callback, renderer) { - renderer.replaceWithStored("image", "xlink:href", function(_store, full, done){ + renderer.replaceWithStored("svg image", "xlink:href", function(_store, full, done){ _store.getUrl(full).then(done); }, callback); diff --git a/reader/js/reader.min.js b/reader/js/reader.min.js index d9f8290..65cd051 100644 --- a/reader/js/reader.min.js +++ b/reader/js/reader.min.js @@ -1,2 +1,2 @@ -EPUBJS.reader={},EPUBJS.reader.plugins={},function(a){var b=(a.ePubReader||{},a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)});"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=b)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=EPUBJS.core.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:void 0,annotations:void 0,contained:void 0,bookKey:void 0,styles:void 0,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=decodeURIComponent(d)})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book(this.settings),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(this.settings.bookmarks.splice(b,1),this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(){var a;return localStorage?(a=localStorage.getItem(this.settings.bookKey),null===a?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(a.styles&&(this.settings.styles=EPUBJS.core.defaults(this.settings.styles||{},a.styles)),this.settings=EPUBJS.core.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book.goto(a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),"undefined"!=typeof screenfull&&(c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull.raw&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")})),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(){var a=this,b=$("#sidebar"),c=$("#panels"),d="Toc",e=function(b){var e=b+"Controller";d!=b&&"undefined"!=typeof a[e]&&(a[d+"Controller"].hide(),a[e].show(),d=b,c.find(".active").removeClass("active"),c.find("#show-"+b).addClass("active"))},f=function(){return d},g=function(){a.sidebarOpen=!0,a.ReaderController.slideOut(),b.addClass("open")},h=function(){a.sidebarOpen=!1,a.ReaderController.slideIn(),b.removeClass("open")};return c.find(".show_view").on("click",function(a){var b=$(this).data("view");e(b),a.preventDefault()}),{show:g,hide:h,getActivePanel:f,changePanelTo:e}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){{var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter")}d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b.goto(d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; +EPUBJS.reader={},EPUBJS.reader.plugins={},function(a,b){var c=(a.ePubReader||{},a.ePubReader=function(a,b){return new EPUBJS.Reader(a,b)});"function"==typeof define&&define.amd?define(function(){return Reader}):"undefined"!=typeof module&&module.exports&&(module.exports=c)}(window,jQuery),EPUBJS.Reader=function(a,b){var c,d,e,f=this,g=$("#viewer"),h=window.location.search;this.settings=EPUBJS.core.defaults(b||{},{bookPath:a,restore:!0,reload:!1,bookmarks:void 0,annotations:void 0,contained:void 0,bookKey:void 0,styles:void 0,sidebarReflow:!1,generatePagination:!1,history:!0}),h&&(e=h.slice(1).split("&"),e.forEach(function(a){var b=a.split("="),c=b[0],d=b[1]||"";f.settings[c]=decodeURIComponent(d)})),this.setBookKey(this.settings.bookPath),this.settings.restore&&this.isSaved()&&this.applySavedSettings(),this.settings.styles=this.settings.styles||{fontSize:"100%"},this.book=c=new EPUBJS.Book(this.settings),this.settings.previousLocationCfi&&c.gotoCfi(this.settings.previousLocationCfi),this.offline=!1,this.sidebarOpen=!1,this.settings.bookmarks||(this.settings.bookmarks=[]),this.settings.annotations||(this.settings.annotations=[]),this.settings.generatePagination&&c.generatePagination(g.width(),g.height()),c.renderTo("viewer"),f.ReaderController=EPUBJS.reader.ReaderController.call(f,c),f.SettingsController=EPUBJS.reader.SettingsController.call(f,c),f.ControlsController=EPUBJS.reader.ControlsController.call(f,c),f.SidebarController=EPUBJS.reader.SidebarController.call(f,c),f.BookmarksController=EPUBJS.reader.BookmarksController.call(f,c),f.NotesController=EPUBJS.reader.NotesController.call(f,c);for(d in EPUBJS.reader.plugins)EPUBJS.reader.plugins.hasOwnProperty(d)&&(f[d]=EPUBJS.reader.plugins[d].call(f,c));return c.ready.all.then(function(){f.ReaderController.hideLoader()}),c.getMetadata().then(function(a){f.MetaController=EPUBJS.reader.MetaController.call(f,a)}),c.getToc().then(function(a){f.TocController=EPUBJS.reader.TocController.call(f,a)}),window.addEventListener("beforeunload",this.unload.bind(this),!1),window.addEventListener("hashchange",this.hashChanged.bind(this),!1),document.addEventListener("keydown",this.adjustFontSize.bind(this),!1),c.on("renderer:keydown",this.adjustFontSize.bind(this)),c.on("renderer:keydown",f.ReaderController.arrowKeys.bind(this)),c.on("renderer:selected",this.selectedRange.bind(this)),this},EPUBJS.Reader.prototype.adjustFontSize=function(a){var b,c=2,d=187,e=189,f=48,g=a.ctrlKey||a.metaKey;this.settings.styles&&(this.settings.styles.fontSize||(this.settings.styles.fontSize="100%"),b=parseInt(this.settings.styles.fontSize.slice(0,-1)),g&&a.keyCode==d&&(a.preventDefault(),this.book.setStyle("fontSize",b+c+"%")),g&&a.keyCode==e&&(a.preventDefault(),this.book.setStyle("fontSize",b-c+"%")),g&&a.keyCode==f&&(a.preventDefault(),this.book.setStyle("fontSize","100%")))},EPUBJS.Reader.prototype.addBookmark=function(a){var b=this.isBookmarked(a);b>-1||(this.settings.bookmarks.push(a),this.trigger("reader:bookmarked",a))},EPUBJS.Reader.prototype.removeBookmark=function(a){var b=this.isBookmarked(a);-1!==b&&(this.settings.bookmarks.splice(b,1),this.trigger("reader:unbookmarked",b))},EPUBJS.Reader.prototype.isBookmarked=function(a){var b=this.settings.bookmarks;return b.indexOf(a)},EPUBJS.Reader.prototype.clearBookmarks=function(){this.settings.bookmarks=[]},EPUBJS.Reader.prototype.addNote=function(a){this.settings.annotations.push(a)},EPUBJS.Reader.prototype.removeNote=function(a){var b=this.settings.annotations.indexOf(a);-1!==b&&delete this.settings.annotations[b]},EPUBJS.Reader.prototype.clearNotes=function(){this.settings.annotations=[]},EPUBJS.Reader.prototype.setBookKey=function(a){return this.settings.bookKey||(this.settings.bookKey="epubjsreader:"+EPUBJS.VERSION+":"+window.location.host+":"+a),this.settings.bookKey},EPUBJS.Reader.prototype.isSaved=function(a){var b;return localStorage?(b=localStorage.getItem(this.settings.bookKey),null===b?!1:!0):!1},EPUBJS.Reader.prototype.removeSavedSettings=function(){return localStorage?void localStorage.removeItem(this.settings.bookKey):!1},EPUBJS.Reader.prototype.applySavedSettings=function(){var a;if(!localStorage)return!1;try{a=JSON.parse(localStorage.getItem(this.settings.bookKey))}catch(b){return!1}return a?(a.styles&&(this.settings.styles=EPUBJS.core.defaults(this.settings.styles||{},a.styles)),this.settings=EPUBJS.core.defaults(this.settings,a),!0):!1},EPUBJS.Reader.prototype.saveSettings=function(){return this.book&&(this.settings.previousLocationCfi=this.book.getCurrentLocationCfi()),localStorage?void localStorage.setItem(this.settings.bookKey,JSON.stringify(this.settings)):!1},EPUBJS.Reader.prototype.unload=function(){this.settings.restore&&localStorage&&this.saveSettings()},EPUBJS.Reader.prototype.hashChanged=function(){var a=window.location.hash.slice(1);this.book["goto"](a)},EPUBJS.Reader.prototype.selectedRange=function(a){var b=new EPUBJS.EpubCFI,c=b.generateCfiFromRangeAnchor(a,this.book.renderer.currentChapter.cfiBase),d="#"+c;this.settings.history&&window.location.hash!=d&&(history.pushState({},"",d),this.currentLocationCfi=c)},RSVP.EventTarget.mixin(EPUBJS.Reader.prototype),EPUBJS.reader.BookmarksController=function(){var a=this.book,b=$("#bookmarksView"),c=b.find("#bookmarks"),d=document.createDocumentFragment(),e=function(){b.show()},f=function(){b.hide()},g=0,h=function(b){var c=document.createElement("li"),d=document.createElement("a");return c.id="bookmark-"+g,c.classList.add("list_item"),d.textContent=b,d.href=b,d.classList.add("bookmark_link"),d.addEventListener("click",function(b){var c=this.getAttribute("href");a.gotoCfi(c),b.preventDefault()},!1),c.appendChild(d),g++,c};return this.settings.bookmarks.forEach(function(a){var b=h(a);d.appendChild(b)}),c.append(d),this.on("reader:bookmarked",function(a){var b=h(a);c.append(b)}),this.on("reader:unbookmarked",function(a){var b=$("#bookmark-"+a);b.remove()}),{show:e,hide:f}},EPUBJS.reader.ControlsController=function(a){var b=this,c=($("#store"),$("#fullscreen")),d=($("#fullscreenicon"),$("#cancelfullscreenicon"),$("#slider")),e=($("#main"),$("#sidebar"),$("#setting")),f=$("#bookmark"),g=function(){b.offline=!1},h=function(){b.offline=!0},i=!1;return a.on("book:online",g),a.on("book:offline",h),d.on("click",function(){b.sidebarOpen?(b.SidebarController.hide(),d.addClass("icon-menu"),d.removeClass("icon-right")):(b.SidebarController.show(),d.addClass("icon-right"),d.removeClass("icon-menu"))}),"undefined"!=typeof screenfull&&(c.on("click",function(){screenfull.toggle($("#container")[0])}),screenfull.raw&&document.addEventListener(screenfull.raw.fullscreenchange,function(){i=screenfull.isFullscreen,i?c.addClass("icon-resize-small").removeClass("icon-resize-full"):c.addClass("icon-resize-full").removeClass("icon-resize-small")})),e.on("click",function(){b.SettingsController.show()}),f.on("click",function(){var a=b.book.getCurrentLocationCfi(),c=b.isBookmarked(a);-1===c?(b.addBookmark(a),f.addClass("icon-bookmark").removeClass("icon-bookmark-empty")):(b.removeBookmark(a),f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"))}),a.on("renderer:locationChanged",function(a){var c="#"+a,d=b.isBookmarked(a);-1===d?f.removeClass("icon-bookmark").addClass("icon-bookmark-empty"):f.addClass("icon-bookmark").removeClass("icon-bookmark-empty"),b.currentLocationCfi=a,b.settings.history&&window.location.hash!=c&&history.pushState({},"",c)}),a.on("book:pageChanged",function(a){}),{}},EPUBJS.reader.MetaController=function(a){var b=a.bookTitle,c=a.creator,d=$("#book-title"),e=$("#chapter-title"),f=$("#title-seperator");document.title=b+" – "+c,d.html(b),e.html(c),f.show()},EPUBJS.reader.NotesController=function(){var a=this.book,b=this,c=$("#notesView"),d=$("#notes"),e=$("#note-text"),f=$("#note-anchor"),g=b.settings.annotations,h=a.renderer,i=[],j=new EPUBJS.EpubCFI,k=function(){c.show()},l=function(){c.hide()},m=function(c){var d,g,h,i,k,l=a.renderer.doc;if(l.caretPositionFromPoint?(d=l.caretPositionFromPoint(c.clientX,c.clientY),g=d.offsetNode,h=d.offset):l.caretRangeFromPoint&&(d=l.caretRangeFromPoint(c.clientX,c.clientY),g=d.startContainer,h=d.startOffset),3!==g.nodeType)for(var p=0;pm/2.5&&(o=m/2.5,pop_content.style.maxHeight=o+"px"),popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),k-popRect.width<=0?(b.style.left=k+"px",b.classList.add("left")):b.classList.remove("left"),k+popRect.width/2>=n?(b.style.left=k-300+"px",popRect=b.getBoundingClientRect(),b.style.left=k-popRect.width+"px",popRect.height+l>=m-25?(b.style.top=l-popRect.height+"px",b.classList.add("above")):b.classList.remove("above"),b.classList.add("right")):b.classList.remove("right")},f=function(){i[d].classList.add("on")},g=function(){i[d].classList.remove("on")},j=function(){setTimeout(function(){i[d].classList.remove("show")},100)},l=function(){b.ReaderController.slideOut(),k()};a.addEventListener("mouseover",e,!1),a.addEventListener("mouseout",j,!1),a.addEventListener("click",l,!1)};return f.on("click",function(b){f.text("Cancel"),e.prop("disabled","true"),a.on("renderer:click",m)}),g.forEach(function(a){n(a)}),h.registerHook("beforeChapterDisplay",function(a,b){var c=b.currentChapter;g.forEach(function(a){var b=j.parse(a.anchor);if(b.spinePos===c.spinePos)try{o(a)}catch(d){console.log("anchoring failed",a.anchor)}}),a()},!0),{show:k,hide:l}},EPUBJS.reader.ReaderController=function(a){var b=$("#main"),c=$("#divider"),d=$("#loader"),e=$("#next"),f=$("#prev"),g=this,a=this.book,h=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.removeClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.removeClass("closed")},i=function(){var c=a.getCurrentLocationCfi();g.settings.sidebarReflow?(b.addClass("single"),b.one("transitionend",function(){a.gotoCfi(c)})):b.addClass("closed")},j=function(){d.show(),m()},k=function(){d.hide()},l=function(){c.addClass("show")},m=function(){c.removeClass("show")},n=!1,o=function(b){37==b.keyCode&&("rtl"===a.metadata.direction?a.nextPage():a.prevPage(),f.addClass("active"),n=!0,setTimeout(function(){n=!1,f.removeClass("active")},100),b.preventDefault()),39==b.keyCode&&("rtl"===a.metadata.direction?a.prevPage():a.nextPage(),e.addClass("active"),n=!0,setTimeout(function(){n=!1,e.removeClass("active")},100),b.preventDefault())};return document.addEventListener("keydown",o,!1),e.on("click",function(b){"rtl"===a.metadata.direction?a.prevPage():a.nextPage(),b.preventDefault()}),f.on("click",function(b){"rtl"===a.metadata.direction?a.nextPage():a.prevPage(),b.preventDefault()}),a.on("renderer:spreads",function(a){a?l():m()}),{slideOut:i,slideIn:h,showLoader:j,hideLoader:k,showDivider:l,hideDivider:m,arrowKeys:o}},EPUBJS.reader.SettingsController=function(){var a=(this.book,this),b=$("#settings-modal"),c=$(".overlay"),d=function(){b.addClass("md-show")},e=function(){b.removeClass("md-show")},f=$("#sidebarReflow");return f.on("click",function(){a.settings.sidebarReflow=!a.settings.sidebarReflow}),b.find(".closer").on("click",function(){e()}),c.on("click",function(){e()}),{show:d,hide:e}},EPUBJS.reader.SidebarController=function(a){var b=this,c=$("#sidebar"),d=$("#panels"),e="Toc",f=function(a){var c=a+"Controller";e!=a&&"undefined"!=typeof b[c]&&(b[e+"Controller"].hide(),b[c].show(),e=a,d.find(".active").removeClass("active"),d.find("#show-"+a).addClass("active"))},g=function(){return e},h=function(){b.sidebarOpen=!0,b.ReaderController.slideOut(),c.addClass("open")},i=function(){b.sidebarOpen=!1,b.ReaderController.slideIn(),c.removeClass("open")};return d.find(".show_view").on("click",function(a){var b=$(this).data("view");f(b),a.preventDefault()}),{show:h,hide:i,getActivePanel:g,changePanelTo:f}},EPUBJS.reader.TocController=function(a){var b=this.book,c=$("#tocView"),d=document.createDocumentFragment(),e=!1,f=function(a,b){var c=document.createElement("ul");return b||(b=1),a.forEach(function(a){var d=document.createElement("li"),e=document.createElement("a");toggle=document.createElement("a");var g;d.id="toc-"+a.id,d.classList.add("list_item"),e.textContent=a.label,e.href=a.href,e.classList.add("toc_link"),d.appendChild(e),a.subitems.length>0&&(b++,g=f(a.subitems,b),toggle.classList.add("toc_toggle"),d.insertBefore(toggle,e),d.appendChild(g)),c.appendChild(d)}),c},g=function(){c.show()},h=function(){c.hide()},i=function(a){var b=a.id,d=c.find("#toc-"+b),f=c.find(".currentChapter");c.find(".openChapter");d.length&&(d!=f&&d.has(e).length>0&&f.removeClass("currentChapter"),d.addClass("currentChapter"),d.parents("li").addClass("openChapter"))};b.on("renderer:chapterDisplayed",i);var j=f(a);return d.appendChild(j),c.append(d),c.find(".toc_link").on("click",function(a){var d=this.getAttribute("href");a.preventDefault(),b["goto"](d),c.find(".currentChapter").addClass("openChapter").removeClass("currentChapter"),$(this).parent("li").addClass("currentChapter")}),c.find(".toc_toggle").on("click",function(a){var b=$(this).parent("li"),c=b.hasClass("openChapter");a.preventDefault(),c?b.removeClass("openChapter"):b.addClass("openChapter")}),{show:g,hide:h}}; //# sourceMappingURL=reader.min.map \ No newline at end of file diff --git a/src/chapter.js b/src/chapter.js index 1bc9f55..80008a2 100644 --- a/src/chapter.js +++ b/src/chapter.js @@ -366,7 +366,7 @@ EPUBJS.Chapter.prototype.replaceWithStored = function(query, attr, func, callbac console.error(e); }; - if(query == "image") { + if(query == "svg image") { //-- SVG needs this to trigger a load event link.setAttribute("externalResourcesRequired", "true"); } diff --git a/src/replace.js b/src/replace.js index 3cb83db..716431d 100644 --- a/src/replace.js +++ b/src/replace.js @@ -65,7 +65,7 @@ EPUBJS.replace.resources = function(callback, renderer){ EPUBJS.replace.svg = function(callback, renderer) { - renderer.replaceWithStored("image", "xlink:href", function(_store, full, done){ + renderer.replaceWithStored("svg image", "xlink:href", function(_store, full, done){ _store.getUrl(full).then(done); }, callback);