From 78e5fcd0498242ea3d9554dbd279c8ce2cd3e18d Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Sun, 19 Jul 2015 00:16:22 +0200 Subject: [PATCH] many improvements * draw single images * integrate load overlay properly * preload:ready event --- app/comic-book.js | 46 ++++- app/css/styles.css | 5 + dist/comicbook.css | 5 + dist/comicbook.js | 377 +++++++++++++++++++++++++++++--------- dist/comicbook.js.map | 24 ++- dist/comicbook.min.css | 2 +- dist/comicbook.min.js | 4 +- dist/comicbook.min.js.map | 2 +- dist/img/loading.gif | Bin 0 -> 3208 bytes test/comic-book.test.js | 13 +- 10 files changed, 363 insertions(+), 115 deletions(-) create mode 100644 dist/img/loading.gif diff --git a/app/comic-book.js b/app/comic-book.js index 300728f..7258157 100644 --- a/app/comic-book.js +++ b/app/comic-book.js @@ -1,4 +1,5 @@ let EventEmitter = require('events').EventEmitter +let Canvas = require('./view/canvas') let LoadIndicator = require('./view/load-indicator') let ProgressBar = require('./view/progress-bar') @@ -8,11 +9,17 @@ class ComicBook extends EventEmitter { super() // requested image srcs - this.srcs = new Set(srcs) + this.srcs = srcs // loaded image objects this.pages = new Map() + this.preloadBuffer = 4 + + // TODO move this logic into the router + this.currentPageIndex = 0 + + this.canvas = new Canvas() this.loadIndicator = new LoadIndicator() this.progressBar = new ProgressBar() @@ -23,41 +30,60 @@ class ComicBook extends EventEmitter { this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator)) this.on('preload:start', this.progressBar.show.bind(this.progressBar)) this.on('preload:image', this.updateProgressBar.bind(this)) + this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator)) + this.on('preload:ready', this.drawPage.bind(this)) this.on('preload:finish', this.progressBar.hide.bind(this.progressBar)) } render () { this.el = document.createElement('div') + this.el.appendChild(this.canvas.canvas) this.el.appendChild(this.progressBar.el) + this.el.appendChild(this.loadIndicator.el) return this } preload () { - let self = this - this.emit('preload:start') this.srcs.forEach((src, pageIndex) => { let image = new window.Image() image.src = src - image.onload = setImage + image.onload = setImage.bind(this, image, pageIndex) - function setImage () { - self.pages.set(pageIndex, this) - self.emit('preload:image', this) + function setImage (image, index) { + this.pages.set(index, image) + this.emit('preload:image', image) - if (self.pages.size === self.srcs.size) { - self.emit('preload:finish') + if (this.pages.size === this.preloadBuffer) { + this.emit('preload:ready') + } + + if (this.pages.size === this.srcs.length) { + this.emit('preload:finish') } } }) } updateProgressBar () { - let percentage = Math.floor((this.pages.size / this.srcs.size) * 100) + let percentage = Math.floor((this.pages.size / this.srcs.length) * 100) this.progressBar.update(percentage) } + + drawPage () { + let page = this.pages.get(this.currentPageIndex) + this.canvas.drawImage(page) + } + + drawNextPage () { + // TODO + } + + drawPrevioousPage () { + // TODO + } } module.exports = ComicBook diff --git a/app/css/styles.css b/app/css/styles.css index 864767f..c564cd1 100755 --- a/app/css/styles.css +++ b/app/css/styles.css @@ -49,6 +49,11 @@ body:not(.mobile) .navigate:hover { opacity: 0.8; background: #000 url("img/loading.gif") no-repeat center; box-shadow: none; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; } #cb-status { diff --git a/dist/comicbook.css b/dist/comicbook.css index bb5261a..99f3ca8 100644 --- a/dist/comicbook.css +++ b/dist/comicbook.css @@ -230,6 +230,11 @@ body:not(.mobile) .navigate:hover { opacity: 0.8; background: #000 url("img/loading.gif") no-repeat center; box-shadow: none; + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; } #cb-status { diff --git a/dist/comicbook.js b/dist/comicbook.js index 00fe3eb..f98d5c1 100644 --- a/dist/comicbook.js +++ b/dist/comicbook.js @@ -9,11 +9,10 @@ var _createClass = require('babel-runtime/helpers/create-class')['default']; var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default']; -var _Set = require('babel-runtime/core-js/set')['default']; - var _Map = require('babel-runtime/core-js/map')['default']; var EventEmitter = require('events').EventEmitter; +var Canvas = require('./view/canvas'); var LoadIndicator = require('./view/load-indicator'); var ProgressBar = require('./view/progress-bar'); @@ -28,11 +27,15 @@ var ComicBook = (function (_EventEmitter) { _get(Object.getPrototypeOf(ComicBook.prototype), 'constructor', this).call(this); // requested image srcs - this.srcs = new _Set(srcs); + this.srcs = srcs; // loaded image objects this.pages = new _Map(); + this.currentPageIndex = 0; + this.preloadBuffer = 4; + + this.canvas = new Canvas(); this.loadIndicator = new LoadIndicator(); this.progressBar = new ProgressBar(); @@ -45,19 +48,23 @@ var ComicBook = (function (_EventEmitter) { this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator)); this.on('preload:start', this.progressBar.show.bind(this.progressBar)); this.on('preload:image', this.updateProgressBar.bind(this)); + this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator)); + this.on('preload:ready', this.drawPage.bind(this)); this.on('preload:finish', this.progressBar.hide.bind(this.progressBar)); } }, { key: 'render', value: function render() { this.el = document.createElement('div'); + this.el.appendChild(this.canvas.canvas); this.el.appendChild(this.progressBar.el); + this.el.appendChild(this.loadIndicator.el); return this; } }, { key: 'preload', value: function preload() { - var self = this; + var _this = this; this.emit('preload:start'); @@ -65,14 +72,18 @@ var ComicBook = (function (_EventEmitter) { var image = new window.Image(); image.src = src; - image.onload = setImage; + image.onload = setImage.bind(_this, image, pageIndex); - function setImage() { - self.pages.set(pageIndex, this); - self.emit('preload:image', this); + function setImage(image, index) { + this.pages.set(index, image); + this.emit('preload:image', image); - if (self.pages.size === self.srcs.size) { - self.emit('preload:finish'); + if (this.pages.size === this.preloadBuffer) { + this.emit('preload:ready'); + } + + if (this.pages.size === this.srcs.length) { + this.emit('preload:finish'); } } }); @@ -80,9 +91,15 @@ var ComicBook = (function (_EventEmitter) { }, { key: 'updateProgressBar', value: function updateProgressBar() { - var percentage = Math.floor(this.pages.size / this.srcs.size * 100); + var percentage = Math.floor(this.pages.size / this.srcs.length * 100); this.progressBar.update(percentage); } + }, { + key: 'drawPage', + value: function drawPage() { + var page = this.pages.get(this.currentPageIndex); + this.canvas.drawImage(page); + } }]); return ComicBook; @@ -90,7 +107,7 @@ var ComicBook = (function (_EventEmitter) { module.exports = ComicBook; -},{"./view/load-indicator":3,"./view/progress-bar":4,"babel-runtime/core-js/map":6,"babel-runtime/core-js/set":10,"babel-runtime/helpers/class-call-check":11,"babel-runtime/helpers/create-class":12,"babel-runtime/helpers/get":13,"babel-runtime/helpers/inherits":14,"events":51}],2:[function(require,module,exports){ +},{"./view/canvas":3,"./view/load-indicator":4,"./view/progress-bar":5,"babel-runtime/core-js/map":7,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,"events":53}],2:[function(require,module,exports){ 'use strict'; var ComicBook = window.ComicBook = require('./comic-book'); @@ -112,6 +129,171 @@ var _createClass = require('babel-runtime/helpers/create-class')['default']; var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default']; +var _Object$assign = require('babel-runtime/core-js/object/assign')['default']; + +var EventEmitter = require('events').EventEmitter; + +// TODO replace +function windowWidth() { + return window.innerWidth; +} + +var Canvas = (function (_EventEmitter) { + _inherits(Canvas, _EventEmitter); + + function Canvas(options) { + _classCallCheck(this, Canvas); + + _get(Object.getPrototypeOf(Canvas.prototype), 'constructor', this).call(this); + + this.options = _Object$assign({ + // fitWidth, fitWindow, manua + zoomMode: 'fitWidth', + // ltr, rtl + readDirection: 'ltr', + // should two pages be rendered at a time? + doublePage: false + }, options); + + this.canvas = document.createElement('canvas'); + this.context = this.canvas.getContext('2d'); + } + + _createClass(Canvas, [{ + key: 'drawImage', + value: function drawImage(page, page2) { + this.emit('draw:start'); + + if (!(page instanceof window.Image) || this.options.doublePage && !(page2 instanceof window.Image)) { + throw new Error('Invalid image'); + } + + var zoomScale = undefined; + var offsetW = 0; + var offsetH = 0; + var width = page.width; + var height = page.height; + var doublePageMode = this.options.doublePage; + var canvasWidth = undefined; + var canvasHeight = undefined; + var pageWidth = undefined; + var pageHeight = undefined; + + // reset the canvas to stop duplicate pages showing + this.canvas.width = 0; + this.canvas.height = 0; + + // show double page spreads on a single page + var isDoublePageSpread = page2 && (page.width > page.height || page2.width > page2.height) && doublePageMode; + + if (isDoublePageSpread) doublePageMode = false; + + if (doublePageMode) { + + // for double page spreads, factor in the width of both pages + if (typeof page2 === 'object') { + width += page2.width + // if this is the last page and there is no page2, still keep the canvas wide + ; + } else { + width += width; + } + } + + // update the page this.scale if a non manual mode has been chosen + switch (this.options.zoomMode) { + + case 'manual': + document.body.style.overflowX = 'auto'; + zoomScale = doublePageMode ? this.scale * 2 : this.scale; + break; + + case 'fitWidth': + document.body.style.overflowX = 'hidden'; + + // this.scale up if the window is wider than the page, scale down if the window + // is narrower than the page + zoomScale = windowWidth() > width ? (windowWidth() - width) / windowWidth() + 1 : windowWidth() / width; + this.scale = zoomScale; + break; + + case 'fitWindow': + document.body.style.overflowX = 'hidden'; + + var widthScale = windowWidth() > width ? (windowWidth() - width) / windowWidth() + 1 // scale up if the window is wider than the page + : windowWidth() / width; // scale down if the window is narrower than the page + var windowHeight = window.innerHeight; + var heightScale = windowHeight > height ? (windowHeight - height) / windowHeight + 1 // scale up if the window is wider than the page + : windowHeight / height; // scale down if the window is narrower than the page + + zoomScale = widthScale > heightScale ? heightScale : widthScale; + this.scale = zoomScale; + break; + } + + canvasWidth = page.width * zoomScale; + canvasHeight = page.height * zoomScale; + + pageWidth = this.options.zoomMode === 'manual' ? page.width * this.scale : canvasWidth; + pageHeight = this.options.zoomMode === 'manual' ? page.height * this.scale : canvasHeight; + + canvasHeight = pageHeight; + + // make sure the canvas is always at least full screen, even if the page is narrower than the screen + this.canvas.width = canvasWidth < windowWidth() ? windowWidth() : canvasWidth; + this.canvas.height = canvasHeight < window.innerHeight ? window.innerHeight : canvasHeight; + + // always keep pages centered + if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') { + + // work out a horizontal position + if (canvasWidth < windowWidth()) { + offsetW = (windowWidth() - pageWidth) / 2; + if (this.options.doublePage) { + offsetW = offsetW - pageWidth / 2; + } + } + + // work out a vertical position + if (canvasHeight < window.innerHeight) { + offsetH = (window.innerHeight - pageHeight) / 2; + } + } + + // in manga double page mode reverse the page(s) + if (this.options.manga && this.options.doublePage && typeof page2 === 'object') { + var tmpPage = page; + var tmpPage2 = page2; + page = tmpPage2; + page2 = tmpPage; + } + + // draw the page(s) + this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight); + if (this.options.doublePage && typeof page2 === 'object') { + this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight); + } + + this.emit('draw:finish'); + } + }]); + + return Canvas; +})(EventEmitter); + +module.exports = Canvas; + +},{"babel-runtime/core-js/object/assign":8,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,"events":53}],4:[function(require,module,exports){ +'use strict'; + +var _get = require('babel-runtime/helpers/get')['default']; + +var _inherits = require('babel-runtime/helpers/inherits')['default']; + +var _createClass = require('babel-runtime/helpers/create-class')['default']; + +var _classCallCheck = require('babel-runtime/helpers/class-call-check')['default']; + var EventEmitter = require('events').EventEmitter; var LoadIndicator = (function (_EventEmitter) { @@ -150,7 +332,7 @@ var LoadIndicator = (function (_EventEmitter) { module.exports = LoadIndicator; -},{"babel-runtime/helpers/class-call-check":11,"babel-runtime/helpers/create-class":12,"babel-runtime/helpers/get":13,"babel-runtime/helpers/inherits":14,"events":51}],4:[function(require,module,exports){ +},{"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13,"babel-runtime/helpers/get":14,"babel-runtime/helpers/inherits":15,"events":53}],5:[function(require,module,exports){ 'use strict'; var _createClass = require('babel-runtime/helpers/create-class')['default']; @@ -197,21 +379,21 @@ var ProgressBar = (function () { module.exports = ProgressBar; -},{"./template/progress-bar.handlebars":5,"babel-runtime/helpers/class-call-check":11,"babel-runtime/helpers/create-class":12}],5:[function(require,module,exports){ +},{"./template/progress-bar.handlebars":6,"babel-runtime/helpers/class-call-check":12,"babel-runtime/helpers/create-class":13}],6:[function(require,module,exports){ var templater = require("handlebars/runtime")["default"].template;module.exports = templater({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) { return "
\n
\n
\n
\n
\n"; },"useData":true}); -},{"handlebars/runtime":59}],6:[function(require,module,exports){ +},{"handlebars/runtime":61}],7:[function(require,module,exports){ module.exports = { "default": require("core-js/library/fn/map"), __esModule: true }; -},{"core-js/library/fn/map":15}],7:[function(require,module,exports){ +},{"core-js/library/fn/map":16}],8:[function(require,module,exports){ +module.exports = { "default": require("core-js/library/fn/object/assign"), __esModule: true }; +},{"core-js/library/fn/object/assign":17}],9:[function(require,module,exports){ module.exports = { "default": require("core-js/library/fn/object/create"), __esModule: true }; -},{"core-js/library/fn/object/create":16}],8:[function(require,module,exports){ +},{"core-js/library/fn/object/create":18}],10:[function(require,module,exports){ module.exports = { "default": require("core-js/library/fn/object/define-property"), __esModule: true }; -},{"core-js/library/fn/object/define-property":17}],9:[function(require,module,exports){ +},{"core-js/library/fn/object/define-property":19}],11:[function(require,module,exports){ module.exports = { "default": require("core-js/library/fn/object/get-own-property-descriptor"), __esModule: true }; -},{"core-js/library/fn/object/get-own-property-descriptor":18}],10:[function(require,module,exports){ -module.exports = { "default": require("core-js/library/fn/set"), __esModule: true }; -},{"core-js/library/fn/set":19}],11:[function(require,module,exports){ +},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(require,module,exports){ "use strict"; exports["default"] = function (instance, Constructor) { @@ -221,7 +403,7 @@ exports["default"] = function (instance, Constructor) { }; exports.__esModule = true; -},{}],12:[function(require,module,exports){ +},{}],13:[function(require,module,exports){ "use strict"; var _Object$defineProperty = require("babel-runtime/core-js/object/define-property")["default"]; @@ -246,7 +428,7 @@ exports["default"] = (function () { })(); exports.__esModule = true; -},{"babel-runtime/core-js/object/define-property":8}],13:[function(require,module,exports){ +},{"babel-runtime/core-js/object/define-property":10}],14:[function(require,module,exports){ "use strict"; var _Object$getOwnPropertyDescriptor = require("babel-runtime/core-js/object/get-own-property-descriptor")["default"]; @@ -291,7 +473,7 @@ exports["default"] = function get(_x, _x2, _x3) { }; exports.__esModule = true; -},{"babel-runtime/core-js/object/get-own-property-descriptor":9}],14:[function(require,module,exports){ +},{"babel-runtime/core-js/object/get-own-property-descriptor":11}],15:[function(require,module,exports){ "use strict"; var _Object$create = require("babel-runtime/core-js/object/create")["default"]; @@ -313,37 +495,33 @@ exports["default"] = function (subClass, superClass) { }; exports.__esModule = true; -},{"babel-runtime/core-js/object/create":7}],15:[function(require,module,exports){ +},{"babel-runtime/core-js/object/create":9}],16:[function(require,module,exports){ require('../modules/es6.object.to-string'); require('../modules/es6.string.iterator'); require('../modules/web.dom.iterable'); require('../modules/es6.map'); require('../modules/es7.map.to-json'); module.exports = require('../modules/$').core.Map; -},{"../modules/$":33,"../modules/es6.map":43,"../modules/es6.object.to-string":45,"../modules/es6.string.iterator":47,"../modules/es7.map.to-json":48,"../modules/web.dom.iterable":50}],16:[function(require,module,exports){ +},{"../modules/$":36,"../modules/es6.map":46,"../modules/es6.object.to-string":49,"../modules/es6.string.iterator":50,"../modules/es7.map.to-json":51,"../modules/web.dom.iterable":52}],17:[function(require,module,exports){ +require('../../modules/es6.object.assign'); +module.exports = require('../../modules/$').core.Object.assign; +},{"../../modules/$":36,"../../modules/es6.object.assign":47}],18:[function(require,module,exports){ var $ = require('../../modules/$'); module.exports = function create(P, D){ return $.create(P, D); }; -},{"../../modules/$":33}],17:[function(require,module,exports){ +},{"../../modules/$":36}],19:[function(require,module,exports){ var $ = require('../../modules/$'); module.exports = function defineProperty(it, key, desc){ return $.setDesc(it, key, desc); }; -},{"../../modules/$":33}],18:[function(require,module,exports){ +},{"../../modules/$":36}],20:[function(require,module,exports){ var $ = require('../../modules/$'); require('../../modules/es6.object.statics-accept-primitives'); module.exports = function getOwnPropertyDescriptor(it, key){ return $.getDesc(it, key); }; -},{"../../modules/$":33,"../../modules/es6.object.statics-accept-primitives":44}],19:[function(require,module,exports){ -require('../modules/es6.object.to-string'); -require('../modules/es6.string.iterator'); -require('../modules/web.dom.iterable'); -require('../modules/es6.set'); -require('../modules/es7.set.to-json'); -module.exports = require('../modules/$').core.Set; -},{"../modules/$":33,"../modules/es6.object.to-string":45,"../modules/es6.set":46,"../modules/es6.string.iterator":47,"../modules/es7.set.to-json":49,"../modules/web.dom.iterable":50}],20:[function(require,module,exports){ +},{"../../modules/$":36,"../../modules/es6.object.statics-accept-primitives":48}],21:[function(require,module,exports){ var $ = require('./$'); function assert(condition, msg1, msg2){ if(!condition)throw TypeError(msg2 ? msg1 + msg2 : msg1); @@ -362,7 +540,27 @@ assert.inst = function(it, Constructor, name){ return it; }; module.exports = assert; -},{"./$":33}],21:[function(require,module,exports){ +},{"./$":36}],22:[function(require,module,exports){ +var $ = require('./$') + , enumKeys = require('./$.enum-keys'); +// 19.1.2.1 Object.assign(target, source, ...) +/* eslint-disable no-unused-vars */ +module.exports = Object.assign || function assign(target, source){ +/* eslint-enable no-unused-vars */ + var T = Object($.assertDefined(target)) + , l = arguments.length + , i = 1; + while(l > i){ + var S = $.ES5Object(arguments[i++]) + , keys = enumKeys(S) + , length = keys.length + , j = 0 + , key; + while(length > j)T[key = keys[j++]] = S[key]; + } + return T; +}; +},{"./$":36,"./$.enum-keys":29}],23:[function(require,module,exports){ var $ = require('./$') , TAG = require('./$.wks')('toStringTag') , toString = {}.toString; @@ -378,7 +576,7 @@ cof.set = function(it, tag, stat){ if(it && !$.has(it = stat ? it : it.prototype, TAG))$.hide(it, TAG, tag); }; module.exports = cof; -},{"./$":33,"./$.wks":41}],22:[function(require,module,exports){ +},{"./$":36,"./$.wks":44}],24:[function(require,module,exports){ 'use strict'; var $ = require('./$') , ctx = require('./$.ctx') @@ -534,7 +732,7 @@ module.exports = { }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true); } }; -},{"./$":33,"./$.assert":20,"./$.ctx":25,"./$.for-of":27,"./$.iter":32,"./$.iter-define":31,"./$.mix":34,"./$.uid":39}],23:[function(require,module,exports){ +},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(require,module,exports){ // https://github.com/DavidBruant/Map-Set.prototype.toJSON var $def = require('./$.def') , forOf = require('./$.for-of'); @@ -547,7 +745,7 @@ module.exports = function(NAME){ } }); }; -},{"./$.def":26,"./$.for-of":27}],24:[function(require,module,exports){ +},{"./$.def":28,"./$.for-of":30}],26:[function(require,module,exports){ 'use strict'; var $ = require('./$') , $def = require('./$.def') @@ -597,7 +795,7 @@ module.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){ return C; }; -},{"./$":33,"./$.assert":20,"./$.cof":21,"./$.def":26,"./$.for-of":27,"./$.iter":32,"./$.mix":34,"./$.species":37,"./$.uid":39}],25:[function(require,module,exports){ +},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(require,module,exports){ // Optional / simple context binding var assertFunction = require('./$.assert').fn; module.exports = function(fn, that, length){ @@ -617,7 +815,7 @@ module.exports = function(fn, that, length){ return fn.apply(that, arguments); }; }; -},{"./$.assert":20}],26:[function(require,module,exports){ +},{"./$.assert":21}],28:[function(require,module,exports){ var $ = require('./$') , global = $.g , core = $.core @@ -666,7 +864,18 @@ function $def(type, name, source){ } } module.exports = $def; -},{"./$":33}],27:[function(require,module,exports){ +},{"./$":36}],29:[function(require,module,exports){ +var $ = require('./$'); +module.exports = function(it){ + var keys = $.getKeys(it) + , getDesc = $.getDesc + , getSymbols = $.getSymbols; + if(getSymbols)$.each.call(getSymbols(it), function(key){ + if(getDesc(it, key).enumerable)keys.push(key); + }); + return keys; +}; +},{"./$":36}],30:[function(require,module,exports){ var ctx = require('./$.ctx') , get = require('./$.iter').get , call = require('./$.iter-call'); @@ -680,13 +889,13 @@ module.exports = function(iterable, entries, fn, that){ } } }; -},{"./$.ctx":25,"./$.iter":32,"./$.iter-call":30}],28:[function(require,module,exports){ +},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(require,module,exports){ module.exports = function($){ $.FW = false; $.path = $.core; return $; }; -},{}],29:[function(require,module,exports){ +},{}],32:[function(require,module,exports){ // fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window var $ = require('./$') , toString = {}.toString @@ -707,7 +916,7 @@ module.exports.get = function getOwnPropertyNames(it){ if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it); return getNames($.toObject(it)); }; -},{"./$":33}],30:[function(require,module,exports){ +},{"./$":36}],33:[function(require,module,exports){ var assertObject = require('./$.assert').obj; function close(iterator){ var ret = iterator['return']; @@ -723,7 +932,7 @@ function call(iterator, fn, value, entries){ } call.close = close; module.exports = call; -},{"./$.assert":20}],31:[function(require,module,exports){ +},{"./$.assert":21}],34:[function(require,module,exports){ var $def = require('./$.def') , $redef = require('./$.redef') , $ = require('./$') @@ -774,7 +983,7 @@ module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCE) } else $def($def.P + $def.F * $iter.BUGGY, NAME, methods); } }; -},{"./$":33,"./$.cof":21,"./$.def":26,"./$.iter":32,"./$.redef":35,"./$.wks":41}],32:[function(require,module,exports){ +},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(require,module,exports){ 'use strict'; var $ = require('./$') , cof = require('./$.cof') @@ -824,7 +1033,7 @@ module.exports = { cof.set(Constructor, NAME + ' Iterator'); } }; -},{"./$":33,"./$.assert":20,"./$.cof":21,"./$.shared":36,"./$.wks":41}],33:[function(require,module,exports){ +},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(require,module,exports){ 'use strict'; var global = typeof self != 'undefined' ? self : Function('return this')() , core = {} @@ -921,22 +1130,22 @@ var $ = module.exports = require('./$.fw')({ /* eslint-disable no-undef */ if(typeof __e != 'undefined')__e = core; if(typeof __g != 'undefined')__g = global; -},{"./$.fw":28}],34:[function(require,module,exports){ +},{"./$.fw":31}],37:[function(require,module,exports){ var $redef = require('./$.redef'); module.exports = function(target, src){ for(var key in src)$redef(target, key, src[key]); return target; }; -},{"./$.redef":35}],35:[function(require,module,exports){ +},{"./$.redef":38}],38:[function(require,module,exports){ module.exports = require('./$').hide; -},{"./$":33}],36:[function(require,module,exports){ +},{"./$":36}],39:[function(require,module,exports){ var $ = require('./$') , SHARED = '__core-js_shared__' , store = $.g[SHARED] || ($.g[SHARED] = {}); module.exports = function(key){ return store[key] || (store[key] = {}); }; -},{"./$":33}],37:[function(require,module,exports){ +},{"./$":36}],40:[function(require,module,exports){ var $ = require('./$') , SPECIES = require('./$.wks')('species'); module.exports = function(C){ @@ -945,7 +1154,7 @@ module.exports = function(C){ get: $.that }); }; -},{"./$":33,"./$.wks":41}],38:[function(require,module,exports){ +},{"./$":36,"./$.wks":44}],41:[function(require,module,exports){ // true -> String#at // false -> String#codePointAt var $ = require('./$'); @@ -963,23 +1172,23 @@ module.exports = function(TO_STRING){ : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; }; }; -},{"./$":33}],39:[function(require,module,exports){ +},{"./$":36}],42:[function(require,module,exports){ var sid = 0; function uid(key){ return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++sid + Math.random()).toString(36)); } uid.safe = require('./$').g.Symbol || uid; module.exports = uid; -},{"./$":33}],40:[function(require,module,exports){ +},{"./$":36}],43:[function(require,module,exports){ module.exports = function(){ /* empty */ }; -},{}],41:[function(require,module,exports){ +},{}],44:[function(require,module,exports){ var global = require('./$').g , store = require('./$.shared')('wks'); module.exports = function(name){ return store[name] || (store[name] = global.Symbol && global.Symbol[name] || require('./$.uid').safe('Symbol.' + name)); }; -},{"./$":33,"./$.shared":36,"./$.uid":39}],42:[function(require,module,exports){ +},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(require,module,exports){ var $ = require('./$') , setUnscope = require('./$.unscope') , ITER = require('./$.uid').safe('iter') @@ -1014,7 +1223,7 @@ Iterators.Arguments = Iterators.Array; setUnscope('keys'); setUnscope('values'); setUnscope('entries'); -},{"./$":33,"./$.iter":32,"./$.iter-define":31,"./$.uid":39,"./$.unscope":40}],43:[function(require,module,exports){ +},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(require,module,exports){ 'use strict'; var strong = require('./$.collection-strong'); @@ -1032,7 +1241,11 @@ require('./$.collection')('Map', function(get){ return strong.def(this, key === 0 ? 0 : key, value); } }, strong, true); -},{"./$.collection":24,"./$.collection-strong":22}],44:[function(require,module,exports){ +},{"./$.collection":26,"./$.collection-strong":24}],47:[function(require,module,exports){ +// 19.1.3.1 Object.assign(target, source) +var $def = require('./$.def'); +$def($def.S, 'Object', {assign: require('./$.assign')}); +},{"./$.assign":22,"./$.def":28}],48:[function(require,module,exports){ var $ = require('./$') , $def = require('./$.def') , isObject = $.isObject @@ -1069,7 +1282,7 @@ $.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' + } $def($def.S + $def.F * forced, 'Object', method); }); -},{"./$":33,"./$.def":26,"./$.get-names":29}],45:[function(require,module,exports){ +},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(require,module,exports){ 'use strict'; // 19.1.3.6 Object.prototype.toString() var cof = require('./$.cof') @@ -1080,20 +1293,7 @@ if(require('./$').FW && cof(tmp) != 'z'){ return '[object ' + cof.classof(this) + ']'; }, true); } -},{"./$":33,"./$.cof":21,"./$.redef":35,"./$.wks":41}],46:[function(require,module,exports){ -'use strict'; -var strong = require('./$.collection-strong'); - -// 23.2 Set Objects -require('./$.collection')('Set', function(get){ - return function Set(){ return get(this, arguments[0]); }; -}, { - // 23.2.3.1 Set.prototype.add(value) - add: function add(value){ - return strong.def(this, value = value === 0 ? 0 : value, value); - } -}, strong); -},{"./$.collection":24,"./$.collection-strong":22}],47:[function(require,module,exports){ +},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(require,module,exports){ var set = require('./$').set , $at = require('./$.string-at')(true) , ITER = require('./$.uid').safe('iter') @@ -1114,13 +1314,10 @@ require('./$.iter-define')(String, 'String', function(iterated){ iter.i += point.length; return step(0, point); }); -},{"./$":33,"./$.iter":32,"./$.iter-define":31,"./$.string-at":38,"./$.uid":39}],48:[function(require,module,exports){ +},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(require,module,exports){ // https://github.com/DavidBruant/Map-Set.prototype.toJSON require('./$.collection-to-json')('Map'); -},{"./$.collection-to-json":23}],49:[function(require,module,exports){ -// https://github.com/DavidBruant/Map-Set.prototype.toJSON -require('./$.collection-to-json')('Set'); -},{"./$.collection-to-json":23}],50:[function(require,module,exports){ +},{"./$.collection-to-json":25}],52:[function(require,module,exports){ require('./es6.array.iterator'); var $ = require('./$') , Iterators = require('./$.iter').Iterators @@ -1135,7 +1332,7 @@ if($.FW){ if(HTC && !(ITERATOR in HTCProto))$.hide(HTCProto, ITERATOR, ArrayValues); } Iterators.NodeList = Iterators.HTMLCollection = ArrayValues; -},{"./$":33,"./$.iter":32,"./$.wks":41,"./es6.array.iterator":42}],51:[function(require,module,exports){ +},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(require,module,exports){ // Copyright Joyent, Inc. and other Node contributors. // // Permission is hereby granted, free of charge, to any person obtaining a @@ -1438,7 +1635,7 @@ function isUndefined(arg) { return arg === void 0; } -},{}],52:[function(require,module,exports){ +},{}],54:[function(require,module,exports){ 'use strict'; var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; @@ -1499,7 +1696,7 @@ inst['default'] = inst; exports['default'] = inst; module.exports = exports['default']; -},{"./handlebars/base":53,"./handlebars/exception":54,"./handlebars/no-conflict":55,"./handlebars/runtime":56,"./handlebars/safe-string":57,"./handlebars/utils":58}],53:[function(require,module,exports){ +},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(require,module,exports){ 'use strict'; var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; @@ -1773,7 +1970,7 @@ function createFrame(object) { } /* [args, ]options */ -},{"./exception":54,"./utils":58}],54:[function(require,module,exports){ +},{"./exception":56,"./utils":60}],56:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -1812,7 +2009,7 @@ Exception.prototype = new Error(); exports['default'] = Exception; module.exports = exports['default']; -},{}],55:[function(require,module,exports){ +},{}],57:[function(require,module,exports){ (function (global){ 'use strict'; @@ -1834,7 +2031,7 @@ exports['default'] = function (Handlebars) { module.exports = exports['default']; }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{}],56:[function(require,module,exports){ +},{}],58:[function(require,module,exports){ 'use strict'; var _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }; @@ -2067,7 +2264,7 @@ function initData(context, data) { } return data; } -},{"./base":53,"./exception":54,"./utils":58}],57:[function(require,module,exports){ +},{"./base":55,"./exception":56,"./utils":60}],59:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2082,7 +2279,7 @@ SafeString.prototype.toString = SafeString.prototype.toHTML = function () { exports['default'] = SafeString; module.exports = exports['default']; -},{}],58:[function(require,module,exports){ +},{}],60:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -2197,10 +2394,10 @@ function blockParams(params, ids) { function appendContextPath(contextPath, id) { return (contextPath ? contextPath + '.' : '') + id; } -},{}],59:[function(require,module,exports){ +},{}],61:[function(require,module,exports){ // Create a simple path alias to allow browserify to resolve // the runtime on a supported path. module.exports = require('./dist/cjs/handlebars.runtime')['default']; -},{"./dist/cjs/handlebars.runtime":52}]},{},[2]) +},{"./dist/cjs/handlebars.runtime":54}]},{},[2]) //# sourceMappingURL=comicbook.js.map diff --git a/dist/comicbook.js.map b/dist/comicbook.js.map index e2a508d..5be989b 100644 --- a/dist/comicbook.js.map +++ b/dist/comicbook.js.map @@ -4,30 +4,33 @@ "node_modules/browser-pack/_prelude.js", "/Users/bala/dev/HTML5-Comic-Book-Reader/app/comic-book.js", "/Users/bala/dev/HTML5-Comic-Book-Reader/app/index.js", + "/Users/bala/dev/HTML5-Comic-Book-Reader/app/view/canvas.js", "/Users/bala/dev/HTML5-Comic-Book-Reader/app/view/load-indicator.js", "/Users/bala/dev/HTML5-Comic-Book-Reader/app/view/progress-bar.js", "app/view/template/progress-bar.handlebars", "node_modules/babel-runtime/core-js/map.js", + "node_modules/babel-runtime/core-js/object/assign.js", "node_modules/babel-runtime/core-js/object/create.js", "node_modules/babel-runtime/core-js/object/define-property.js", "node_modules/babel-runtime/core-js/object/get-own-property-descriptor.js", - "node_modules/babel-runtime/core-js/set.js", "node_modules/babel-runtime/helpers/class-call-check.js", "node_modules/babel-runtime/helpers/create-class.js", "node_modules/babel-runtime/helpers/get.js", "node_modules/babel-runtime/helpers/inherits.js", "node_modules/core-js/library/fn/map.js", + "node_modules/core-js/library/fn/object/assign.js", "node_modules/core-js/library/fn/object/create.js", "node_modules/core-js/library/fn/object/define-property.js", "node_modules/core-js/library/fn/object/get-own-property-descriptor.js", - "node_modules/core-js/library/fn/set.js", "node_modules/core-js/library/modules/$.assert.js", + "node_modules/core-js/library/modules/$.assign.js", "node_modules/core-js/library/modules/$.cof.js", "node_modules/core-js/library/modules/$.collection-strong.js", "node_modules/core-js/library/modules/$.collection-to-json.js", "node_modules/core-js/library/modules/$.collection.js", "node_modules/core-js/library/modules/$.ctx.js", "node_modules/core-js/library/modules/$.def.js", + "node_modules/core-js/library/modules/$.enum-keys.js", "node_modules/core-js/library/modules/$.for-of.js", "node_modules/core-js/library/modules/$.fw.js", "node_modules/core-js/library/modules/$.get-names.js", @@ -45,12 +48,11 @@ "node_modules/core-js/library/modules/$.wks.js", "node_modules/core-js/library/modules/es6.array.iterator.js", "node_modules/core-js/library/modules/es6.map.js", + "node_modules/core-js/library/modules/es6.object.assign.js", "node_modules/core-js/library/modules/es6.object.statics-accept-primitives.js", "node_modules/core-js/library/modules/es6.object.to-string.js", - "node_modules/core-js/library/modules/es6.set.js", "node_modules/core-js/library/modules/es6.string.iterator.js", "node_modules/core-js/library/modules/es7.map.to-json.js", - "node_modules/core-js/library/modules/es7.set.to-json.js", "node_modules/core-js/library/modules/web.dom.iterable.js", "node_modules/events/events.js", "node_modules/handlebars/dist/cjs/handlebars.runtime.js", @@ -63,37 +65,40 @@ "node_modules/handlebars/runtime.js" ], "names": [], - "mappings": "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I,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA;KAC/B;;;SAvBG,WAAW;;;AA0BjB,MAAM,CAAC,OAAO,GAAG,WAAW,CAAA;;;AC5B5B;AACA;AACA;;ACFA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", + "mappings": "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AAA;;;AC5B5B;AACA;AACA;;ACFA;;ACAA;;ACAA;;ACAA;;ACAA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpBA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;;ACDA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;;ACHA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC1JA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AClBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACZA;AACA;AACA;AACA;AACA;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC/FA;AACA;AACA;AACA;AACA;;ACJA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;AACA;AACA;AACA;;ACLA;;ACAA;AACA;AACA;AACA;AACA;AACA;;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChBA;AACA;AACA;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACTA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACnBA;AACA;;ACDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC7SA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AChRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACjHA;AACA;AACA;AACA", "file": "generated.js", "sourceRoot": "", "sourcesContent": [ "(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage\n\n function setImage () {\n self.pages.set(pageIndex, this)\n self.emit('preload:image', this)\n\n if (self.pages.size === self.srcs.size) {\n self.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.size) * 100)\n this.progressBar.update(percentage)\n }\n}\n\nmodule.exports = ComicBook\n\n", + "let EventEmitter = require('events').EventEmitter\nlet Canvas = require('./view/canvas')\nlet LoadIndicator = require('./view/load-indicator')\nlet ProgressBar = require('./view/progress-bar')\n\nclass ComicBook extends EventEmitter {\n\n constructor (srcs = []) {\n super()\n\n // requested image srcs\n this.srcs = srcs\n\n // loaded image objects\n this.pages = new Map()\n\n this.currentPageIndex = 0\n this.preloadBuffer = 4\n\n this.canvas = new Canvas()\n this.loadIndicator = new LoadIndicator()\n this.progressBar = new ProgressBar()\n\n this.addEventListeners()\n }\n\n addEventListeners () {\n this.on('preload:start', this.loadIndicator.show.bind(this.loadIndicator))\n this.on('preload:start', this.progressBar.show.bind(this.progressBar))\n this.on('preload:image', this.updateProgressBar.bind(this))\n this.on('preload:ready', this.loadIndicator.hide.bind(this.loadIndicator))\n this.on('preload:ready', this.drawPage.bind(this))\n this.on('preload:finish', this.progressBar.hide.bind(this.progressBar))\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.appendChild(this.canvas.canvas)\n this.el.appendChild(this.progressBar.el)\n this.el.appendChild(this.loadIndicator.el)\n return this\n }\n\n preload () {\n this.emit('preload:start')\n\n this.srcs.forEach((src, pageIndex) => {\n let image = new window.Image()\n\n image.src = src\n image.onload = setImage.bind(this, image, pageIndex)\n\n function setImage (image, index) {\n this.pages.set(index, image)\n this.emit('preload:image', image)\n\n if (this.pages.size === this.preloadBuffer) {\n this.emit('preload:ready')\n }\n\n if (this.pages.size === this.srcs.length) {\n this.emit('preload:finish')\n }\n }\n })\n }\n\n updateProgressBar () {\n let percentage = Math.floor((this.pages.size / this.srcs.length) * 100)\n this.progressBar.update(percentage)\n }\n\n drawPage () {\n let page = this.pages.get(this.currentPageIndex)\n this.canvas.drawImage(page)\n }\n}\n\nmodule.exports = ComicBook\n\n", "let ComicBook = window.ComicBook = require('./comic-book')\nlet comic = new ComicBook([\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_00.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_02.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_03.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_04.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_05.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_06.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_07.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_08.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_09.jpg',\n 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_10.jpg'\n])\n\ndocument.addEventListener('DOMContentLoaded', () => {\n document.body.appendChild(comic.render().el)\n comic.preload()\n}, false)\n\n", + "let EventEmitter = require('events').EventEmitter\n\n// TODO replace\nfunction windowWidth () {\n return window.innerWidth\n}\n\nclass Canvas extends EventEmitter {\n\n constructor (options) {\n super()\n\n this.options = Object.assign({\n // fitWidth, fitWindow, manua\n zoomMode: 'fitWidth',\n // ltr, rtl\n readDirection: 'ltr',\n // should two pages be rendered at a time?\n doublePage: false\n }, options)\n\n this.canvas = document.createElement('canvas')\n this.context = this.canvas.getContext('2d')\n }\n\n drawImage (page, page2) {\n this.emit('draw:start')\n\n if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n let zoomScale\n let offsetW = 0\n let offsetH = 0\n let width = page.width\n let height = page.height\n let doublePageMode = this.options.doublePage\n let canvasWidth\n let canvasHeight\n let pageWidth\n let pageHeight\n\n // reset the canvas to stop duplicate pages showing\n this.canvas.width = 0\n this.canvas.height = 0\n\n // show double page spreads on a single page\n let isDoublePageSpread = (\n page2 &&\n (page.width > page.height || page2.width > page2.height) &&\n doublePageMode\n )\n\n if (isDoublePageSpread) doublePageMode = false\n\n if (doublePageMode) {\n\n // for double page spreads, factor in the width of both pages\n if (typeof page2 === 'object') {\n width += page2.width\n // if this is the last page and there is no page2, still keep the canvas wide\n } else {\n width += width\n }\n }\n\n // update the page this.scale if a non manual mode has been chosen\n switch (this.options.zoomMode) {\n\n case 'manual':\n document.body.style.overflowX = 'auto'\n zoomScale = (doublePageMode) ? this.scale * 2 : this.scale\n break\n\n case 'fitWidth':\n document.body.style.overflowX = 'hidden'\n\n // this.scale up if the window is wider than the page, scale down if the window\n // is narrower than the page\n zoomScale = (windowWidth() > width) ? ((windowWidth() - width) / windowWidth()) + 1 : windowWidth() / width\n this.scale = zoomScale\n break\n\n case 'fitWindow':\n document.body.style.overflowX = 'hidden'\n\n let widthScale = (windowWidth() > width)\n ? ((windowWidth() - width) / windowWidth()) + 1 // scale up if the window is wider than the page\n : windowWidth() / width // scale down if the window is narrower than the page\n let windowHeight = window.innerHeight\n let heightScale = (windowHeight > height)\n ? ((windowHeight - height) / windowHeight) + 1 // scale up if the window is wider than the page\n : windowHeight / height // scale down if the window is narrower than the page\n\n zoomScale = (widthScale > heightScale) ? heightScale : widthScale\n this.scale = zoomScale\n break\n }\n\n canvasWidth = page.width * zoomScale\n canvasHeight = page.height * zoomScale\n\n pageWidth = (this.options.zoomMode === 'manual') ? page.width * this.scale : canvasWidth\n pageHeight = (this.options.zoomMode === 'manual') ? page.height * this.scale : canvasHeight\n\n canvasHeight = pageHeight\n\n // make sure the canvas is always at least full screen, even if the page is narrower than the screen\n this.canvas.width = (canvasWidth < windowWidth()) ? windowWidth() : canvasWidth\n this.canvas.height = (canvasHeight < window.innerHeight) ? window.innerHeight : canvasHeight\n\n // always keep pages centered\n if (this.options.zoomMode === 'manual' || this.options.zoomMode === 'fitWindow') {\n\n // work out a horizontal position\n if (canvasWidth < windowWidth()) {\n offsetW = (windowWidth() - pageWidth) / 2\n if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 }\n }\n\n // work out a vertical position\n if (canvasHeight < window.innerHeight) {\n offsetH = (window.innerHeight - pageHeight) / 2\n }\n }\n\n // in manga double page mode reverse the page(s)\n if (this.options.manga && this.options.doublePage && typeof page2 === 'object') {\n let tmpPage = page\n let tmpPage2 = page2\n page = tmpPage2\n page2 = tmpPage\n }\n\n // draw the page(s)\n this.context.drawImage(page, offsetW, offsetH, pageWidth, pageHeight)\n if (this.options.doublePage && typeof page2 === 'object') {\n this.context.drawImage(page2, pageWidth + offsetW, offsetH, pageWidth, pageHeight)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\n", "let EventEmitter = require('events').EventEmitter\n\nclass LoadIndicator extends EventEmitter {\n constructor () {\n super()\n this.render().hide()\n }\n\n render () {\n this.el = document.createElement('div')\n this.el.id = 'cb-loading-overlay'\n return this\n }\n\n show () {\n this.el.style.display = 'block'\n this.emit('show', this)\n }\n\n hide () {\n this.el.style.display = 'none'\n this.emit('hide', this)\n }\n}\n\nmodule.exports = LoadIndicator\n\n", "let template = require('./template/progress-bar.handlebars')\n\nclass ProgressBar {\n constructor () {\n this.createElements()\n this.hide()\n }\n\n createElements () {\n let el = document.createElement('div')\n el.innerHTML = template()\n this.el = el.firstChild\n this.progressEl = this.el.querySelector('.progressbar-value')\n }\n\n update (percentage) {\n this.progressEl.style.width = `${percentage}%`\n }\n\n show () {\n this.el.style.display = 'block'\n }\n\n hide () {\n this.el.style.display = 'none'\n }\n}\n\nmodule.exports = ProgressBar\n", "var templater = require(\"handlebars/runtime\")[\"default\"].template;module.exports = templater({\"compiler\":[6,\">= 2.0.0-beta.1\"],\"main\":function(depth0,helpers,partials,data) {\n return \"
\\n\t
\\n\t\t
\\n\t
\\n
\\n\";\n},\"useData\":true});", "module.exports = { \"default\": require(\"core-js/library/fn/map\"), __esModule: true };", + "module.exports = { \"default\": require(\"core-js/library/fn/object/assign\"), __esModule: true };", "module.exports = { \"default\": require(\"core-js/library/fn/object/create\"), __esModule: true };", "module.exports = { \"default\": require(\"core-js/library/fn/object/define-property\"), __esModule: true };", "module.exports = { \"default\": require(\"core-js/library/fn/object/get-own-property-descriptor\"), __esModule: true };", - "module.exports = { \"default\": require(\"core-js/library/fn/set\"), __esModule: true };", "\"use strict\";\n\nexports[\"default\"] = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nexports.__esModule = true;", "\"use strict\";\n\nvar _Object$defineProperty = require(\"babel-runtime/core-js/object/define-property\")[\"default\"];\n\nexports[\"default\"] = (function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n\n _Object$defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n})();\n\nexports.__esModule = true;", "\"use strict\";\n\nvar _Object$getOwnPropertyDescriptor = require(\"babel-runtime/core-js/object/get-own-property-descriptor\")[\"default\"];\n\nexports[\"default\"] = function get(_x, _x2, _x3) {\n var _again = true;\n\n _function: while (_again) {\n var object = _x,\n property = _x2,\n receiver = _x3;\n desc = parent = getter = undefined;\n _again = false;\n if (object === null) object = Function.prototype;\n\n var desc = _Object$getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n _x = parent;\n _x2 = property;\n _x3 = receiver;\n _again = true;\n continue _function;\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n }\n};\n\nexports.__esModule = true;", "\"use strict\";\n\nvar _Object$create = require(\"babel-runtime/core-js/object/create\")[\"default\"];\n\nexports[\"default\"] = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = _Object$create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) subClass.__proto__ = superClass;\n};\n\nexports.__esModule = true;", "require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.map');\nrequire('../modules/es7.map.to-json');\nmodule.exports = require('../modules/$').core.Map;", + "require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/$').core.Object.assign;", "var $ = require('../../modules/$');\nmodule.exports = function create(P, D){\n return $.create(P, D);\n};", "var $ = require('../../modules/$');\nmodule.exports = function defineProperty(it, key, desc){\n return $.setDesc(it, key, desc);\n};", "var $ = require('../../modules/$');\nrequire('../../modules/es6.object.statics-accept-primitives');\nmodule.exports = function getOwnPropertyDescriptor(it, key){\n return $.getDesc(it, key);\n};", - "require('../modules/es6.object.to-string');\nrequire('../modules/es6.string.iterator');\nrequire('../modules/web.dom.iterable');\nrequire('../modules/es6.set');\nrequire('../modules/es7.set.to-json');\nmodule.exports = require('../modules/$').core.Set;", "var $ = require('./$');\nfunction assert(condition, msg1, msg2){\n if(!condition)throw TypeError(msg2 ? msg1 + msg2 : msg1);\n}\nassert.def = $.assertDefined;\nassert.fn = function(it){\n if(!$.isFunction(it))throw TypeError(it + ' is not a function!');\n return it;\n};\nassert.obj = function(it){\n if(!$.isObject(it))throw TypeError(it + ' is not an object!');\n return it;\n};\nassert.inst = function(it, Constructor, name){\n if(!(it instanceof Constructor))throw TypeError(name + \": use the 'new' operator!\");\n return it;\n};\nmodule.exports = assert;", + "var $ = require('./$')\n , enumKeys = require('./$.enum-keys');\n// 19.1.2.1 Object.assign(target, source, ...)\n/* eslint-disable no-unused-vars */\nmodule.exports = Object.assign || function assign(target, source){\n/* eslint-enable no-unused-vars */\n var T = Object($.assertDefined(target))\n , l = arguments.length\n , i = 1;\n while(l > i){\n var S = $.ES5Object(arguments[i++])\n , keys = enumKeys(S)\n , length = keys.length\n , j = 0\n , key;\n while(length > j)T[key = keys[j++]] = S[key];\n }\n return T;\n};", "var $ = require('./$')\n , TAG = require('./$.wks')('toStringTag')\n , toString = {}.toString;\nfunction cof(it){\n return toString.call(it).slice(8, -1);\n}\ncof.classof = function(it){\n var O, T;\n return it == undefined ? it === undefined ? 'Undefined' : 'Null'\n : typeof (T = (O = Object(it))[TAG]) == 'string' ? T : cof(O);\n};\ncof.set = function(it, tag, stat){\n if(it && !$.has(it = stat ? it : it.prototype, TAG))$.hide(it, TAG, tag);\n};\nmodule.exports = cof;", "'use strict';\nvar $ = require('./$')\n , ctx = require('./$.ctx')\n , safe = require('./$.uid').safe\n , assert = require('./$.assert')\n , forOf = require('./$.for-of')\n , step = require('./$.iter').step\n , $has = $.has\n , set = $.set\n , isObject = $.isObject\n , hide = $.hide\n , isExtensible = Object.isExtensible || isObject\n , ID = safe('id')\n , O1 = safe('O1')\n , LAST = safe('last')\n , FIRST = safe('first')\n , ITER = safe('iter')\n , SIZE = $.DESC ? safe('size') : 'size'\n , id = 0;\n\nfunction fastKey(it, create){\n // return primitive with prefix\n if(!isObject(it))return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if(!$has(it, ID)){\n // can't set id to frozen object\n if(!isExtensible(it))return 'F';\n // not necessary to add id\n if(!create)return 'E';\n // add missing object id\n hide(it, ID, ++id);\n // return object id with prefix\n } return 'O' + it[ID];\n}\n\nfunction getEntry(that, key){\n // fast case\n var index = fastKey(key), entry;\n if(index !== 'F')return that[O1][index];\n // frozen object case\n for(entry = that[FIRST]; entry; entry = entry.n){\n if(entry.k == key)return entry;\n }\n}\n\nmodule.exports = {\n getConstructor: function(wrapper, NAME, IS_MAP, ADDER){\n var C = wrapper(function(that, iterable){\n assert.inst(that, C, NAME);\n set(that, O1, $.create(null));\n set(that, SIZE, 0);\n set(that, LAST, undefined);\n set(that, FIRST, undefined);\n if(iterable != undefined)forOf(iterable, IS_MAP, that[ADDER], that);\n });\n require('./$.mix')(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear(){\n for(var that = this, data = that[O1], entry = that[FIRST]; entry; entry = entry.n){\n entry.r = true;\n if(entry.p)entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that[FIRST] = that[LAST] = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function(key){\n var that = this\n , entry = getEntry(that, key);\n if(entry){\n var next = entry.n\n , prev = entry.p;\n delete that[O1][entry.i];\n entry.r = true;\n if(prev)prev.n = next;\n if(next)next.p = prev;\n if(that[FIRST] == entry)that[FIRST] = next;\n if(that[LAST] == entry)that[LAST] = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /*, that = undefined */){\n var f = ctx(callbackfn, arguments[1], 3)\n , entry;\n while(entry = entry ? entry.n : this[FIRST]){\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key){\n return !!getEntry(this, key);\n }\n });\n if($.DESC)$.setDesc(C.prototype, 'size', {\n get: function(){\n return assert.def(this[SIZE]);\n }\n });\n return C;\n },\n def: function(that, key, value){\n var entry = getEntry(that, key)\n , prev, index;\n // change existing entry\n if(entry){\n entry.v = value;\n // create new entry\n } else {\n that[LAST] = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that[LAST], // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if(!that[FIRST])that[FIRST] = entry;\n if(prev)prev.n = entry;\n that[SIZE]++;\n // add to index\n if(index !== 'F')that[O1][index] = entry;\n } return that;\n },\n getEntry: getEntry,\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n setIter: function(C, NAME, IS_MAP){\n require('./$.iter-define')(C, NAME, function(iterated, kind){\n set(this, ITER, {o: iterated, k: kind});\n }, function(){\n var iter = this[ITER]\n , kind = iter.k\n , entry = iter.l;\n // revert to the last existing entry\n while(entry && entry.r)entry = entry.p;\n // get next entry\n if(!iter.o || !(iter.l = entry = entry ? entry.n : iter.o[FIRST])){\n // or finish the iteration\n iter.o = undefined;\n return step(1);\n }\n // return step by kind\n if(kind == 'keys' )return step(0, entry.k);\n if(kind == 'values')return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values' , !IS_MAP, true);\n }\n};", "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nvar $def = require('./$.def')\n , forOf = require('./$.for-of');\nmodule.exports = function(NAME){\n $def($def.P, NAME, {\n toJSON: function toJSON(){\n var arr = [];\n forOf(this, false, arr.push, arr);\n return arr;\n }\n });\n};", "'use strict';\nvar $ = require('./$')\n , $def = require('./$.def')\n , $iter = require('./$.iter')\n , BUGGY = $iter.BUGGY\n , forOf = require('./$.for-of')\n , assertInstance = require('./$.assert').inst\n , INTERNAL = require('./$.uid').safe('internal');\n\nmodule.exports = function(NAME, wrapper, methods, common, IS_MAP, IS_WEAK){\n var Base = $.g[NAME]\n , C = Base\n , ADDER = IS_MAP ? 'set' : 'add'\n , proto = C && C.prototype\n , O = {};\n if(!$.DESC || !$.isFunction(C) || !(IS_WEAK || !BUGGY && proto.forEach && proto.entries)){\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n require('./$.mix')(C.prototype, methods);\n } else {\n C = wrapper(function(target, iterable){\n assertInstance(target, C, NAME);\n target[INTERNAL] = new Base;\n if(iterable != undefined)forOf(iterable, IS_MAP, target[ADDER], target);\n });\n $.each.call('add,clear,delete,forEach,get,has,set,keys,values,entries'.split(','),function(KEY){\n var chain = KEY == 'add' || KEY == 'set';\n if(KEY in proto)$.hide(C.prototype, KEY, function(a, b){\n var result = this[INTERNAL][KEY](a === 0 ? 0 : a, b);\n return chain ? this : result;\n });\n });\n if('size' in proto)$.setDesc(C.prototype, 'size', {\n get: function(){\n return this[INTERNAL].size;\n }\n });\n }\n\n require('./$.cof').set(C, NAME);\n\n O[NAME] = C;\n $def($def.G + $def.W + $def.F, O);\n require('./$.species')(C);\n\n if(!IS_WEAK)common.setIter(C, NAME, IS_MAP);\n\n return C;\n};", "// Optional / simple context binding\nvar assertFunction = require('./$.assert').fn;\nmodule.exports = function(fn, that, length){\n assertFunction(fn);\n if(~length && that === undefined)return fn;\n switch(length){\n case 1: return function(a){\n return fn.call(that, a);\n };\n case 2: return function(a, b){\n return fn.call(that, a, b);\n };\n case 3: return function(a, b, c){\n return fn.call(that, a, b, c);\n };\n } return function(/* ...args */){\n return fn.apply(that, arguments);\n };\n};", "var $ = require('./$')\n , global = $.g\n , core = $.core\n , isFunction = $.isFunction;\nfunction ctx(fn, that){\n return function(){\n return fn.apply(that, arguments);\n };\n}\n// type bitmap\n$def.F = 1; // forced\n$def.G = 2; // global\n$def.S = 4; // static\n$def.P = 8; // proto\n$def.B = 16; // bind\n$def.W = 32; // wrap\nfunction $def(type, name, source){\n var key, own, out, exp\n , isGlobal = type & $def.G\n , isProto = type & $def.P\n , target = isGlobal ? global : type & $def.S\n ? global[name] : (global[name] || {}).prototype\n , exports = isGlobal ? core : core[name] || (core[name] = {});\n if(isGlobal)source = name;\n for(key in source){\n // contains in native\n own = !(type & $def.F) && target && key in target;\n if(own && key in exports)continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n if(isGlobal && !isFunction(target[key]))exp = source[key];\n // bind timers to global for call from export context\n else if(type & $def.B && own)exp = ctx(out, global);\n // wrap global constructors for prevent change them in library\n else if(type & $def.W && target[key] == out)!function(C){\n exp = function(param){\n return this instanceof C ? new C(param) : C(param);\n };\n exp.prototype = C.prototype;\n }(out);\n else exp = isProto && isFunction(out) ? ctx(Function.call, out) : out;\n // export\n exports[key] = exp;\n if(isProto)(exports.prototype || (exports.prototype = {}))[key] = out;\n }\n}\nmodule.exports = $def;", + "var $ = require('./$');\nmodule.exports = function(it){\n var keys = $.getKeys(it)\n , getDesc = $.getDesc\n , getSymbols = $.getSymbols;\n if(getSymbols)$.each.call(getSymbols(it), function(key){\n if(getDesc(it, key).enumerable)keys.push(key);\n });\n return keys;\n};", "var ctx = require('./$.ctx')\n , get = require('./$.iter').get\n , call = require('./$.iter-call');\nmodule.exports = function(iterable, entries, fn, that){\n var iterator = get(iterable)\n , f = ctx(fn, that, entries ? 2 : 1)\n , step;\n while(!(step = iterator.next()).done){\n if(call(iterator, f, step.value, entries) === false){\n return call.close(iterator);\n }\n }\n};", "module.exports = function($){\n $.FW = false;\n $.path = $.core;\n return $;\n};", "// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\r\nvar $ = require('./$')\r\n , toString = {}.toString\r\n , getNames = $.getNames;\r\n\r\nvar windowNames = typeof window == 'object' && Object.getOwnPropertyNames\r\n ? Object.getOwnPropertyNames(window) : [];\r\n\r\nfunction getWindowNames(it){\r\n try {\r\n return getNames(it);\r\n } catch(e){\r\n return windowNames.slice();\r\n }\r\n}\r\n\r\nmodule.exports.get = function getOwnPropertyNames(it){\r\n if(windowNames && toString.call(it) == '[object Window]')return getWindowNames(it);\r\n return getNames($.toObject(it));\r\n};", @@ -111,12 +116,11 @@ "var global = require('./$').g\n , store = require('./$.shared')('wks');\nmodule.exports = function(name){\n return store[name] || (store[name] =\n global.Symbol && global.Symbol[name] || require('./$.uid').safe('Symbol.' + name));\n};", "var $ = require('./$')\n , setUnscope = require('./$.unscope')\n , ITER = require('./$.uid').safe('iter')\n , $iter = require('./$.iter')\n , step = $iter.step\n , Iterators = $iter.Iterators;\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nrequire('./$.iter-define')(Array, 'Array', function(iterated, kind){\n $.set(this, ITER, {o: $.toObject(iterated), i: 0, k: kind});\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function(){\n var iter = this[ITER]\n , O = iter.o\n , kind = iter.k\n , index = iter.i++;\n if(!O || index >= O.length){\n iter.o = undefined;\n return step(1);\n }\n if(kind == 'keys' )return step(0, index);\n if(kind == 'values')return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\nsetUnscope('keys');\nsetUnscope('values');\nsetUnscope('entries');", "'use strict';\nvar strong = require('./$.collection-strong');\n\n// 23.1 Map Objects\nrequire('./$.collection')('Map', function(get){\n return function Map(){ return get(this, arguments[0]); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key){\n var entry = strong.getEntry(this, key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value){\n return strong.def(this, key === 0 ? 0 : key, value);\n }\n}, strong, true);", + "// 19.1.3.1 Object.assign(target, source)\nvar $def = require('./$.def');\n$def($def.S, 'Object', {assign: require('./$.assign')});", "var $ = require('./$')\n , $def = require('./$.def')\n , isObject = $.isObject\n , toObject = $.toObject;\n$.each.call(('freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,' +\n 'getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames').split(',')\n, function(KEY, ID){\n var fn = ($.core.Object || {})[KEY] || Object[KEY]\n , forced = 0\n , method = {};\n method[KEY] = ID == 0 ? function freeze(it){\n return isObject(it) ? fn(it) : it;\n } : ID == 1 ? function seal(it){\n return isObject(it) ? fn(it) : it;\n } : ID == 2 ? function preventExtensions(it){\n return isObject(it) ? fn(it) : it;\n } : ID == 3 ? function isFrozen(it){\n return isObject(it) ? fn(it) : true;\n } : ID == 4 ? function isSealed(it){\n return isObject(it) ? fn(it) : true;\n } : ID == 5 ? function isExtensible(it){\n return isObject(it) ? fn(it) : false;\n } : ID == 6 ? function getOwnPropertyDescriptor(it, key){\n return fn(toObject(it), key);\n } : ID == 7 ? function getPrototypeOf(it){\n return fn(Object($.assertDefined(it)));\n } : ID == 8 ? function keys(it){\n return fn(toObject(it));\n } : require('./$.get-names').get;\n try {\n fn('z');\n } catch(e){\n forced = 1;\n }\n $def($def.S + $def.F * forced, 'Object', method);\n});", "'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar cof = require('./$.cof')\n , tmp = {};\ntmp[require('./$.wks')('toStringTag')] = 'z';\nif(require('./$').FW && cof(tmp) != 'z'){\n require('./$.redef')(Object.prototype, 'toString', function toString(){\n return '[object ' + cof.classof(this) + ']';\n }, true);\n}", - "'use strict';\nvar strong = require('./$.collection-strong');\n\n// 23.2 Set Objects\nrequire('./$.collection')('Set', function(get){\n return function Set(){ return get(this, arguments[0]); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value){\n return strong.def(this, value = value === 0 ? 0 : value, value);\n }\n}, strong);", "var set = require('./$').set\n , $at = require('./$.string-at')(true)\n , ITER = require('./$.uid').safe('iter')\n , $iter = require('./$.iter')\n , step = $iter.step;\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./$.iter-define')(String, 'String', function(iterated){\n set(this, ITER, {o: String(iterated), i: 0});\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function(){\n var iter = this[ITER]\n , O = iter.o\n , index = iter.i\n , point;\n if(index >= O.length)return step(1);\n point = $at(O, index);\n iter.i += point.length;\n return step(0, point);\n});", "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nrequire('./$.collection-to-json')('Map');", - "// https://github.com/DavidBruant/Map-Set.prototype.toJSON\nrequire('./$.collection-to-json')('Set');", "require('./es6.array.iterator');\nvar $ = require('./$')\n , Iterators = require('./$.iter').Iterators\n , ITERATOR = require('./$.wks')('iterator')\n , ArrayValues = Iterators.Array\n , NL = $.g.NodeList\n , HTC = $.g.HTMLCollection\n , NLProto = NL && NL.prototype\n , HTCProto = HTC && HTC.prototype;\nif($.FW){\n if(NL && !(ITERATOR in NLProto))$.hide(NLProto, ITERATOR, ArrayValues);\n if(HTC && !(ITERATOR in HTCProto))$.hide(HTCProto, ITERATOR, ArrayValues);\n}\nIterators.NodeList = Iterators.HTMLCollection = ArrayValues;", "// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nfunction EventEmitter() {\n this._events = this._events || {};\n this._maxListeners = this._maxListeners || undefined;\n}\nmodule.exports = EventEmitter;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nEventEmitter.defaultMaxListeners = 10;\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function(n) {\n if (!isNumber(n) || n < 0 || isNaN(n))\n throw TypeError('n must be a positive number');\n this._maxListeners = n;\n return this;\n};\n\nEventEmitter.prototype.emit = function(type) {\n var er, handler, len, args, i, listeners;\n\n if (!this._events)\n this._events = {};\n\n // If there is no 'error' event listener then throw.\n if (type === 'error') {\n if (!this._events.error ||\n (isObject(this._events.error) && !this._events.error.length)) {\n er = arguments[1];\n if (er instanceof Error) {\n throw er; // Unhandled 'error' event\n }\n throw TypeError('Uncaught, unspecified \"error\" event.');\n }\n }\n\n handler = this._events[type];\n\n if (isUndefined(handler))\n return false;\n\n if (isFunction(handler)) {\n switch (arguments.length) {\n // fast cases\n case 1:\n handler.call(this);\n break;\n case 2:\n handler.call(this, arguments[1]);\n break;\n case 3:\n handler.call(this, arguments[1], arguments[2]);\n break;\n // slower\n default:\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n handler.apply(this, args);\n }\n } else if (isObject(handler)) {\n len = arguments.length;\n args = new Array(len - 1);\n for (i = 1; i < len; i++)\n args[i - 1] = arguments[i];\n\n listeners = handler.slice();\n len = listeners.length;\n for (i = 0; i < len; i++)\n listeners[i].apply(this, args);\n }\n\n return true;\n};\n\nEventEmitter.prototype.addListener = function(type, listener) {\n var m;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events)\n this._events = {};\n\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (this._events.newListener)\n this.emit('newListener', type,\n isFunction(listener.listener) ?\n listener.listener : listener);\n\n if (!this._events[type])\n // Optimize the case of one listener. Don't need the extra array object.\n this._events[type] = listener;\n else if (isObject(this._events[type]))\n // If we've already got an array, just append.\n this._events[type].push(listener);\n else\n // Adding the second element, need to change to array.\n this._events[type] = [this._events[type], listener];\n\n // Check for listener leak\n if (isObject(this._events[type]) && !this._events[type].warned) {\n var m;\n if (!isUndefined(this._maxListeners)) {\n m = this._maxListeners;\n } else {\n m = EventEmitter.defaultMaxListeners;\n }\n\n if (m && m > 0 && this._events[type].length > m) {\n this._events[type].warned = true;\n console.error('(node) warning: possible EventEmitter memory ' +\n 'leak detected. %d listeners added. ' +\n 'Use emitter.setMaxListeners() to increase limit.',\n this._events[type].length);\n if (typeof console.trace === 'function') {\n // not supported in IE 10\n console.trace();\n }\n }\n }\n\n return this;\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.once = function(type, listener) {\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n var fired = false;\n\n function g() {\n this.removeListener(type, g);\n\n if (!fired) {\n fired = true;\n listener.apply(this, arguments);\n }\n }\n\n g.listener = listener;\n this.on(type, g);\n\n return this;\n};\n\n// emits a 'removeListener' event iff the listener was removed\nEventEmitter.prototype.removeListener = function(type, listener) {\n var list, position, length, i;\n\n if (!isFunction(listener))\n throw TypeError('listener must be a function');\n\n if (!this._events || !this._events[type])\n return this;\n\n list = this._events[type];\n length = list.length;\n position = -1;\n\n if (list === listener ||\n (isFunction(list.listener) && list.listener === listener)) {\n delete this._events[type];\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n\n } else if (isObject(list)) {\n for (i = length; i-- > 0;) {\n if (list[i] === listener ||\n (list[i].listener && list[i].listener === listener)) {\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (list.length === 1) {\n list.length = 0;\n delete this._events[type];\n } else {\n list.splice(position, 1);\n }\n\n if (this._events.removeListener)\n this.emit('removeListener', type, listener);\n }\n\n return this;\n};\n\nEventEmitter.prototype.removeAllListeners = function(type) {\n var key, listeners;\n\n if (!this._events)\n return this;\n\n // not listening for removeListener, no need to emit\n if (!this._events.removeListener) {\n if (arguments.length === 0)\n this._events = {};\n else if (this._events[type])\n delete this._events[type];\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n for (key in this._events) {\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = {};\n return this;\n }\n\n listeners = this._events[type];\n\n if (isFunction(listeners)) {\n this.removeListener(type, listeners);\n } else {\n // LIFO order\n while (listeners.length)\n this.removeListener(type, listeners[listeners.length - 1]);\n }\n delete this._events[type];\n\n return this;\n};\n\nEventEmitter.prototype.listeners = function(type) {\n var ret;\n if (!this._events || !this._events[type])\n ret = [];\n else if (isFunction(this._events[type]))\n ret = [this._events[type]];\n else\n ret = this._events[type].slice();\n return ret;\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n var ret;\n if (!emitter._events || !emitter._events[type])\n ret = 0;\n else if (isFunction(emitter._events[type]))\n ret = 1;\n else\n ret = emitter._events[type].length;\n return ret;\n};\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\n", "'use strict';\n\nvar _interopRequireWildcard = function (obj) { return obj && obj.__esModule ? obj : { 'default': obj }; };\n\nexports.__esModule = true;\n\nvar _import = require('./handlebars/base');\n\nvar base = _interopRequireWildcard(_import);\n\n// Each of these augment the Handlebars object. No need to setup here.\n// (This is done to easily share code between commonjs and browse envs)\n\nvar _SafeString = require('./handlebars/safe-string');\n\nvar _SafeString2 = _interopRequireWildcard(_SafeString);\n\nvar _Exception = require('./handlebars/exception');\n\nvar _Exception2 = _interopRequireWildcard(_Exception);\n\nvar _import2 = require('./handlebars/utils');\n\nvar Utils = _interopRequireWildcard(_import2);\n\nvar _import3 = require('./handlebars/runtime');\n\nvar runtime = _interopRequireWildcard(_import3);\n\nvar _noConflict = require('./handlebars/no-conflict');\n\nvar _noConflict2 = _interopRequireWildcard(_noConflict);\n\n// For compatibility and usage outside of module systems, make the Handlebars object a namespace\nfunction create() {\n var hb = new base.HandlebarsEnvironment();\n\n Utils.extend(hb, base);\n hb.SafeString = _SafeString2['default'];\n hb.Exception = _Exception2['default'];\n hb.Utils = Utils;\n hb.escapeExpression = Utils.escapeExpression;\n\n hb.VM = runtime;\n hb.template = function (spec) {\n return runtime.template(spec, hb);\n };\n\n return hb;\n}\n\nvar inst = create();\ninst.create = create;\n\n_noConflict2['default'](inst);\n\ninst['default'] = inst;\n\nexports['default'] = inst;\nmodule.exports = exports['default'];", diff --git a/dist/comicbook.min.css b/dist/comicbook.min.css index 0065e38..55041af 100644 --- a/dist/comicbook.min.css +++ b/dist/comicbook.min.css @@ -1 +1 @@ -@font-face{font-family:'toolbar';src:url('fonts/toolbar.eot');src:url('fonts/toolbar.eot?#iefix') format('embedded-opentype'),url('fonts/toolbar.woff') format('woff'),url('fonts/toolbar.ttf') format('truetype'),url('fonts/toolbar.svg#toolbar') format('svg');font-weight:normal;font-style:normal}[data-icon]:before{font-family:'toolbar';content:attr(data-icon);speak:none;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.icon-file,.icon-image,.icon-zoom-out,.icon-zoom-in,.icon-expand,.icon-expand-2,.icon-folder-open,.icon-folder,.icon-cog,.icon-menu,.icon-wrench,.icon-settings,.icon-loop,.icon-pin,.icon-first,.icon-last,.icon-arrow-left,.icon-arrow-right,.icon-arrow-left-2,.icon-arrow-right-2,.icon-arrow-left-3,.icon-arrow-right-3,.icon-previous,.icon-next,.icon-droplet,.icon-adjust,.icon-sun,.icon-remove-sign,.icon-remove,.icon-copy{font-family:'toolbar';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.icon-file:before{content:"\e000"}.icon-image:before{content:"\e001"}.icon-zoom-out:before{content:"\e002"}.icon-zoom-in:before{content:"\e003"}.icon-expand:before{content:"\e004"}.icon-expand-2:before{content:"\e005"}.icon-folder-open:before{content:"\e006"}.icon-folder:before{content:"\e007"}.icon-cog:before{content:"\e008"}.icon-menu:before{content:"\e009"}.icon-wrench:before{content:"\e00a"}.icon-settings:before{content:"\e00b"}.icon-loop:before{content:"\e00c"}.icon-pin:before{content:"\e00d"}.icon-first:before{content:"\e00e"}.icon-last:before{content:"\e00f"}.icon-arrow-left:before{content:"\e011"}.icon-arrow-right:before{content:"\e010"}.icon-arrow-left-2:before{content:"\e012"}.icon-arrow-right-2:before{content:"\e013"}.icon-arrow-left-3:before{content:"\e014"}.icon-arrow-right-3:before{content:"\e015"}.icon-previous:before{content:"\e016"}.icon-next:before{content:"\e017"}.icon-droplet:before{content:"\e01a"}.icon-adjust:before{content:"\f042"}.icon-sun:before{content:"\e018"}.icon-remove-sign:before{content:"\f057"}.icon-remove:before{content:"\f00d"}.icon-copy:before{content:"\e037"}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}.cb-control{font-family:helvetica,arial,sans-serif;font-size:12px}.cb-control{color:#fff;background-color:#111;padding:10px;position:fixed!important;box-shadow:0 0 4px #000}.navigate{top:0;margin:0;cursor:pointer;width:128px;opacity:0;background:center no-repeat;box-shadow:none;padding:0 3em}.navigate>span{color:#000;font-size:10em;background-color:rgba(255,255,255,0.8);border-radius:1em;top:35%;position:relative}body:not(.mobile) .navigate:hover{opacity:1}.navigate-left{left:0}.navigate-right{right:0}#cb-loading-overlay{z-index:100;opacity:.8;background:#000 url("img/loading.gif") no-repeat center;box-shadow:none}#cb-status{z-index:101;font-size:12px;right:0;bottom:0;margin:8px;border-radius:4px}#cb-progress-bar{width:200px}#cb-progress-bar,#cb-progress-bar .progressbar-value{height:3px}#cb-progress-bar .progressbar-value{width:0;background:#86c441;border-color:#3e7600}*{-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:20px;color:#333}button,input,label{cursor:pointer}.pull-left{float:left}.pull-right{float:right}.toolbar{color:white;background-color:black;background-image:linear-gradient(to bottom,#505050,#111);overflow:visible;padding:.75em;position:fixed;left:0;right:0;z-index:99;margin-bottom:0;box-shadow:0 1px 10px rgba(0,0,0,0.4);opacity:0;transition:opacity .2s ease-in-out}.mobile .toolbar{opacity:1}.toolbar:hover{opacity:1}.toolbar li{display:inline-block;position:relative}.toolbar .separator{border:solid 1px;height:1em}.toolbar button{color:white;border:0;background-color:transparent;padding:0}.toolbar li>button{font-size:1.5em;padding:0 12px}.mobile .toolbar li>button{padding:0 9px}.toolbar li>button:hover{color:#8cc746}.toolbar button[data-action=close]:hover{color:#ff6464}.toolbar .dropdown{font-size:1em;position:absolute;width:212px;background-color:white;color:#111;border-radius:4px;box-shadow:0 1px 10px rgba(0,0,0,0.4);top:2em;padding:4px 0;display:none}body:not(.mobile) .toolbar li:hover>.dropdown{display:block}.toolbar .dropdown:after{position:absolute;top:-4px;left:15px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.toolbar .close{display:none}.dropdown .control-group{padding:8px}.dropdown .sliders{font-size:1.5em}.dropdown .control-group span{float:left;margin:0 2px;clear:both}.dropdown .control-group input[type=range]{width:171px;float:right;margin:0} \ No newline at end of file +@font-face{font-family:'toolbar';src:url('fonts/toolbar.eot');src:url('fonts/toolbar.eot?#iefix') format('embedded-opentype'),url('fonts/toolbar.woff') format('woff'),url('fonts/toolbar.ttf') format('truetype'),url('fonts/toolbar.svg#toolbar') format('svg');font-weight:normal;font-style:normal}[data-icon]:before{font-family:'toolbar';content:attr(data-icon);speak:none;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.icon-file,.icon-image,.icon-zoom-out,.icon-zoom-in,.icon-expand,.icon-expand-2,.icon-folder-open,.icon-folder,.icon-cog,.icon-menu,.icon-wrench,.icon-settings,.icon-loop,.icon-pin,.icon-first,.icon-last,.icon-arrow-left,.icon-arrow-right,.icon-arrow-left-2,.icon-arrow-right-2,.icon-arrow-left-3,.icon-arrow-right-3,.icon-previous,.icon-next,.icon-droplet,.icon-adjust,.icon-sun,.icon-remove-sign,.icon-remove,.icon-copy{font-family:'toolbar';speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased}.icon-file:before{content:"\e000"}.icon-image:before{content:"\e001"}.icon-zoom-out:before{content:"\e002"}.icon-zoom-in:before{content:"\e003"}.icon-expand:before{content:"\e004"}.icon-expand-2:before{content:"\e005"}.icon-folder-open:before{content:"\e006"}.icon-folder:before{content:"\e007"}.icon-cog:before{content:"\e008"}.icon-menu:before{content:"\e009"}.icon-wrench:before{content:"\e00a"}.icon-settings:before{content:"\e00b"}.icon-loop:before{content:"\e00c"}.icon-pin:before{content:"\e00d"}.icon-first:before{content:"\e00e"}.icon-last:before{content:"\e00f"}.icon-arrow-left:before{content:"\e011"}.icon-arrow-right:before{content:"\e010"}.icon-arrow-left-2:before{content:"\e012"}.icon-arrow-right-2:before{content:"\e013"}.icon-arrow-left-3:before{content:"\e014"}.icon-arrow-right-3:before{content:"\e015"}.icon-previous:before{content:"\e016"}.icon-next:before{content:"\e017"}.icon-droplet:before{content:"\e01a"}.icon-adjust:before{content:"\f042"}.icon-sun:before{content:"\e018"}.icon-remove-sign:before{content:"\f057"}.icon-remove:before{content:"\f00d"}.icon-copy:before{content:"\e037"}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outline:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}.cb-control{font-family:helvetica,arial,sans-serif;font-size:12px}.cb-control{color:#fff;background-color:#111;padding:10px;position:fixed!important;box-shadow:0 0 4px #000}.navigate{top:0;margin:0;cursor:pointer;width:128px;opacity:0;background:center no-repeat;box-shadow:none;padding:0 3em}.navigate>span{color:#000;font-size:10em;background-color:rgba(255,255,255,0.8);border-radius:1em;top:35%;position:relative}body:not(.mobile) .navigate:hover{opacity:1}.navigate-left{left:0}.navigate-right{right:0}#cb-loading-overlay{z-index:100;opacity:.8;background:#000 url("img/loading.gif") no-repeat center;box-shadow:none;position:fixed;left:0;right:0;top:0;bottom:0}#cb-status{z-index:101;font-size:12px;right:0;bottom:0;margin:8px;border-radius:4px}#cb-progress-bar{width:200px}#cb-progress-bar,#cb-progress-bar .progressbar-value{height:3px}#cb-progress-bar .progressbar-value{width:0;background:#86c441;border-color:#3e7600}*{-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;line-height:20px;color:#333}button,input,label{cursor:pointer}.pull-left{float:left}.pull-right{float:right}.toolbar{color:white;background-color:black;background-image:linear-gradient(to bottom,#505050,#111);overflow:visible;padding:.75em;position:fixed;left:0;right:0;z-index:99;margin-bottom:0;box-shadow:0 1px 10px rgba(0,0,0,0.4);opacity:0;transition:opacity .2s ease-in-out}.mobile .toolbar{opacity:1}.toolbar:hover{opacity:1}.toolbar li{display:inline-block;position:relative}.toolbar .separator{border:solid 1px;height:1em}.toolbar button{color:white;border:0;background-color:transparent;padding:0}.toolbar li>button{font-size:1.5em;padding:0 12px}.mobile .toolbar li>button{padding:0 9px}.toolbar li>button:hover{color:#8cc746}.toolbar button[data-action=close]:hover{color:#ff6464}.toolbar .dropdown{font-size:1em;position:absolute;width:212px;background-color:white;color:#111;border-radius:4px;box-shadow:0 1px 10px rgba(0,0,0,0.4);top:2em;padding:4px 0;display:none}body:not(.mobile) .toolbar li:hover>.dropdown{display:block}.toolbar .dropdown:after{position:absolute;top:-4px;left:15px;display:inline-block;border-right:6px solid transparent;border-bottom:6px solid #fff;border-left:6px solid transparent;content:''}.toolbar .close{display:none}.dropdown .control-group{padding:8px}.dropdown .sliders{font-size:1.5em}.dropdown .control-group span{float:left;margin:0 2px;clear:both}.dropdown .control-group input[type=range]{width:171px;float:right;margin:0} \ No newline at end of file diff --git a/dist/comicbook.min.js b/dist/comicbook.min.js index 1e4a181..f891965 100644 --- a/dist/comicbook.min.js +++ b/dist/comicbook.min.js @@ -1,3 +1,3 @@ -!function e(t,r,n){function o(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(i)return i(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return o(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var i="function"==typeof require&&require,s=0;s= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":59}],6:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":15}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/set"),__esModule:!0}},{"core-js/library/fn/set":19}],11:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],12:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;r0?m:h)(e)}function o(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function i(e,t,r){return e[t]=r,e}function s(e){return g?function(t,r,n){return $.setDesc(t,r,o(e,n))}:i}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},p=Object.defineProperty,d={}.hasOwnProperty,h=Math.ceil,m=Math.floor,v=Math.max,b=Math.min,g=!!function(){try{return 2==p({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),$=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?b(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):b(e,t)},has:function(e,t){return d.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:g,desc:o,getDesc:Object.getOwnPropertyDescriptor,setDesc:p,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return $.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?i:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":28}],34:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":35}],35:[function(e,t,r){t.exports=e("./$").hide},{"./$":33}],36:[function(e,t,r){var n=e("./$"),o="__core-js_shared__",i=n.g[o]||(n.g[o]={});t.exports=function(e){return i[e]||(i[e]={})}},{"./$":33}],37:[function(e,t,r){var n=e("./$"),o=e("./$.wks")("species");t.exports=function(e){!n.DESC||o in e||n.setDesc(e,o,{configurable:!0,get:n.that})}},{"./$":33,"./$.wks":41}],38:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var o,i,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(o=s.charCodeAt(a),55296>o||o>56319||a+1===u||(i=s.charCodeAt(a+1))<56320||i>57343?e?s.charAt(a):o:e?s.slice(a,a+2):(o-55296<<10)+(i-56320)+65536)}}},{"./$":33}],39:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++o+Math.random()).toString(36))}var o=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":33}],40:[function(e,t,r){t.exports=function(){}},{}],41:[function(e,t,r){var n=e("./$").g,o=e("./$.shared")("wks");t.exports=function(t){return o[t]||(o[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":33,"./$.shared":36,"./$.uid":39}],42:[function(e,t,r){var n=e("./$"),o=e("./$.unscope"),i=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,i,{o:n.toObject(e),i:0,k:t})},function(){var e=this[i],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,o("keys"),o("values"),o("entries")},{"./$":33,"./$.iter":32,"./$.iter-define":31,"./$.uid":39,"./$.unscope":40}],43:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":24,"./$.collection-strong":22}],44:[function(e,t,r){var n=e("./$"),o=e("./$.def"),i=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return i(e)?a(e):e}:1==r?function(e){return i(e)?a(e):e}:2==r?function(e){return i(e)?a(e):e}:3==r?function(e){return i(e)?a(e):!0}:4==r?function(e){return i(e)?a(e):!0}:5==r?function(e){return i(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}o(o.S+o.F*u,"Object",c)})},{"./$":33,"./$.def":26,"./$.get-names":29}],45:[function(e,t,r){"use strict";var n=e("./$.cof"),o={};o[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(o)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":33,"./$.cof":21,"./$.redef":35,"./$.wks":41}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Set",function(e){return function(){return e(this,arguments[0])}},{add:function(e){return n.def(this,e=0===e?0:e,e)}},n)},{"./$.collection":24,"./$.collection-strong":22}],47:[function(e,t,r){var n=e("./$").set,o=e("./$.string-at")(!0),i=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,i,{o:String(e),i:0})},function(){var e,t=this[i],r=t.o,n=t.i;return n>=r.length?a(1):(e=o(r,n),t.i+=e.length,a(0,e))})},{"./$":33,"./$.iter":32,"./$.iter-define":31,"./$.string-at":38,"./$.uid":39}],48:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":23}],49:[function(e,t,r){e("./$.collection-to-json")("Set")},{"./$.collection-to-json":23}],50:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),o=e("./$.iter").Iterators,i=e("./$.wks")("iterator"),s=o.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||i in c||n.hide(c,i,s),!u||i in l||n.hide(l,i,s)),o.NodeList=o.HTMLCollection=s},{"./$":33,"./$.iter":32,"./$.wks":41,"./es6.array.iterator":42}],51:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function o(e){return"function"==typeof e}function i(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!i(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,i,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(o(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,i=new Array(n-1),u=1;n>u;u++)i[u-1]=arguments[u];r.apply(this,i)}else if(s(r)){for(n=arguments.length,i=new Array(n-1),u=1;n>u;u++)i[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,i)}return!0},n.prototype.addListener=function(e,t){var r;if(!o(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,o(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!o(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,i,a;if(!o(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],i=r.length,n=-1,r===t||o(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=i;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],o(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?o(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?o(e._events[t])?1:e._events[t].length:0}},{}],52:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return p.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=p,e.escapeExpression=p.escapeExpression,e.VM=h,e.template=function(t){return h.template(t,e)},e}var o=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var i=e("./handlebars/base"),s=o(i),a=e("./handlebars/safe-string"),u=o(a),c=e("./handlebars/exception"),l=o(c),f=e("./handlebars/utils"),p=o(f),d=e("./handlebars/runtime"),h=o(d),m=e("./handlebars/no-conflict"),v=o(m),b=n();b.create=n,v.default(b),b.default=b,r.default=b,t.exports=r.default},{"./handlebars/base":53,"./handlebars/exception":54,"./handlebars/no-conflict":55,"./handlebars/runtime":56,"./handlebars/safe-string":57,"./handlebars/utils":58}],53:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},o(this)}function o(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,o=r.fn;if(t===!0)return o(this);if(t===!1||null==t)return n(this);if(h(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=i(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return o(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,o){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!o,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,o=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=i(t.data)),e&&"object"==typeof e)if(h(e))for(var p=e.length;p>s;s++)r(s,s,s===e.length-1);else{var d=void 0;for(var v in e)e.hasOwnProperty(v)&&(d&&r(d,s-1),d=v,s++);d&&r(d,s-1,!0)}return 0===s&&(a=o(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=i(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function i(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=i;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var p=6;r.COMPILER_REVISION=p;var d={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=d;var h=u.isArray,m=u.isFunction,v=u.toString,b="[object Object]";n.prototype={constructor:n,logger:g,log:y,registerHelper:function(e,t){if(v.call(e)===b){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===b)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var g={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&g.level<=e){var r=g.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=g;var y=g.log;r.log=y},{"./exception":54,"./utils":58}],54:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,i=void 0,s=void 0;r&&(i=r.start.line,s=r.start.column,e+=" - "+i+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],o=m.REVISION_CHANGES[t];throw new h.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+o+").")}throw new h.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function o(e,t){function r(r,n,o){o.hash&&(n=p.extend({},n,o.hash)),r=t.VM.resolvePartial.call(this,r,n,o);var i=t.VM.invokePartial.call(this,r,n,o);if(null==i&&t.compile&&(o.partials[o.name]=t.compile(r,e.compilerOptions,t),i=o.partials[o.name](n,o)),null!=i){if(o.indent){for(var s=i.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=o.indent+s[a];i=s.join("\n")}return i}throw new h.default("The partial "+o.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],i=r.data;n._setup(r),!r.partial&&e.useData&&(i=c(t,i));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(o,t,o.helpers,o.partials,i,a,s)}if(!t)throw new h.default("No environment passed to template");if(!e||!e.main)throw new h.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var o={strict:function(e,t){if(!(t in e))throw new h.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:p.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,o){var s=this.programs[e],a=this.fn(e);return t||o||n||r?s=i(this,e,a,t,r,n,o):s||(s=this.programs[e]=i(this,e,a)), -s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=p.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(o.helpers=r.helpers,o.partials=r.partials):(o.helpers=o.merge(r.helpers,t.helpers),e.usePartial&&(o.partials=o.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new h.default("must pass block params");if(e.useDepths&&!s)throw new h.default("must pass parent depths");return i(o,t,e[t],r,0,n,s)},n}function i(e,t,r,n,o,i,s){function a(t){var o=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,o.data||n,i&&[o.blockParams].concat(i),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=o||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new h.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=o,r.wrapProgram=i,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),p=l(f),d=e("./exception"),h=l(d),m=e("./base")},{"./base":53,"./exception":54,"./utils":58}],57:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],58:[function(e,t,r){"use strict";function n(e){return l[e]}function o(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return p.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=o,r.indexOf=i,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,p=/[&<>"'`]/,d=Object.prototype.toString;r.toString=d;var h=function(e){return"function"==typeof e};h(/x/)&&(r.isFunction=h=function(e){return"function"==typeof e&&"[object Function]"===d.call(e)});var h;r.isFunction=h;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===d.call(e):!1};r.isArray=m},{}],59:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":52}]},{},[2]); +!function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=r[s]={exports:{}};t[s][0].call(l.exports,function(e){var r=t[s][1][e];return i(r?r:e)},l,l.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;se.height||t.width>t.height)&&u;switch(h&&(u=!1),u&&(s+="object"==typeof t?t.width:s),this.options.zoomMode){case"manual":document.body.style.overflowX="auto",r=u?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",r=n()>s?(n()-s)/n()+1:n()/s,this.scale=r;break;case"fitWindow":document.body.style.overflowX="hidden";var p=n()>s?(n()-s)/n()+1:n()/s,m=window.innerHeight,v=m>a?(m-a)/m+1:m/a;r=p>v?v:p,this.scale=r}if(c=e.width*r,l=e.height*r,f="manual"===this.options.zoomMode?e.width*this.scale:c,d="manual"===this.options.zoomMode?e.height*this.scale:l,l=d,this.canvas.width=c= 2.0.0-beta.1"],main:function(e,t,r,n){return'
\n
\n
\n
\n
\n'},useData:!0})},{"handlebars/runtime":61}],7:[function(e,t,r){t.exports={default:e("core-js/library/fn/map"),__esModule:!0}},{"core-js/library/fn/map":16}],8:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/assign"),__esModule:!0}},{"core-js/library/fn/object/assign":17}],9:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/create"),__esModule:!0}},{"core-js/library/fn/object/create":18}],10:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/define-property"),__esModule:!0}},{"core-js/library/fn/object/define-property":19}],11:[function(e,t,r){t.exports={default:e("core-js/library/fn/object/get-own-property-descriptor"),__esModule:!0}},{"core-js/library/fn/object/get-own-property-descriptor":20}],12:[function(e,t,r){"use strict";r.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},r.__esModule=!0},{}],13:[function(e,t,r){"use strict";var n=e("babel-runtime/core-js/object/define-property").default;r.default=function(){function e(e,t){for(var r=0;rs;)for(var a,u=n.ES5Object(arguments[s++]),c=i(u),l=c.length,f=0;l>f;)r[a=c[f++]]=u[a];return r}},{"./$":36,"./$.enum-keys":29}],23:[function(e,t,r){function n(e){return s.call(e).slice(8,-1)}var i=e("./$"),o=e("./$.wks")("toStringTag"),s={}.toString;n.classof=function(e){var t,r;return void 0==e?void 0===e?"Undefined":"Null":"string"==typeof(r=(t=Object(e))[o])?r:n(t)},n.set=function(e,t,r){e&&!i.has(e=r?e:e.prototype,o)&&i.hide(e,o,t)},t.exports=n},{"./$":36,"./$.wks":44}],24:[function(e,t,r){"use strict";function n(e,t){if(!h(e))return"symbol"==typeof e?e:("string"==typeof e?"S":"P")+e;if(!f(e,v)){if(!m(e))return"F";if(!t)return"E";p(e,v,++_)}return"O"+e[v]}function i(e,t){var r,i=n(t);if("F"!==i)return e[g][i];for(r=e[y];r;r=r.n)if(r.k==t)return r}var o=e("./$"),s=e("./$.ctx"),a=e("./$.uid").safe,u=e("./$.assert"),c=e("./$.for-of"),l=e("./$.iter").step,f=o.has,d=o.set,h=o.isObject,p=o.hide,m=Object.isExtensible||h,v=a("id"),g=a("O1"),b=a("last"),y=a("first"),w=a("iter"),$=o.DESC?a("size"):"size",_=0;t.exports={getConstructor:function(t,r,n,a){var l=t(function(e,t){u.inst(e,l,r),d(e,g,o.create(null)),d(e,$,0),d(e,b,void 0),d(e,y,void 0),void 0!=t&&c(t,n,e[a],e)});return e("./$.mix")(l.prototype,{clear:function(){for(var e=this,t=e[g],r=e[y];r;r=r.n)r.r=!0,r.p&&(r.p=r.p.n=void 0),delete t[r.i];e[y]=e[b]=void 0,e[$]=0},delete:function(e){var t=this,r=i(t,e);if(r){var n=r.n,o=r.p;delete t[g][r.i],r.r=!0,o&&(o.n=n),n&&(n.p=o),t[y]==r&&(t[y]=n),t[b]==r&&(t[b]=o),t[$]--}return!!r},forEach:function(e){for(var t,r=s(e,arguments[1],3);t=t?t.n:this[y];)for(r(t.v,t.k,this);t&&t.r;)t=t.p},has:function(e){return!!i(this,e)}}),o.DESC&&o.setDesc(l.prototype,"size",{get:function(){return u.def(this[$])}}),l},def:function(e,t,r){var o,s,a=i(e,t);return a?a.v=r:(e[b]=a={i:s=n(t,!0),k:t,v:r,p:o=e[b],n:void 0,r:!1},e[y]||(e[y]=a),o&&(o.n=a),e[$]++,"F"!==s&&(e[g][s]=a)),e},getEntry:i,setIter:function(t,r,n){e("./$.iter-define")(t,r,function(e,t){d(this,w,{o:e,k:t})},function(){for(var e=this[w],t=e.k,r=e.l;r&&r.r;)r=r.p;return e.o&&(e.l=r=r?r.n:e.o[y])?"keys"==t?l(0,r.k):"values"==t?l(0,r.v):l(0,[r.k,r.v]):(e.o=void 0,l(1))},n?"entries":"values",!n,!0)}}},{"./$":36,"./$.assert":21,"./$.ctx":27,"./$.for-of":30,"./$.iter":35,"./$.iter-define":34,"./$.mix":37,"./$.uid":42}],25:[function(e,t,r){var n=e("./$.def"),i=e("./$.for-of");t.exports=function(e){n(n.P,e,{toJSON:function(){var e=[];return i(this,!1,e.push,e),e}})}},{"./$.def":28,"./$.for-of":30}],26:[function(e,t,r){"use strict";var n=e("./$"),i=e("./$.def"),o=e("./$.iter"),s=o.BUGGY,a=e("./$.for-of"),u=e("./$.assert").inst,c=e("./$.uid").safe("internal");t.exports=function(t,r,o,l,f,d){var h=n.g[t],p=h,m=f?"set":"add",v=p&&p.prototype,g={};return n.DESC&&n.isFunction(p)&&(d||!s&&v.forEach&&v.entries)?(p=r(function(e,r){u(e,p,t),e[c]=new h,void 0!=r&&a(r,f,e[m],e)}),n.each.call("add,clear,delete,forEach,get,has,set,keys,values,entries".split(","),function(e){var t="add"==e||"set"==e;e in v&&n.hide(p.prototype,e,function(r,n){var i=this[c][e](0===r?0:r,n);return t?this:i})}),"size"in v&&n.setDesc(p.prototype,"size",{get:function(){return this[c].size}})):(p=l.getConstructor(r,t,f,m),e("./$.mix")(p.prototype,o)),e("./$.cof").set(p,t),g[t]=p,i(i.G+i.W+i.F,g),e("./$.species")(p),d||l.setIter(p,t,f),p}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.def":28,"./$.for-of":30,"./$.iter":35,"./$.mix":37,"./$.species":40,"./$.uid":42}],27:[function(e,t,r){var n=e("./$.assert").fn;t.exports=function(e,t,r){if(n(e),~r&&void 0===t)return e;switch(r){case 1:return function(r){return e.call(t,r)};case 2:return function(r,n){return e.call(t,r,n)};case 3:return function(r,n,i){return e.call(t,r,n,i)}}return function(){return e.apply(t,arguments)}}},{"./$.assert":21}],28:[function(e,t,r){function n(e,t){return function(){return e.apply(t,arguments)}}function i(e,t,r){var o,c,l,f,d=e&i.G,h=e&i.P,p=d?s:e&i.S?s[t]:(s[t]||{}).prototype,m=d?a:a[t]||(a[t]={});d&&(r=t);for(o in r)c=!(e&i.F)&&p&&o in p,c&&o in m||(l=c?p[o]:r[o],d&&!u(p[o])?f=r[o]:e&i.B&&c?f=n(l,s):e&i.W&&p[o]==l?!function(e){f=function(t){return this instanceof e?new e(t):e(t)},f.prototype=e.prototype}(l):f=h&&u(l)?n(Function.call,l):l,m[o]=f,h&&((m.prototype||(m.prototype={}))[o]=l))}var o=e("./$"),s=o.g,a=o.core,u=o.isFunction;i.F=1,i.G=2,i.S=4,i.P=8,i.B=16,i.W=32,t.exports=i},{"./$":36}],29:[function(e,t,r){var n=e("./$");t.exports=function(e){var t=n.getKeys(e),r=n.getDesc,i=n.getSymbols;return i&&n.each.call(i(e),function(n){r(e,n).enumerable&&t.push(n)}),t}},{"./$":36}],30:[function(e,t,r){var n=e("./$.ctx"),i=e("./$.iter").get,o=e("./$.iter-call");t.exports=function(e,t,r,s){for(var a,u=i(e),c=n(r,s,t?2:1);!(a=u.next()).done;)if(o(u,c,a.value,t)===!1)return o.close(u)}},{"./$.ctx":27,"./$.iter":35,"./$.iter-call":33}],31:[function(e,t,r){t.exports=function(e){return e.FW=!1,e.path=e.core,e}},{}],32:[function(e,t,r){function n(e){try{return s(e)}catch(e){return a.slice()}}var i=e("./$"),o={}.toString,s=i.getNames,a="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];t.exports.get=function(e){return a&&"[object Window]"==o.call(e)?n(e):s(i.toObject(e))}},{"./$":36}],33:[function(e,t,r){function n(e){var t=e.return;void 0!==t&&o(t.call(e))}function i(e,t,r,i){try{return i?t(o(r)[0],r[1]):t(r)}catch(t){throw n(e),t}}var o=e("./$.assert").obj;i.close=n,t.exports=i},{"./$.assert":21}],34:[function(e,t,r){var n=e("./$.def"),i=e("./$.redef"),o=e("./$"),s=e("./$.cof"),a=e("./$.iter"),u=e("./$.wks")("iterator"),c="@@iterator",l="keys",f="values",d=a.Iterators;t.exports=function(e,t,r,h,p,m,v){function g(e){function t(t){return new r(t,e)}switch(e){case l:return function(){return t(this)};case f:return function(){return t(this)}}return function(){return t(this)}}a.create(r,t,h);var b,y,w=t+" Iterator",$=e.prototype,_=$[u]||$[c]||p&&$[p],x=_||g(p);if(_){var j=o.getProto(x.call(new e));s.set(j,w,!0),o.FW&&o.has($,c)&&a.set(j,o.that)}if((o.FW||v)&&a.set($,x),d[t]=x,d[w]=o.that,p)if(b={keys:m?x:g(l),values:p==f?x:g(f),entries:p!=f?x:g("entries")},v)for(y in b)y in $||i($,y,b[y]);else n(n.P+n.F*a.BUGGY,t,b)}},{"./$":36,"./$.cof":23,"./$.def":28,"./$.iter":35,"./$.redef":38,"./$.wks":44}],35:[function(e,t,r){"use strict";function n(e,t){i.hide(e,c,t),l in[]&&i.hide(e,l,t)}var i=e("./$"),o=e("./$.cof"),s=o.classof,a=e("./$.assert"),u=a.obj,c=e("./$.wks")("iterator"),l="@@iterator",f=e("./$.shared")("iterators"),d={};n(d,i.that),t.exports={BUGGY:"keys"in[]&&!("next"in[].keys()),Iterators:f,step:function(e,t){return{value:t,done:!!e}},is:function(e){var t=Object(e),r=i.g.Symbol;return(r&&r.iterator||l)in t||c in t||i.has(f,s(t))},get:function(e){var t,r=i.g.Symbol;return void 0!=e&&(t=e[r&&r.iterator||l]||e[c]||f[s(e)]),a(i.isFunction(t),e," is not iterable!"),u(t.call(e))},set:n,create:function(e,t,r,n){e.prototype=i.create(n||d,{next:i.desc(1,r)}),o.set(e,t+" Iterator")}}},{"./$":36,"./$.assert":21,"./$.cof":23,"./$.shared":39,"./$.wks":44}],36:[function(e,t,r){"use strict";function n(e){return isNaN(e=+e)?0:(e>0?m:p)(e)}function i(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}}function o(e,t,r){return e[t]=r,e}function s(e){return b?function(t,r,n){return w.setDesc(t,r,i(e,n))}:o}function a(e){return null!==e&&("object"==typeof e||"function"==typeof e)}function u(e){return"function"==typeof e}function c(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}var l="undefined"!=typeof self?self:Function("return this")(),f={},d=Object.defineProperty,h={}.hasOwnProperty,p=Math.ceil,m=Math.floor,v=Math.max,g=Math.min,b=!!function(){try{return 2==d({},"a",{get:function(){return 2}}).a}catch(e){}}(),y=s(1),w=t.exports=e("./$.fw")({g:l,core:f,html:l.document&&document.documentElement,isObject:a,isFunction:u,that:function(){return this},toInteger:n,toLength:function(e){return e>0?g(n(e),9007199254740991):0},toIndex:function(e,t){return e=n(e),0>e?v(e+t,0):g(e,t)},has:function(e,t){return h.call(e,t)},create:Object.create,getProto:Object.getPrototypeOf,DESC:b,desc:i,getDesc:Object.getOwnPropertyDescriptor,setDesc:d,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:c,ES5Object:Object,toObject:function(e){return w.ES5Object(c(e))},hide:y,def:s(0),set:l.Symbol?o:y,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=l)},{"./$.fw":31}],37:[function(e,t,r){var n=e("./$.redef");t.exports=function(e,t){for(var r in t)n(e,r,t[r]);return e}},{"./$.redef":38}],38:[function(e,t,r){t.exports=e("./$").hide},{"./$":36}],39:[function(e,t,r){var n=e("./$"),i="__core-js_shared__",o=n.g[i]||(n.g[i]={});t.exports=function(e){return o[e]||(o[e]={})}},{"./$":36}],40:[function(e,t,r){var n=e("./$"),i=e("./$.wks")("species");t.exports=function(e){!n.DESC||i in e||n.setDesc(e,i,{configurable:!0,get:n.that})}},{"./$":36,"./$.wks":44}],41:[function(e,t,r){var n=e("./$");t.exports=function(e){return function(t,r){var i,o,s=String(n.assertDefined(t)),a=n.toInteger(r),u=s.length;return 0>a||a>=u?e?"":void 0:(i=s.charCodeAt(a),55296>i||i>56319||a+1===u||(o=s.charCodeAt(a+1))<56320||o>57343?e?s.charAt(a):i:e?s.slice(a,a+2):(i-55296<<10)+(o-56320)+65536)}}},{"./$":36}],42:[function(e,t,r){function n(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+Math.random()).toString(36))}var i=0;n.safe=e("./$").g.Symbol||n,t.exports=n},{"./$":36}],43:[function(e,t,r){t.exports=function(){}},{}],44:[function(e,t,r){var n=e("./$").g,i=e("./$.shared")("wks");t.exports=function(t){return i[t]||(i[t]=n.Symbol&&n.Symbol[t]||e("./$.uid").safe("Symbol."+t))}},{"./$":36,"./$.shared":39,"./$.uid":42}],45:[function(e,t,r){var n=e("./$"),i=e("./$.unscope"),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step,u=s.Iterators;e("./$.iter-define")(Array,"Array",function(e,t){n.set(this,o,{o:n.toObject(e),i:0,k:t})},function(){var e=this[o],t=e.o,r=e.k,n=e.i++;return!t||n>=t.length?(e.o=void 0,a(1)):"keys"==r?a(0,n):"values"==r?a(0,t[n]):a(0,[n,t[n]])},"values"),u.Arguments=u.Array,i("keys"),i("values"),i("entries")},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.uid":42,"./$.unscope":43}],46:[function(e,t,r){"use strict";var n=e("./$.collection-strong");e("./$.collection")("Map",function(e){return function(){return e(this,arguments[0])}},{get:function(e){var t=n.getEntry(this,e);return t&&t.v},set:function(e,t){return n.def(this,0===e?0:e,t)}},n,!0)},{"./$.collection":26,"./$.collection-strong":24}],47:[function(e,t,r){var n=e("./$.def");n(n.S,"Object",{assign:e("./$.assign")})},{"./$.assign":22,"./$.def":28}],48:[function(e,t,r){var n=e("./$"),i=e("./$.def"),o=n.isObject,s=n.toObject;n.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(t,r){var a=(n.core.Object||{})[t]||Object[t],u=0,c={};c[t]=0==r?function(e){return o(e)?a(e):e}:1==r?function(e){return o(e)?a(e):e}:2==r?function(e){return o(e)?a(e):e}:3==r?function(e){return o(e)?a(e):!0}:4==r?function(e){return o(e)?a(e):!0}:5==r?function(e){return o(e)?a(e):!1}:6==r?function(e,t){return a(s(e),t)}:7==r?function(e){return a(Object(n.assertDefined(e)))}:8==r?function(e){return a(s(e))}:e("./$.get-names").get;try{a("z")}catch(e){u=1}i(i.S+i.F*u,"Object",c)})},{"./$":36,"./$.def":28,"./$.get-names":32}],49:[function(e,t,r){"use strict";var n=e("./$.cof"),i={};i[e("./$.wks")("toStringTag")]="z",e("./$").FW&&"z"!=n(i)&&e("./$.redef")(Object.prototype,"toString",function(){return"[object "+n.classof(this)+"]"},!0)},{"./$":36,"./$.cof":23,"./$.redef":38,"./$.wks":44}],50:[function(e,t,r){var n=e("./$").set,i=e("./$.string-at")(!0),o=e("./$.uid").safe("iter"),s=e("./$.iter"),a=s.step;e("./$.iter-define")(String,"String",function(e){n(this,o,{o:String(e),i:0})},function(){var e,t=this[o],r=t.o,n=t.i;return n>=r.length?a(1):(e=i(r,n),t.i+=e.length,a(0,e))})},{"./$":36,"./$.iter":35,"./$.iter-define":34,"./$.string-at":41,"./$.uid":42}],51:[function(e,t,r){e("./$.collection-to-json")("Map")},{"./$.collection-to-json":25}],52:[function(e,t,r){e("./es6.array.iterator");var n=e("./$"),i=e("./$.iter").Iterators,o=e("./$.wks")("iterator"),s=i.Array,a=n.g.NodeList,u=n.g.HTMLCollection,c=a&&a.prototype,l=u&&u.prototype;n.FW&&(!a||o in c||n.hide(c,o,s),!u||o in l||n.hide(l,o,s)),i.NodeList=i.HTMLCollection=s},{"./$":36,"./$.iter":35,"./$.wks":44,"./es6.array.iterator":45}],53:[function(e,t,r){function n(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function i(e){return"function"==typeof e}function o(e){return"number"==typeof e}function s(e){return"object"==typeof e&&null!==e}function a(e){return void 0===e}t.exports=n,n.EventEmitter=n,n.prototype._events=void 0,n.prototype._maxListeners=void 0,n.defaultMaxListeners=10,n.prototype.setMaxListeners=function(e){if(!o(e)||0>e||isNaN(e))throw TypeError("n must be a positive number");return this._maxListeners=e,this},n.prototype.emit=function(e){var t,r,n,o,u,c;if(this._events||(this._events={}),"error"===e&&(!this._events.error||s(this._events.error)&&!this._events.error.length)){if(t=arguments[1],t instanceof Error)throw t;throw TypeError('Uncaught, unspecified "error" event.')}if(r=this._events[e],a(r))return!1;if(i(r))switch(arguments.length){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];r.apply(this,o)}else if(s(r)){for(n=arguments.length,o=new Array(n-1),u=1;n>u;u++)o[u-1]=arguments[u];for(c=r.slice(),n=c.length,u=0;n>u;u++)c[u].apply(this,o)}return!0},n.prototype.addListener=function(e,t){var r;if(!i(t))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",e,i(t.listener)?t.listener:t),this._events[e]?s(this._events[e])?this._events[e].push(t):this._events[e]=[this._events[e],t]:this._events[e]=t,s(this._events[e])&&!this._events[e].warned){var r;r=a(this._maxListeners)?n.defaultMaxListeners:this._maxListeners,r&&r>0&&this._events[e].length>r&&(this._events[e].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[e].length),"function"==typeof console.trace&&console.trace())}return this},n.prototype.on=n.prototype.addListener,n.prototype.once=function(e,t){function r(){this.removeListener(e,r),n||(n=!0,t.apply(this,arguments))}if(!i(t))throw TypeError("listener must be a function");var n=!1;return r.listener=t,this.on(e,r),this},n.prototype.removeListener=function(e,t){var r,n,o,a;if(!i(t))throw TypeError("listener must be a function");if(!this._events||!this._events[e])return this;if(r=this._events[e],o=r.length,n=-1,r===t||i(r.listener)&&r.listener===t)delete this._events[e],this._events.removeListener&&this.emit("removeListener",e,t);else if(s(r)){for(a=o;a-->0;)if(r[a]===t||r[a].listener&&r[a].listener===t){n=a;break}if(0>n)return this;1===r.length?(r.length=0,delete this._events[e]):r.splice(n,1),this._events.removeListener&&this.emit("removeListener",e,t)}return this},n.prototype.removeAllListeners=function(e){var t,r;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[e]&&delete this._events[e],this;if(0===arguments.length){for(t in this._events)"removeListener"!==t&&this.removeAllListeners(t);return this.removeAllListeners("removeListener"),this._events={},this}if(r=this._events[e],i(r))this.removeListener(e,r);else for(;r.length;)this.removeListener(e,r[r.length-1]);return delete this._events[e],this},n.prototype.listeners=function(e){var t;return t=this._events&&this._events[e]?i(this._events[e])?[this._events[e]]:this._events[e].slice():[]},n.listenerCount=function(e,t){var r;return r=e._events&&e._events[t]?i(e._events[t])?1:e._events[t].length:0}},{}],54:[function(e,t,r){"use strict";function n(){var e=new s.HandlebarsEnvironment;return d.extend(e,s),e.SafeString=u.default,e.Exception=l.default,e.Utils=d,e.escapeExpression=d.escapeExpression,e.VM=p,e.template=function(t){return p.template(t,e)},e}var i=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0;var o=e("./handlebars/base"),s=i(o),a=e("./handlebars/safe-string"),u=i(a),c=e("./handlebars/exception"),l=i(c),f=e("./handlebars/utils"),d=i(f),h=e("./handlebars/runtime"),p=i(h),m=e("./handlebars/no-conflict"),v=i(m),g=n();g.create=n,v.default(g),g.default=g,r.default=g,t.exports=r.default},{"./handlebars/base":55,"./handlebars/exception":56,"./handlebars/no-conflict":57,"./handlebars/runtime":58,"./handlebars/safe-string":59,"./handlebars/utils":60}],55:[function(e,t,r){"use strict";function n(e,t){this.helpers=e||{},this.partials=t||{},i(this)}function i(e){e.registerHelper("helperMissing",function(){if(1===arguments.length)return void 0;throw new l.default('Missing helper: "'+arguments[arguments.length-1].name+'"')}),e.registerHelper("blockHelperMissing",function(t,r){var n=r.inverse,i=r.fn;if(t===!0)return i(this);if(t===!1||null==t)return n(this);if(p(t))return t.length>0?(r.ids&&(r.ids=[r.name]),e.helpers.each(t,r)):n(this);if(r.data&&r.ids){var s=o(r.data);s.contextPath=u.appendContextPath(r.data.contextPath,r.name),r={data:s}}return i(t,r)}),e.registerHelper("each",function(e,t){function r(t,r,i){c&&(c.key=t,c.index=r,c.first=0===r,c.last=!!i,f&&(c.contextPath=f+t)),a+=n(e[t],{data:c,blockParams:u.blockParams([e[t],t],[f+t,null])})}if(!t)throw new l.default("Must pass iterator to #each");var n=t.fn,i=t.inverse,s=0,a="",c=void 0,f=void 0;if(t.data&&t.ids&&(f=u.appendContextPath(t.data.contextPath,t.ids[0])+"."),m(e)&&(e=e.call(this)),t.data&&(c=o(t.data)),e&&"object"==typeof e)if(p(e))for(var d=e.length;d>s;s++)r(s,s,s===e.length-1);else{var h=void 0;for(var v in e)e.hasOwnProperty(v)&&(h&&r(h,s-1),h=v,s++);h&&r(h,s-1,!0)}return 0===s&&(a=i(this)),a}),e.registerHelper("if",function(e,t){return m(e)&&(e=e.call(this)),!t.hash.includeZero&&!e||u.isEmpty(e)?t.inverse(this):t.fn(this)}),e.registerHelper("unless",function(t,r){return e.helpers.if.call(this,t,{fn:r.inverse,inverse:r.fn,hash:r.hash})}),e.registerHelper("with",function(e,t){m(e)&&(e=e.call(this));var r=t.fn;if(u.isEmpty(e))return t.inverse(this);if(t.data&&t.ids){var n=o(t.data);n.contextPath=u.appendContextPath(t.data.contextPath,t.ids[0]),t={data:n}}return r(e,t)}),e.registerHelper("log",function(t,r){var n=r.data&&null!=r.data.level?parseInt(r.data.level,10):1;e.log(n,t)}),e.registerHelper("lookup",function(e,t){return e&&e[t]})}function o(e){var t=u.extend({},e);return t._parent=e,t}var s=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.HandlebarsEnvironment=n,r.createFrame=o;var a=e("./utils"),u=s(a),c=e("./exception"),l=s(c),f="3.0.1";r.VERSION=f;var d=6;r.COMPILER_REVISION=d;var h={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1"};r.REVISION_CHANGES=h;var p=u.isArray,m=u.isFunction,v=u.toString,g="[object Object]";n.prototype={constructor:n,logger:b,log:y,registerHelper:function(e,t){if(v.call(e)===g){if(t)throw new l.default("Arg not supported with multiple helpers");u.extend(this.helpers,e)}else this.helpers[e]=t},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,t){if(v.call(e)===g)u.extend(this.partials,e);else{if("undefined"==typeof t)throw new l.default("Attempting to register a partial as undefined");this.partials[e]=t}},unregisterPartial:function(e){delete this.partials[e]}};var b={methodMap:{0:"debug",1:"info",2:"warn",3:"error"},DEBUG:0,INFO:1,WARN:2,ERROR:3,level:1,log:function(e,t){if("undefined"!=typeof console&&b.level<=e){var r=b.methodMap[e];(console[r]||console.log).call(console,t)}}};r.logger=b; +var y=b.log;r.log=y},{"./exception":56,"./utils":60}],56:[function(e,t,r){"use strict";function n(e,t){var r=t&&t.loc,o=void 0,s=void 0;r&&(o=r.start.line,s=r.start.column,e+=" - "+o+":"+s);for(var a=Error.prototype.constructor.call(this,e),u=0;ut){var n=m.REVISION_CHANGES[r],i=m.REVISION_CHANGES[t];throw new p.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+i+").")}throw new p.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+e[1]+").")}}function i(e,t){function r(r,n,i){i.hash&&(n=d.extend({},n,i.hash)),r=t.VM.resolvePartial.call(this,r,n,i);var o=t.VM.invokePartial.call(this,r,n,i);if(null==o&&t.compile&&(i.partials[i.name]=t.compile(r,e.compilerOptions,t),o=i.partials[i.name](n,i)),null!=o){if(i.indent){for(var s=o.split("\n"),a=0,u=s.length;u>a&&(s[a]||a+1!==u);a++)s[a]=i.indent+s[a];o=s.join("\n")}return o}throw new p.default("The partial "+i.name+" could not be compiled when running in runtime-only mode")}function n(t){var r=void 0===arguments[1]?{}:arguments[1],o=r.data;n._setup(r),!r.partial&&e.useData&&(o=c(t,o));var s=void 0,a=e.useBlockParams?[]:void 0;return e.useDepths&&(s=r.depths?[t].concat(r.depths):[t]),e.main.call(i,t,i.helpers,i.partials,o,a,s)}if(!t)throw new p.default("No environment passed to template");if(!e||!e.main)throw new p.default("Unknown template object: "+typeof e);t.VM.checkRevision(e.compiler);var i={strict:function(e,t){if(!(t in e))throw new p.default('"'+t+'" not defined in '+e);return e[t]},lookup:function(e,t){for(var r=e.length,n=0;r>n;n++)if(e[n]&&null!=e[n][t])return e[n][t]},lambda:function(e,t){return"function"==typeof e?e.call(t):e},escapeExpression:d.escapeExpression,invokePartial:r,fn:function(t){return e[t]},programs:[],program:function(e,t,r,n,i){var s=this.programs[e],a=this.fn(e);return t||i||n||r?s=o(this,e,a,t,r,n,i):s||(s=this.programs[e]=o(this,e,a)),s},data:function(e,t){for(;e&&t--;)e=e._parent;return e},merge:function(e,t){var r=e||t;return e&&t&&e!==t&&(r=d.extend({},t,e)),r},noop:t.VM.noop,compilerInfo:e.compiler};return n.isTop=!0,n._setup=function(r){r.partial?(i.helpers=r.helpers,i.partials=r.partials):(i.helpers=i.merge(r.helpers,t.helpers),e.usePartial&&(i.partials=i.merge(r.partials,t.partials)))},n._child=function(t,r,n,s){if(e.useBlockParams&&!n)throw new p.default("must pass block params");if(e.useDepths&&!s)throw new p.default("must pass parent depths");return o(i,t,e[t],r,0,n,s)},n}function o(e,t,r,n,i,o,s){function a(t){var i=void 0===arguments[1]?{}:arguments[1];return r.call(e,t,e.helpers,e.partials,i.data||n,o&&[i.blockParams].concat(o),s&&[t].concat(s))}return a.program=t,a.depth=s?s.length:0,a.blockParams=i||0,a}function s(e,t,r){return e?e.call||r.name||(r.name=e,e=r.partials[e]):e=r.partials[r.name],e}function a(e,t,r){if(r.partial=!0,void 0===e)throw new p.default("The partial "+r.name+" could not be found");return e instanceof Function?e(t,r):void 0}function u(){return""}function c(e,t){return t&&"root"in t||(t=t?m.createFrame(t):{},t.root=e),t}var l=function(e){return e&&e.__esModule?e:{default:e}};r.__esModule=!0,r.checkRevision=n,r.template=i,r.wrapProgram=o,r.resolvePartial=s,r.invokePartial=a,r.noop=u;var f=e("./utils"),d=l(f),h=e("./exception"),p=l(h),m=e("./base")},{"./base":55,"./exception":56,"./utils":60}],59:[function(e,t,r){"use strict";function n(e){this.string=e}r.__esModule=!0,n.prototype.toString=n.prototype.toHTML=function(){return""+this.string},r.default=n,t.exports=r.default},{}],60:[function(e,t,r){"use strict";function n(e){return l[e]}function i(e){for(var t=1;tr;r++)if(e[r]===t)return r;return-1}function s(e){if("string"!=typeof e){if(e&&e.toHTML)return e.toHTML();if(null==e)return"";if(!e)return e+"";e=""+e}return d.test(e)?e.replace(f,n):e}function a(e){return e||0===e?m(e)&&0===e.length?!0:!1:!0}function u(e,t){return e.path=t,e}function c(e,t){return(e?e+".":"")+t}r.__esModule=!0,r.extend=i,r.indexOf=o,r.escapeExpression=s,r.isEmpty=a,r.blockParams=u,r.appendContextPath=c;var l={"&":"&","<":"<",">":">",'"':""","'":"'","`":"`"},f=/[&<>"'`]/g,d=/[&<>"'`]/,h=Object.prototype.toString;r.toString=h;var p=function(e){return"function"==typeof e};p(/x/)&&(r.isFunction=p=function(e){return"function"==typeof e&&"[object Function]"===h.call(e)});var p;r.isFunction=p;var m=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===h.call(e):!1};r.isArray=m},{}],61:[function(e,t,r){t.exports=e("./dist/cjs/handlebars.runtime").default},{"./dist/cjs/handlebars.runtime":54}]},{},[2]); //# sourceMappingURL=dist/comicbook.min.js.map \ No newline at end of file diff --git a/dist/comicbook.min.js.map b/dist/comicbook.min.js.map index 1e502e0..6ec0b8d 100644 --- a/dist/comicbook.min.js.map +++ b/dist/comicbook.min.js.map @@ -1 +1 @@ -{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Set","_Map","EventEmitter","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","arguments","undefined","this","Object","getPrototypeOf","prototype","pages","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","el","document","createElement","appendChild","self","emit","forEach","src","pageIndex","setImage","set","size","image","window","Image","onload","percentage","Math","floor","update","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/core-js/set","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","addEventListener","body","render","preload","./comic-book",3,"id","style","display",4,"template","createElements","innerHTML","firstChild","progressEl","querySelector","width","./template/progress-bar.handlebars",5,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",6,"default","__esModule","core-js/library/fn/map",7,"core-js/library/fn/object/create",8,"core-js/library/fn/object/define-property",9,"core-js/library/fn/object/get-own-property-descriptor",10,"core-js/library/fn/set",11,"instance","Constructor","TypeError",12,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",13,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","get","babel-runtime/core-js/object/get-own-property-descriptor",14,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",15,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",16,"$","P","D","create","../../modules/$",17,"it","setDesc",18,"getDesc","../../modules/es6.object.statics-accept-primitives",19,"Set","../modules/es6.set","../modules/es7.set.to-json",20,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",21,"cof","toString","slice","TAG","classof","O","T","tag","stat","has","./$.wks",22,"fastKey","$has","ID","isExtensible","getEntry","that","entry","index","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",23,"$def","toJSON","arr","push","./$.def",24,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",25,"assertFunction","c","apply",26,"type","source","own","out","exp","isGlobal","isProto","global","S","B","param",27,"iterator","done","close","./$.iter-call",28,"FW","path",29,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",30,"ret","assertObject",31,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","keys","values","./$.redef",32,"setIterator","is","Symbol","getIter","./$.shared",33,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getKeys","getSymbols","getOwnPropertySymbols","ES5Object","__e","__g","./$.fw",34,35,36,"SHARED","store",37,"SPECIES",38,"TO_STRING","pos","String","charCodeAt","charAt",39,"uid","concat","sid","random",40,41,42,"setUnscope","Array","Arguments","./$.unscope",43,"strong","./$.collection","./$.collection-strong",44,"forced","method","./$.get-names",45,"tmp",46,"add",47,"$at","point","./$.string-at",48,"./$.collection-to-json",49,50,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",51,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","args","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",52,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",53,"registerDefaultHelpers","registerHelper","context","options","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","j","priorKey","conditional","hash","includeZero","isEmpty","message","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",54,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",55,"Handlebars","root","$Handlebars","noConflict",56,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",57,"string","toHTML",58,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",59,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file +{"version":3,"file":"dist/comicbook.min.js","sources":["dist/comicbook.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_get","_inherits","_createClass","_classCallCheck","_Map","EventEmitter","Canvas","LoadIndicator","ProgressBar","ComicBook","_EventEmitter","srcs","arguments","undefined","this","Object","getPrototypeOf","prototype","pages","currentPageIndex","preloadBuffer","canvas","loadIndicator","progressBar","addEventListeners","key","value","on","show","bind","updateProgressBar","hide","drawPage","el","document","createElement","appendChild","_this","emit","forEach","src","pageIndex","setImage","image","index","set","size","window","Image","onload","percentage","Math","floor","update","page","get","drawImage","./view/canvas","./view/load-indicator","./view/progress-bar","babel-runtime/core-js/map","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",2,"comic","addEventListener","body","render","preload","./comic-book",3,"windowWidth","innerWidth","_Object$assign","options","zoomMode","readDirection","doublePage","context","getContext","page2","zoomScale","offsetW","offsetH","width","height","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale","manga","tmpPage","tmpPage2","babel-runtime/core-js/object/assign",4,"id","display",5,"template","createElements","innerHTML","firstChild","progressEl","querySelector","./template/progress-bar.handlebars",6,"templater","compiler","main","depth0","helpers","partials","data","useData","handlebars/runtime",7,"default","__esModule","core-js/library/fn/map",8,"core-js/library/fn/object/assign",9,"core-js/library/fn/object/create",10,"core-js/library/fn/object/define-property",11,"core-js/library/fn/object/get-own-property-descriptor",12,"instance","Constructor","TypeError",13,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",14,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","babel-runtime/core-js/object/get-own-property-descriptor",15,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",16,"core","Map","../modules/$","../modules/es6.map","../modules/es6.object.to-string","../modules/es6.string.iterator","../modules/es7.map.to-json","../modules/web.dom.iterable",17,"assign","../../modules/$","../../modules/es6.object.assign",18,"$","P","D","create",19,"it","setDesc",20,"getDesc","../../modules/es6.object.statics-accept-primitives",21,"assert","condition","msg1","msg2","def","assertDefined","fn","isFunction","obj","isObject","inst","name","./$",22,"enumKeys","source","T","S","ES5Object","keys","j","./$.enum-keys",23,"cof","toString","slice","TAG","classof","O","tag","stat","has","./$.wks",24,"fastKey","$has","ID","isExtensible","getEntry","that","entry","O1","FIRST","k","ctx","safe","forOf","step","LAST","ITER","SIZE","DESC","getConstructor","wrapper","NAME","IS_MAP","ADDER","C","iterable","clear","p","delete","next","prev","callbackfn","v","setIter","iterated","kind","iter","./$.assert","./$.ctx","./$.for-of","./$.iter","./$.iter-define","./$.mix","./$.uid",25,"$def","toJSON","arr","push","./$.def",26,"$iter","BUGGY","assertInstance","INTERNAL","methods","common","IS_WEAK","Base","g","proto","entries","each","split","KEY","chain","b","result","G","W","F","./$.cof","./$.species",27,"assertFunction","c","apply",28,"type","own","out","exp","isGlobal","isProto","global","B","param",29,"getKeys","getSymbols",30,"iterator","done","close","./$.iter-call",31,"FW","path",32,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",33,"ret","assertObject",34,"$redef","SYMBOL_ITERATOR","FF_ITERATOR","KEYS","VALUES","Iterators","DEFAULT","IS_SET","FORCE","createMethod","$$","_native","_default","IteratorPrototype","getProto","values","./$.redef",35,"setIterator","is","Symbol","getIter","./$.shared",36,"toInteger","isNaN","ceil","bitmap","simpleSet","createDefiner","self","defineProperty","hasOwnProperty","max","min","html","documentElement","toLength","toIndex","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","__e","__g","./$.fw",37,38,39,"SHARED","store",40,"SPECIES",41,"TO_STRING","pos","String","charCodeAt","charAt",42,"uid","concat","sid","random",43,44,45,"setUnscope","Array","Arguments","./$.unscope",46,"strong","./$.collection","./$.collection-strong",47,"./$.assign",48,"forced","method","./$.get-names",49,"tmp",50,"$at","point","./$.string-at",51,"./$.collection-to-json",52,"ITERATOR","ArrayValues","NL","NodeList","HTC","HTMLCollection","NLProto","HTCProto","./es6.array.iterator",53,"_events","_maxListeners","arg","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","len","args","listeners","error","addListener","listener","m","newListener","warned","console","trace","once","removeListener","fired","list","position","splice","removeAllListeners","listenerCount","emitter",54,"hb","base","HandlebarsEnvironment","Utils","extend","SafeString","_SafeString2","Exception","_Exception2","escapeExpression","VM","runtime","spec","_interopRequireWildcard","_import","_SafeString","_Exception","_import2","_import3","_noConflict","_noConflict2","./handlebars/base","./handlebars/exception","./handlebars/no-conflict","./handlebars/runtime","./handlebars/safe-string","./handlebars/utils",55,"registerDefaultHelpers","registerHelper","inverse","isArray","ids","createFrame","contextPath","appendContextPath","execIteration","field","last","first","blockParams","priorKey","conditional","hash","includeZero","isEmpty","message","level","parseInt","log","frame","_parent","VERSION","COMPILER_REVISION","REVISION_CHANGES","objectType","logger","unregisterHelper","registerPartial","partial","unregisterPartial","methodMap","DEBUG","INFO","WARN","ERROR","./exception","./utils",56,"node","loc","line","column","start","idx","errorProps","captureStackTrace","lineNumber",57,"Handlebars","root","$Handlebars","noConflict",58,"checkRevision","compilerInfo","compilerRevision","currentRevision","_COMPILER_REVISION$REVISION_CHANGES$createFrame","runtimeVersions","compilerVersions","templateSpec","env","invokePartialWrapper","resolvePartial","invokePartial","compile","compilerOptions","indent","lines","join","_setup","initData","depths","useBlockParams","useDepths","container","strict","lookup","lambda","current","programs","program","declaredBlockParams","programWrapper","wrapProgram","depth","merge","noop","isTop","usePartial","_child","prog","./base",59,"string","toHTML",60,"escapeChar","chr","escape","indexOf","array","possible","test","replace","badChars","params","&","<",">","\"","'","`",61,"./dist/cjs/handlebars.runtime"],"mappings":"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","sourceRoot":"./"} \ No newline at end of file diff --git a/dist/img/loading.gif b/dist/img/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..95350aa388cffc32204fd6ca4e286746f515e30c GIT binary patch literal 3208 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 literal 0 HcmV?d00001 diff --git a/test/comic-book.test.js b/test/comic-book.test.js index 460a088..4bc515c 100644 --- a/test/comic-book.test.js +++ b/test/comic-book.test.js @@ -39,7 +39,18 @@ describe('ComicBook', () => { comic.preload() }) - it('should emit a preload:ready event') + it('should emit a preload:ready event', done => { + let comic = new ComicBook(srcs) + + comic.preloadBuffer = 2 + + comic.on('preload:ready', () => { + assert.equal(comic.pages.size, 2) + done() + }) + + comic.preload() + }) it('preload:ready should make sure that double page mode can show two images')