From 155edf49358f45bff8ebb4eb6c9c14a96cf12dc3 Mon Sep 17 00:00:00 2001 From: Bala Clark Date: Sat, 18 Jul 2015 16:58:53 +0200 Subject: [PATCH] port drawPage function --- app/index.js | 12 ++- app/view/canvas.js | 151 +++++++++++++++++++++++----------- dist/comicbook.js | 168 +++++++++++++++++++++++++------------- dist/comicbook.js.map | 6 +- dist/comicbook.min.js | 4 +- dist/comicbook.min.js.map | 2 +- test/view/canvas.test.js | 1 - 7 files changed, 231 insertions(+), 113 deletions(-) diff --git a/app/index.js b/app/index.js index 9be266d..e8165ec 100644 --- a/app/index.js +++ b/app/index.js @@ -1,12 +1,21 @@ // let ComicBook = window.ComicBook = require('./comic-book') let Canvas = require('./view/canvas') +let canvas = new Canvas({ zoomMode: 'fitWidth' }) +/* +let image = new window.Image() +image.onload = () => { + canvas.drawImage(image) + document.body.appendChild(canvas.canvas) +} +image.src = 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg' +*/ + let testImages = require('../test/data') let fixtureImages = require('../test/fixture') let imagediff = require('imagediff') testImages.portrait1((testImage) => { fixtureImages.singlePortrait((fixtureImage) => { - let canvas = new Canvas() canvas.drawImage(testImage) console.log(imagediff.equal(canvas.canvas, fixtureImage)) @@ -18,3 +27,4 @@ testImages.portrait1((testImage) => { document.body.appendChild(canvas.canvas) }) }) + diff --git a/app/view/canvas.js b/app/view/canvas.js index e76bb13..2806507 100644 --- a/app/view/canvas.js +++ b/app/view/canvas.js @@ -1,5 +1,10 @@ let EventEmitter = require('events').EventEmitter +// TODO replace +function windowWidth () { + return window.innerWidth +} + class Canvas extends EventEmitter { constructor (options) { @@ -16,74 +21,122 @@ class Canvas extends EventEmitter { this.canvas = document.createElement('canvas') this.context = this.canvas.getContext('2d') - - this.on('draw:start', this.clearCanvas.bind(this)) } - getScale () { + drawImage (page, page2) { + this.emit('draw:start') - } - - fitCanvasToImage (image) { - // make sure the canvas is always at least full screen, even if the page is more narrow than the screen - this.canvas.width = (this.canvas.width < window.innerWidth) ? window.innerWidth : this.canvas.width - this.canvas.height = (this.canvas.height < window.innerHeight) ? window.innerHeight : this.canvas.height - } - - getDimensions (image) { - let dimensions = { - width: image.width, - height: image.height + if (!(page instanceof window.Image) || (this.options.doublePage && !(page2 instanceof window.Image))) { + throw new Error('Invalid image') } - return dimensions - } - getOffset (dimensions) { - let offset = { - width: 0, - height: 0 + let zoomScale + let offsetW = 0 + let offsetH = 0 + let width = page.width + let height = page.height + let doublePageMode = this.options.doublePage + let canvasWidth + let canvasHeight + let pageWidth + let pageHeight + + // reset the canvas to stop duplicate pages showing + this.canvas.width = 0 + this.canvas.height = 0 + + // show double page spreads on a single page + let 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' + + let 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 + let windowHeight = window.innerHeight + let 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 (this.canvas.width < window.innerWidth) { - offset.width = (window.innerWidth - dimensions.width) / 2 - if (this.options.doublePage) { - offset.width = offset.width - dimensions.width / 2 - } + if (canvasWidth < windowWidth()) { + offsetW = (windowWidth() - pageWidth) / 2 + if (this.options.doublePage) { offsetW = offsetW - pageWidth / 2 } } // work out a vertical position - if (this.canvas.height < window.innerHeight) { - offset.height = (window.innerHeight - dimensions.height) / 2 + if (canvasHeight < window.innerHeight) { + offsetH = (window.innerHeight - pageHeight) / 2 } } - return offset - } - - clearCanvas () { - this.canvas.width = 0 - this.canvas.height = 0 - } - - drawImage (image, image2) { - this.emit('draw:start') - - if (!(image instanceof window.Image) || (this.options.doublePage && !(image2 instanceof window.Image))) { - throw new Error('Invalid image') + // in manga double page mode reverse the page(s) + if (this.options.manga && this.options.doublePage && typeof page2 === 'object') { + let tmpPage = page + let tmpPage2 = page2 + page = tmpPage2 + page2 = tmpPage } - this.fitCanvasToImage() - - let dimensions = this.getDimensions(image) - let offset = this.getOffset(dimensions) - - this.context.drawImage(image, offset.width, offset.height, dimensions.width, dimensions.height) - if (this.options.doublePage && image2) { - this.context.drawImage(image2, dimensions.width + offset.width, offset.height, dimensions.width, dimensions.height) + // 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') diff --git a/dist/comicbook.js b/dist/comicbook.js index 9cd79bb..1dd222c 100644 --- a/dist/comicbook.js +++ b/dist/comicbook.js @@ -3,13 +3,22 @@ 'use strict'; var Canvas = require('./view/canvas'); +var canvas = new Canvas({ zoomMode: 'fitWidth' }); +/* +let image = new window.Image() +image.onload = () => { + canvas.drawImage(image) + document.body.appendChild(canvas.canvas) +} +image.src = 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg' +*/ + var testImages = require('../test/data'); var fixtureImages = require('../test/fixture'); var imagediff = require('imagediff'); testImages.portrait1(function (testImage) { fixtureImages.singlePortrait(function (fixtureImage) { - var canvas = new Canvas(); canvas.drawImage(testImage); console.log(imagediff.equal(canvas.canvas, fixtureImage)); @@ -48,6 +57,11 @@ 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); @@ -67,79 +81,121 @@ var Canvas = (function (_EventEmitter) { this.canvas = document.createElement('canvas'); this.context = this.canvas.getContext('2d'); - - this.on('draw:start', this.clearCanvas.bind(this)); } _createClass(Canvas, [{ - key: 'getScale', - value: function getScale() {} - }, { - key: 'fitCanvasToImage', - value: function fitCanvasToImage(image) { - // make sure the canvas is always at least full screen, even if the page is more narrow than the screen - this.canvas.width = this.canvas.width < window.innerWidth ? window.innerWidth : this.canvas.width; - this.canvas.height = this.canvas.height < window.innerHeight ? window.innerHeight : this.canvas.height; - } - }, { - key: 'getDimensions', - value: function getDimensions(image) { - var dimensions = { - width: image.width, - height: image.height - }; - return dimensions; - } - }, { - key: 'getOffset', - value: function getOffset(dimensions) { - var offset = { - width: 0, - height: 0 - }; + 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 (this.canvas.width < window.innerWidth) { - offset.width = (window.innerWidth - dimensions.width) / 2; + if (canvasWidth < windowWidth()) { + offsetW = (windowWidth() - pageWidth) / 2; if (this.options.doublePage) { - offset.width = offset.width - dimensions.width / 2; + offsetW = offsetW - pageWidth / 2; } } // work out a vertical position - if (this.canvas.height < window.innerHeight) { - offset.height = (window.innerHeight - dimensions.height) / 2; + if (canvasHeight < window.innerHeight) { + offsetH = (window.innerHeight - pageHeight) / 2; } } - return offset; - } - }, { - key: 'clearCanvas', - value: function clearCanvas() { - this.canvas.width = 0; - this.canvas.height = 0; - } - }, { - key: 'drawImage', - value: function drawImage(image, image2) { - this.emit('draw:start'); - - if (!(image instanceof window.Image) || this.options.doublePage && !(image2 instanceof window.Image)) { - throw new Error('Invalid image'); + // 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; } - this.fitCanvasToImage(); - - var dimensions = this.getDimensions(image); - var offset = this.getOffset(dimensions); - - this.context.drawImage(image, offset.width, offset.height, dimensions.width, dimensions.height); - if (this.options.doublePage && image2) { - this.context.drawImage(image2, dimensions.width + offset.width, offset.height, dimensions.width, dimensions.height); + // 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'); diff --git a/dist/comicbook.js.map b/dist/comicbook.js.map index b37433d..dc2854d 100644 --- a/dist/comicbook.js.map +++ b/dist/comicbook.js.map @@ -39,14 +39,14 @@ "/Users/bala/dev/HTML5-Comic-Book-Reader/test/fixture/single-portrait.js" ], "names": [], - "mappings": "AAAA;;;;ACCA,IAAI,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AACrC,IAAI,UAAU,GAAG,OAAO,CAAC,cAAc,CAAC,CAAA;AACxC,IAAI,aAAa,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAC9C,IAAI,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;;AAEpC,UAAU,CAAC,SAAS,CAAC,UAAC,SAAS,EAAK;AAClC,eAAa,CAAC,cAAc,CAAC,UAAC,YAAY,EAAK;AAC7C,QAAI,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;AACzB,UAAM,CAAC,SAAS,CAAC,SAAS,CAAC,CAAA;;AAE3B,WAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;;AAEzD,WAAO,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;AAC9C,WAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY,CAAC,MAAM,CAAC,CAAA;AACpD,WAAO,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;;AAEtD,YAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;GACzC,CAAC,CAAA;CACH,CAAC,CAAA;;;;;AClBF,MAAM,CAAC,OAAO,GAAG,SAAS,SAAS,CAAE,GAAG,EAAE,EAAE,EAAE;AAC5C,MAAI,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,EAAE,CAAA;AAC9B,OAAK,CAAC,MAAM,GAAG,YAAM;AACnB,MAAE,CAAC,KAAK,CAAC,CAAA;GACV,CAAA;AACD,OAAK,CAAC,GAAG,GAAG,GAAG,CAAA;CAChB,CAAA;;;;;;;;;;;;;;;ACPD,IAAI,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAA;;IAE3C,MAAM;YAAN,MAAM;;AAEE,WAFR,MAAM,CAEG,OAAO,EAAE;0BAFlB,MAAM;;AAGR,+BAHE,MAAM,6CAGD;;AAEP,QAAI,CAAC,OAAO,GAAG,eAAc;;AAE3B,cAAQ,EAAE,UAAU;;AAEpB,mBAAa,EAAE,KAAK;;AAEpB,gBAAU,EAAE,KAAK;KAClB,EAAE,OAAO,CAAC,CAAA;;AAEX,QAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAA;AAC9C,QAAI,CAAC,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;;AAE3C,QAAI,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;GACnD;;eAlBG,MAAM;;WAoBD,oBAAG,EAEX;;;WAEgB,0BAAC,KAAK,EAAE;;AAEvB,UAAI,CAAC,MAAM,CAAC,KAAK,GAAG,IAAK,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,GAAI,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAA;AACnG,UAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAK,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,GAAI,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;KACzG;;;WAEa,uBAAC,KAAK,EAAE;AACpB,UAAI,UAAU,GAAG;AACf,aAAK,EAAE,KAAK,CAAC,KAAK;AAClB,cAAM,EAAE,KAAK,CAAC,MAAM;OACrB,CAAA;AACD,aAAO,UAAU,CAAA;KAClB;;;WAES,mBAAC,UAAU,EAAE;AACrB,UAAI,MAAM,GAAG;AACX,aAAK,EAAE,CAAC;AACR,cAAM,EAAE,CAAC;OACV,CAAA;;;AAGD,UAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW,EAAE;;;AAG/E,YAAI,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,UAAU,EAAE;AACzC,gBAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAA,GAAI,CAAC,CAAA;AACzD,cAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;AAC3B,kBAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,CAAC,CAAA;WACnD;SACF;;;AAGD,YAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,WAAW,EAAE;AAC3C,gBAAM,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,WAAW,GAAG,UAAU,CAAC,MAAM,CAAA,GAAI,CAAC,CAAA;SAC7D;OACF;;AAED,aAAO,MAAM,CAAA;KACd;;;WAEW,uBAAG;AACb,UAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;AACrB,UAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;KACvB;;;WAES,mBAAC,KAAK,EAAE,MAAM,EAAE;AACxB,UAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;;AAEvB,UAAI,EAAE,KAAK,YAAY,MAAM,CAAC,KAAK,CAAA,IAAM,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,MAAM,YAAY,MAAM,CAAC,KAAK,CAAA,EAAI;AACtG,cAAM,IAAI,KAAK,CAAC,eAAe,CAAC,CAAA;OACjC;;AAED,UAAI,CAAC,gBAAgB,EAAE,CAAA;;AAEvB,UAAI,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAC1C,UAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;;AAEvC,UAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;AAC/F,UAAI,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,MAAM,EAAE;AACrC,YAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;OACpH;;AAED,UAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACzB;;;SAvFG,MAAM;GAAS,YAAY;;AA0FjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;;;AC5FvB;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5HA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC75CA;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;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,MAAM,CAAC,OAAO,GAAG;AACf,WAAS,EAAE,OAAO,CAAC,aAAa,CAAC;CAClC,CAAA;;;;;ACFD,IAAI,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;;AAEnD,MAAM,CAAC,OAAO,GAAG,UAAC,EAAE,EAAK;AACvB,WAAS,mlVAqKP,EAAE,CAAC,CAAA;CACN,CAAA;;;;;ACzKD,MAAM,CAAC,OAAO,GAAG;AACf,gBAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC;CAC7C,CAAA;;;;;ACFD,IAAI,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;;AAEnD,MAAM,CAAC,OAAO,GAAG,UAAC,EAAE,EAAK;AACvB,WAAS,q8xBAoYP,EAAE,CAAC,CAAA;CACN,CAAA", + "mappings": "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,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,CAAC,CAAA;OACnF;;AAED,UAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;KACzB;;;SAvIG,MAAM;GAAS,YAAY;;AA0IjC,MAAM,CAAC,OAAO,GAAG,MAAM,CAAA;;;ACjJvB;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC5HA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AC75CA;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;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpFA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;AChZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,MAAM,CAAC,OAAO,GAAG;AACf,WAAS,EAAE,OAAO,CAAC,aAAa,CAAC;CAClC,CAAA;;;;;ACFD,IAAI,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;;AAEnD,MAAM,CAAC,OAAO,GAAG,UAAC,EAAE,EAAK;AACvB,WAAS,mlVAqKP,EAAE,CAAC,CAAA;CACN,CAAA;;;;;ACzKD,MAAM,CAAC,OAAO,GAAG;AACf,gBAAc,EAAE,OAAO,CAAC,mBAAmB,CAAC;CAC7C,CAAA;;;;;ACFD,IAAI,SAAS,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;;AAEnD,MAAM,CAAC,OAAO,GAAG,UAAC,EAAE,EAAK;AACvB,WAAS,q8xBAoYP,EAAE,CAAC,CAAA;CACN,CAAA", "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 fixtureImages.singlePortrait((fixtureImage) => {\n let canvas = new Canvas()\n canvas.drawImage(testImage)\n\n console.log(imagediff.equal(canvas.canvas, fixtureImage))\n\n console.log(testImage.width, testImage.height)\n console.log(fixtureImage.width, fixtureImage.height)\n console.log(canvas.canvas.width, canvas.canvas.height)\n\n document.body.appendChild(canvas.canvas)\n })\n})\n", + "// let ComicBook = window.ComicBook = require('./comic-book')\nlet Canvas = require('./view/canvas')\nlet canvas = new Canvas({ zoomMode: 'fitWidth' })\n/*\nlet image = new window.Image()\nimage.onload = () => {\n canvas.drawImage(image)\n document.body.appendChild(canvas.canvas)\n}\nimage.src = 'https://raw.githubusercontent.com/balaclark/HTML5-Comic-Book-Reader/master/examples/goldenboy/goldenboy_01.jpg'\n*/\n\nlet testImages = require('../test/data')\nlet fixtureImages = require('../test/fixture')\nlet imagediff = require('imagediff')\n\ntestImages.portrait1((testImage) => {\n fixtureImages.singlePortrait((fixtureImage) => {\n canvas.drawImage(testImage)\n\n console.log(imagediff.equal(canvas.canvas, fixtureImage))\n\n console.log(testImage.width, testImage.height)\n console.log(fixtureImage.width, fixtureImage.height)\n console.log(canvas.canvas.width, canvas.canvas.height)\n\n document.body.appendChild(canvas.canvas)\n })\n})\n\n", "\nmodule.exports = function makeImage (src, cb) {\n let image = new window.Image()\n image.onload = () => {\n cb(image)\n }\n image.src = src\n}\n\n", - "let EventEmitter = require('events').EventEmitter\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 this.on('draw:start', this.clearCanvas.bind(this))\n }\n\n getScale () {\n\n }\n\n fitCanvasToImage (image) {\n // make sure the canvas is always at least full screen, even if the page is more narrow than the screen\n this.canvas.width = (this.canvas.width < window.innerWidth) ? window.innerWidth : this.canvas.width\n this.canvas.height = (this.canvas.height < window.innerHeight) ? window.innerHeight : this.canvas.height\n }\n\n getDimensions (image) {\n let dimensions = {\n width: image.width,\n height: image.height\n }\n return dimensions\n }\n\n getOffset (dimensions) {\n let offset = {\n width: 0,\n height: 0\n }\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 (this.canvas.width < window.innerWidth) {\n offset.width = (window.innerWidth - dimensions.width) / 2\n if (this.options.doublePage) {\n offset.width = offset.width - dimensions.width / 2\n }\n }\n\n // work out a vertical position\n if (this.canvas.height < window.innerHeight) {\n offset.height = (window.innerHeight - dimensions.height) / 2\n }\n }\n\n return offset\n }\n\n clearCanvas () {\n this.canvas.width = 0\n this.canvas.height = 0\n }\n\n drawImage (image, image2) {\n this.emit('draw:start')\n\n if (!(image instanceof window.Image) || (this.options.doublePage && !(image2 instanceof window.Image))) {\n throw new Error('Invalid image')\n }\n\n this.fitCanvasToImage()\n\n let dimensions = this.getDimensions(image)\n let offset = this.getOffset(dimensions)\n\n this.context.drawImage(image, offset.width, offset.height, dimensions.width, dimensions.height)\n if (this.options.doublePage && image2) {\n this.context.drawImage(image2, dimensions.width + offset.width, offset.height, dimensions.width, dimensions.height)\n }\n\n this.emit('draw:finish')\n }\n}\n\nmodule.exports = Canvas\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", "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 };", diff --git a/dist/comicbook.min.js b/dist/comicbook.min.js index 97868c4..d19e632 100644 --- a/dist/comicbook.min.js +++ b/dist/comicbook.min.js @@ -1,4 +1,4 @@ -!function t(n,e,r){function A(o,s){if(!e[o]){if(!n[o]){var a="function"==typeof require&&require;if(!s&&a)return a(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var h=e[o]={exports:{}};n[o][0].call(h.exports,function(t){var e=n[o][1][t];return A(e?e:t)},h,h.exports,t,n,e,r)}return e[o].exports}for(var i="function"==typeof require&&require,o=0;on?-1:a+10>n?n-a+26+26:h+26>n?n-h:u+26>n?n-u+26:void 0}function e(t){function e(t){u[f++]=t}var r,A,o,s,a,u;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var h=t.length;a="="===t.charAt(h-2)?2:"="===t.charAt(h-1)?1:0,u=new i(3*t.length/4-a),o=a>0?t.length-4:t.length;var f=0;for(r=0,A=0;o>r;r+=4,A+=3)s=n(t.charAt(r))<<18|n(t.charAt(r+1))<<12|n(t.charAt(r+2))<<6|n(t.charAt(r+3)),e((16711680&s)>>16),e((65280&s)>>8),e(255&s);return 2===a?(s=n(t.charAt(r))<<2|n(t.charAt(r+1))>>4,e(255&s)):1===a&&(s=n(t.charAt(r))<<10|n(t.charAt(r+1))<<4|n(t.charAt(r+2))>>2,e(s>>8&255),e(255&s)),u}function A(t){function n(t){return r.charAt(t)}function e(t){return n(t>>18&63)+n(t>>12&63)+n(t>>6&63)+n(63&t)}var A,i,o,s=t.length%3,a="";for(A=0,o=t.length-s;o>A;A+=3)i=(t[A]<<16)+(t[A+1]<<8)+t[A+2],a+=e(i);switch(s){case 1:i=t[t.length-1],a+=n(i>>2),a+=n(i<<4&63),a+="==";break;case 2:i=(t[t.length-2]<<8)+t[t.length-1],a+=n(i>>10),a+=n(i>>4&63),a+=n(i<<2&63),a+="="}return a}var i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="+".charCodeAt(0),s="/".charCodeAt(0),a="0".charCodeAt(0),u="a".charCodeAt(0),h="A".charCodeAt(0),f="-".charCodeAt(0),c="_".charCodeAt(0);t.toByteArray=e,t.fromByteArray=A}("undefined"==typeof e?this.base64js={}:e)},{}],13:[function(t,n,e){},{}],14:[function(t,n,e){function r(){return A.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function A(t){return this instanceof A?(this.length=0,this.parent=void 0,"number"==typeof t?i(this,t):"string"==typeof t?o(this,t,arguments.length>1?arguments[1]:"utf8"):s(this,t)):arguments.length>1?new A(t,arguments[1]):new A(t)}function i(t,n){if(t=g(t,0>n?0:0|l(n)),!A.TYPED_ARRAY_SUPPORT)for(var e=0;n>e;e++)t[e]=0;return t}function o(t,n,e){("string"!=typeof e||""===e)&&(e="utf8");var r=0|d(n,e);return t=g(t,r),t.write(n,e),t}function s(t,n){if(A.isBuffer(n))return a(t,n);if(z(n))return u(t,n);if(null==n)throw new TypeError("must start with number, buffer, array or string");return"undefined"!=typeof ArrayBuffer&&n.buffer instanceof ArrayBuffer?h(t,n):n.length?f(t,n):c(t,n)}function a(t,n){var e=0|l(n.length);return t=g(t,e),n.copy(t,0,0,e),t}function u(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function h(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function f(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function c(t,n){var e,r=0;"Buffer"===n.type&&z(n.data)&&(e=n.data,r=0|l(e.length)),t=g(t,r);for(var A=0;r>A;A+=1)t[A]=255&e[A];return t}function g(t,n){A.TYPED_ARRAY_SUPPORT?t=A._augment(new Uint8Array(n)):(t.length=n,t._isBuffer=!0);var e=0!==n&&n<=A.poolSize>>>1;return e&&(t.parent=H),t}function l(t){if(t>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|t}function E(t,n){if(!(this instanceof E))return new E(t,n);var e=new A(t,n);return delete e.parent,e}function d(t,n){"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var r=!1;;)switch(n){case"ascii":case"binary":case"raw":case"raws":return e;case"utf8":case"utf-8":return j(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return T(t).length;default:if(r)return j(t).length;n=(""+n).toLowerCase(),r=!0}}function p(t,n,e){var r=!1;if(n=0|n,e=void 0===e||e===1/0?this.length:0|e,t||(t="utf8"),0>n&&(n=0),e>this.length&&(e=this.length),n>=e)return"";for(;;)switch(t){case"hex":return Q(this,n,e);case"utf8":case"utf-8":return C(this,n,e);case"ascii":return S(this,n,e);case"binary":return F(this,n,e);case"base64":return y(this,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,n,e);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function I(t,n,e,r){e=Number(e)||0;var A=t.length-e;r?(r=Number(r),r>A&&(r=A)):r=A;var i=n.length;if(i%2!==0)throw new Error("Invalid hex string");r>i/2&&(r=i/2);for(var o=0;r>o;o++){var s=parseInt(n.substr(2*o,2),16);if(isNaN(s))throw new Error("Invalid hex string");t[e+o]=s}return o}function v(t,n,e,r){return N(j(n,t.length-e),t,e,r)}function B(t,n,e,r){return N(P(n),t,e,r)}function w(t,n,e,r){return B(t,n,e,r)}function U(t,n,e,r){return N(T(n),t,e,r)}function R(t,n,e,r){return N(O(n,t.length-e),t,e,r)}function y(t,n,e){return 0===n&&e===t.length?X.fromByteArray(t):X.fromByteArray(t.slice(n,e))}function C(t,n,e){var r="",A="";e=Math.min(t.length,e);for(var i=n;e>i;i++)t[i]<=127?(r+=V(A)+String.fromCharCode(t[i]),A=""):A+="%"+t[i].toString(16);return r+V(A)}function S(t,n,e){var r="";e=Math.min(t.length,e);for(var A=n;e>A;A++)r+=String.fromCharCode(127&t[A]);return r}function F(t,n,e){var r="";e=Math.min(t.length,e);for(var A=n;e>A;A++)r+=String.fromCharCode(t[A]);return r}function Q(t,n,e){var r=t.length;(!n||0>n)&&(n=0),(!e||0>e||e>r)&&(e=r);for(var A="",i=n;e>i;i++)A+=K(t[i]);return A}function m(t,n,e){for(var r=t.slice(n,e),A="",i=0;it)throw new RangeError("offset is not uint");if(t+n>e)throw new RangeError("Trying to access beyond buffer length")}function b(t,n,e,r,i,o){if(!A.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");if(n>i||o>n)throw new RangeError("value is out of bounds");if(e+r>t.length)throw new RangeError("index out of range")}function W(t,n,e,r){0>n&&(n=65535+n+1);for(var A=0,i=Math.min(t.length-e,2);i>A;A++)t[e+A]=(n&255<<8*(r?A:1-A))>>>8*(r?A:1-A)}function k(t,n,e,r){0>n&&(n=4294967295+n+1);for(var A=0,i=Math.min(t.length-e,4);i>A;A++)t[e+A]=n>>>8*(r?A:3-A)&255}function x(t,n,e,r,A,i){if(n>A||i>n)throw new RangeError("value is out of bounds");if(e+r>t.length)throw new RangeError("index out of range");if(0>e)throw new RangeError("index out of range")}function M(t,n,e,r,A){return A||x(t,n,e,4,3.4028234663852886e38,-3.4028234663852886e38),G.write(t,n,e,r,23,4),e+4}function L(t,n,e,r,A){return A||x(t,n,e,8,1.7976931348623157e308,-1.7976931348623157e308),G.write(t,n,e,r,52,8),e+8}function Y(t){if(t=D(t).replace(q,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function D(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function K(t){return 16>t?"0"+t.toString(16):t.toString(16)}function j(t,n){n=n||1/0;for(var e,r=t.length,A=null,i=[],o=0;r>o;o++){if(e=t.charCodeAt(o),e>55295&&57344>e){if(!A){if(e>56319){(n-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(n-=3)>-1&&i.push(239,191,189);continue}A=e;continue}if(56320>e){(n-=3)>-1&&i.push(239,191,189),A=e;continue}e=A-55296<<10|e-56320|65536,A=null}else A&&((n-=3)>-1&&i.push(239,191,189),A=null);if(128>e){if((n-=1)<0)break;i.push(e)}else if(2048>e){if((n-=2)<0)break;i.push(e>>6|192,63&e|128)}else if(65536>e){if((n-=3)<0)break;i.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(2097152>e))throw new Error("Invalid code point");if((n-=4)<0)break;i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return i}function P(t){for(var n=[],e=0;e>8,A=e%256,i.push(A),i.push(r);return i}function T(t){return X.toByteArray(Y(t))}function N(t,n,e,r){for(var A=0;r>A&&!(A+e>=n.length||A>=t.length);A++)n[A+e]=t[A];return A}function V(t){try{return decodeURIComponent(t)}catch(t){return String.fromCharCode(65533)}}var X=t("base64-js"),G=t("ieee754"),z=t("is-array");e.Buffer=A,e.SlowBuffer=E,e.INSPECT_MAX_BYTES=50,A.poolSize=8192;var H={};A.TYPED_ARRAY_SUPPORT=function(){function t(){}try{var n=new ArrayBuffer(0),e=new Uint8Array(n);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&"function"==typeof e.subarray&&0===new Uint8Array(1).subarray(1,1).byteLength}catch(t){return!1}}(),A.isBuffer=function(t){return!(null==t||!t._isBuffer)},A.compare=function(t,n){if(!A.isBuffer(t)||!A.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(t===n)return 0;for(var e=t.length,r=n.length,i=0,o=Math.min(e,r);o>i&&t[i]===n[i];)++i;return i!==o&&(e=t[i],r=n[i]),r>e?-1:e>r?1:0},A.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},A.concat=function(t,n){if(!z(t))throw new TypeError("list argument must be an Array of Buffers.");if(0===t.length)return new A(0);if(1===t.length)return t[0];var e;if(void 0===n)for(n=0,e=0;e0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},A.prototype.compare=function(t){if(!A.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?0:A.compare(this,t)},A.prototype.indexOf=function(t,n){function e(t,n,e){for(var r=-1,A=0;e+A2147483647?n=2147483647:-2147483648>n&&(n=-2147483648),n>>=0,0===this.length)return-1;if(n>=this.length)return-1;if(0>n&&(n=Math.max(this.length+n,0)),"string"==typeof t)return 0===t.length?-1:String.prototype.indexOf.call(this,t,n);if(A.isBuffer(t))return e(this,t,n);if("number"==typeof t)return A.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,t,n):e(this,[t],n);throw new TypeError("val must be string, number or Buffer")},A.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},A.prototype.set=function(t,n){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,n)},A.prototype.write=function(t,n,e,r){if(void 0===n)r="utf8",e=this.length,n=0;else if(void 0===e&&"string"==typeof n)r=n,e=this.length,n=0;else if(isFinite(n))n=0|n,isFinite(e)?(e=0|e,void 0===r&&(r="utf8")):(r=e,e=void 0);else{var A=r;r=n,n=0|e,e=A}var i=this.length-n;if((void 0===e||e>i)&&(e=i),t.length>0&&(0>e||0>n)||n>this.length)throw new RangeError("attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return I(this,t,n,e);case"utf8":case"utf-8":return v(this,t,n,e);case"ascii":return B(this,t,n,e);case"binary":return w(this,t,n,e);case"base64":return U(this,t,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return R(this,t,n,e);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},A.prototype.slice=function(t,n){var e=this.length;t=~~t,n=void 0===n?e:~~n,0>t?(t+=e,0>t&&(t=0)):t>e&&(t=e),0>n?(n+=e,0>n&&(n=0)):n>e&&(n=e),t>n&&(n=t);var r;if(A.TYPED_ARRAY_SUPPORT)r=A._augment(this.subarray(t,n));else{var i=n-t;r=new A(i,void 0);for(var o=0;i>o;o++)r[o]=this[o+t]}return r.length&&(r.parent=this.parent||this),r},A.prototype.readUIntLE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=this[t],A=1,i=0;++i0&&(A*=256);)r+=this[t+--n]*A;return r},A.prototype.readUInt8=function(t,n){return n||J(t,1,this.length),this[t]},A.prototype.readUInt16LE=function(t,n){return n||J(t,2,this.length),this[t]|this[t+1]<<8},A.prototype.readUInt16BE=function(t,n){return n||J(t,2,this.length),this[t]<<8|this[t+1]},A.prototype.readUInt32LE=function(t,n){return n||J(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},A.prototype.readUInt32BE=function(t,n){return n||J(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},A.prototype.readIntLE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=this[t],A=1,i=0;++i=A&&(r-=Math.pow(2,8*n)),r},A.prototype.readIntBE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=n,A=1,i=this[t+--r];r>0&&(A*=256);)i+=this[t+--r]*A;return A*=128,i>=A&&(i-=Math.pow(2,8*n)),i},A.prototype.readInt8=function(t,n){return n||J(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},A.prototype.readInt16LE=function(t,n){n||J(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},A.prototype.readInt16BE=function(t,n){n||J(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},A.prototype.readInt32LE=function(t,n){return n||J(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},A.prototype.readInt32BE=function(t,n){return n||J(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},A.prototype.readFloatLE=function(t,n){return n||J(t,4,this.length),G.read(this,t,!0,23,4)},A.prototype.readFloatBE=function(t,n){return n||J(t,4,this.length),G.read(this,t,!1,23,4)},A.prototype.readDoubleLE=function(t,n){return n||J(t,8,this.length),G.read(this,t,!0,52,8)},A.prototype.readDoubleBE=function(t,n){return n||J(t,8,this.length),G.read(this,t,!1,52,8)},A.prototype.writeUIntLE=function(t,n,e,r){t=+t,n=0|n,e=0|e,r||b(this,t,n,e,Math.pow(2,8*e),0);var A=1,i=0;for(this[n]=255&t;++i=0&&(i*=256);)this[n+A]=t/i&255;return n+e},A.prototype.writeUInt8=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,1,255,0),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[n]=t,n+1},A.prototype.writeUInt16LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8):W(this,t,n,!0),n+2},A.prototype.writeUInt16BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=t):W(this,t,n,!1),n+2},A.prototype.writeUInt32LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=t):k(this,t,n,!0),n+4},A.prototype.writeUInt32BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t):k(this,t,n,!1),n+4},A.prototype.writeIntLE=function(t,n,e,r){if(t=+t,n=0|n,!r){var A=Math.pow(2,8*e-1);b(this,t,n,e,A-1,-A)}var i=0,o=1,s=0>t?1:0;for(this[n]=255&t;++i>0)-s&255;return n+e},A.prototype.writeIntBE=function(t,n,e,r){if(t=+t,n=0|n,!r){var A=Math.pow(2,8*e-1);b(this,t,n,e,A-1,-A)}var i=e-1,o=1,s=0>t?1:0;for(this[n+i]=255&t;--i>=0&&(o*=256);)this[n+i]=(t/o>>0)-s&255;return n+e},A.prototype.writeInt8=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,1,127,-128),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),0>t&&(t=255+t+1),this[n]=t,n+1},A.prototype.writeInt16LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8):W(this,t,n,!0),n+2},A.prototype.writeInt16BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=t):W(this,t,n,!1),n+2},A.prototype.writeInt32LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,2147483647,-2147483648),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24):k(this,t,n,!0),n+4},A.prototype.writeInt32BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,2147483647,-2147483648),0>t&&(t=4294967295+t+1),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t):k(this,t,n,!1),n+4},A.prototype.writeFloatLE=function(t,n,e){return M(this,t,n,!0,e)},A.prototype.writeFloatBE=function(t,n,e){return M(this,t,n,!1,e)},A.prototype.writeDoubleLE=function(t,n,e){return L(this,t,n,!0,e)},A.prototype.writeDoubleBE=function(t,n,e){return L(this,t,n,!1,e)},A.prototype.copy=function(t,n,e,r){if(e||(e=0),r||0===r||(r=this.length),n>=t.length&&(n=t.length),n||(n=0),r>0&&e>r&&(r=e),r===e)return 0;if(0===t.length||0===this.length)return 0;if(0>n)throw new RangeError("targetStart out of bounds");if(0>e||e>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-ni||!A.TYPED_ARRAY_SUPPORT)for(var o=0;i>o;o++)t[o+n]=this[o+e];else t._set(this.subarray(e,e+i),n);return i},A.prototype.fill=function(t,n,e){if(t||(t=0),n||(n=0),e||(e=this.length),n>e)throw new RangeError("end < start");if(e!==n&&0!==this.length){if(0>n||n>=this.length)throw new RangeError("start out of bounds");if(0>e||e>this.length)throw new RangeError("end out of bounds");var r;if("number"==typeof t)for(r=n;e>r;r++)this[r]=t;else{var A=j(t.toString()),i=A.length;for(r=n;e>r;r++)this[r]=A[r%i]}return this}},A.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(A.TYPED_ARRAY_SUPPORT)return new A(this).buffer;for(var t=new Uint8Array(this.length),n=0,e=t.length;e>n;n+=1)t[n]=this[n];return t.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var Z=A.prototype;A._augment=function(t){return t.constructor=A,t._isBuffer=!0,t._set=t.set,t.get=Z.get,t.set=Z.set,t.write=Z.write,t.toString=Z.toString,t.toLocaleString=Z.toString,t.toJSON=Z.toJSON,t.equals=Z.equals,t.compare=Z.compare,t.indexOf=Z.indexOf,t.copy=Z.copy,t.slice=Z.slice,t.readUIntLE=Z.readUIntLE,t.readUIntBE=Z.readUIntBE,t.readUInt8=Z.readUInt8,t.readUInt16LE=Z.readUInt16LE,t.readUInt16BE=Z.readUInt16BE,t.readUInt32LE=Z.readUInt32LE,t.readUInt32BE=Z.readUInt32BE,t.readIntLE=Z.readIntLE,t.readIntBE=Z.readIntBE,t.readInt8=Z.readInt8,t.readInt16LE=Z.readInt16LE,t.readInt16BE=Z.readInt16BE,t.readInt32LE=Z.readInt32LE,t.readInt32BE=Z.readInt32BE,t.readFloatLE=Z.readFloatLE,t.readFloatBE=Z.readFloatBE,t.readDoubleLE=Z.readDoubleLE,t.readDoubleBE=Z.readDoubleBE,t.writeUInt8=Z.writeUInt8,t.writeUIntLE=Z.writeUIntLE,t.writeUIntBE=Z.writeUIntBE,t.writeUInt16LE=Z.writeUInt16LE,t.writeUInt16BE=Z.writeUInt16BE,t.writeUInt32LE=Z.writeUInt32LE,t.writeUInt32BE=Z.writeUInt32BE,t.writeIntLE=Z.writeIntLE,t.writeIntBE=Z.writeIntBE,t.writeInt8=Z.writeInt8,t.writeInt16LE=Z.writeInt16LE,t.writeInt16BE=Z.writeInt16BE,t.writeInt32LE=Z.writeInt32LE,t.writeInt32BE=Z.writeInt32BE,t.writeFloatLE=Z.writeFloatLE,t.writeFloatBE=Z.writeFloatBE,t.writeDoubleLE=Z.writeDoubleLE,t.writeDoubleBE=Z.writeDoubleBE,t.fill=Z.fill,t.inspect=Z.inspect,t.toArrayBuffer=Z.toArrayBuffer,t};var q=/[^+\/0-9A-z\-]/g},{"base64-js":12,ieee754:28,"is-array":31}],15:[function(t,n,e){t("../../modules/es6.object.assign"),n.exports=t("../../modules/$").core.Object.assign},{"../../modules/$":24,"../../modules/es6.object.assign":25}],16:[function(t,n,e){var r=t("../../modules/$");n.exports=function(t,n){return r.create(t,n)}},{"../../modules/$":24}],17:[function(t,n,e){var r=t("../../modules/$");n.exports=function(t,n,e){return r.setDesc(t,n,e)}},{"../../modules/$":24}],18:[function(t,n,e){var r=t("../../modules/$");t("../../modules/es6.object.statics-accept-primitives"),n.exports=function(t,n){return r.getDesc(t,n)}},{"../../modules/$":24,"../../modules/es6.object.statics-accept-primitives":26}],19:[function(t,n,e){var r=t("./$"),A=t("./$.enum-keys");n.exports=Object.assign||function(t,n){for(var e=Object(r.assertDefined(t)),i=arguments.length,o=1;i>o;)for(var s,a=r.ES5Object(arguments[o++]),u=A(a),h=u.length,f=0;h>f;)e[s=u[f++]]=a[s];return e}},{"./$":24,"./$.enum-keys":21}],20:[function(t,n,e){function r(t,n){return function(){return t.apply(n,arguments)}}function A(t,n,e){var i,u,h,f,c=t&A.G,g=t&A.P,l=c?o:t&A.S?o[n]:(o[n]||{}).prototype,E=c?s:s[n]||(s[n]={});c&&(e=n);for(i in e)u=!(t&A.F)&&l&&i in l,u&&i in E||(h=u?l[i]:e[i],c&&!a(l[i])?f=e[i]:t&A.B&&u?f=r(h,o):t&A.W&&l[i]==h?!function(t){f=function(n){return this instanceof t?new t(n):t(n)},f.prototype=t.prototype}(h):f=g&&a(h)?r(Function.call,h):h,E[i]=f,g&&((E.prototype||(E.prototype={}))[i]=h))}var i=t("./$"),o=i.g,s=i.core,a=i.isFunction;A.F=1,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,n.exports=A},{"./$":24}],21:[function(t,n,e){var r=t("./$");n.exports=function(t){var n=r.getKeys(t),e=r.getDesc,A=r.getSymbols;return A&&r.each.call(A(t),function(r){e(t,r).enumerable&&n.push(r)}),n}},{"./$":24}],22:[function(t,n,e){n.exports=function(t){return t.FW=!1,t.path=t.core,t}},{}],23:[function(t,n,e){function r(t){try{return o(t)}catch(t){return s.slice()}}var A=t("./$"),i={}.toString,o=A.getNames,s="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];n.exports.get=function(t){return s&&"[object Window]"==i.call(t)?r(t):o(A.toObject(t))}},{"./$":24}],24:[function(t,n,e){"use strict";function r(t){return isNaN(t=+t)?0:(t>0?E:l)(t)}function A(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}function i(t,n,e){return t[n]=e,t}function o(t){return I?function(n,e,r){return B.setDesc(n,e,A(t,r))}:i}function s(t){return null!==t&&("object"==typeof t||"function"==typeof t)}function a(t){return"function"==typeof t}function u(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}var h="undefined"!=typeof self?self:Function("return this")(),f={},c=Object.defineProperty,g={}.hasOwnProperty,l=Math.ceil,E=Math.floor,d=Math.max,p=Math.min,I=!!function(){try{return 2==c({},"a",{get:function(){return 2}}).a}catch(t){}}(),v=o(1),B=n.exports=t("./$.fw")({g:h,core:f,html:h.document&&document.documentElement,isObject:s,isFunction:a,that:function(){return this},toInteger:r,toLength:function(t){return t>0?p(r(t),9007199254740991):0},toIndex:function(t,n){return t=r(t),0>t?d(t+n,0):p(t,n)},has:function(t,n){return g.call(t,n)},create:Object.create,getProto:Object.getPrototypeOf,DESC:I,desc:A,getDesc:Object.getOwnPropertyDescriptor,setDesc:c,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:u,ES5Object:Object,toObject:function(t){return B.ES5Object(u(t))},hide:v,def:o(0),set:h.Symbol?i:v,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=h)},{"./$.fw":22}],25:[function(t,n,e){var r=t("./$.def");r(r.S,"Object",{assign:t("./$.assign")})},{"./$.assign":19,"./$.def":20}],26:[function(t,n,e){var r=t("./$"),A=t("./$.def"),i=r.isObject,o=r.toObject;r.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(n,e){var s=(r.core.Object||{})[n]||Object[n],a=0,u={};u[n]=0==e?function(t){return i(t)?s(t):t}:1==e?function(t){return i(t)?s(t):t}:2==e?function(t){return i(t)?s(t):t}:3==e?function(t){return i(t)?s(t):!0}:4==e?function(t){return i(t)?s(t):!0}:5==e?function(t){return i(t)?s(t):!1}:6==e?function(t,n){return s(o(t),n)}:7==e?function(t){return s(Object(r.assertDefined(t)))}:8==e?function(t){return s(o(t))}:t("./$.get-names").get;try{s("z")}catch(t){a=1}A(A.S+A.F*a,"Object",u)})},{"./$":24,"./$.def":20,"./$.get-names":23}],27:[function(t,n,e){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function A(t){return"function"==typeof t}function i(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}n.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(t){if(!i(t)||0>t||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},r.prototype.emit=function(t){var n,e,r,i,a,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(n=arguments[1],n instanceof Error)throw n;throw TypeError('Uncaught, unspecified "error" event.')}if(e=this._events[t],s(e))return!1;if(A(e))switch(arguments.length){case 1:e.call(this);break;case 2:e.call(this,arguments[1]);break;case 3:e.call(this,arguments[1],arguments[2]);break;default:for(r=arguments.length,i=new Array(r-1),a=1;r>a;a++)i[a-1]=arguments[a];e.apply(this,i)}else if(o(e)){for(r=arguments.length,i=new Array(r-1),a=1;r>a;a++)i[a-1]=arguments[a];for(u=e.slice(),r=u.length,a=0;r>a;a++)u[a].apply(this,i)}return!0},r.prototype.addListener=function(t,n){var e;if(!A(n))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,A(n.listener)?n.listener:n),this._events[t]?o(this._events[t])?this._events[t].push(n):this._events[t]=[this._events[t],n]:this._events[t]=n,o(this._events[t])&&!this._events[t].warned){var e;e=s(this._maxListeners)?r.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[t].length>e&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(t,n){function e(){this.removeListener(t,e),r||(r=!0,n.apply(this,arguments))}if(!A(n))throw TypeError("listener must be a function");var r=!1;return e.listener=n,this.on(t,e),this},r.prototype.removeListener=function(t,n){var e,r,i,s;if(!A(n))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(e=this._events[t],i=e.length,r=-1,e===n||A(e.listener)&&e.listener===n)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,n);else if(o(e)){for(s=i;s-->0;)if(e[s]===n||e[s].listener&&e[s].listener===n){r=s;break}if(0>r)return this;1===e.length?(e.length=0,delete this._events[t]):e.splice(r,1),this._events.removeListener&&this.emit("removeListener",t,n)}return this},r.prototype.removeAllListeners=function(t){var n,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(n in this._events)"removeListener"!==n&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events={},this}if(e=this._events[t],A(e))this.removeListener(t,e);else for(;e.length;)this.removeListener(t,e[e.length-1]);return delete this._events[t],this},r.prototype.listeners=function(t){ -var n;return n=this._events&&this._events[t]?A(this._events[t])?[this._events[t]]:this._events[t].slice():[]},r.listenerCount=function(t,n){var e;return e=t._events&&t._events[n]?A(t._events[n])?1:t._events[n].length:0}},{}],28:[function(t,n,e){e.read=function(t,n,e,r,A){var i,o,s=8*A-r-1,a=(1<>1,h=-7,f=e?A-1:0,c=e?-1:1,g=t[n+f];for(f+=c,i=g&(1<<-h)-1,g>>=-h,h+=s;h>0;i=256*i+t[n+f],f+=c,h-=8);for(o=i&(1<<-h)-1,i>>=-h,h+=r;h>0;o=256*o+t[n+f],f+=c,h-=8);if(0===i)i=1-u;else{if(i===a)return o?NaN:(g?-1:1)*(1/0);o+=Math.pow(2,r),i-=u}return(g?-1:1)*o*Math.pow(2,i-r)},e.write=function(t,n,e,r,A,i){var o,s,a,u=8*i-A-1,h=(1<>1,c=23===A?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:i-1,l=r?1:-1,E=0>n||0===n&&0>1/n?1:0;for(n=Math.abs(n),isNaN(n)||n===1/0?(s=isNaN(n)?1:0,o=h):(o=Math.floor(Math.log(n)/Math.LN2),n*(a=Math.pow(2,-o))<1&&(o--,a*=2),n+=o+f>=1?c/a:c*Math.pow(2,1-f),n*a>=2&&(o++,a/=2),o+f>=h?(s=0,o=h):o+f>=1?(s=(n*a-1)*Math.pow(2,A),o+=f):(s=n*Math.pow(2,f-1)*Math.pow(2,A),o=0));A>=8;t[e+g]=255&s,g+=l,s/=256,A-=8);for(o=o<0;t[e+g]=255&o,g+=l,o/=256,u-=8);t[e+g-l]|=128*E}},{}],29:[function(t,n,e){"use strict";n.exports=function(){return document.createElement("canvas")}},{}],30:[function(t,n,e){(function(e){!function(e,r){var A=this;if("undefined"!=typeof n){try{var i=t("canvas")}catch(t){throw new Error(t.message+"\nPlease see https://github.com/HumbleSoftware/js-imagediff#cannot-find-module-canvas\n")}n.exports=r(A,e,i)}else"function"==typeof define&&"object"==typeof define.amd?define(r):A[e]=r(A,e)}("imagediff",function(r,A,i){function o(t,n){var e=i?new i:document.createElement("canvas");return t&&(e.width=t),n&&(e.height=n),e}function s(t,n){return D.width=t,D.height=n,K.clearRect(0,0,t,n),K.createImageData(t,n)}function a(){return i}function u(t){return l(t,M)}function h(t){return l(t,k)}function f(t){return l(t,x)}function c(t){return!(!t||!l(t,L)||typeof t.width===Y||typeof t.height===Y||typeof t.data===Y)}function g(t){return u(t)||h(t)||f(t)||c(t)}function l(t,n){return"object"==typeof t&&!!Object.prototype.toString.apply(t).match(n)}function E(t){var n,e,r,A=t.height,i=t.width,o=t.data;for(D.width=i,D.height=A,n=K.getImageData(0,0,i,A),e=n.data,r=t.data.length;r--;)e[r]=o[r];return n}function d(t){return u(t)?p(t):h(t)?I(t):f(t)?v(t):c(t)?t:void 0}function p(t){var n=t.height,e=t.width;return D.width=e,D.height=n,K.clearRect(0,0,e,n),K.drawImage(t,0,0),K.getImageData(0,0,e,n)}function I(t){var n=t.height,e=t.width,r=t.getContext("2d");return r.getImageData(0,0,e,n)}function v(t){var n=t.canvas,e=n.height,r=n.width;return t.getImageData(0,0,r,e)}function B(t){var n=d(t),e=o(n.width,n.height),r=e.getContext("2d");return r.putImageData(n,0,0),e}function w(t,n){return t.width===n.width}function U(t,n){return t.height===n.height}function R(t,n){return U(t,n)&&w(t,n)}function y(t,n,e){var r,A=t.data,i=n.data,o=A.length;if(e=e||0,!R(t,n))return!1;for(r=o;r--;)if(A[r]!==i[r]&&Math.abs(A[r]-i[r])>e)return!1;return!0}function C(t,n,e){return(R(t,n)?S:F)(t,n,e)}function S(t,n,e){var r,A=t.height,i=t.width,o=s(i,A),a=t.data,u=n.data,h=o.data,f=h.length;for(r=0;f>r;r+=4)h[r]=Math.abs(a[r]-u[r]),h[r+1]=Math.abs(a[r+1]-u[r+1]),h[r+2]=Math.abs(a[r+2]-u[r+2]),h[r+3]=Math.abs(255-Math.abs(a[r+3]-u[r+3]));return o}function F(t,n,e){function r(t){"top"===p?(A=0,i=0):(A=Math.floor((f-t.height)/2),i=Math.floor((c-t.width)/2))}var A,i,o,a,u,h,f=Math.max(t.height,n.height),c=Math.max(t.width,n.width),g=s(c,f),l=t.data,E=n.data,d=g.data,p=e&&e.align;for(u=d.length-1;u>0;u-=4)d[u]=255;for(r(t),o=t.height;o--;)for(a=t.width;a--;)u=4*((o+A)*c+(a+i)),h=4*(o*t.width+a),d[u+0]=l[h+0],d[u+1]=l[h+1],d[u+2]=l[h+2];for(r(n),o=n.height;o--;)for(a=n.width;a--;)u=4*((o+A)*c+(a+i)),h=4*(o*n.width+a),d[u+0]=Math.abs(d[u+0]-E[h+0]),d[u+1]=Math.abs(d[u+1]-E[h+1]),d[u+2]=Math.abs(d[u+2]-E[h+2]);return g}function Q(){var t;for(t=0;tActual:"),A=m("div","
Expected:
"),i=m("div","
Diff:
"),s=b.diff(this.actual,t),a=o();return a.height=s.height,a.width=s.width,e.style.overflow="hidden",r.style.float="left",A.style.float="left",i.style.float="left",n=a.getContext("2d"),n.putImageData(s,0,0),r.appendChild(B(this.actual)),A.appendChild(B(t)),i.appendChild(a),e.appendChild(r),e.appendChild(A),e.appendChild(i),[e,"Expected not to be equal."]}),b.equal(this.actual,t,n)}},b={createCanvas:o,createImageData:s,getCanvasRef:a,isImage:u,isCanvas:h,isContext:f,isImageData:c,isImageType:g,toImageData:function(t){return Q(t),c(t)?E(t):d(t)},equal:function(t,n,e){return Q(t,n),t=d(t),n=d(n),y(t,n,e)},diff:function(t,n,e){return Q(t,n),t=d(t),n=d(n),C(t,n,e)},jasmine:W,noConflict:function(){return r[A]=j,b}},"undefined"!=typeof n&&(b.imageDataToPNG=J),b})}).call(this,t("buffer").Buffer)},{buffer:14,canvas:29,fs:13}],31:[function(t,n,e){var r=Array.isArray,A=Object.prototype.toString;n.exports=r||function(t){return!!t&&"[object Array]"==A.call(t)}},{}],32:[function(t,n,e){"use strict";n.exports={portrait1:t("./portrait1")}},{"./portrait1":33}],33:[function(t,n,e){"use strict";var r=t("../../app/lib/make-image");n.exports=function(t){r("data:image/jpg;base64,\n/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAAB\nAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAAB\nAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAA\nAGSgAwAEAAAAAQAAAJMAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAA\nOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iDFhJQ0NfUFJPRklMRQABAQAA\nDEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElF\nQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rl\nc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdY\nWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1\nZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRl\nY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl\neHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55\nAABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0Ig\nSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ\nWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVj\nLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF\nQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA\nAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g\nc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug\nVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVm\nZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwAD\nXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAA\nAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU\nABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCL\nAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH\nAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp\nAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6\nAoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+\nA4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2\nBMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn\nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfS\nB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6\nCc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh\nC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J\nDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1\nERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPl\nFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcd\nF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe\nGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q\nHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC\nIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo\nJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSud\nK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk\nMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9\nNjc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq\nO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs\nQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgF\nSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63\nTwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC\nVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0n\nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTp\nZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I\nbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF\ndeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5i\nfsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef\niASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/\nkaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtC\nm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp\nphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1\nsOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7Lrun\nvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB\nx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE\n08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v\n4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG\n7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH\n+lf65/t3/Af8mP0p/br+S/7c/23////AABEIAJMAZAMBEgACEQEDEQH/xAAfAAAB\nBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0B\nAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp\nKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImK\nkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj\n5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJ\n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",t)}},{"../../app/lib/make-image":2}],34:[function(t,n,e){"use strict";n.exports={singlePortrait:t("./single-portrait")}},{"./single-portrait":35}],35:[function(t,n,e){"use strict";var r=t("../../app/lib/make-image");n.exports=function(t){r("data:image/png;base64,\n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\nRWARCPwfuNDlwVfqKPUAAAAASUVORK5CYII=",t); +!function t(n,e,r){function A(o,s){if(!e[o]){if(!n[o]){var a="function"==typeof require&&require;if(!s&&a)return a(o,!0);if(i)return i(o,!0);var u=new Error("Cannot find module '"+o+"'");throw u.code="MODULE_NOT_FOUND",u}var h=e[o]={exports:{}};n[o][0].call(h.exports,function(t){var e=n[o][1][t];return A(e?e:t)},h,h.exports,t,n,e,r)}return e[o].exports}for(var i="function"==typeof require&&require,o=0;ot.height||n.width>n.height)&&a;switch(g&&(a=!1),a&&(o+="object"==typeof n?n.width:o),this.options.zoomMode){case"manual":document.body.style.overflowX="auto",e=a?2*this.scale:this.scale;break;case"fitWidth":document.body.style.overflowX="hidden",e=r()>o?(r()-o)/r()+1:r()/o,this.scale=e;break;case"fitWindow":document.body.style.overflowX="hidden";var l=r()>o?(r()-o)/r()+1:r()/o,E=window.innerHeight,d=E>s?(E-s)/E+1:E/s;e=l>d?d:l,this.scale=e}if(u=t.width*e,h=t.height*e,f="manual"===this.options.zoomMode?t.width*this.scale:u,c="manual"===this.options.zoomMode?t.height*this.scale:h,h=c,this.canvas.width=un?-1:a+10>n?n-a+26+26:h+26>n?n-h:u+26>n?n-u+26:void 0}function e(t){function e(t){u[f++]=t}var r,A,o,s,a,u;if(t.length%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var h=t.length;a="="===t.charAt(h-2)?2:"="===t.charAt(h-1)?1:0,u=new i(3*t.length/4-a),o=a>0?t.length-4:t.length;var f=0;for(r=0,A=0;o>r;r+=4,A+=3)s=n(t.charAt(r))<<18|n(t.charAt(r+1))<<12|n(t.charAt(r+2))<<6|n(t.charAt(r+3)),e((16711680&s)>>16),e((65280&s)>>8),e(255&s);return 2===a?(s=n(t.charAt(r))<<2|n(t.charAt(r+1))>>4,e(255&s)):1===a&&(s=n(t.charAt(r))<<10|n(t.charAt(r+1))<<4|n(t.charAt(r+2))>>2,e(s>>8&255),e(255&s)),u}function A(t){function n(t){return r.charAt(t)}function e(t){return n(t>>18&63)+n(t>>12&63)+n(t>>6&63)+n(63&t)}var A,i,o,s=t.length%3,a="";for(A=0,o=t.length-s;o>A;A+=3)i=(t[A]<<16)+(t[A+1]<<8)+t[A+2],a+=e(i);switch(s){case 1:i=t[t.length-1],a+=n(i>>2),a+=n(i<<4&63),a+="==";break;case 2:i=(t[t.length-2]<<8)+t[t.length-1],a+=n(i>>10),a+=n(i>>4&63),a+=n(i<<2&63),a+="="}return a}var i="undefined"!=typeof Uint8Array?Uint8Array:Array,o="+".charCodeAt(0),s="/".charCodeAt(0),a="0".charCodeAt(0),u="a".charCodeAt(0),h="A".charCodeAt(0),f="-".charCodeAt(0),c="_".charCodeAt(0);t.toByteArray=e,t.fromByteArray=A}("undefined"==typeof e?this.base64js={}:e)},{}],13:[function(t,n,e){},{}],14:[function(t,n,e){function r(){return A.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function A(t){return this instanceof A?(this.length=0,this.parent=void 0,"number"==typeof t?i(this,t):"string"==typeof t?o(this,t,arguments.length>1?arguments[1]:"utf8"):s(this,t)):arguments.length>1?new A(t,arguments[1]):new A(t)}function i(t,n){if(t=g(t,0>n?0:0|l(n)),!A.TYPED_ARRAY_SUPPORT)for(var e=0;n>e;e++)t[e]=0;return t}function o(t,n,e){("string"!=typeof e||""===e)&&(e="utf8");var r=0|d(n,e);return t=g(t,r),t.write(n,e),t}function s(t,n){if(A.isBuffer(n))return a(t,n);if(z(n))return u(t,n);if(null==n)throw new TypeError("must start with number, buffer, array or string");return"undefined"!=typeof ArrayBuffer&&n.buffer instanceof ArrayBuffer?h(t,n):n.length?f(t,n):c(t,n)}function a(t,n){var e=0|l(n.length);return t=g(t,e),n.copy(t,0,0,e),t}function u(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function h(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function f(t,n){var e=0|l(n.length);t=g(t,e);for(var r=0;e>r;r+=1)t[r]=255&n[r];return t}function c(t,n){var e,r=0;"Buffer"===n.type&&z(n.data)&&(e=n.data,r=0|l(e.length)),t=g(t,r);for(var A=0;r>A;A+=1)t[A]=255&e[A];return t}function g(t,n){A.TYPED_ARRAY_SUPPORT?t=A._augment(new Uint8Array(n)):(t.length=n,t._isBuffer=!0);var e=0!==n&&n<=A.poolSize>>>1;return e&&(t.parent=H),t}function l(t){if(t>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|t}function E(t,n){if(!(this instanceof E))return new E(t,n);var e=new A(t,n);return delete e.parent,e}function d(t,n){"string"!=typeof t&&(t=""+t);var e=t.length;if(0===e)return 0;for(var r=!1;;)switch(n){case"ascii":case"binary":case"raw":case"raws":return e;case"utf8":case"utf-8":return j(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*e;case"hex":return e>>>1;case"base64":return T(t).length;default:if(r)return j(t).length;n=(""+n).toLowerCase(),r=!0}}function p(t,n,e){var r=!1;if(n=0|n,e=void 0===e||e===1/0?this.length:0|e,t||(t="utf8"),0>n&&(n=0),e>this.length&&(e=this.length),n>=e)return"";for(;;)switch(t){case"hex":return Q(this,n,e);case"utf8":case"utf-8":return S(this,n,e);case"ascii":return C(this,n,e);case"binary":return F(this,n,e);case"base64":return R(this,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,n,e);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function I(t,n,e,r){e=Number(e)||0;var A=t.length-e;r?(r=Number(r),r>A&&(r=A)):r=A;var i=n.length;if(i%2!==0)throw new Error("Invalid hex string");r>i/2&&(r=i/2);for(var o=0;r>o;o++){var s=parseInt(n.substr(2*o,2),16);if(isNaN(s))throw new Error("Invalid hex string");t[e+o]=s}return o}function v(t,n,e,r){return N(j(n,t.length-e),t,e,r)}function B(t,n,e,r){return N(P(n),t,e,r)}function w(t,n,e,r){return B(t,n,e,r)}function U(t,n,e,r){return N(T(n),t,e,r)}function y(t,n,e,r){return N(O(n,t.length-e),t,e,r)}function R(t,n,e){return 0===n&&e===t.length?X.fromByteArray(t):X.fromByteArray(t.slice(n,e))}function S(t,n,e){var r="",A="";e=Math.min(t.length,e);for(var i=n;e>i;i++)t[i]<=127?(r+=V(A)+String.fromCharCode(t[i]),A=""):A+="%"+t[i].toString(16);return r+V(A)}function C(t,n,e){var r="";e=Math.min(t.length,e);for(var A=n;e>A;A++)r+=String.fromCharCode(127&t[A]);return r}function F(t,n,e){var r="";e=Math.min(t.length,e);for(var A=n;e>A;A++)r+=String.fromCharCode(t[A]);return r}function Q(t,n,e){var r=t.length;(!n||0>n)&&(n=0),(!e||0>e||e>r)&&(e=r);for(var A="",i=n;e>i;i++)A+=K(t[i]);return A}function m(t,n,e){for(var r=t.slice(n,e),A="",i=0;it)throw new RangeError("offset is not uint");if(t+n>e)throw new RangeError("Trying to access beyond buffer length")}function b(t,n,e,r,i,o){if(!A.isBuffer(t))throw new TypeError("buffer must be a Buffer instance");if(n>i||o>n)throw new RangeError("value is out of bounds");if(e+r>t.length)throw new RangeError("index out of range")}function W(t,n,e,r){0>n&&(n=65535+n+1);for(var A=0,i=Math.min(t.length-e,2);i>A;A++)t[e+A]=(n&255<<8*(r?A:1-A))>>>8*(r?A:1-A)}function k(t,n,e,r){0>n&&(n=4294967295+n+1);for(var A=0,i=Math.min(t.length-e,4);i>A;A++)t[e+A]=n>>>8*(r?A:3-A)&255}function x(t,n,e,r,A,i){if(n>A||i>n)throw new RangeError("value is out of bounds");if(e+r>t.length)throw new RangeError("index out of range");if(0>e)throw new RangeError("index out of range")}function M(t,n,e,r,A){return A||x(t,n,e,4,3.4028234663852886e38,-3.4028234663852886e38),G.write(t,n,e,r,23,4),e+4}function L(t,n,e,r,A){return A||x(t,n,e,8,1.7976931348623157e308,-1.7976931348623157e308),G.write(t,n,e,r,52,8),e+8}function Y(t){if(t=D(t).replace(q,""),t.length<2)return"";for(;t.length%4!==0;)t+="=";return t}function D(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function K(t){return 16>t?"0"+t.toString(16):t.toString(16)}function j(t,n){n=n||1/0;for(var e,r=t.length,A=null,i=[],o=0;r>o;o++){if(e=t.charCodeAt(o),e>55295&&57344>e){if(!A){if(e>56319){(n-=3)>-1&&i.push(239,191,189);continue}if(o+1===r){(n-=3)>-1&&i.push(239,191,189);continue}A=e;continue}if(56320>e){(n-=3)>-1&&i.push(239,191,189),A=e;continue}e=A-55296<<10|e-56320|65536,A=null}else A&&((n-=3)>-1&&i.push(239,191,189),A=null);if(128>e){if((n-=1)<0)break;i.push(e)}else if(2048>e){if((n-=2)<0)break;i.push(e>>6|192,63&e|128)}else if(65536>e){if((n-=3)<0)break;i.push(e>>12|224,e>>6&63|128,63&e|128)}else{if(!(2097152>e))throw new Error("Invalid code point");if((n-=4)<0)break;i.push(e>>18|240,e>>12&63|128,e>>6&63|128,63&e|128)}}return i}function P(t){for(var n=[],e=0;e>8,A=e%256,i.push(A),i.push(r);return i}function T(t){return X.toByteArray(Y(t))}function N(t,n,e,r){for(var A=0;r>A&&!(A+e>=n.length||A>=t.length);A++)n[A+e]=t[A];return A}function V(t){try{return decodeURIComponent(t)}catch(t){return String.fromCharCode(65533)}}var X=t("base64-js"),G=t("ieee754"),z=t("is-array");e.Buffer=A,e.SlowBuffer=E,e.INSPECT_MAX_BYTES=50,A.poolSize=8192;var H={};A.TYPED_ARRAY_SUPPORT=function(){function t(){}try{var n=new ArrayBuffer(0),e=new Uint8Array(n);return e.foo=function(){return 42},e.constructor=t,42===e.foo()&&e.constructor===t&&"function"==typeof e.subarray&&0===new Uint8Array(1).subarray(1,1).byteLength}catch(t){return!1}}(),A.isBuffer=function(t){return!(null==t||!t._isBuffer)},A.compare=function(t,n){if(!A.isBuffer(t)||!A.isBuffer(n))throw new TypeError("Arguments must be Buffers");if(t===n)return 0;for(var e=t.length,r=n.length,i=0,o=Math.min(e,r);o>i&&t[i]===n[i];)++i;return i!==o&&(e=t[i],r=n[i]),r>e?-1:e>r?1:0},A.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"raw":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},A.concat=function(t,n){if(!z(t))throw new TypeError("list argument must be an Array of Buffers.");if(0===t.length)return new A(0);if(1===t.length)return t[0];var e;if(void 0===n)for(n=0,e=0;e0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),""},A.prototype.compare=function(t){if(!A.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?0:A.compare(this,t)},A.prototype.indexOf=function(t,n){function e(t,n,e){for(var r=-1,A=0;e+A2147483647?n=2147483647:-2147483648>n&&(n=-2147483648),n>>=0,0===this.length)return-1;if(n>=this.length)return-1;if(0>n&&(n=Math.max(this.length+n,0)),"string"==typeof t)return 0===t.length?-1:String.prototype.indexOf.call(this,t,n);if(A.isBuffer(t))return e(this,t,n);if("number"==typeof t)return A.TYPED_ARRAY_SUPPORT&&"function"===Uint8Array.prototype.indexOf?Uint8Array.prototype.indexOf.call(this,t,n):e(this,[t],n);throw new TypeError("val must be string, number or Buffer")},A.prototype.get=function(t){return console.log(".get() is deprecated. Access using array indexes instead."),this.readUInt8(t)},A.prototype.set=function(t,n){return console.log(".set() is deprecated. Access using array indexes instead."),this.writeUInt8(t,n)},A.prototype.write=function(t,n,e,r){if(void 0===n)r="utf8",e=this.length,n=0;else if(void 0===e&&"string"==typeof n)r=n,e=this.length,n=0;else if(isFinite(n))n=0|n,isFinite(e)?(e=0|e,void 0===r&&(r="utf8")):(r=e,e=void 0);else{var A=r;r=n,n=0|e,e=A}var i=this.length-n;if((void 0===e||e>i)&&(e=i),t.length>0&&(0>e||0>n)||n>this.length)throw new RangeError("attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return I(this,t,n,e);case"utf8":case"utf-8":return v(this,t,n,e);case"ascii":return B(this,t,n,e);case"binary":return w(this,t,n,e);case"base64":return U(this,t,n,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y(this,t,n,e);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},A.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},A.prototype.slice=function(t,n){var e=this.length;t=~~t,n=void 0===n?e:~~n,0>t?(t+=e,0>t&&(t=0)):t>e&&(t=e),0>n?(n+=e,0>n&&(n=0)):n>e&&(n=e),t>n&&(n=t);var r;if(A.TYPED_ARRAY_SUPPORT)r=A._augment(this.subarray(t,n));else{var i=n-t;r=new A(i,void 0);for(var o=0;i>o;o++)r[o]=this[o+t]}return r.length&&(r.parent=this.parent||this),r},A.prototype.readUIntLE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=this[t],A=1,i=0;++i0&&(A*=256);)r+=this[t+--n]*A;return r},A.prototype.readUInt8=function(t,n){return n||J(t,1,this.length),this[t]},A.prototype.readUInt16LE=function(t,n){return n||J(t,2,this.length),this[t]|this[t+1]<<8},A.prototype.readUInt16BE=function(t,n){return n||J(t,2,this.length),this[t]<<8|this[t+1]},A.prototype.readUInt32LE=function(t,n){return n||J(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},A.prototype.readUInt32BE=function(t,n){return n||J(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},A.prototype.readIntLE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=this[t],A=1,i=0;++i=A&&(r-=Math.pow(2,8*n)),r},A.prototype.readIntBE=function(t,n,e){t=0|t,n=0|n,e||J(t,n,this.length);for(var r=n,A=1,i=this[t+--r];r>0&&(A*=256);)i+=this[t+--r]*A;return A*=128,i>=A&&(i-=Math.pow(2,8*n)),i},A.prototype.readInt8=function(t,n){return n||J(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},A.prototype.readInt16LE=function(t,n){n||J(t,2,this.length);var e=this[t]|this[t+1]<<8;return 32768&e?4294901760|e:e},A.prototype.readInt16BE=function(t,n){n||J(t,2,this.length);var e=this[t+1]|this[t]<<8;return 32768&e?4294901760|e:e},A.prototype.readInt32LE=function(t,n){return n||J(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},A.prototype.readInt32BE=function(t,n){return n||J(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},A.prototype.readFloatLE=function(t,n){return n||J(t,4,this.length),G.read(this,t,!0,23,4)},A.prototype.readFloatBE=function(t,n){return n||J(t,4,this.length),G.read(this,t,!1,23,4)},A.prototype.readDoubleLE=function(t,n){return n||J(t,8,this.length),G.read(this,t,!0,52,8)},A.prototype.readDoubleBE=function(t,n){return n||J(t,8,this.length),G.read(this,t,!1,52,8)},A.prototype.writeUIntLE=function(t,n,e,r){t=+t,n=0|n,e=0|e,r||b(this,t,n,e,Math.pow(2,8*e),0);var A=1,i=0;for(this[n]=255&t;++i=0&&(i*=256);)this[n+A]=t/i&255;return n+e},A.prototype.writeUInt8=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,1,255,0),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[n]=t,n+1},A.prototype.writeUInt16LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8):W(this,t,n,!0),n+2},A.prototype.writeUInt16BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,65535,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=t):W(this,t,n,!1),n+2},A.prototype.writeUInt32LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[n+3]=t>>>24,this[n+2]=t>>>16,this[n+1]=t>>>8,this[n]=t):k(this,t,n,!0),n+4},A.prototype.writeUInt32BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,4294967295,0),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t):k(this,t,n,!1),n+4},A.prototype.writeIntLE=function(t,n,e,r){if(t=+t,n=0|n,!r){var A=Math.pow(2,8*e-1);b(this,t,n,e,A-1,-A)}var i=0,o=1,s=0>t?1:0;for(this[n]=255&t;++i>0)-s&255;return n+e},A.prototype.writeIntBE=function(t,n,e,r){if(t=+t,n=0|n,!r){var A=Math.pow(2,8*e-1);b(this,t,n,e,A-1,-A)}var i=e-1,o=1,s=0>t?1:0;for(this[n+i]=255&t;--i>=0&&(o*=256);)this[n+i]=(t/o>>0)-s&255;return n+e},A.prototype.writeInt8=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,1,127,-128),A.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),0>t&&(t=255+t+1),this[n]=t,n+1},A.prototype.writeInt16LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8):W(this,t,n,!0),n+2},A.prototype.writeInt16BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,2,32767,-32768),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>8,this[n+1]=t):W(this,t,n,!1),n+2},A.prototype.writeInt32LE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,2147483647,-2147483648),A.TYPED_ARRAY_SUPPORT?(this[n]=t,this[n+1]=t>>>8,this[n+2]=t>>>16,this[n+3]=t>>>24):k(this,t,n,!0),n+4},A.prototype.writeInt32BE=function(t,n,e){return t=+t,n=0|n,e||b(this,t,n,4,2147483647,-2147483648),0>t&&(t=4294967295+t+1),A.TYPED_ARRAY_SUPPORT?(this[n]=t>>>24,this[n+1]=t>>>16,this[n+2]=t>>>8,this[n+3]=t):k(this,t,n,!1),n+4},A.prototype.writeFloatLE=function(t,n,e){return M(this,t,n,!0,e)},A.prototype.writeFloatBE=function(t,n,e){return M(this,t,n,!1,e)},A.prototype.writeDoubleLE=function(t,n,e){return L(this,t,n,!0,e)},A.prototype.writeDoubleBE=function(t,n,e){return L(this,t,n,!1,e)},A.prototype.copy=function(t,n,e,r){if(e||(e=0),r||0===r||(r=this.length),n>=t.length&&(n=t.length),n||(n=0),r>0&&e>r&&(r=e),r===e)return 0;if(0===t.length||0===this.length)return 0;if(0>n)throw new RangeError("targetStart out of bounds");if(0>e||e>=this.length)throw new RangeError("sourceStart out of bounds");if(0>r)throw new RangeError("sourceEnd out of bounds");r>this.length&&(r=this.length),t.length-ni||!A.TYPED_ARRAY_SUPPORT)for(var o=0;i>o;o++)t[o+n]=this[o+e];else t._set(this.subarray(e,e+i),n);return i},A.prototype.fill=function(t,n,e){if(t||(t=0),n||(n=0),e||(e=this.length),n>e)throw new RangeError("end < start");if(e!==n&&0!==this.length){if(0>n||n>=this.length)throw new RangeError("start out of bounds");if(0>e||e>this.length)throw new RangeError("end out of bounds");var r;if("number"==typeof t)for(r=n;e>r;r++)this[r]=t;else{var A=j(t.toString()),i=A.length;for(r=n;e>r;r++)this[r]=A[r%i]}return this}},A.prototype.toArrayBuffer=function(){if("undefined"!=typeof Uint8Array){if(A.TYPED_ARRAY_SUPPORT)return new A(this).buffer;for(var t=new Uint8Array(this.length),n=0,e=t.length;e>n;n+=1)t[n]=this[n];return t.buffer}throw new TypeError("Buffer.toArrayBuffer not supported in this browser")};var Z=A.prototype;A._augment=function(t){return t.constructor=A,t._isBuffer=!0,t._set=t.set,t.get=Z.get,t.set=Z.set,t.write=Z.write,t.toString=Z.toString,t.toLocaleString=Z.toString,t.toJSON=Z.toJSON,t.equals=Z.equals,t.compare=Z.compare,t.indexOf=Z.indexOf,t.copy=Z.copy,t.slice=Z.slice,t.readUIntLE=Z.readUIntLE,t.readUIntBE=Z.readUIntBE,t.readUInt8=Z.readUInt8,t.readUInt16LE=Z.readUInt16LE,t.readUInt16BE=Z.readUInt16BE,t.readUInt32LE=Z.readUInt32LE,t.readUInt32BE=Z.readUInt32BE,t.readIntLE=Z.readIntLE,t.readIntBE=Z.readIntBE,t.readInt8=Z.readInt8,t.readInt16LE=Z.readInt16LE,t.readInt16BE=Z.readInt16BE,t.readInt32LE=Z.readInt32LE,t.readInt32BE=Z.readInt32BE,t.readFloatLE=Z.readFloatLE,t.readFloatBE=Z.readFloatBE,t.readDoubleLE=Z.readDoubleLE,t.readDoubleBE=Z.readDoubleBE,t.writeUInt8=Z.writeUInt8,t.writeUIntLE=Z.writeUIntLE,t.writeUIntBE=Z.writeUIntBE,t.writeUInt16LE=Z.writeUInt16LE,t.writeUInt16BE=Z.writeUInt16BE,t.writeUInt32LE=Z.writeUInt32LE,t.writeUInt32BE=Z.writeUInt32BE,t.writeIntLE=Z.writeIntLE,t.writeIntBE=Z.writeIntBE,t.writeInt8=Z.writeInt8,t.writeInt16LE=Z.writeInt16LE,t.writeInt16BE=Z.writeInt16BE,t.writeInt32LE=Z.writeInt32LE,t.writeInt32BE=Z.writeInt32BE,t.writeFloatLE=Z.writeFloatLE,t.writeFloatBE=Z.writeFloatBE,t.writeDoubleLE=Z.writeDoubleLE,t.writeDoubleBE=Z.writeDoubleBE,t.fill=Z.fill,t.inspect=Z.inspect,t.toArrayBuffer=Z.toArrayBuffer,t};var q=/[^+\/0-9A-z\-]/g},{"base64-js":12,ieee754:28,"is-array":31}],15:[function(t,n,e){t("../../modules/es6.object.assign"),n.exports=t("../../modules/$").core.Object.assign},{"../../modules/$":24,"../../modules/es6.object.assign":25}],16:[function(t,n,e){var r=t("../../modules/$");n.exports=function(t,n){return r.create(t,n)}},{"../../modules/$":24}],17:[function(t,n,e){var r=t("../../modules/$");n.exports=function(t,n,e){return r.setDesc(t,n,e)}},{"../../modules/$":24}],18:[function(t,n,e){var r=t("../../modules/$");t("../../modules/es6.object.statics-accept-primitives"),n.exports=function(t,n){return r.getDesc(t,n)}},{"../../modules/$":24,"../../modules/es6.object.statics-accept-primitives":26}],19:[function(t,n,e){var r=t("./$"),A=t("./$.enum-keys");n.exports=Object.assign||function(t,n){for(var e=Object(r.assertDefined(t)),i=arguments.length,o=1;i>o;)for(var s,a=r.ES5Object(arguments[o++]),u=A(a),h=u.length,f=0;h>f;)e[s=u[f++]]=a[s];return e}},{"./$":24,"./$.enum-keys":21}],20:[function(t,n,e){function r(t,n){return function(){return t.apply(n,arguments)}}function A(t,n,e){var i,u,h,f,c=t&A.G,g=t&A.P,l=c?o:t&A.S?o[n]:(o[n]||{}).prototype,E=c?s:s[n]||(s[n]={});c&&(e=n);for(i in e)u=!(t&A.F)&&l&&i in l,u&&i in E||(h=u?l[i]:e[i],c&&!a(l[i])?f=e[i]:t&A.B&&u?f=r(h,o):t&A.W&&l[i]==h?!function(t){f=function(n){return this instanceof t?new t(n):t(n)},f.prototype=t.prototype}(h):f=g&&a(h)?r(Function.call,h):h,E[i]=f,g&&((E.prototype||(E.prototype={}))[i]=h))}var i=t("./$"),o=i.g,s=i.core,a=i.isFunction;A.F=1,A.G=2,A.S=4,A.P=8,A.B=16,A.W=32,n.exports=A},{"./$":24}],21:[function(t,n,e){var r=t("./$");n.exports=function(t){var n=r.getKeys(t),e=r.getDesc,A=r.getSymbols;return A&&r.each.call(A(t),function(r){e(t,r).enumerable&&n.push(r)}),n}},{"./$":24}],22:[function(t,n,e){n.exports=function(t){return t.FW=!1,t.path=t.core,t}},{}],23:[function(t,n,e){function r(t){try{return o(t)}catch(t){return s.slice()}}var A=t("./$"),i={}.toString,o=A.getNames,s="object"==typeof window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];n.exports.get=function(t){return s&&"[object Window]"==i.call(t)?r(t):o(A.toObject(t))}},{"./$":24}],24:[function(t,n,e){"use strict";function r(t){return isNaN(t=+t)?0:(t>0?E:l)(t)}function A(t,n){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:n}}function i(t,n,e){return t[n]=e,t}function o(t){return I?function(n,e,r){return B.setDesc(n,e,A(t,r))}:i}function s(t){return null!==t&&("object"==typeof t||"function"==typeof t)}function a(t){return"function"==typeof t}function u(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}var h="undefined"!=typeof self?self:Function("return this")(),f={},c=Object.defineProperty,g={}.hasOwnProperty,l=Math.ceil,E=Math.floor,d=Math.max,p=Math.min,I=!!function(){try{return 2==c({},"a",{get:function(){return 2}}).a}catch(t){}}(),v=o(1),B=n.exports=t("./$.fw")({g:h,core:f,html:h.document&&document.documentElement,isObject:s,isFunction:a,that:function(){return this},toInteger:r,toLength:function(t){return t>0?p(r(t),9007199254740991):0},toIndex:function(t,n){return t=r(t),0>t?d(t+n,0):p(t,n)},has:function(t,n){return g.call(t,n)},create:Object.create,getProto:Object.getPrototypeOf,DESC:I,desc:A,getDesc:Object.getOwnPropertyDescriptor,setDesc:c,setDescs:Object.defineProperties,getKeys:Object.keys,getNames:Object.getOwnPropertyNames,getSymbols:Object.getOwnPropertySymbols,assertDefined:u,ES5Object:Object,toObject:function(t){return B.ES5Object(u(t))},hide:v,def:o(0),set:h.Symbol?i:v,each:[].forEach});"undefined"!=typeof __e&&(__e=f),"undefined"!=typeof __g&&(__g=h)},{"./$.fw":22}],25:[function(t,n,e){var r=t("./$.def");r(r.S,"Object",{assign:t("./$.assign")})},{"./$.assign":19,"./$.def":20}],26:[function(t,n,e){var r=t("./$"),A=t("./$.def"),i=r.isObject,o=r.toObject;r.each.call("freeze,seal,preventExtensions,isFrozen,isSealed,isExtensible,getOwnPropertyDescriptor,getPrototypeOf,keys,getOwnPropertyNames".split(","),function(n,e){var s=(r.core.Object||{})[n]||Object[n],a=0,u={};u[n]=0==e?function(t){return i(t)?s(t):t}:1==e?function(t){return i(t)?s(t):t}:2==e?function(t){return i(t)?s(t):t}:3==e?function(t){return i(t)?s(t):!0}:4==e?function(t){return i(t)?s(t):!0}:5==e?function(t){return i(t)?s(t):!1}:6==e?function(t,n){return s(o(t),n)}:7==e?function(t){return s(Object(r.assertDefined(t)))}:8==e?function(t){return s(o(t))}:t("./$.get-names").get;try{s("z")}catch(t){a=1}A(A.S+A.F*a,"Object",u)})},{"./$":24,"./$.def":20,"./$.get-names":23}],27:[function(t,n,e){function r(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function A(t){return"function"==typeof t}function i(t){return"number"==typeof t}function o(t){return"object"==typeof t&&null!==t}function s(t){return void 0===t}n.exports=r,r.EventEmitter=r,r.prototype._events=void 0,r.prototype._maxListeners=void 0,r.defaultMaxListeners=10,r.prototype.setMaxListeners=function(t){if(!i(t)||0>t||isNaN(t))throw TypeError("n must be a positive number");return this._maxListeners=t,this},r.prototype.emit=function(t){var n,e,r,i,a,u;if(this._events||(this._events={}),"error"===t&&(!this._events.error||o(this._events.error)&&!this._events.error.length)){if(n=arguments[1],n instanceof Error)throw n;throw TypeError('Uncaught, unspecified "error" event.')}if(e=this._events[t],s(e))return!1;if(A(e))switch(arguments.length){case 1:e.call(this);break;case 2:e.call(this,arguments[1]);break;case 3:e.call(this,arguments[1],arguments[2]);break;default:for(r=arguments.length,i=new Array(r-1),a=1;r>a;a++)i[a-1]=arguments[a];e.apply(this,i)}else if(o(e)){for(r=arguments.length,i=new Array(r-1),a=1;r>a;a++)i[a-1]=arguments[a];for(u=e.slice(),r=u.length,a=0;r>a;a++)u[a].apply(this,i)}return!0},r.prototype.addListener=function(t,n){var e;if(!A(n))throw TypeError("listener must be a function");if(this._events||(this._events={}),this._events.newListener&&this.emit("newListener",t,A(n.listener)?n.listener:n),this._events[t]?o(this._events[t])?this._events[t].push(n):this._events[t]=[this._events[t],n]:this._events[t]=n,o(this._events[t])&&!this._events[t].warned){var e;e=s(this._maxListeners)?r.defaultMaxListeners:this._maxListeners,e&&e>0&&this._events[t].length>e&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),"function"==typeof console.trace&&console.trace())}return this},r.prototype.on=r.prototype.addListener,r.prototype.once=function(t,n){function e(){this.removeListener(t,e),r||(r=!0,n.apply(this,arguments))}if(!A(n))throw TypeError("listener must be a function");var r=!1;return e.listener=n,this.on(t,e),this},r.prototype.removeListener=function(t,n){var e,r,i,s;if(!A(n))throw TypeError("listener must be a function");if(!this._events||!this._events[t])return this;if(e=this._events[t],i=e.length,r=-1,e===n||A(e.listener)&&e.listener===n)delete this._events[t],this._events.removeListener&&this.emit("removeListener",t,n);else if(o(e)){for(s=i;s-->0;)if(e[s]===n||e[s].listener&&e[s].listener===n){r=s;break}if(0>r)return this;1===e.length?(e.length=0,delete this._events[t]):e.splice(r,1),this._events.removeListener&&this.emit("removeListener",t,n)}return this},r.prototype.removeAllListeners=function(t){var n,e;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[t]&&delete this._events[t],this;if(0===arguments.length){for(n in this._events)"removeListener"!==n&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"), +this._events={},this}if(e=this._events[t],A(e))this.removeListener(t,e);else for(;e.length;)this.removeListener(t,e[e.length-1]);return delete this._events[t],this},r.prototype.listeners=function(t){var n;return n=this._events&&this._events[t]?A(this._events[t])?[this._events[t]]:this._events[t].slice():[]},r.listenerCount=function(t,n){var e;return e=t._events&&t._events[n]?A(t._events[n])?1:t._events[n].length:0}},{}],28:[function(t,n,e){e.read=function(t,n,e,r,A){var i,o,s=8*A-r-1,a=(1<>1,h=-7,f=e?A-1:0,c=e?-1:1,g=t[n+f];for(f+=c,i=g&(1<<-h)-1,g>>=-h,h+=s;h>0;i=256*i+t[n+f],f+=c,h-=8);for(o=i&(1<<-h)-1,i>>=-h,h+=r;h>0;o=256*o+t[n+f],f+=c,h-=8);if(0===i)i=1-u;else{if(i===a)return o?NaN:(g?-1:1)*(1/0);o+=Math.pow(2,r),i-=u}return(g?-1:1)*o*Math.pow(2,i-r)},e.write=function(t,n,e,r,A,i){var o,s,a,u=8*i-A-1,h=(1<>1,c=23===A?Math.pow(2,-24)-Math.pow(2,-77):0,g=r?0:i-1,l=r?1:-1,E=0>n||0===n&&0>1/n?1:0;for(n=Math.abs(n),isNaN(n)||n===1/0?(s=isNaN(n)?1:0,o=h):(o=Math.floor(Math.log(n)/Math.LN2),n*(a=Math.pow(2,-o))<1&&(o--,a*=2),n+=o+f>=1?c/a:c*Math.pow(2,1-f),n*a>=2&&(o++,a/=2),o+f>=h?(s=0,o=h):o+f>=1?(s=(n*a-1)*Math.pow(2,A),o+=f):(s=n*Math.pow(2,f-1)*Math.pow(2,A),o=0));A>=8;t[e+g]=255&s,g+=l,s/=256,A-=8);for(o=o<0;t[e+g]=255&o,g+=l,o/=256,u-=8);t[e+g-l]|=128*E}},{}],29:[function(t,n,e){"use strict";n.exports=function(){return document.createElement("canvas")}},{}],30:[function(t,n,e){(function(e){!function(e,r){var A=this;if("undefined"!=typeof n){try{var i=t("canvas")}catch(t){throw new Error(t.message+"\nPlease see https://github.com/HumbleSoftware/js-imagediff#cannot-find-module-canvas\n")}n.exports=r(A,e,i)}else"function"==typeof define&&"object"==typeof define.amd?define(r):A[e]=r(A,e)}("imagediff",function(r,A,i){function o(t,n){var e=i?new i:document.createElement("canvas");return t&&(e.width=t),n&&(e.height=n),e}function s(t,n){return D.width=t,D.height=n,K.clearRect(0,0,t,n),K.createImageData(t,n)}function a(){return i}function u(t){return l(t,M)}function h(t){return l(t,k)}function f(t){return l(t,x)}function c(t){return!(!t||!l(t,L)||typeof t.width===Y||typeof t.height===Y||typeof t.data===Y)}function g(t){return u(t)||h(t)||f(t)||c(t)}function l(t,n){return"object"==typeof t&&!!Object.prototype.toString.apply(t).match(n)}function E(t){var n,e,r,A=t.height,i=t.width,o=t.data;for(D.width=i,D.height=A,n=K.getImageData(0,0,i,A),e=n.data,r=t.data.length;r--;)e[r]=o[r];return n}function d(t){return u(t)?p(t):h(t)?I(t):f(t)?v(t):c(t)?t:void 0}function p(t){var n=t.height,e=t.width;return D.width=e,D.height=n,K.clearRect(0,0,e,n),K.drawImage(t,0,0),K.getImageData(0,0,e,n)}function I(t){var n=t.height,e=t.width,r=t.getContext("2d");return r.getImageData(0,0,e,n)}function v(t){var n=t.canvas,e=n.height,r=n.width;return t.getImageData(0,0,r,e)}function B(t){var n=d(t),e=o(n.width,n.height),r=e.getContext("2d");return r.putImageData(n,0,0),e}function w(t,n){return t.width===n.width}function U(t,n){return t.height===n.height}function y(t,n){return U(t,n)&&w(t,n)}function R(t,n,e){var r,A=t.data,i=n.data,o=A.length;if(e=e||0,!y(t,n))return!1;for(r=o;r--;)if(A[r]!==i[r]&&Math.abs(A[r]-i[r])>e)return!1;return!0}function S(t,n,e){return(y(t,n)?C:F)(t,n,e)}function C(t,n,e){var r,A=t.height,i=t.width,o=s(i,A),a=t.data,u=n.data,h=o.data,f=h.length;for(r=0;f>r;r+=4)h[r]=Math.abs(a[r]-u[r]),h[r+1]=Math.abs(a[r+1]-u[r+1]),h[r+2]=Math.abs(a[r+2]-u[r+2]),h[r+3]=Math.abs(255-Math.abs(a[r+3]-u[r+3]));return o}function F(t,n,e){function r(t){"top"===p?(A=0,i=0):(A=Math.floor((f-t.height)/2),i=Math.floor((c-t.width)/2))}var A,i,o,a,u,h,f=Math.max(t.height,n.height),c=Math.max(t.width,n.width),g=s(c,f),l=t.data,E=n.data,d=g.data,p=e&&e.align;for(u=d.length-1;u>0;u-=4)d[u]=255;for(r(t),o=t.height;o--;)for(a=t.width;a--;)u=4*((o+A)*c+(a+i)),h=4*(o*t.width+a),d[u+0]=l[h+0],d[u+1]=l[h+1],d[u+2]=l[h+2];for(r(n),o=n.height;o--;)for(a=n.width;a--;)u=4*((o+A)*c+(a+i)),h=4*(o*n.width+a),d[u+0]=Math.abs(d[u+0]-E[h+0]),d[u+1]=Math.abs(d[u+1]-E[h+1]),d[u+2]=Math.abs(d[u+2]-E[h+2]);return g}function Q(){var t;for(t=0;tActual:"),A=m("div","
Expected:
"),i=m("div","
Diff:
"),s=b.diff(this.actual,t),a=o();return a.height=s.height,a.width=s.width,e.style.overflow="hidden",r.style.float="left",A.style.float="left",i.style.float="left",n=a.getContext("2d"),n.putImageData(s,0,0),r.appendChild(B(this.actual)),A.appendChild(B(t)),i.appendChild(a),e.appendChild(r),e.appendChild(A),e.appendChild(i),[e,"Expected not to be equal."]}),b.equal(this.actual,t,n)}},b={createCanvas:o,createImageData:s,getCanvasRef:a,isImage:u,isCanvas:h,isContext:f,isImageData:c,isImageType:g,toImageData:function(t){return Q(t),c(t)?E(t):d(t)},equal:function(t,n,e){return Q(t,n),t=d(t),n=d(n),R(t,n,e)},diff:function(t,n,e){return Q(t,n),t=d(t),n=d(n),S(t,n,e)},jasmine:W,noConflict:function(){return r[A]=j,b}},"undefined"!=typeof n&&(b.imageDataToPNG=J),b})}).call(this,t("buffer").Buffer)},{buffer:14,canvas:29,fs:13}],31:[function(t,n,e){var r=Array.isArray,A=Object.prototype.toString;n.exports=r||function(t){return!!t&&"[object Array]"==A.call(t)}},{}],32:[function(t,n,e){"use strict";n.exports={portrait1:t("./portrait1")}},{"./portrait1":33}],33:[function(t,n,e){"use strict";var r=t("../../app/lib/make-image");n.exports=function(t){r("data:image/jpg;base64,\n/9j/4AAQSkZJRgABAQEASABIAAD/4QCMRXhpZgAATU0AKgAAAAgABQESAAMAAAAB\nAAEAAAEaAAUAAAABAAAASgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAAB\nAAAAWgAAAAAAAABIAAAAAQAAAEgAAAABAAOgAQADAAAAAQABAACgAgAEAAAAAQAA\nAGSgAwAEAAAAAQAAAJMAAAAA/+0AOFBob3Rvc2hvcCAzLjAAOEJJTQQEAAAAAAAA\nOEJJTQQlAAAAAAAQ1B2M2Y8AsgTpgAmY7PhCfv/iDFhJQ0NfUFJPRklMRQABAQAA\nDEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElF\nQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rl\nc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdY\nWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1\nZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRl\nY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRl\neHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55\nAABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAEnNSR0Ig\nSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAABYWVogAAAAAAAA81EAAQAAAAEWzFhZWiAAAAAAAAAAAAAA\nAAAAAAAAWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZ\nWiAAAAAAAAAkoAAAD4QAALbPZGVzYwAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVj\nLmNoAAAAAAAAAAAAAAAWSUVDIGh0dHA6Ly93d3cuaWVjLmNoAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGRlc2MAAAAAAAAALklF\nQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0gc1JHQgAAAAAA\nAAAAAAAALklFQyA2MTk2Ni0yLjEgRGVmYXVsdCBSR0IgY29sb3VyIHNwYWNlIC0g\nc1JHQgAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAACxSZWZlcmVuY2Ug\nVmlld2luZyBDb25kaXRpb24gaW4gSUVDNjE5NjYtMi4xAAAAAAAAAAAAAAAsUmVm\nZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAdmlldwAAAAAAE6T+ABRfLgAQzxQAA+3MAAQTCwAD\nXJ4AAAABWFlaIAAAAAAATAlWAFAAAABXH+dtZWFzAAAAAAAAAAEAAAAAAAAAAAAA\nAAAAAAAAAAACjwAAAAJzaWcgAAAAAENSVCBjdXJ2AAAAAAAABAAAAAAFAAoADwAU\nABkAHgAjACgALQAyADcAOwBAAEUASgBPAFQAWQBeAGMAaABtAHIAdwB8AIEAhgCL\nAJAAlQCaAJ8ApACpAK4AsgC3ALwAwQDGAMsA0ADVANsA4ADlAOsA8AD2APsBAQEH\nAQ0BEwEZAR8BJQErATIBOAE+AUUBTAFSAVkBYAFnAW4BdQF8AYMBiwGSAZoBoQGp\nAbEBuQHBAckB0QHZAeEB6QHyAfoCAwIMAhQCHQImAi8COAJBAksCVAJdAmcCcQJ6\nAoQCjgKYAqICrAK2AsECywLVAuAC6wL1AwADCwMWAyEDLQM4A0MDTwNaA2YDcgN+\nA4oDlgOiA64DugPHA9MD4APsA/kEBgQTBCAELQQ7BEgEVQRjBHEEfgSMBJoEqAS2\nBMQE0wThBPAE/gUNBRwFKwU6BUkFWAVnBXcFhgWWBaYFtQXFBdUF5QX2BgYGFgYn\nBjcGSAZZBmoGewaMBp0GrwbABtEG4wb1BwcHGQcrBz0HTwdhB3QHhgeZB6wHvwfS\nB+UH+AgLCB8IMghGCFoIbgiCCJYIqgi+CNII5wj7CRAJJQk6CU8JZAl5CY8JpAm6\nCc8J5Qn7ChEKJwo9ClQKagqBCpgKrgrFCtwK8wsLCyILOQtRC2kLgAuYC7ALyAvh\nC/kMEgwqDEMMXAx1DI4MpwzADNkM8w0NDSYNQA1aDXQNjg2pDcMN3g34DhMOLg5J\nDmQOfw6bDrYO0g7uDwkPJQ9BD14Peg+WD7MPzw/sEAkQJhBDEGEQfhCbELkQ1xD1\nERMRMRFPEW0RjBGqEckR6BIHEiYSRRJkEoQSoxLDEuMTAxMjE0MTYxODE6QTxRPl\nFAYUJxRJFGoUixStFM4U8BUSFTQVVhV4FZsVvRXgFgMWJhZJFmwWjxayFtYW+hcd\nF0EXZReJF64X0hf3GBsYQBhlGIoYrxjVGPoZIBlFGWsZkRm3Gd0aBBoqGlEadxqe\nGsUa7BsUGzsbYxuKG7Ib2hwCHCocUhx7HKMczBz1HR4dRx1wHZkdwx3sHhYeQB5q\nHpQevh7pHxMfPh9pH5Qfvx/qIBUgQSBsIJggxCDwIRwhSCF1IaEhziH7IiciVSKC\nIq8i3SMKIzgjZiOUI8Ij8CQfJE0kfCSrJNolCSU4JWgllyXHJfcmJyZXJocmtybo\nJxgnSSd6J6sn3CgNKD8ocSiiKNQpBik4KWspnSnQKgIqNSpoKpsqzysCKzYraSud\nK9EsBSw5LG4soizXLQwtQS12Last4S4WLkwugi63Lu4vJC9aL5Evxy/+MDUwbDCk\nMNsxEjFKMYIxujHyMioyYzKbMtQzDTNGM38zuDPxNCs0ZTSeNNg1EzVNNYc1wjX9\nNjc2cjauNuk3JDdgN5w31zgUOFA4jDjIOQU5Qjl/Obw5+To2OnQ6sjrvOy07azuq\nO+g8JzxlPKQ84z0iPWE9oT3gPiA+YD6gPuA/IT9hP6I/4kAjQGRApkDnQSlBakGs\nQe5CMEJyQrVC90M6Q31DwEQDREdEikTORRJFVUWaRd5GIkZnRqtG8Ec1R3tHwEgF\nSEtIkUjXSR1JY0mpSfBKN0p9SsRLDEtTS5pL4kwqTHJMuk0CTUpNk03cTiVObk63\nTwBPSU+TT91QJ1BxULtRBlFQUZtR5lIxUnxSx1MTU19TqlP2VEJUj1TbVShVdVXC\nVg9WXFapVvdXRFeSV+BYL1h9WMtZGllpWbhaB1pWWqZa9VtFW5Vb5Vw1XIZc1l0n\nXXhdyV4aXmxevV8PX2Ffs2AFYFdgqmD8YU9homH1YklinGLwY0Njl2PrZEBklGTp\nZT1lkmXnZj1mkmboZz1nk2fpaD9olmjsaUNpmmnxakhqn2r3a09rp2v/bFdsr20I\nbWBtuW4SbmtuxG8eb3hv0XArcIZw4HE6cZVx8HJLcqZzAXNdc7h0FHRwdMx1KHWF\ndeF2Pnabdvh3VnezeBF4bnjMeSp5iXnnekZ6pXsEe2N7wnwhfIF84X1BfaF+AX5i\nfsJ/I3+Ef+WAR4CogQqBa4HNgjCCkoL0g1eDuoQdhICE44VHhauGDoZyhteHO4ef\niASIaYjOiTOJmYn+imSKyoswi5aL/IxjjMqNMY2Yjf+OZo7OjzaPnpAGkG6Q1pE/\nkaiSEZJ6kuOTTZO2lCCUipT0lV+VyZY0lp+XCpd1l+CYTJi4mSSZkJn8mmia1ZtC\nm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWp\nphqmi6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1\nsOqxYLHWskuywrM4s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7Lrun\nvCG8m70VvY++Cr6Evv+/er/1wHDA7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dB\nx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62zzfPuNA50LrRPNG+0j/SwdNE\n08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDdlt4c3qLfKd+v\n4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG\n7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH\n+lf65/t3/Af8mP0p/br+S/7c/23////AABEIAJMAZAMBEgACEQEDEQH/xAAfAAAB\nBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgv/xAC1EAACAQMDAgQDBQUEBAAAAX0B\nAgMABBEFEiExQQYTUWEHInEUMoGRoQgjQrHBFVLR8CQzYnKCCQoWFxgZGiUmJygp\nKjQ1Njc4OTpDREVGR0hJSlNUVVZXWFlaY2RlZmdoaWpzdHV2d3h5eoOEhYaHiImK\nkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4eLj\n5OXm5+jp6vHy8/T19vf4+fr/xAAfAQADAQEBAQEBAQEBAAAAAAAAAQIDBAUGBwgJ\n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",t)}},{"../../app/lib/make-image":2}],34:[function(t,n,e){"use strict";n.exports={singlePortrait:t("./single-portrait")}},{"./single-portrait":35}],35:[function(t,n,e){"use strict";var r=t("../../app/lib/make-image");n.exports=function(t){r("data:image/png;base64,\n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\nRWARCPwfuNDlwVfqKPUAAAAASUVORK5CYII=",t); }},{"../../app/lib/make-image":2}]},{},[1]); //# 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 b014cc9..c019f61 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","Canvas","testImages","fixtureImages","imagediff","portrait1","testImage","singlePortrait","fixtureImage","canvas","drawImage","console","log","equal","width","height","document","body","appendChild","../test/data","../test/fixture","./view/canvas",2,"src","cb","image","window","Image","onload",3,"_get","_inherits","_createClass","_classCallCheck","_Object$assign","EventEmitter","_EventEmitter","options","this","Object","getPrototypeOf","prototype","zoomMode","readDirection","doublePage","createElement","context","getContext","on","clearCanvas","bind","key","value","innerWidth","innerHeight","dimensions","offset","image2","emit","fitCanvasToImage","getDimensions","getOffset","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",4,"default","__esModule","core-js/library/fn/object/assign",5,"core-js/library/fn/object/create",6,"core-js/library/fn/object/define-property",7,"core-js/library/fn/object/get-own-property-descriptor",8,"instance","Constructor","TypeError",9,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",10,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","undefined","Function","get","babel-runtime/core-js/object/get-own-property-descriptor",11,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",12,"lookup","decode","elt","charCodeAt","PLUS","PLUS_URL_SAFE","SLASH","SLASH_URL_SAFE","NUMBER","UPPER","LOWER","b64ToByteArray","b64","push","v","arr","L","j","tmp","placeHolders","len","charAt","Arr","uint8ToBase64","uint8","encode","num","tripletToBase64","temp","extraBytes","output","Uint8Array","Array","toByteArray","fromByteArray","base64js",13,14,"kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","arg","fromNumber","fromString","arguments","fromObject","that","allocate","checked","string","encoding","byteLength","write","isBuffer","fromBuffer","isArray","fromArray","ArrayBuffer","buffer","fromTypedArray","fromArrayLike","fromJsonObject","copy","array","type","data","_augment","_isBuffer","fromPool","poolSize","rootParent","RangeError","toString","SlowBuffer","subject","buf","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","Infinity","hexSlice","utf8Slice","asciiSlice","binarySlice","base64Slice","utf16leSlice","hexWrite","Number","remaining","strLen","parsed","parseInt","substr","isNaN","utf8Write","blitBuffer","asciiWrite","asciiToBytes","binaryWrite","base64Write","ucs2Write","utf16leToBytes","base64","slice","res","Math","min","decodeUtf8Char","String","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","str","stringtrim","replace","INVALID_BASE64_RE","trim","units","codePoint","leadSurrogate","byteArray","c","hi","lo","dst","decodeURIComponent","err","INSPECT_MAX_BYTES","Foo","foo","subarray","b","compare","x","y","isEncoding","concat","list","pos","item","apply","equals","inspect","match","join","indexOf","val","byteOffset","arrayIndexOf","foundIndex","readUInt8","set","writeUInt8","isFinite","swap","toJSON","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","_set","fill","toArrayBuffer","BP","toLocaleString","base64-js","is-array",15,"core","assign","../../modules/$","../../modules/es6.object.assign",16,"$","P","D","create",17,"it","setDesc",18,"getDesc","../../modules/es6.object.statics-accept-primitives",19,"enumKeys","source","T","assertDefined","S","ES5Object","keys","./$","./$.enum-keys",20,"ctx","fn","$def","name","own","exp","isGlobal","G","isProto","global","F","isFunction","B","W","C","param","g",21,"getKeys","getSymbols","each",22,"FW","path",23,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",24,"toInteger","ceil","bitmap","simpleSet","createDefiner","DESC","isObject","self","defineProperty","hasOwnProperty","hide","html","documentElement","toLength","toIndex","index","has","getProto","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","def","Symbol","forEach","__e","__g","./$.fw",25,"./$.assign","./$.def",26,"split","KEY","ID","forced","method","./$.get-names",27,"_events","_maxListeners","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","args","listeners","error","addListener","listener","m","newListener","warned","trace","once","removeListener","fired","position","splice","removeAllListeners","listenerCount","emitter",28,"isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","NaN","rt","abs","LN2",29,30,"definition","root","message","define","amd","getCanvas","getImageData","clearRect","createImageData","getCanvasRef","isImage","isType","TYPE_IMAGE","isCanvas","TYPE_CANVAS","isContext","TYPE_CONTEXT","isImageData","TYPE_IMAGE_DATA","UNDEFINED","isImageType","copyImageData","imageData","newImageData","newData","toImageData","toImageDataFromImage","toImageDataFromCanvas","toImageDataFromContext","toCanvas","putImageData","equalWidth","equalHeight","equalDimensions","tolerance","aData","bData","diff","diffEqual","diffUnequal","cData","offsets","align","rowOffset","columnOffset","row","column","checkType","element","content","innerHTML","imageDataToPNG","outputFile","callback","base64Data","decodedImage","toDataURL","writeFile","jasmine","previous","toBeImageData","actual","toImageDiffEqual","expected","div","style","overflow","float","createCanvas","noConflict","fs",31,32,"./portrait1",33,"makeImage","../../app/lib/make-image",34,"./single-portrait",35],"mappings":"CAAA,QAAUA,GAAEC,EAAEC,EAAEC,GAAG,QAASC,GAAEC,EAAEC,GAAG,IAAIJ,EAAEG,GAAG,CAAC,IAAIJ,EAAEI,GAAG,CAAC,GAAIE,GAAkB,kBAATC,UAAqBA,OAAQ,KAAIF,GAAGC,EAAE,MAAOA,GAAEF,GAAE,EAAI,IAAGI,EAAE,MAAOA,GAAEJ,GAAE,EAAI,IAAIK,GAAE,GAAIC,OAAM,uBAAuBN,EAAE,IAAK,MAAMK,GAAEE,KAAK,mBAAmBF,EAAE,GAAIG,GAAEX,EAAEG,IAAIS,WAAYb,GAAEI,GAAG,GAAGU,KAAKF,EAAEC,QAAQ,SAASd,GAAG,GAAIE,GAAED,EAAEI,GAAG,GAAGL,EAAG,OAAOI,GAAEF,EAAEA,EAAEF,IAAIa,EAAEA,EAAEC,QAAQd,EAAEC,EAAEC,EAAEC,GAAG,MAAOD,GAAEG,GAAGS,QAAkD,IAAI,GAA1CL,GAAkB,kBAATD,UAAqBA,QAAgBH,EAAE,EAAEA,EAAEF,EAAEa,OAAOX,IAAID,EAAED,EAAEE,GAAI,OAAOD,KAAKa,GAAG,SAAST,EAAQU,EAAOJ,GAEvd,YAEA,IAAIK,GAASX,EAAQ,iBACjBY,EAAaZ,EAAQ,gBACrBa,EAAgBb,EAAQ,mBACxBc,EAAYd,EAAQ,YAExBY,GAAWG,UAAU,SAAUC,GAC7BH,EAAcI,eAAe,SAAUC,GACrC,GAAIC,GAAS,GAAIR,EACjBQ,GAAOC,UAAUJ,GAEjBK,QAAQC,IAAIR,EAAUS,MAAMJ,EAAOA,OAAQD,IAE3CG,QAAQC,IAAIN,EAAUQ,MAAOR,EAAUS,QACvCJ,QAAQC,IAAIJ,EAAaM,MAAON,EAAaO,QAC7CJ,QAAQC,IAAIH,EAAOA,OAAOK,MAAOL,EAAOA,OAAOM,QAE/CC,SAASC,KAAKC,YAAYT,EAAOA,cAIlCU,eAAe,GAAGC,kBAAkB,GAAGC,gBAAgB,EAAEjB,UAAY,KAAKkB,GAAG,SAAShC,EAAQU,EAAOJ,GACxG,YAEAI,GAAOJ,QAAU,SAAmB2B,EAAKC,GACvC,GAAIC,GAAQ,GAAIC,QAAOC,KACvBF,GAAMG,OAAS,WACbJ,EAAGC,IAELA,EAAMF,IAAMA,QAGRM,GAAG,SAASvC,EAAQU,EAAOJ,GACjC,YAEA,IAAIkC,GAAOxC,EAAQ,6BAAsC,QAErDyC,EAAYzC,EAAQ,kCAA2C,QAE/D0C,EAAe1C,EAAQ,sCAA+C,QAEtE2C,EAAkB3C,EAAQ,0CAAmD,QAE7E4C,EAAiB5C,EAAQ,uCAAgD,QAEzE6C,EAAe7C,EAAQ,UAAU6C,aAEjClC,EAAS,SAAWmC,GAGtB,QAASnC,GAAOoC,GACdJ,EAAgBK,KAAMrC,GAEtB6B,EAAKS,OAAOC,eAAevC,EAAOwC,WAAY,cAAeH,MAAMzC,KAAKyC,MAExEA,KAAKD,QAAUH,GAEbQ,SAAU,WAEVC,cAAe,MAEfC,YAAY,GACXP,GAEHC,KAAK7B,OAASO,SAAS6B,cAAc,UACrCP,KAAKQ,QAAUR,KAAK7B,OAAOsC,WAAW,MAEtCT,KAAKU,GAAG,aAAcV,KAAKW,YAAYC,KAAKZ,OA8E9C,MAjGAP,GAAU9B,EAAQmC,GAsBlBJ,EAAa/B,IACXkD,IAAK,WACLC,MAAO,eAEPD,IAAK,mBACLC,MAAO,SAA0B3B,GAE/Ba,KAAK7B,OAAOK,MAAQwB,KAAK7B,OAAOK,MAAQY,OAAO2B,WAAa3B,OAAO2B,WAAaf,KAAK7B,OAAOK,MAC5FwB,KAAK7B,OAAOM,OAASuB,KAAK7B,OAAOM,OAASW,OAAO4B,YAAc5B,OAAO4B,YAAchB,KAAK7B,OAAOM,UAGlGoC,IAAK,gBACLC,MAAO,SAAuB3B,GAC5B,GAAI8B,IACFzC,MAAOW,EAAMX,MACbC,OAAQU,EAAMV,OAEhB,OAAOwC,MAGTJ,IAAK,YACLC,MAAO,SAAmBG,GACxB,GAAIC,IACF1C,MAAO,EACPC,OAAQ,EAoBV,QAhB8B,WAA1BuB,KAAKD,QAAQK,UAAmD,cAA1BJ,KAAKD,QAAQK,YAGjDJ,KAAK7B,OAAOK,MAAQY,OAAO2B,aAC7BG,EAAO1C,OAASY,OAAO2B,WAAaE,EAAWzC,OAAS,EACpDwB,KAAKD,QAAQO,aACfY,EAAO1C,MAAQ0C,EAAO1C,MAAQyC,EAAWzC,MAAQ,IAKjDwB,KAAK7B,OAAOM,OAASW,OAAO4B,cAC9BE,EAAOzC,QAAUW,OAAO4B,YAAcC,EAAWxC,QAAU,IAIxDyC,KAGTL,IAAK,cACLC,MAAO,WACLd,KAAK7B,OAAOK,MAAQ,EACpBwB,KAAK7B,OAAOM,OAAS,KAGvBoC,IAAK,YACLC,MAAO,SAAmB3B,EAAOgC,GAG/B,GAFAnB,KAAKoB,KAAK,gBAEJjC,YAAiBC,QAAOC,QAAUW,KAAKD,QAAQO,cAAgBa,YAAkB/B,QAAOC,OAC5F,KAAM,IAAIlC,OAAM,gBAGlB6C,MAAKqB,kBAEL,IAAIJ,GAAajB,KAAKsB,cAAcnC,GAChC+B,EAASlB,KAAKuB,UAAUN,EAE5BjB,MAAKQ,QAAQpC,UAAUe,EAAO+B,EAAO1C,MAAO0C,EAAOzC,OAAQwC,EAAWzC,MAAOyC,EAAWxC,QACpFuB,KAAKD,QAAQO,YAAca,GAC7BnB,KAAKQ,QAAQpC,UAAU+C,EAAQF,EAAWzC,MAAQ0C,EAAO1C,MAAO0C,EAAOzC,OAAQwC,EAAWzC,MAAOyC,EAAWxC,QAG9GuB,KAAKoB,KAAK,mBAIPzD,GACNkC,EAEHnC,GAAOJ,QAAUK,IAEd6D,sCAAsC,EAAEC,yCAAyC,EAAEC,qCAAqC,EAAEC,4BAA4B,GAAGC,iCAAiC,GAAGC,OAAS,KAAKC,GAAG,SAAS9E,EAAQU,EAAOJ,GACzOI,EAAOJ,SAAYyE,QAAW/E,EAAQ,oCAAqCgF,YAAY,KACpFC,mCAAmC,KAAKC,GAAG,SAASlF,EAAQU,EAAOJ,GACtEI,EAAOJ,SAAYyE,QAAW/E,EAAQ,oCAAqCgF,YAAY,KACpFG,mCAAmC,KAAKC,GAAG,SAASpF,EAAQU,EAAOJ,GACtEI,EAAOJ,SAAYyE,QAAW/E,EAAQ,6CAA8CgF,YAAY,KAC7FK,4CAA4C,KAAKC,GAAG,SAAStF,EAAQU,EAAOJ,GAC/EI,EAAOJ,SAAYyE,QAAW/E,EAAQ,yDAA0DgF,YAAY,KACzGO,wDAAwD,KAAKC,GAAG,SAASxF,EAAQU,EAAOJ,GAC3F,YAEAA,GAAiB,QAAI,SAAUmF,EAAUC,GACvC,KAAMD,YAAoBC,IACxB,KAAM,IAAIC,WAAU,sCAIxBrF,EAAQ0E,YAAa,OACfY,GAAG,SAAS5F,EAAQU,EAAOJ,GACjC,YAEA,IAAIuF,GAAyB7F,EAAQ,gDAAyD,OAE9FM,GAAiB,QAAI,WACnB,QAASwF,GAAiBC,EAAQC,GAChC,IAAK,GAAI/F,GAAI,EAAGA,EAAI+F,EAAMxF,OAAQP,IAAK,CACrC,GAAIgG,GAAaD,EAAM/F,EACvBgG,GAAWC,WAAaD,EAAWC,aAAc,EACjDD,EAAWE,cAAe,EACtB,SAAWF,KAAYA,EAAWG,UAAW,GAEjDP,EAAuBE,EAAQE,EAAWpC,IAAKoC,IAInD,MAAO,UAAUP,EAAaW,EAAYC,GAGxC,MAFID,IAAYP,EAAiBJ,EAAYvC,UAAWkD,GACpDC,GAAaR,EAAiBJ,EAAaY,GACxCZ,MAIXpF,EAAQ0E,YAAa,IAClBuB,+CAA+C,IAAIC,IAAI,SAASxG,EAAQU,EAAOJ,GAClF,YAEA,IAAImG,GAAmCzG,EAAQ,4DAAqE,OAEpHM,GAAiB,QAAI,SAAaoG,EAAIC,EAAKC,GAG9B,IAFX,GAAIC,IAAS,EAEKA,GAAQ,CACxB,GAAIC,GAASJ,EACTK,EAAWJ,EACXK,EAAWJ,CACfK,GAAOC,EAASC,EAASC,OACzBP,GAAS,EACM,OAAXC,IAAiBA,EAASO,SAASlE,UAEvC,IAAI8D,GAAOR,EAAiCK,EAAQC,EAEpD,IAAaK,SAATH,EAAJ,CAYO,GAAI,SAAWA,GACpB,MAAOA,GAAKnD,KAEZ,IAAIqD,GAASF,EAAKK,GAElB,OAAeF,UAAXD,EACKC,OAGFD,EAAO5G,KAAKyG,GApBnB,GAAIE,GAASjE,OAAOC,eAAe4D,EAEnC,IAAe,OAAXI,EACF,MAAOE,OAEPV,GAAKQ,EACLP,EAAMI,EACNH,EAAMI,EACNH,GAAS,IAiBjBvG,EAAQ0E,YAAa,IAClBuC,2DAA2D,IAAIC,IAAI,SAASxH,EAAQU,EAAOJ,GAC9F,YAEA,IAAImH,GAAiBzH,EAAQ,uCAAgD,OAE7EM,GAAiB,QAAI,SAAUoH,EAAUC,GACvC,GAA0B,kBAAfA,IAA4C,OAAfA,EACtC,KAAM,IAAIhC,WAAU,iEAAoEgC,GAG1FD,GAASvE,UAAYsE,EAAeE,GAAcA,EAAWxE,WAC3DyE,aACE9D,MAAO4D,EACPxB,YAAY,EACZE,UAAU,EACVD,cAAc,KAGdwB,IAAYD,EAASG,UAAYF,IAGvCrH,EAAQ0E,YAAa,IAClB8C,sCAAsC,IAAIC,IAAI,SAAS/H,EAAQU,EAAOJ,GACzE,GAAI0H,GAAS,oEAEX,SAAU1H,GACX,YAcA,SAAS2H,GAAQC,GAChB,GAAI9H,GAAO8H,EAAIC,WAAW,EAC1B,OAAI/H,KAASgI,GACThI,IAASiI,EACL,GACJjI,IAASkI,GACTlI,IAASmI,EACL,GACGC,EAAPpI,EACI,GACGoI,EAAS,GAAhBpI,EACIA,EAAOoI,EAAS,GAAK,GAClBC,EAAQ,GAAfrI,EACIA,EAAOqI,EACJC,EAAQ,GAAftI,EACIA,EAAOsI,EAAQ,GADvB,OAID,QAASC,GAAgBC,GAuBxB,QAASC,GAAMC,GACdC,EAAIC,KAAOF,EAvBZ,GAAI7I,GAAGgJ,EAAG5I,EAAG6I,EAAKC,EAAcJ,CAEhC,IAAIH,EAAIpI,OAAS,EAAI,EACpB,KAAM,IAAIL,OAAM,iDAQjB,IAAIiJ,GAAMR,EAAIpI,MACd2I,GAAe,MAAQP,EAAIS,OAAOD,EAAM,GAAK,EAAI,MAAQR,EAAIS,OAAOD,EAAM,GAAK,EAAI,EAGnFL,EAAM,GAAIO,GAAiB,EAAbV,EAAIpI,OAAa,EAAI2I,GAGnC9I,EAAI8I,EAAe,EAAIP,EAAIpI,OAAS,EAAIoI,EAAIpI,MAE5C,IAAIwI,GAAI,CAMR,KAAK/I,EAAI,EAAGgJ,EAAI,EAAO5I,EAAJJ,EAAOA,GAAK,EAAGgJ,GAAK,EACtCC,EAAOjB,EAAOW,EAAIS,OAAOpJ,KAAO,GAAOgI,EAAOW,EAAIS,OAAOpJ,EAAI,KAAO,GAAOgI,EAAOW,EAAIS,OAAOpJ,EAAI,KAAO,EAAKgI,EAAOW,EAAIS,OAAOpJ,EAAI,IACnI4I,GAAY,SAANK,IAAmB,IACzBL,GAAY,MAANK,IAAiB,GACvBL,EAAW,IAANK,EAYN,OATqB,KAAjBC,GACHD,EAAOjB,EAAOW,EAAIS,OAAOpJ,KAAO,EAAMgI,EAAOW,EAAIS,OAAOpJ,EAAI,KAAO,EACnE4I,EAAW,IAANK,IACsB,IAAjBC,IACVD,EAAOjB,EAAOW,EAAIS,OAAOpJ,KAAO,GAAOgI,EAAOW,EAAIS,OAAOpJ,EAAI,KAAO,EAAMgI,EAAOW,EAAIS,OAAOpJ,EAAI,KAAO,EACvG4I,EAAMK,GAAO,EAAK,KAClBL,EAAW,IAANK,IAGCH,EAGR,QAASQ,GAAeC,GAMvB,QAASC,GAAQC,GAChB,MAAO1B,GAAOqB,OAAOK,GAGtB,QAASC,GAAiBD,GACzB,MAAOD,GAAOC,GAAO,GAAK,IAAQD,EAAOC,GAAO,GAAK,IAAQD,EAAOC,GAAO,EAAI,IAAQD,EAAa,GAANC,GAV/F,GAAIzJ,GAGH2J,EAAMpJ,EAFNqJ,EAAaL,EAAMhJ,OAAS,EAC5BsJ,EAAS,EAYV,KAAK7J,EAAI,EAAGO,EAASgJ,EAAMhJ,OAASqJ,EAAgBrJ,EAAJP,EAAYA,GAAK,EAChE2J,GAAQJ,EAAMvJ,IAAM,KAAOuJ,EAAMvJ,EAAI,IAAM,GAAMuJ,EAAMvJ,EAAI,GAC3D6J,GAAUH,EAAgBC,EAI3B,QAAQC,GACP,IAAK,GACJD,EAAOJ,EAAMA,EAAMhJ,OAAS,GAC5BsJ,GAAUL,EAAOG,GAAQ,GACzBE,GAAUL,EAAQG,GAAQ,EAAK,IAC/BE,GAAU,IACV,MACD,KAAK,GACJF,GAAQJ,EAAMA,EAAMhJ,OAAS,IAAM,GAAMgJ,EAAMA,EAAMhJ,OAAS,GAC9DsJ,GAAUL,EAAOG,GAAQ,IACzBE,GAAUL,EAAQG,GAAQ,EAAK,IAC/BE,GAAUL,EAAQG,GAAQ,EAAK,IAC/BE,GAAU,IAIZ,MAAOA,GAjHP,GAAIR,GAA6B,mBAAfS,YACdA,WACAC,MAED5B,EAAS,IAAID,WAAW,GACxBG,EAAS,IAAIH,WAAW,GACxBK,EAAS,IAAIL,WAAW,GACxBO,EAAS,IAAIP,WAAW,GACxBM,EAAS,IAAIN,WAAW,GACxBE,EAAgB,IAAIF,WAAW,GAC/BI,EAAiB,IAAIJ,WAAW,EA0GpC7H,GAAQ2J,YAActB,EACtBrI,EAAQ4J,cAAgBX,GACJ,mBAAZjJ,GAA2B0C,KAAKmH,YAAiB7J,QAEpD8J,IAAI,SAASpK,EAAQU,EAAOJ,SAE5B+J,IAAI,SAASrK,EAAQU,EAAOJ,GAyDlC,QAASgK,KACP,MAAOC,GAAOC,oBACV,WACA,WAeN,QAASD,GAAQE,GACf,MAAMzH,gBAAgBuH,IAMtBvH,KAAKxC,OAAS,EACdwC,KAAKkE,OAASE,OAGK,gBAARqD,GACFC,EAAW1H,KAAMyH,GAIP,gBAARA,GACFE,EAAW3H,KAAMyH,EAAKG,UAAUpK,OAAS,EAAIoK,UAAU,GAAK,QAI9DC,EAAW7H,KAAMyH,IAlBlBG,UAAUpK,OAAS,EAAU,GAAI+J,GAAOE,EAAKG,UAAU,IACpD,GAAIL,GAAOE,GAoBtB,QAASC,GAAYI,EAAMtK,GAEzB,GADAsK,EAAOC,EAASD,EAAe,EAATtK,EAAa,EAAsB,EAAlBwK,EAAQxK,KAC1C+J,EAAOC,oBACV,IAAK,GAAIvK,GAAI,EAAOO,EAAJP,EAAYA,IAC1B6K,EAAK7K,GAAK,CAGd,OAAO6K,GAGT,QAASH,GAAYG,EAAMG,EAAQC,IACT,gBAAbA,IAAsC,KAAbA,KAAiBA,EAAW,OAGhE,IAAI1K,GAAwC,EAA/B2K,EAAWF,EAAQC,EAIhC,OAHAJ,GAAOC,EAASD,EAAMtK,GAEtBsK,EAAKM,MAAMH,EAAQC,GACZJ,EAGT,QAASD,GAAYC,EAAMhE,GACzB,GAAIyD,EAAOc,SAASvE,GAAS,MAAOwE,GAAWR,EAAMhE,EAErD,IAAIyE,EAAQzE,GAAS,MAAO0E,GAAUV,EAAMhE,EAE5C,IAAc,MAAVA,EACF,KAAM,IAAInB,WAAU,kDAGtB,OAA2B,mBAAhB8F,cAA+B3E,EAAO4E,iBAAkBD,aAC1DE,EAAeb,EAAMhE,GAG1BA,EAAOtG,OAAeoL,EAAcd,EAAMhE,GAEvC+E,EAAef,EAAMhE,GAG9B,QAASwE,GAAYR,EAAMY,GACzB,GAAIlL,GAAkC,EAAzBwK,EAAQU,EAAOlL,OAG5B,OAFAsK,GAAOC,EAASD,EAAMtK,GACtBkL,EAAOI,KAAKhB,EAAM,EAAG,EAAGtK,GACjBsK,EAGT,QAASU,GAAWV,EAAMiB,GACxB,GAAIvL,GAAiC,EAAxBwK,EAAQe,EAAMvL,OAC3BsK,GAAOC,EAASD,EAAMtK,EACtB,KAAK,GAAIP,GAAI,EAAOO,EAAJP,EAAYA,GAAK,EAC/B6K,EAAK7K,GAAgB,IAAX8L,EAAM9L,EAElB,OAAO6K,GAIT,QAASa,GAAgBb,EAAMiB,GAC7B,GAAIvL,GAAiC,EAAxBwK,EAAQe,EAAMvL,OAC3BsK,GAAOC,EAASD,EAAMtK,EAItB,KAAK,GAAIP,GAAI,EAAOO,EAAJP,EAAYA,GAAK,EAC/B6K,EAAK7K,GAAgB,IAAX8L,EAAM9L,EAElB,OAAO6K,GAGT,QAASc,GAAed,EAAMiB,GAC5B,GAAIvL,GAAiC,EAAxBwK,EAAQe,EAAMvL,OAC3BsK,GAAOC,EAASD,EAAMtK,EACtB,KAAK,GAAIP,GAAI,EAAOO,EAAJP,EAAYA,GAAK,EAC/B6K,EAAK7K,GAAgB,IAAX8L,EAAM9L,EAElB,OAAO6K,GAKT,QAASe,GAAgBf,EAAMhE,GAC7B,GAAIiF,GACAvL,EAAS,CAEO,YAAhBsG,EAAOkF,MAAqBT,EAAQzE,EAAOmF,QAC7CF,EAAQjF,EAAOmF,KACfzL,EAAiC,EAAxBwK,EAAQe,EAAMvL,SAEzBsK,EAAOC,EAASD,EAAMtK,EAEtB,KAAK,GAAIP,GAAI,EAAOO,EAAJP,EAAYA,GAAK,EAC/B6K,EAAK7K,GAAgB,IAAX8L,EAAM9L,EAElB,OAAO6K,GAGT,QAASC,GAAUD,EAAMtK,GACnB+J,EAAOC,oBAETM,EAAOP,EAAO2B,SAAS,GAAInC,YAAWvJ,KAGtCsK,EAAKtK,OAASA,EACdsK,EAAKqB,WAAY,EAGnB,IAAIC,GAAsB,IAAX5L,GAAgBA,GAAU+J,EAAO8B,WAAa,CAG7D,OAFID,KAAUtB,EAAK5D,OAASoF,GAErBxB,EAGT,QAASE,GAASxK,GAGhB,GAAIA,GAAU8J,IACZ,KAAM,IAAIiC,YAAW,0DACajC,IAAakC,SAAS,IAAM,SAEhE,OAAgB,GAAThM,EAGT,QAASiM,GAAYC,EAASxB,GAC5B,KAAMlI,eAAgByJ,IAAa,MAAO,IAAIA,GAAWC,EAASxB,EAElE,IAAIyB,GAAM,GAAIpC,GAAOmC,EAASxB,EAE9B,cADOyB,GAAIzF,OACJyF,EAiFT,QAASxB,GAAYF,EAAQC,GACL,gBAAXD,KAAqBA,EAAS,GAAKA,EAE9C,IAAI7B,GAAM6B,EAAOzK,MACjB,IAAY,IAAR4I,EAAW,MAAO,EAItB,KADA,GAAIwD,IAAc,IAEhB,OAAQ1B,GACN,IAAK,QACL,IAAK,SAEL,IAAK,MACL,IAAK,OACH,MAAO9B,EACT,KAAK,OACL,IAAK,QACH,MAAOyD,GAAY5B,GAAQzK,MAC7B,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAa,GAAN4I,CACT,KAAK,MACH,MAAOA,KAAQ,CACjB,KAAK,SACH,MAAO0D,GAAc7B,GAAQzK,MAC/B,SACE,GAAIoM,EAAa,MAAOC,GAAY5B,GAAQzK,MAC5C0K,IAAY,GAAKA,GAAU6B,cAC3BH,GAAc,GAUtB,QAASI,GAAc9B,EAAU+B,EAAOC,GACtC,GAAIN,IAAc,CAQlB,IANAK,EAAgB,EAARA,EACRC,EAAc9F,SAAR8F,GAAqBA,IAAQC,EAAAA,EAAWnK,KAAKxC,OAAe,EAAN0M,EAEvDhC,IAAUA,EAAW,QACd,EAAR+B,IAAWA,EAAQ,GACnBC,EAAMlK,KAAKxC,SAAQ0M,EAAMlK,KAAKxC,QACvByM,GAAPC,EAAc,MAAO,EAEzB,QACE,OAAQhC,GACN,IAAK,MACH,MAAOkC,GAASpK,KAAMiK,EAAOC,EAE/B,KAAK,OACL,IAAK,QACH,MAAOG,GAAUrK,KAAMiK,EAAOC,EAEhC,KAAK,QACH,MAAOI,GAAWtK,KAAMiK,EAAOC,EAEjC,KAAK,SACH,MAAOK,GAAYvK,KAAMiK,EAAOC,EAElC,KAAK,SACH,MAAOM,GAAYxK,KAAMiK,EAAOC,EAElC,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAOO,GAAazK,KAAMiK,EAAOC,EAEnC,SACE,GAAIN,EAAa,KAAM,IAAIjH,WAAU,qBAAuBuF,EAC5DA,IAAYA,EAAW,IAAI6B,cAC3BH,GAAc,GAuFtB,QAASc,GAAUf,EAAK1B,EAAQ/G,EAAQ1D,GACtC0D,EAASyJ,OAAOzJ,IAAW,CAC3B,IAAI0J,GAAYjB,EAAInM,OAAS0D,CACxB1D,IAGHA,EAASmN,OAAOnN,GACZA,EAASoN,IACXpN,EAASoN,IAJXpN,EAASoN,CASX,IAAIC,GAAS5C,EAAOzK,MACpB,IAAIqN,EAAS,IAAM,EAAG,KAAM,IAAI1N,OAAM,qBAElCK,GAASqN,EAAS,IACpBrN,EAASqN,EAAS,EAEpB,KAAK,GAAI5N,GAAI,EAAOO,EAAJP,EAAYA,IAAK,CAC/B,GAAI6N,GAASC,SAAS9C,EAAO+C,OAAW,EAAJ/N,EAAO,GAAI,GAC/C,IAAIgO,MAAMH,GAAS,KAAM,IAAI3N,OAAM,qBACnCwM,GAAIzI,EAASjE,GAAK6N,EAEpB,MAAO7N,GAGT,QAASiO,GAAWvB,EAAK1B,EAAQ/G,EAAQ1D,GACvC,MAAO2N,GAAWtB,EAAY5B,EAAQ0B,EAAInM,OAAS0D,GAASyI,EAAKzI,EAAQ1D,GAG3E,QAAS4N,GAAYzB,EAAK1B,EAAQ/G,EAAQ1D,GACxC,MAAO2N,GAAWE,EAAapD,GAAS0B,EAAKzI,EAAQ1D,GAGvD,QAAS8N,GAAa3B,EAAK1B,EAAQ/G,EAAQ1D,GACzC,MAAO4N,GAAWzB,EAAK1B,EAAQ/G,EAAQ1D,GAGzC,QAAS+N,GAAa5B,EAAK1B,EAAQ/G,EAAQ1D,GACzC,MAAO2N,GAAWrB,EAAc7B,GAAS0B,EAAKzI,EAAQ1D,GAGxD,QAASgO,GAAW7B,EAAK1B,EAAQ/G,EAAQ1D,GACvC,MAAO2N,GAAWM,EAAexD,EAAQ0B,EAAInM,OAAS0D,GAASyI,EAAKzI,EAAQ1D,GAkF9E,QAASgN,GAAab,EAAKM,EAAOC,GAChC,MAAc,KAAVD,GAAeC,IAAQP,EAAInM,OACtBkO,EAAOxE,cAAcyC,GAErB+B,EAAOxE,cAAcyC,EAAIgC,MAAM1B,EAAOC,IAIjD,QAASG,GAAWV,EAAKM,EAAOC,GAC9B,GAAI0B,GAAM,GACN1F,EAAM,EACVgE,GAAM2B,KAAKC,IAAInC,EAAInM,OAAQ0M,EAE3B,KAAK,GAAIjN,GAAIgN,EAAWC,EAAJjN,EAASA,IACvB0M,EAAI1M,IAAM,KACZ2O,GAAOG,EAAe7F,GAAO8F,OAAOC,aAAatC,EAAI1M,IACrDiJ,EAAM,IAENA,GAAO,IAAMyD,EAAI1M,GAAGuM,SAAS,GAIjC,OAAOoC,GAAMG,EAAe7F,GAG9B,QAASoE,GAAYX,EAAKM,EAAOC,GAC/B,GAAIgC,GAAM,EACVhC,GAAM2B,KAAKC,IAAInC,EAAInM,OAAQ0M,EAE3B,KAAK,GAAIjN,GAAIgN,EAAWC,EAAJjN,EAASA,IAC3BiP,GAAOF,OAAOC,aAAsB,IAATtC,EAAI1M,GAEjC,OAAOiP,GAGT,QAAS3B,GAAaZ,EAAKM,EAAOC,GAChC,GAAIgC,GAAM,EACVhC,GAAM2B,KAAKC,IAAInC,EAAInM,OAAQ0M,EAE3B,KAAK,GAAIjN,GAAIgN,EAAWC,EAAJjN,EAASA,IAC3BiP,GAAOF,OAAOC,aAAatC,EAAI1M,GAEjC,OAAOiP,GAGT,QAAS9B,GAAUT,EAAKM,EAAOC,GAC7B,GAAI9D,GAAMuD,EAAInM,SAETyM,GAAiB,EAARA,KAAWA,EAAQ,KAC5BC,GAAa,EAANA,GAAWA,EAAM9D,KAAK8D,EAAM9D,EAGxC,KAAK,GADD+F,GAAM,GACDlP,EAAIgN,EAAWC,EAAJjN,EAASA,IAC3BkP,GAAOC,EAAMzC,EAAI1M,GAEnB,OAAOkP,GAGT,QAAS1B,GAAcd,EAAKM,EAAOC,GAGjC,IAAK,GAFDmC,GAAQ1C,EAAIgC,MAAM1B,EAAOC,GACzB0B,EAAM,GACD3O,EAAI,EAAGA,EAAIoP,EAAM7O,OAAQP,GAAK,EACrC2O,GAAOI,OAAOC,aAAaI,EAAMpP,GAAoB,IAAfoP,EAAMpP,EAAI,GAElD,OAAO2O,GA2CT,QAASU,GAAapL,EAAQqL,EAAK/O,GACjC,GAAK0D,EAAS,IAAO,GAAc,EAATA,EAAY,KAAM,IAAIqI,YAAW,qBAC3D,IAAIrI,EAASqL,EAAM/O,EAAQ,KAAM,IAAI+L,YAAW,yCA+JlD,QAASiD,GAAU7C,EAAK7I,EAAOI,EAAQqL,EAAKE,EAAKX,GAC/C,IAAKvE,EAAOc,SAASsB,GAAM,KAAM,IAAIhH,WAAU,mCAC/C,IAAI7B,EAAQ2L,GAAeX,EAARhL,EAAa,KAAM,IAAIyI,YAAW,yBACrD,IAAIrI,EAASqL,EAAM5C,EAAInM,OAAQ,KAAM,IAAI+L,YAAW,sBA4CtD,QAASmD,GAAmB/C,EAAK7I,EAAOI,EAAQyL,GAClC,EAAR7L,IAAWA,EAAQ,MAASA,EAAQ,EACxC,KAAK,GAAI7D,GAAI,EAAGgJ,EAAI4F,KAAKC,IAAInC,EAAInM,OAAS0D,EAAQ,GAAQ+E,EAAJhJ,EAAOA,IAC3D0M,EAAIzI,EAASjE,IAAM6D,EAAS,KAAS,GAAK6L,EAAe1P,EAAI,EAAIA,MAClC,GAA5B0P,EAAe1P,EAAI,EAAIA,GA8B9B,QAAS2P,GAAmBjD,EAAK7I,EAAOI,EAAQyL,GAClC,EAAR7L,IAAWA,EAAQ,WAAaA,EAAQ,EAC5C,KAAK,GAAI7D,GAAI,EAAGgJ,EAAI4F,KAAKC,IAAInC,EAAInM,OAAS0D,EAAQ,GAAQ+E,EAAJhJ,EAAOA,IAC3D0M,EAAIzI,EAASjE,GAAM6D,IAAuC,GAA5B6L,EAAe1P,EAAI,EAAIA,GAAU,IA6InE,QAAS4P,GAAclD,EAAK7I,EAAOI,EAAQqL,EAAKE,EAAKX,GACnD,GAAIhL,EAAQ2L,GAAeX,EAARhL,EAAa,KAAM,IAAIyI,YAAW,yBACrD,IAAIrI,EAASqL,EAAM5C,EAAInM,OAAQ,KAAM,IAAI+L,YAAW,qBACpD,IAAa,EAATrI,EAAY,KAAM,IAAIqI,YAAW,sBAGvC,QAASuD,GAAYnD,EAAK7I,EAAOI,EAAQyL,EAAcI,GAKrD,MAJKA,IACHF,EAAalD,EAAK7I,EAAOI,EAAQ,EAAG,sBAAwB,wBAE9D8L,EAAQ5E,MAAMuB,EAAK7I,EAAOI,EAAQyL,EAAc,GAAI,GAC7CzL,EAAS,EAWlB,QAAS+L,GAAatD,EAAK7I,EAAOI,EAAQyL,EAAcI,GAKtD,MAJKA,IACHF,EAAalD,EAAK7I,EAAOI,EAAQ,EAAG,uBAAyB,yBAE/D8L,EAAQ5E,MAAMuB,EAAK7I,EAAOI,EAAQyL,EAAc,GAAI,GAC7CzL,EAAS,EA6KlB,QAASgM,GAAaC,GAIpB,GAFAA,EAAMC,EAAWD,GAAKE,QAAQC,EAAmB,IAE7CH,EAAI3P,OAAS,EAAG,MAAO,EAE3B,MAAO2P,EAAI3P,OAAS,IAAM,GACxB2P,GAAY,GAEd,OAAOA,GAGT,QAASC,GAAYD,GACnB,MAAIA,GAAII,KAAaJ,EAAII,OAClBJ,EAAIE,QAAQ,aAAc,IAGnC,QAASjB,GAAO1P,GACd,MAAQ,IAAJA,EAAe,IAAMA,EAAE8M,SAAS,IAC7B9M,EAAE8M,SAAS,IAGpB,QAASK,GAAa5B,EAAQuF,GAC5BA,EAAQA,GAASrD,EAAAA,CAOjB,KANA,GAAIsD,GACAjQ,EAASyK,EAAOzK,OAChBkQ,EAAgB,KAChBrB,KACApP,EAAI,EAEGO,EAAJP,EAAYA,IAAK,CAItB,GAHAwQ,EAAYxF,EAAO9C,WAAWlI,GAG1BwQ,EAAY,OAAsB,MAAZA,EAAoB,CAE5C,IAAIC,EAWG,CAGL,GAAID,EAAY,MAAQ,EAEjBD,GAAS,GAAK,IAAInB,EAAMxG,KAAK,IAAM,IAAM,IAC9C,UACK,GAAI5I,EAAI,IAAMO,EAAQ,EAEtBgQ,GAAS,GAAK,IAAInB,EAAMxG,KAAK,IAAM,IAAM,IAC9C,UAGA6H,EAAgBD,CAChB,UAvBF,GAAgB,MAAZA,EAAoB,EACjBD,GAAS,GAAK,IAAInB,EAAMxG,KAAK,IAAM,IAAM,KAC9C6H,EAAgBD,CAChB,UAGAA,EAAYC,EAAgB,OAAU,GAAKD,EAAY,MAAS,MAChEC,EAAgB,SAmBXA,MAEJF,GAAS,GAAK,IAAInB,EAAMxG,KAAK,IAAM,IAAM,KAC9C6H,EAAgB,KAIlB,IAAgB,IAAZD,EAAkB,CACpB,IAAKD,GAAS,GAAK,EAAG,KACtBnB,GAAMxG,KAAK4H,OACN,IAAgB,KAAZA,EAAmB,CAC5B,IAAKD,GAAS,GAAK,EAAG,KACtBnB,GAAMxG,KACJ4H,GAAa,EAAM,IACP,GAAZA,EAAmB,SAEhB,IAAgB,MAAZA,EAAqB,CAC9B,IAAKD,GAAS,GAAK,EAAG,KACtBnB,GAAMxG,KACJ4H,GAAa,GAAM,IACnBA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,SAEhB,CAAA,KAAgB,QAAZA,GAST,KAAM,IAAItQ,OAAM,qBARhB,KAAKqQ,GAAS,GAAK,EAAG,KACtBnB,GAAMxG,KACJ4H,GAAa,GAAO,IACpBA,GAAa,GAAM,GAAO,IAC1BA,GAAa,EAAM,GAAO,IACd,GAAZA,EAAmB,MAOzB,MAAOpB,GAGT,QAAShB,GAAc8B,GAErB,IAAK,GADDQ,MACK1Q,EAAI,EAAGA,EAAIkQ,EAAI3P,OAAQP,IAE9B0Q,EAAU9H,KAAyB,IAApBsH,EAAIhI,WAAWlI,GAEhC,OAAO0Q,GAGT,QAASlC,GAAgB0B,EAAKK,GAG5B,IAAK,GAFDI,GAAGC,EAAIC,EACPH,KACK1Q,EAAI,EAAGA,EAAIkQ,EAAI3P,WACjBgQ,GAAS,GAAK,GADWvQ,IAG9B2Q,EAAIT,EAAIhI,WAAWlI,GACnB4Q,EAAKD,GAAK,EACVE,EAAKF,EAAI,IACTD,EAAU9H,KAAKiI,GACfH,EAAU9H,KAAKgI,EAGjB,OAAOF,GAGT,QAAS7D,GAAeqD,GACtB,MAAOzB,GAAOzE,YAAYiG,EAAYC,IAGxC,QAAShC,GAAYlM,EAAK8O,EAAK7M,EAAQ1D,GACrC,IAAK,GAAIP,GAAI,EAAOO,EAAJP,KACTA,EAAIiE,GAAU6M,EAAIvQ,QAAYP,GAAKgC,EAAIzB,QADlBP,IAE1B8Q,EAAI9Q,EAAIiE,GAAUjC,EAAIhC,EAExB,OAAOA,GAGT,QAAS8O,GAAgBoB,GACvB,IACE,MAAOa,oBAAmBb,GAC1B,MAAOc,GACP,MAAOjC,QAAOC,aAAa,QAn5C/B,GAAIP,GAAS1O,EAAQ,aACjBgQ,EAAUhQ,EAAQ,WAClBuL,EAAUvL,EAAQ,WAEtBM,GAAQiK,OAASA,EACjBjK,EAAQmM,WAAaA,EACrBnM,EAAQ4Q,kBAAoB,GAC5B3G,EAAO8B,SAAW,IAElB,IAAIC,KAwBJ/B,GAAOC,oBAAsB,WAC3B,QAAS2G,MACT,IACE,GAAIxE,GAAM,GAAIlB,aAAY,GACtB1C,EAAM,GAAIgB,YAAW4C,EAGzB,OAFA5D,GAAIqI,IAAM,WAAc,MAAO,KAC/BrI,EAAInB,YAAcuJ,EACG,KAAdpI,EAAIqI,OACPrI,EAAInB,cAAgBuJ,GACI,kBAAjBpI,GAAIsI,UACqC,IAAhD,GAAItH,YAAW,GAAGsH,SAAS,EAAG,GAAGlG,WACrC,MAAO3L,GACP,OAAO,MA+KX+K,EAAOc,SAAW,SAAmBiG,GACnC,QAAe,MAALA,IAAaA,EAAEnF,YAG3B5B,EAAOgH,QAAU,SAAkBxR,EAAGuR,GACpC,IAAK/G,EAAOc,SAAStL,KAAOwK,EAAOc,SAASiG,GAC1C,KAAM,IAAI3L,WAAU,4BAGtB,IAAI5F,IAAMuR,EAAG,MAAO,EAOpB,KALA,GAAIE,GAAIzR,EAAES,OACNiR,EAAIH,EAAE9Q,OAENP,EAAI,EACJmJ,EAAMyF,KAAKC,IAAI0C,EAAGC,GACXrI,EAAJnJ,GACDF,EAAEE,KAAOqR,EAAErR,MAEbA,CAQJ,OALIA,KAAMmJ,IACRoI,EAAIzR,EAAEE,GACNwR,EAAIH,EAAErR,IAGAwR,EAAJD,EAAc,GACVA,EAAJC,EAAc,EACX,GAGTlH,EAAOmH,WAAa,SAAqBxG,GACvC,OAAQ8D,OAAO9D,GAAU6B,eACvB,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,QACL,IAAK,SACL,IAAK,SACL,IAAK,MACL,IAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,OAAO,CACT,SACE,OAAO,IAIbxC,EAAOoH,OAAS,SAAiBC,EAAMpR,GACrC,IAAK+K,EAAQqG,GAAO,KAAM,IAAIjM,WAAU,6CAExC,IAAoB,IAAhBiM,EAAKpR,OACP,MAAO,IAAI+J,GAAO,EACb,IAAoB,IAAhBqH,EAAKpR,OACd,MAAOoR,GAAK,EAGd,IAAI3R,EACJ,IAAemH,SAAX5G,EAEF,IADAA,EAAS,EACJP,EAAI,EAAGA,EAAI2R,EAAKpR,OAAQP,IAC3BO,GAAUoR,EAAK3R,GAAGO,MAItB,IAAImM,GAAM,GAAIpC,GAAO/J,GACjBqR,EAAM,CACV,KAAK5R,EAAI,EAAGA,EAAI2R,EAAKpR,OAAQP,IAAK,CAChC,GAAI6R,GAAOF,EAAK3R,EAChB6R,GAAKhG,KAAKa,EAAKkF,GACfA,GAAOC,EAAKtR,OAEd,MAAOmM,IAsCTpC,EAAOY,WAAaA,EAGpBZ,EAAOpH,UAAU3C,OAAS4G,OAC1BmD,EAAOpH,UAAU+D,OAASE,OA6C1BmD,EAAOpH,UAAUqJ,SAAW,WAC1B,GAAIhM,GAAuB,EAAdwC,KAAKxC,MAClB,OAAe,KAAXA,EAAqB,GACA,IAArBoK,UAAUpK,OAAqB6M,EAAUrK,KAAM,EAAGxC,GAC/CwM,EAAa+E,MAAM/O,KAAM4H,YAGlCL,EAAOpH,UAAU6O,OAAS,SAAiBV,GACzC,IAAK/G,EAAOc,SAASiG,GAAI,KAAM,IAAI3L,WAAU,4BAC7C,OAAI3C,QAASsO,GAAU,EACY,IAA5B/G,EAAOgH,QAAQvO,KAAMsO,IAG9B/G,EAAOpH,UAAU8O,QAAU,WACzB,GAAI9B,GAAM,GACNV,EAAMnP,EAAQ4Q,iBAKlB,OAJIlO,MAAKxC,OAAS,IAChB2P,EAAMnN,KAAKwJ,SAAS,MAAO,EAAGiD,GAAKyC,MAAM,SAASC,KAAK,KACnDnP,KAAKxC,OAASiP,IAAKU,GAAO,UAEzB,WAAaA,EAAM,KAG5B5F,EAAOpH,UAAUoO,QAAU,SAAkBD,GAC3C,IAAK/G,EAAOc,SAASiG,GAAI,KAAM,IAAI3L,WAAU,4BAC7C,OAAI3C,QAASsO,EAAU,EAChB/G,EAAOgH,QAAQvO,KAAMsO,IAG9B/G,EAAOpH,UAAUiP,QAAU,SAAkBC,EAAKC,GAyBhD,QAASC,GAAcxJ,EAAKsJ,EAAKC,GAE/B,IAAK,GADDE,GAAa,GACRvS,EAAI,EAAGqS,EAAarS,EAAI8I,EAAIvI,OAAQP,IAC3C,GAAI8I,EAAIuJ,EAAarS,KAAOoS,EAAmB,KAAfG,EAAoB,EAAIvS,EAAIuS,IAE1D,GADmB,KAAfA,IAAmBA,EAAavS,GAChCA,EAAIuS,EAAa,IAAMH,EAAI7R,OAAQ,MAAO8R,GAAaE,MAE3DA,GAAa,EAGjB,OAAO,GA9BT,GAJIF,EAAa,WAAYA,EAAa,WACpB,YAAbA,IAA0BA,EAAa,aAChDA,IAAe,EAEK,IAAhBtP,KAAKxC,OAAc,MAAO,EAC9B,IAAI8R,GAActP,KAAKxC,OAAQ,MAAO,EAKtC,IAFiB,EAAb8R,IAAgBA,EAAazD,KAAKY,IAAIzM,KAAKxC,OAAS8R,EAAY,IAEjD,gBAARD,GACT,MAAmB,KAAfA,EAAI7R,OAAqB,GACtBwO,OAAO7L,UAAUiP,QAAQ7R,KAAKyC,KAAMqP,EAAKC,EAElD,IAAI/H,EAAOc,SAASgH,GAClB,MAAOE,GAAavP,KAAMqP,EAAKC,EAEjC,IAAmB,gBAARD,GACT,MAAI9H,GAAOC,qBAAwD,aAAjCT,WAAW5G,UAAUiP,QAC9CrI,WAAW5G,UAAUiP,QAAQ7R,KAAKyC,KAAMqP,EAAKC,GAE/CC,EAAavP,MAAQqP,GAAOC,EAgBrC,MAAM,IAAI3M,WAAU,yCAItB4E,EAAOpH,UAAUmE,IAAM,SAAcpD,GAEnC,MADA7C,SAAQC,IAAI,6DACL0B,KAAKyP,UAAUvO,IAIxBqG,EAAOpH,UAAUuP,IAAM,SAAc5J,EAAG5E,GAEtC,MADA7C,SAAQC,IAAI,6DACL0B,KAAK2P,WAAW7J,EAAG5E,IAkD5BqG,EAAOpH,UAAUiI,MAAQ,SAAgBH,EAAQ/G,EAAQ1D,EAAQ0K,GAE/D,GAAe9D,SAAXlD,EACFgH,EAAW,OACX1K,EAASwC,KAAKxC,OACd0D,EAAS,MAEJ,IAAekD,SAAX5G,GAA0C,gBAAX0D,GACxCgH,EAAWhH,EACX1D,EAASwC,KAAKxC,OACd0D,EAAS,MAEJ,IAAI0O,SAAS1O,GAClBA,EAAkB,EAATA,EACL0O,SAASpS,IACXA,EAAkB,EAATA,EACQ4G,SAAb8D,IAAwBA,EAAW,UAEvCA,EAAW1K,EACXA,EAAS4G,YAGN,CACL,GAAIyL,GAAO3H,CACXA,GAAWhH,EACXA,EAAkB,EAAT1D,EACTA,EAASqS,EAGX,GAAIjF,GAAY5K,KAAKxC,OAAS0D,CAG9B,KAFekD,SAAX5G,GAAwBA,EAASoN,KAAWpN,EAASoN,GAEpD3C,EAAOzK,OAAS,IAAe,EAATA,GAAuB,EAAT0D,IAAgBA,EAASlB,KAAKxC,OACrE,KAAM,IAAI+L,YAAW,yCAGlBrB,KAAUA,EAAW,OAG1B,KADA,GAAI0B,IAAc,IAEhB,OAAQ1B,GACN,IAAK,MACH,MAAOwC,GAAS1K,KAAMiI,EAAQ/G,EAAQ1D,EAExC,KAAK,OACL,IAAK,QACH,MAAO0N,GAAUlL,KAAMiI,EAAQ/G,EAAQ1D,EAEzC,KAAK,QACH,MAAO4N,GAAWpL,KAAMiI,EAAQ/G,EAAQ1D,EAE1C,KAAK,SACH,MAAO8N,GAAYtL,KAAMiI,EAAQ/G,EAAQ1D,EAE3C,KAAK,SAEH,MAAO+N,GAAYvL,KAAMiI,EAAQ/G,EAAQ1D,EAE3C,KAAK,OACL,IAAK,QACL,IAAK,UACL,IAAK,WACH,MAAOgO,GAAUxL,KAAMiI,EAAQ/G,EAAQ1D,EAEzC,SACE,GAAIoM,EAAa,KAAM,IAAIjH,WAAU,qBAAuBuF,EAC5DA,IAAY,GAAKA,GAAU6B,cAC3BH,GAAc,IAKtBrC,EAAOpH,UAAU2P,OAAS,WACxB,OACE9G,KAAM,SACNC,KAAMjC,MAAM7G,UAAUwL,MAAMpO,KAAKyC,KAAK+P,MAAQ/P,KAAM,KAuExDuH,EAAOpH,UAAUwL,MAAQ,SAAgB1B,EAAOC,GAC9C,GAAI9D,GAAMpG,KAAKxC,MACfyM,KAAUA,EACVC,EAAc9F,SAAR8F,EAAoB9D,IAAQ8D,EAEtB,EAARD,GACFA,GAAS7D,EACG,EAAR6D,IAAWA,EAAQ,IACdA,EAAQ7D,IACjB6D,EAAQ7D,GAGA,EAAN8D,GACFA,GAAO9D,EACG,EAAN8D,IAASA,EAAM,IACVA,EAAM9D,IACf8D,EAAM9D,GAGE6D,EAANC,IAAaA,EAAMD,EAEvB,IAAI+F,EACJ,IAAIzI,EAAOC,oBACTwI,EAASzI,EAAO2B,SAASlJ,KAAKqO,SAASpE,EAAOC,QACzC,CACL,GAAI+F,GAAW/F,EAAMD,CACrB+F,GAAS,GAAIzI,GAAO0I,EAAU7L,OAC9B,KAAK,GAAInH,GAAI,EAAOgT,EAAJhT,EAAcA,IAC5B+S,EAAO/S,GAAK+C,KAAK/C,EAAIgN,GAMzB,MAFI+F,GAAOxS,SAAQwS,EAAO9L,OAASlE,KAAKkE,QAAUlE,MAE3CgQ,GAWTzI,EAAOpH,UAAU+P,WAAa,SAAqBhP,EAAQiH,EAAY4E,GACrE7L,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GAAUT,EAAYpL,EAAQiH,EAAYnI,KAAKxC,OAKpD,KAHA,GAAI6R,GAAMrP,KAAKkB,GACXiP,EAAM,EACNlT,EAAI,IACCA,EAAIkL,IAAegI,GAAO,MACjCd,GAAOrP,KAAKkB,EAASjE,GAAKkT,CAG5B,OAAOd,IAGT9H,EAAOpH,UAAUiQ,WAAa,SAAqBlP,EAAQiH,EAAY4E,GACrE7L,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GACHT,EAAYpL,EAAQiH,EAAYnI,KAAKxC,OAKvC,KAFA,GAAI6R,GAAMrP,KAAKkB,IAAWiH,GACtBgI,EAAM,EACHhI,EAAa,IAAMgI,GAAO,MAC/Bd,GAAOrP,KAAKkB,IAAWiH,GAAcgI,CAGvC,OAAOd,IAGT9H,EAAOpH,UAAUsP,UAAY,SAAoBvO,EAAQ6L,GAEvD,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwC,KAAKkB,IAGdqG,EAAOpH,UAAUkQ,aAAe,SAAuBnP,EAAQ6L,GAE7D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwC,KAAKkB,GAAWlB,KAAKkB,EAAS,IAAM,GAG7CqG,EAAOpH,UAAUmQ,aAAe,SAAuBpP,EAAQ6L,GAE7D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACnCwC,KAAKkB,IAAW,EAAKlB,KAAKkB,EAAS,IAG7CqG,EAAOpH,UAAUoQ,aAAe,SAAuBrP,EAAQ6L,GAG7D,MAFKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,SAElCwC,KAAKkB,GACTlB,KAAKkB,EAAS,IAAM,EACpBlB,KAAKkB,EAAS,IAAM,IACD,SAAnBlB,KAAKkB,EAAS,IAGrBqG,EAAOpH,UAAUqQ,aAAe,SAAuBtP,EAAQ6L,GAG7D,MAFKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QAEpB,SAAfwC,KAAKkB,IACTlB,KAAKkB,EAAS,IAAM,GACrBlB,KAAKkB,EAAS,IAAM,EACrBlB,KAAKkB,EAAS,KAGlBqG,EAAOpH,UAAUsQ,UAAY,SAAoBvP,EAAQiH,EAAY4E,GACnE7L,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GAAUT,EAAYpL,EAAQiH,EAAYnI,KAAKxC,OAKpD,KAHA,GAAI6R,GAAMrP,KAAKkB,GACXiP,EAAM,EACNlT,EAAI,IACCA,EAAIkL,IAAegI,GAAO,MACjCd,GAAOrP,KAAKkB,EAASjE,GAAKkT,CAM5B,OAJAA,IAAO,IAEHd,GAAOc,IAAKd,GAAOxD,KAAK6E,IAAI,EAAG,EAAIvI,IAEhCkH,GAGT9H,EAAOpH,UAAUwQ,UAAY,SAAoBzP,EAAQiH,EAAY4E,GACnE7L,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GAAUT,EAAYpL,EAAQiH,EAAYnI,KAAKxC,OAKpD,KAHA,GAAIP,GAAIkL,EACJgI,EAAM,EACNd,EAAMrP,KAAKkB,IAAWjE,GACnBA,EAAI,IAAMkT,GAAO,MACtBd,GAAOrP,KAAKkB,IAAWjE,GAAKkT,CAM9B,OAJAA,IAAO,IAEHd,GAAOc,IAAKd,GAAOxD,KAAK6E,IAAI,EAAG,EAAIvI,IAEhCkH,GAGT9H,EAAOpH,UAAUyQ,SAAW,SAAmB1P,EAAQ6L,GAErD,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACtB,IAAfwC,KAAKkB,GACyB,IAA3B,IAAOlB,KAAKkB,GAAU,GADKlB,KAAKkB,IAI3CqG,EAAOpH,UAAU0Q,YAAc,SAAsB3P,EAAQ6L,GACtDA,GAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,OAC3C,IAAI6R,GAAMrP,KAAKkB,GAAWlB,KAAKkB,EAAS,IAAM,CAC9C,OAAc,OAANmO,EAAsB,WAANA,EAAmBA,GAG7C9H,EAAOpH,UAAU2Q,YAAc,SAAsB5P,EAAQ6L,GACtDA,GAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,OAC3C,IAAI6R,GAAMrP,KAAKkB,EAAS,GAAMlB,KAAKkB,IAAW,CAC9C,OAAc,OAANmO,EAAsB,WAANA,EAAmBA,GAG7C9H,EAAOpH,UAAU4Q,YAAc,SAAsB7P,EAAQ6L,GAG3D,MAFKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QAEnCwC,KAAKkB,GACVlB,KAAKkB,EAAS,IAAM,EACpBlB,KAAKkB,EAAS,IAAM,GACpBlB,KAAKkB,EAAS,IAAM,IAGzBqG,EAAOpH,UAAU6Q,YAAc,SAAsB9P,EAAQ6L,GAG3D,MAFKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QAEnCwC,KAAKkB,IAAW,GACrBlB,KAAKkB,EAAS,IAAM,GACpBlB,KAAKkB,EAAS,IAAM,EACpBlB,KAAKkB,EAAS,IAGnBqG,EAAOpH,UAAU8Q,YAAc,SAAsB/P,EAAQ6L,GAE3D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwP,EAAQkE,KAAKlR,KAAMkB,GAAQ,EAAM,GAAI,IAG9CqG,EAAOpH,UAAUgR,YAAc,SAAsBjQ,EAAQ6L,GAE3D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwP,EAAQkE,KAAKlR,KAAMkB,GAAQ,EAAO,GAAI,IAG/CqG,EAAOpH,UAAUiR,aAAe,SAAuBlQ,EAAQ6L,GAE7D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwP,EAAQkE,KAAKlR,KAAMkB,GAAQ,EAAM,GAAI,IAG9CqG,EAAOpH,UAAUkR,aAAe,SAAuBnQ,EAAQ6L,GAE7D,MADKA,IAAUT,EAAYpL,EAAQ,EAAGlB,KAAKxC,QACpCwP,EAAQkE,KAAKlR,KAAMkB,GAAQ,EAAO,GAAI,IAS/CqG,EAAOpH,UAAUmR,YAAc,SAAsBxQ,EAAOI,EAAQiH,EAAY4E,GAC9EjM,GAASA,EACTI,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GAAUP,EAASxM,KAAMc,EAAOI,EAAQiH,EAAY0D,KAAK6E,IAAI,EAAG,EAAIvI,GAAa,EAEtF,IAAIgI,GAAM,EACNlT,EAAI,CAER,KADA+C,KAAKkB,GAAkB,IAARJ,IACN7D,EAAIkL,IAAegI,GAAO,MACjCnQ,KAAKkB,EAASjE,GAAM6D,EAAQqP,EAAO,GAGrC,OAAOjP,GAASiH,GAGlBZ,EAAOpH,UAAUoR,YAAc,SAAsBzQ,EAAOI,EAAQiH,EAAY4E,GAC9EjM,GAASA,EACTI,EAAkB,EAATA,EACTiH,EAA0B,EAAbA,EACR4E,GAAUP,EAASxM,KAAMc,EAAOI,EAAQiH,EAAY0D,KAAK6E,IAAI,EAAG,EAAIvI,GAAa,EAEtF,IAAIlL,GAAIkL,EAAa,EACjBgI,EAAM,CAEV,KADAnQ,KAAKkB,EAASjE,GAAa,IAAR6D,IACV7D,GAAK,IAAMkT,GAAO,MACzBnQ,KAAKkB,EAASjE,GAAM6D,EAAQqP,EAAO,GAGrC,OAAOjP,GAASiH,GAGlBZ,EAAOpH,UAAUwP,WAAa,SAAqB7O,EAAOI,EAAQ6L,GAMhE,MALAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,IAAM,GACjDqG,EAAOC,sBAAqB1G,EAAQ+K,KAAK2F,MAAM1Q,IACpDd,KAAKkB,GAAUJ,EACRI,EAAS,GAWlBqG,EAAOpH,UAAUsR,cAAgB,SAAwB3Q,EAAOI,EAAQ6L,GAUtE,MATAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,MAAQ,GACpDqG,EAAOC,qBACTxH,KAAKkB,GAAUJ,EACfd,KAAKkB,EAAS,GAAMJ,IAAU,GAE9B4L,EAAkB1M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAUuR,cAAgB,SAAwB5Q,EAAOI,EAAQ6L,GAUtE,MATAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,MAAQ,GACpDqG,EAAOC,qBACTxH,KAAKkB,GAAWJ,IAAU,EAC1Bd,KAAKkB,EAAS,GAAKJ,GAEnB4L,EAAkB1M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAUlBqG,EAAOpH,UAAUwR,cAAgB,SAAwB7Q,EAAOI,EAAQ6L,GAYtE,MAXAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,WAAY,GACxDqG,EAAOC,qBACTxH,KAAKkB,EAAS,GAAMJ,IAAU,GAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,GAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,EAC9Bd,KAAKkB,GAAUJ,GAEf8L,EAAkB5M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAUyR,cAAgB,SAAwB9Q,EAAOI,EAAQ6L,GAYtE,MAXAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,WAAY,GACxDqG,EAAOC,qBACTxH,KAAKkB,GAAWJ,IAAU,GAC1Bd,KAAKkB,EAAS,GAAMJ,IAAU,GAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,EAC9Bd,KAAKkB,EAAS,GAAKJ,GAEnB8L,EAAkB5M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAU0R,WAAa,SAAqB/Q,EAAOI,EAAQiH,EAAY4E,GAG5E,GAFAjM,GAASA,EACTI,EAAkB,EAATA,GACJ6L,EAAU,CACb,GAAI+E,GAAQjG,KAAK6E,IAAI,EAAG,EAAIvI,EAAa,EAEzCqE,GAASxM,KAAMc,EAAOI,EAAQiH,EAAY2J,EAAQ,GAAIA,GAGxD,GAAI7U,GAAI,EACJkT,EAAM,EACN4B,EAAc,EAARjR,EAAY,EAAI,CAE1B,KADAd,KAAKkB,GAAkB,IAARJ,IACN7D,EAAIkL,IAAegI,GAAO,MACjCnQ,KAAKkB,EAASjE,IAAO6D,EAAQqP,GAAQ,GAAK4B,EAAM,GAGlD,OAAO7Q,GAASiH,GAGlBZ,EAAOpH,UAAU6R,WAAa,SAAqBlR,EAAOI,EAAQiH,EAAY4E,GAG5E,GAFAjM,GAASA,EACTI,EAAkB,EAATA,GACJ6L,EAAU,CACb,GAAI+E,GAAQjG,KAAK6E,IAAI,EAAG,EAAIvI,EAAa,EAEzCqE,GAASxM,KAAMc,EAAOI,EAAQiH,EAAY2J,EAAQ,GAAIA,GAGxD,GAAI7U,GAAIkL,EAAa,EACjBgI,EAAM,EACN4B,EAAc,EAARjR,EAAY,EAAI,CAE1B,KADAd,KAAKkB,EAASjE,GAAa,IAAR6D,IACV7D,GAAK,IAAMkT,GAAO,MACzBnQ,KAAKkB,EAASjE,IAAO6D,EAAQqP,GAAQ,GAAK4B,EAAM,GAGlD,OAAO7Q,GAASiH,GAGlBZ,EAAOpH,UAAU8R,UAAY,SAAoBnR,EAAOI,EAAQ6L,GAO9D,MANAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,IAAM,MACjDqG,EAAOC,sBAAqB1G,EAAQ+K,KAAK2F,MAAM1Q,IACxC,EAARA,IAAWA,EAAQ,IAAOA,EAAQ,GACtCd,KAAKkB,GAAUJ,EACRI,EAAS,GAGlBqG,EAAOpH,UAAU+R,aAAe,SAAuBpR,EAAOI,EAAQ6L,GAUpE,MATAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,MAAQ,QACpDqG,EAAOC,qBACTxH,KAAKkB,GAAUJ,EACfd,KAAKkB,EAAS,GAAMJ,IAAU,GAE9B4L,EAAkB1M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAUgS,aAAe,SAAuBrR,EAAOI,EAAQ6L,GAUpE,MATAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,MAAQ,QACpDqG,EAAOC,qBACTxH,KAAKkB,GAAWJ,IAAU,EAC1Bd,KAAKkB,EAAS,GAAKJ,GAEnB4L,EAAkB1M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAUiS,aAAe,SAAuBtR,EAAOI,EAAQ6L,GAYpE,MAXAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,WAAY,aACxDqG,EAAOC,qBACTxH,KAAKkB,GAAUJ,EACfd,KAAKkB,EAAS,GAAMJ,IAAU,EAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,GAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,IAE9B8L,EAAkB5M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAGlBqG,EAAOpH,UAAUkS,aAAe,SAAuBvR,EAAOI,EAAQ6L,GAapE,MAZAjM,IAASA,EACTI,EAAkB,EAATA,EACJ6L,GAAUP,EAASxM,KAAMc,EAAOI,EAAQ,EAAG,WAAY,aAChD,EAARJ,IAAWA,EAAQ,WAAaA,EAAQ,GACxCyG,EAAOC,qBACTxH,KAAKkB,GAAWJ,IAAU,GAC1Bd,KAAKkB,EAAS,GAAMJ,IAAU,GAC9Bd,KAAKkB,EAAS,GAAMJ,IAAU,EAC9Bd,KAAKkB,EAAS,GAAKJ,GAEnB8L,EAAkB5M,KAAMc,EAAOI,GAAQ,GAElCA,EAAS,GAiBlBqG,EAAOpH,UAAUmS,aAAe,SAAuBxR,EAAOI,EAAQ6L,GACpE,MAAOD,GAAW9M,KAAMc,EAAOI,GAAQ,EAAM6L,IAG/CxF,EAAOpH,UAAUoS,aAAe,SAAuBzR,EAAOI,EAAQ6L,GACpE,MAAOD,GAAW9M,KAAMc,EAAOI,GAAQ,EAAO6L,IAWhDxF,EAAOpH,UAAUqS,cAAgB,SAAwB1R,EAAOI,EAAQ6L,GACtE,MAAOE,GAAYjN,KAAMc,EAAOI,GAAQ,EAAM6L,IAGhDxF,EAAOpH,UAAUsS,cAAgB,SAAwB3R,EAAOI,EAAQ6L,GACtE,MAAOE,GAAYjN,KAAMc,EAAOI,GAAQ,EAAO6L,IAIjDxF,EAAOpH,UAAU2I,KAAO,SAAe/F,EAAQ2P,EAAazI,EAAOC,GAQjE,GAPKD,IAAOA,EAAQ,GACfC,GAAe,IAARA,IAAWA,EAAMlK,KAAKxC,QAC9BkV,GAAe3P,EAAOvF,SAAQkV,EAAc3P,EAAOvF,QAClDkV,IAAaA,EAAc,GAC5BxI,EAAM,GAAWD,EAANC,IAAaA,EAAMD,GAG9BC,IAAQD,EAAO,MAAO,EAC1B,IAAsB,IAAlBlH,EAAOvF,QAAgC,IAAhBwC,KAAKxC,OAAc,MAAO,EAGrD,IAAkB,EAAdkV,EACF,KAAM,IAAInJ,YAAW,4BAEvB,IAAY,EAARU,GAAaA,GAASjK,KAAKxC,OAAQ,KAAM,IAAI+L,YAAW,4BAC5D,IAAU,EAANW,EAAS,KAAM,IAAIX,YAAW,0BAG9BW,GAAMlK,KAAKxC,SAAQ0M,EAAMlK,KAAKxC,QAC9BuF,EAAOvF,OAASkV,EAAcxI,EAAMD,IACtCC,EAAMnH,EAAOvF,OAASkV,EAAczI,EAGtC,IAAI7D,GAAM8D,EAAMD,CAEhB,IAAU,IAAN7D,IAAemB,EAAOC,oBACxB,IAAK,GAAIvK,GAAI,EAAOmJ,EAAJnJ,EAASA,IACvB8F,EAAO9F,EAAIyV,GAAe1S,KAAK/C,EAAIgN,OAGrClH,GAAO4P,KAAK3S,KAAKqO,SAASpE,EAAOA,EAAQ7D,GAAMsM,EAGjD,OAAOtM,IAITmB,EAAOpH,UAAUyS,KAAO,SAAe9R,EAAOmJ,EAAOC,GAKnD,GAJKpJ,IAAOA,EAAQ,GACfmJ,IAAOA,EAAQ,GACfC,IAAKA,EAAMlK,KAAKxC,QAEXyM,EAANC,EAAa,KAAM,IAAIX,YAAW,cAGtC,IAAIW,IAAQD,GACQ,IAAhBjK,KAAKxC,OAAT,CAEA,GAAY,EAARyM,GAAaA,GAASjK,KAAKxC,OAAQ,KAAM,IAAI+L,YAAW,sBAC5D,IAAU,EAANW,GAAWA,EAAMlK,KAAKxC,OAAQ,KAAM,IAAI+L,YAAW,oBAEvD,IAAItM,EACJ,IAAqB,gBAAV6D,GACT,IAAK7D,EAAIgN,EAAWC,EAAJjN,EAASA,IACvB+C,KAAK/C,GAAK6D,MAEP,CACL,GAAIuL,GAAQxC,EAAY/I,EAAM0I,YAC1BpD,EAAMiG,EAAM7O,MAChB,KAAKP,EAAIgN,EAAWC,EAAJjN,EAASA,IACvB+C,KAAK/C,GAAKoP,EAAMpP,EAAImJ,GAIxB,MAAOpG,QAOTuH,EAAOpH,UAAU0S,cAAgB,WAC/B,GAA0B,mBAAf9L,YAA4B,CACrC,GAAIQ,EAAOC,oBACT,MAAO,IAAKD,GAAOvH,MAAO0I,MAG1B,KAAK,GADDiB,GAAM,GAAI5C,YAAW/G,KAAKxC,QACrBP,EAAI,EAAGmJ,EAAMuD,EAAInM,OAAY4I,EAAJnJ,EAASA,GAAK,EAC9C0M,EAAI1M,GAAK+C,KAAK/C,EAEhB,OAAO0M,GAAIjB,OAGb,KAAM,IAAI/F,WAAU,sDAOxB,IAAImQ,GAAKvL,EAAOpH,SAKhBoH,GAAO2B,SAAW,SAAmBnD,GA4DnC,MA3DAA,GAAInB,YAAc2C,EAClBxB,EAAIoD,WAAY,EAGhBpD,EAAI4M,KAAO5M,EAAI2J,IAGf3J,EAAIzB,IAAMwO,EAAGxO,IACbyB,EAAI2J,IAAMoD,EAAGpD,IAEb3J,EAAIqC,MAAQ0K,EAAG1K,MACfrC,EAAIyD,SAAWsJ,EAAGtJ,SAClBzD,EAAIgN,eAAiBD,EAAGtJ,SACxBzD,EAAI+J,OAASgD,EAAGhD,OAChB/J,EAAIiJ,OAAS8D,EAAG9D,OAChBjJ,EAAIwI,QAAUuE,EAAGvE,QACjBxI,EAAIqJ,QAAU0D,EAAG1D,QACjBrJ,EAAI+C,KAAOgK,EAAGhK,KACd/C,EAAI4F,MAAQmH,EAAGnH,MACf5F,EAAImK,WAAa4C,EAAG5C,WACpBnK,EAAIqK,WAAa0C,EAAG1C,WACpBrK,EAAI0J,UAAYqD,EAAGrD,UACnB1J,EAAIsK,aAAeyC,EAAGzC,aACtBtK,EAAIuK,aAAewC,EAAGxC,aACtBvK,EAAIwK,aAAeuC,EAAGvC,aACtBxK,EAAIyK,aAAesC,EAAGtC,aACtBzK,EAAI0K,UAAYqC,EAAGrC,UACnB1K,EAAI4K,UAAYmC,EAAGnC,UACnB5K,EAAI6K,SAAWkC,EAAGlC,SAClB7K,EAAI8K,YAAciC,EAAGjC,YACrB9K,EAAI+K,YAAcgC,EAAGhC,YACrB/K,EAAIgL,YAAc+B,EAAG/B,YACrBhL,EAAIiL,YAAc8B,EAAG9B,YACrBjL,EAAIkL,YAAc6B,EAAG7B,YACrBlL,EAAIoL,YAAc2B,EAAG3B,YACrBpL,EAAIqL,aAAe0B,EAAG1B,aACtBrL,EAAIsL,aAAeyB,EAAGzB,aACtBtL,EAAI4J,WAAamD,EAAGnD,WACpB5J,EAAIuL,YAAcwB,EAAGxB,YACrBvL,EAAIwL,YAAcuB,EAAGvB,YACrBxL,EAAI0L,cAAgBqB,EAAGrB,cACvB1L,EAAI2L,cAAgBoB,EAAGpB,cACvB3L,EAAI4L,cAAgBmB,EAAGnB,cACvB5L,EAAI6L,cAAgBkB,EAAGlB,cACvB7L,EAAI8L,WAAaiB,EAAGjB,WACpB9L,EAAIiM,WAAac,EAAGd,WACpBjM,EAAIkM,UAAYa,EAAGb,UACnBlM,EAAImM,aAAeY,EAAGZ,aACtBnM,EAAIoM,aAAeW,EAAGX,aACtBpM,EAAIqM,aAAeU,EAAGV,aACtBrM,EAAIsM,aAAeS,EAAGT,aACtBtM,EAAIuM,aAAeQ,EAAGR,aACtBvM,EAAIwM,aAAeO,EAAGP,aACtBxM,EAAIyM,cAAgBM,EAAGN,cACvBzM,EAAI0M,cAAgBK,EAAGL,cACvB1M,EAAI6M,KAAOE,EAAGF,KACd7M,EAAIkJ,QAAU6D,EAAG7D,QACjBlJ,EAAI8M,cAAgBC,EAAGD,cAEhB9M,EAGT,IAAIuH,GAAoB,oBAsJrB0F,YAAY,GAAGhG,QAAU,GAAGiG,WAAW,KAAKC,IAAI,SAASlW,EAAQU,EAAOJ,GAC3EN,EAAQ,mCACRU,EAAOJ,QAAUN,EAAQ,mBAAmBmW,KAAKlT,OAAOmT,SACrDC,kBAAkB,GAAGC,kCAAkC,KAAKC,IAAI,SAASvW,EAAQU,EAAOJ,GAC3F,GAAIkW,GAAIxW,EAAQ,kBAChBU,GAAOJ,QAAU,SAAgBmW,EAAGC,GAClC,MAAOF,GAAEG,OAAOF,EAAGC,MAElBL,kBAAkB,KAAKO,IAAI,SAAS5W,EAAQU,EAAOJ,GACtD,GAAIkW,GAAIxW,EAAQ,kBAChBU,GAAOJ,QAAU,SAAwBuW,EAAIhT,EAAKoD,GAChD,MAAOuP,GAAEM,QAAQD,EAAIhT,EAAKoD,MAEzBoP,kBAAkB,KAAKU,IAAI,SAAS/W,EAAQU,EAAOJ,GACtD,GAAIkW,GAAIxW,EAAQ,kBAChBA,GAAQ,sDACRU,EAAOJ,QAAU,SAAkCuW,EAAIhT,GACrD,MAAO2S,GAAEQ,QAAQH,EAAIhT,MAEpBwS,kBAAkB,GAAGY,qDAAqD,KAAKC,IAAI,SAASlX,EAAQU,EAAOJ,GAC9G,GAAIkW,GAAWxW,EAAQ,OACnBmX,EAAWnX,EAAQ,gBAGvBU,GAAOJ,QAAU2C,OAAOmT,QAAU,SAAgBrQ,EAAQqR,GAKxD,IAHA,GAAIC,GAAIpU,OAAOuT,EAAEc,cAAcvR,IAC3B1F,EAAIuK,UAAUpK,OACdP,EAAI,EACFI,EAAIJ,GAMR,IALA,GAII4D,GAJA0T,EAASf,EAAEgB,UAAU5M,UAAU3K,MAC/BwX,EAASN,EAASI,GAClB/W,EAASiX,EAAKjX,OACdyI,EAAS,EAEPzI,EAASyI,GAAEoO,EAAExT,EAAM4T,EAAKxO,MAAQsO,EAAE1T,EAE1C,OAAOwT,MAENK,MAAM,GAAGC,gBAAgB,KAAKC,IAAI,SAAS5X,EAAQU,EAAOJ,GAK7D,QAASuX,GAAIC,EAAIhN,GACf,MAAO,YACL,MAAOgN,GAAG/F,MAAMjH,EAAMF,YAU1B,QAASmN,GAAK/L,EAAMgM,EAAMZ,GACxB,GAAIvT,GAAKoU,EAAK9I,EAAK+I,EACfC,EAAWnM,EAAO+L,EAAKK,EACvBC,EAAWrM,EAAO+L,EAAKtB,EACvB1Q,EAAWoS,EAAWG,EAAStM,EAAO+L,EAAKR,EACvCe,EAAON,IAASM,EAAON,QAAa7U,UACxC7C,EAAW6X,EAAWhC,EAAOA,EAAK6B,KAAU7B,EAAK6B,MAClDG,KAASf,EAASY,EACrB,KAAInU,IAAOuT,GAETa,IAAQjM,EAAO+L,EAAKQ,IAAMxS,GAAUlC,IAAOkC,GACxCkS,GAAOpU,IAAOvD,KAEjB6O,EAAM8I,EAAMlS,EAAOlC,GAAOuT,EAAOvT,GAE9BsU,IAAaK,EAAWzS,EAAOlC,IAAMqU,EAAMd,EAAOvT,GAE7CmI,EAAO+L,EAAKU,GAAKR,EAAIC,EAAML,EAAI1I,EAAKmJ,GAEpCtM,EAAO+L,EAAKW,GAAK3S,EAAOlC,IAAQsL,GAAK,SAASwJ,GACpDT,EAAM,SAASU,GACb,MAAO5V,gBAAgB2V,GAAI,GAAIA,GAAEC,GAASD,EAAEC,IAE9CV,EAAI/U,UAAYwV,EAAExV,WAClBgM,GACG+I,EAAMG,GAAWG,EAAWrJ,GAAO0I,EAAIxQ,SAAS9G,KAAM4O,GAAOA,EAElE7O,EAAQuD,GAAOqU,EACZG,KAAS/X,EAAQ6C,YAAc7C,EAAQ6C,eAAiBU,GAAOsL,IA5CtE,GAAIqH,GAAaxW,EAAQ,OACrBsY,EAAa9B,EAAEqC,EACf1C,EAAaK,EAAEL,KACfqC,EAAahC,EAAEgC,UAOnBT,GAAKQ,EAAI,EACTR,EAAKK,EAAI,EACTL,EAAKR,EAAI,EACTQ,EAAKtB,EAAI,EACTsB,EAAKU,EAAI,GACTV,EAAKW,EAAI,GAgCThY,EAAOJ,QAAUyX,IACdL,MAAM,KAAKoB,IAAI,SAAS9Y,EAAQU,EAAOJ,GAC1C,GAAIkW,GAAIxW,EAAQ,MAChBU,GAAOJ,QAAU,SAASuW,GACxB,GAAIY,GAAajB,EAAEuC,QAAQlC,GACvBG,EAAaR,EAAEQ,QACfgC,EAAaxC,EAAEwC,UAInB,OAHGA,IAAWxC,EAAEyC,KAAK1Y,KAAKyY,EAAWnC,GAAK,SAAShT,GAC9CmT,EAAQH,EAAIhT,GAAKqC,YAAWuR,EAAK5O,KAAKhF,KAEpC4T,KAENC,MAAM,KAAKwB,IAAI,SAASlZ,EAAQU,EAAOJ,GAC1CI,EAAOJ,QAAU,SAASkW,GAGxB,MAFAA,GAAE2C,IAAO,EACT3C,EAAE4C,KAAO5C,EAAEL,KACJK,QAEH6C,IAAI,SAASrZ,EAAQU,EAAOJ,GASlC,QAASgZ,GAAezC,GACtB,IACE,MAAO0C,GAAS1C,GAChB,MAAMrX,GACN,MAAOga,GAAY7K,SAXvB,GAAI6H,GAAIxW,EAAQ,OACZwM,KAAcA,SACd+M,EAAW/C,EAAE+C,SAEbC,EAA+B,gBAAVpX,SAAsBa,OAAOwW,oBAClDxW,OAAOwW,oBAAoBrX,UAU/B1B,GAAOJ,QAAQgH,IAAM,SAA6BuP,GAChD,MAAG2C,IAAoC,mBAArBhN,EAASjM,KAAKsW,GAAgCyC,EAAezC,GACxE0C,EAAS/C,EAAEkD,SAAS7C,OAE1Ba,MAAM,KAAKiC,IAAI,SAAS3Z,EAAQU,EAAOJ,GAC1C,YAiBA,SAASsZ,GAAU/C,GACjB,MAAO5I,OAAM4I,GAAMA,GAAM,GAAKA,EAAK,EAAIrC,EAAQqF,GAAMhD,GAEvD,QAAS5P,GAAK6S,EAAQhW,GACpB,OACEoC,aAAyB,EAAT4T,GAChB3T,eAAyB,EAAT2T,GAChB1T,WAAyB,EAAT0T,GAChBhW,MAAcA,GAGlB,QAASiW,GAAUjT,EAAQjD,EAAKC,GAE9B,MADAgD,GAAOjD,GAAOC,EACPgD,EAET,QAASkT,GAAcF,GACrB,MAAOG,GAAO,SAASnT,EAAQjD,EAAKC,GAClC,MAAO0S,GAAEM,QAAQhQ,EAAQjD,EAAKoD,EAAK6S,EAAQhW,KACzCiW,EAGN,QAASG,GAASrD,GAChB,MAAc,QAAPA,IAA6B,gBAANA,IAA+B,kBAANA,IAEzD,QAAS2B,GAAW3B,GAClB,MAAoB,kBAANA,GAEhB,QAASS,GAAcT,GACrB,GAASzP,QAANyP,EAAgB,KAAMlR,WAAU,yBAA2BkR,EAC9D,OAAOA,GA7CT,GAAIyB,GAAwB,mBAAR6B,MAAsBA,KAAO9S,SAAS,iBACtD8O,KACAiE,EAAiBnX,OAAOmX,eACxBC,KAAoBA,eACpBR,EAAQhL,KAAKgL,KACbrF,EAAQ3F,KAAK2F,MACb/E,EAAQZ,KAAKY,IACbX,EAAQD,KAAKC,IAEbmL,IAAS,WACX,IACE,MAAoE,IAA7DG,KAAmB,KAAM9S,IAAK,WAAY,MAAO,MAAOvH,EAC/D,MAAMP,QAEN8a,EAAON,EAAc,GAkCrBxD,EAAI9V,EAAOJ,QAAUN,EAAQ,WAC/B6Y,EAAGP,EACHnC,KAAMA,EACNoE,KAAMjC,EAAO5W,UAAYA,SAAS8Y,gBAElCN,SAAYA,EACZ1B,WAAYA,EACZ1N,KAAM,WACJ,MAAO9H,OAGT4W,UAAWA,EAEXa,SAAU,SAAS5D,GACjB,MAAOA,GAAK,EAAI/H,EAAI8K,EAAU/C,GAAK,kBAAoB,GAEzD6D,QAAS,SAASC,EAAOna,GAEvB,MADAma,GAAQf,EAAUe,GACH,EAARA,EAAYlL,EAAIkL,EAAQna,EAAQ,GAAKsO,EAAI6L,EAAOna,IAEzDoa,IAAK,SAAS/D,EAAIhT,GAChB,MAAOwW,GAAe9Z,KAAKsW,EAAIhT,IAEjC8S,OAAY1T,OAAO0T,OACnBkE,SAAY5X,OAAOC,eACnB+W,KAAYA,EACZhT,KAAYA,EACZ+P,QAAY/T,OAAO6X,yBACnBhE,QAAYsD,EACZW,SAAY9X,OAAO6C,iBACnBiT,QAAY9V,OAAOwU,KACnB8B,SAAYtW,OAAOwW,oBACnBT,WAAY/V,OAAO+X,sBACnB1D,cAAeA,EAEfE,UAAWvU,OACXyW,SAAU,SAAS7C,GACjB,MAAOL,GAAEgB,UAAUF,EAAcT,KAEnCyD,KAAMA,EACNW,IAAKjB,EAAc,GACnBtH,IAAK4F,EAAO4C,OAASnB,EAAYO,EACjCrB,QAASkC,SAGM,oBAAPC,OAAmBA,IAAMjF,GAClB,mBAAPkF,OAAmBA,IAAM/C,KAChCgD,SAAS,KAAKC,IAAI,SAASvb,EAAQU,EAAOJ,GAE7C,GAAIyX,GAAO/X,EAAQ,UACnB+X,GAAKA,EAAKR,EAAG,UAAWnB,OAAQpW,EAAQ,kBACrCwb,aAAa,GAAGC,UAAU,KAAKC,IAAI,SAAS1b,EAAQU,EAAOJ,GAC9D,GAAIkW,GAAWxW,EAAQ,OACnB+X,EAAW/X,EAAQ,WACnBka,EAAW1D,EAAE0D,SACbR,EAAWlD,EAAEkD,QACjBlD,GAAEyC,KAAK1Y,KAAK,gIAC0Dob,MAAM,KAC1E,SAASC,EAAKC,GACd,GAAI/D,IAAUtB,EAAEL,KAAKlT,YAAc2Y,IAAQ3Y,OAAO2Y,GAC9CE,EAAS,EACTC,IACJA,GAAOH,GAAa,GAANC,EAAU,SAAgBhF,GACtC,MAAOqD,GAASrD,GAAMiB,EAAGjB,GAAMA,GACvB,GAANgF,EAAU,SAAchF,GAC1B,MAAOqD,GAASrD,GAAMiB,EAAGjB,GAAMA,GACvB,GAANgF,EAAU,SAA2BhF,GACvC,MAAOqD,GAASrD,GAAMiB,EAAGjB,GAAMA,GACvB,GAANgF,EAAU,SAAkBhF,GAC9B,MAAOqD,GAASrD,GAAMiB,EAAGjB,IAAM,GACvB,GAANgF,EAAU,SAAkBhF,GAC9B,MAAOqD,GAASrD,GAAMiB,EAAGjB,IAAM,GACvB,GAANgF,EAAU,SAAsBhF,GAClC,MAAOqD,GAASrD,GAAMiB,EAAGjB,IAAM,GACvB,GAANgF,EAAU,SAAkChF,EAAIhT,GAClD,MAAOiU,GAAG4B,EAAS7C,GAAKhT,IAChB,GAANgY,EAAU,SAAwBhF,GACpC,MAAOiB,GAAG7U,OAAOuT,EAAEc,cAAcT,MACzB,GAANgF,EAAU,SAAchF,GAC1B,MAAOiB,GAAG4B,EAAS7C,KACjB7W,EAAQ,iBAAiBsH,GAC7B,KACEwQ,EAAG,KACH,MAAMtY,GACNsc,EAAS,EAEX/D,EAAKA,EAAKR,EAAIQ,EAAKQ,EAAIuD,EAAQ,SAAUC,OAExCrE,MAAM,GAAG+D,UAAU,GAAGO,gBAAgB,KAAKC,IAAI,SAASjc,EAAQU,EAAOJ,GAsB1E,QAASuC,KACPG,KAAKkZ,QAAUlZ,KAAKkZ,YACpBlZ,KAAKmZ,cAAgBnZ,KAAKmZ,eAAiB/U,OAuQ7C,QAASoR,GAAW/N,GAClB,MAAsB,kBAARA,GAGhB,QAAS2R,GAAS3R,GAChB,MAAsB,gBAARA,GAGhB,QAASyP,GAASzP,GAChB,MAAsB,gBAARA,IAA4B,OAARA,EAGpC,QAAS4R,GAAY5R,GACnB,MAAe,UAARA,EAlRT/J,EAAOJ,QAAUuC,EAGjBA,EAAaA,aAAeA,EAE5BA,EAAaM,UAAU+Y,QAAU9U,OACjCvE,EAAaM,UAAUgZ,cAAgB/U,OAIvCvE,EAAayZ,oBAAsB,GAInCzZ,EAAaM,UAAUoZ,gBAAkB,SAAS7c,GAChD,IAAK0c,EAAS1c,IAAU,EAAJA,GAASuO,MAAMvO,GACjC,KAAMiG,WAAU,8BAElB,OADA3C,MAAKmZ,cAAgBzc,EACdsD,MAGTH,EAAaM,UAAUiB,KAAO,SAAS4H,GACrC,GAAIwQ,GAAIC,EAASrT,EAAKsT,EAAMzc,EAAG0c,CAM/B,IAJK3Z,KAAKkZ,UACRlZ,KAAKkZ,YAGM,UAATlQ,KACGhJ,KAAKkZ,QAAQU,OACb1C,EAASlX,KAAKkZ,QAAQU,SAAW5Z,KAAKkZ,QAAQU,MAAMpc,QAAS,CAEhE,GADAgc,EAAK5R,UAAU,GACX4R,YAAcrc,OAChB,KAAMqc,EAER,MAAM7W,WAAU,wCAMpB,GAFA8W,EAAUzZ,KAAKkZ,QAAQlQ,GAEnBqQ,EAAYI,GACd,OAAO,CAET,IAAIjE,EAAWiE,GACb,OAAQ7R,UAAUpK,QAEhB,IAAK,GACHic,EAAQlc,KAAKyC,KACb,MACF,KAAK,GACHyZ,EAAQlc,KAAKyC,KAAM4H,UAAU,GAC7B,MACF,KAAK,GACH6R,EAAQlc,KAAKyC,KAAM4H,UAAU,GAAIA,UAAU,GAC3C,MAEF,SAGE,IAFAxB,EAAMwB,UAAUpK,OAChBkc,EAAO,GAAI1S,OAAMZ,EAAM,GAClBnJ,EAAI,EAAOmJ,EAAJnJ,EAASA,IACnByc,EAAKzc,EAAI,GAAK2K,UAAU3K,EAC1Bwc,GAAQ1K,MAAM/O,KAAM0Z,OAEnB,IAAIxC,EAASuC,GAAU,CAG5B,IAFArT,EAAMwB,UAAUpK,OAChBkc,EAAO,GAAI1S,OAAMZ,EAAM,GAClBnJ,EAAI,EAAOmJ,EAAJnJ,EAASA,IACnByc,EAAKzc,EAAI,GAAK2K,UAAU3K,EAI1B,KAFA0c,EAAYF,EAAQ9N,QACpBvF,EAAMuT,EAAUnc,OACXP,EAAI,EAAOmJ,EAAJnJ,EAASA,IACnB0c,EAAU1c,GAAG8R,MAAM/O,KAAM0Z,GAG7B,OAAO,GAGT7Z,EAAaM,UAAU0Z,YAAc,SAAS7Q,EAAM8Q,GAClD,GAAIC,EAEJ,KAAKvE,EAAWsE,GACd,KAAMnX,WAAU,8BAuBlB,IArBK3C,KAAKkZ,UACRlZ,KAAKkZ,YAIHlZ,KAAKkZ,QAAQc,aACfha,KAAKoB,KAAK,cAAe4H,EACfwM,EAAWsE,EAASA,UACpBA,EAASA,SAAWA,GAE3B9Z,KAAKkZ,QAAQlQ,GAGTkO,EAASlX,KAAKkZ,QAAQlQ,IAE7BhJ,KAAKkZ,QAAQlQ,GAAMnD,KAAKiU,GAGxB9Z,KAAKkZ,QAAQlQ,IAAShJ,KAAKkZ,QAAQlQ,GAAO8Q,GAN1C9Z,KAAKkZ,QAAQlQ,GAAQ8Q,EASnB5C,EAASlX,KAAKkZ,QAAQlQ,MAAWhJ,KAAKkZ,QAAQlQ,GAAMiR,OAAQ,CAC9D,GAAIF,EAIFA,GAHGV,EAAYrZ,KAAKmZ,eAGhBtZ,EAAayZ,oBAFbtZ,KAAKmZ,cAKPY,GAAKA,EAAI,GAAK/Z,KAAKkZ,QAAQlQ,GAAMxL,OAASuc,IAC5C/Z,KAAKkZ,QAAQlQ,GAAMiR,QAAS,EAC5B5b,QAAQub,MAAM,mIAGA5Z,KAAKkZ,QAAQlQ,GAAMxL,QACJ,kBAAlBa,SAAQ6b,OAEjB7b,QAAQ6b,SAKd,MAAOla,OAGTH,EAAaM,UAAUO,GAAKb,EAAaM,UAAU0Z,YAEnDha,EAAaM,UAAUga,KAAO,SAASnR,EAAM8Q,GAM3C,QAASjE,KACP7V,KAAKoa,eAAepR,EAAM6M,GAErBwE,IACHA,GAAQ,EACRP,EAAS/K,MAAM/O,KAAM4H,YAVzB,IAAK4N,EAAWsE,GACd,KAAMnX,WAAU,8BAElB,IAAI0X,IAAQ,CAcZ,OAHAxE,GAAEiE,SAAWA,EACb9Z,KAAKU,GAAGsI,EAAM6M,GAEP7V,MAITH,EAAaM,UAAUia,eAAiB,SAASpR,EAAM8Q,GACrD,GAAIlL,GAAM0L,EAAU9c,EAAQP,CAE5B,KAAKuY,EAAWsE,GACd,KAAMnX,WAAU,8BAElB,KAAK3C,KAAKkZ,UAAYlZ,KAAKkZ,QAAQlQ,GACjC,MAAOhJ,KAMT,IAJA4O,EAAO5O,KAAKkZ,QAAQlQ,GACpBxL,EAASoR,EAAKpR,OACd8c,EAAW,GAEP1L,IAASkL,GACRtE,EAAW5G,EAAKkL,WAAalL,EAAKkL,WAAaA,QAC3C9Z,MAAKkZ,QAAQlQ,GAChBhJ,KAAKkZ,QAAQkB,gBACfpa,KAAKoB,KAAK,iBAAkB4H,EAAM8Q,OAE/B,IAAI5C,EAAStI,GAAO,CACzB,IAAK3R,EAAIO,EAAQP,IAAM,GACrB,GAAI2R,EAAK3R,KAAO6c,GACXlL,EAAK3R,GAAG6c,UAAYlL,EAAK3R,GAAG6c,WAAaA,EAAW,CACvDQ,EAAWrd,CACX,OAIJ,GAAe,EAAXqd,EACF,MAAOta,KAEW,KAAhB4O,EAAKpR,QACPoR,EAAKpR,OAAS,QACPwC,MAAKkZ,QAAQlQ,IAEpB4F,EAAK2L,OAAOD,EAAU,GAGpBta,KAAKkZ,QAAQkB,gBACfpa,KAAKoB,KAAK,iBAAkB4H,EAAM8Q,GAGtC,MAAO9Z,OAGTH,EAAaM,UAAUqa,mBAAqB,SAASxR,GACnD,GAAInI,GAAK8Y,CAET,KAAK3Z,KAAKkZ,QACR,MAAOlZ,KAGT,KAAKA,KAAKkZ,QAAQkB,eAKhB,MAJyB,KAArBxS,UAAUpK,OACZwC,KAAKkZ,WACElZ,KAAKkZ,QAAQlQ,UACbhJ,MAAKkZ,QAAQlQ,GACfhJ,IAIT,IAAyB,IAArB4H,UAAUpK,OAAc,CAC1B,IAAKqD,IAAOb,MAAKkZ,QACH,mBAARrY,GACJb,KAAKwa,mBAAmB3Z,EAI1B,OAFAb,MAAKwa,mBAAmB,kBACxBxa,KAAKkZ,WACElZ,KAKT,GAFA2Z,EAAY3Z,KAAKkZ,QAAQlQ,GAErBwM,EAAWmE,GACb3Z,KAAKoa,eAAepR,EAAM2Q,OAG1B,MAAOA,EAAUnc,QACfwC,KAAKoa,eAAepR,EAAM2Q,EAAUA,EAAUnc,OAAS,GAI3D,cAFOwC,MAAKkZ,QAAQlQ,GAEbhJ,MAGTH,EAAaM,UAAUwZ,UAAY,SAAS3Q;AAC1C,GAAIkD,EAOJ,OAHEA,GAHGlM,KAAKkZ,SAAYlZ,KAAKkZ,QAAQlQ,GAE1BwM,EAAWxV,KAAKkZ,QAAQlQ,KACxBhJ,KAAKkZ,QAAQlQ,IAEdhJ,KAAKkZ,QAAQlQ,GAAM2C,YAI7B9L,EAAa4a,cAAgB,SAASC,EAAS1R,GAC7C,GAAIkD,EAOJ,OAHEA,GAHGwO,EAAQxB,SAAYwB,EAAQxB,QAAQlQ,GAEhCwM,EAAWkF,EAAQxB,QAAQlQ,IAC5B,EAEA0R,EAAQxB,QAAQlQ,GAAMxL,OAJtB,QAwBJmd,IAAI,SAAS3d,EAAQU,EAAOJ,GAClCA,EAAQ4T,KAAO,SAAUxI,EAAQxH,EAAQ0Z,EAAMC,EAAMC,GACnD,GAAIte,GAAGud,EACHgB,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBE,EAAQ,GACRje,EAAI2d,EAAQE,EAAS,EAAK,EAC1BK,EAAIP,EAAO,GAAK,EAChBhe,EAAI8L,EAAOxH,EAASjE,EAOxB,KALAA,GAAKke,EAEL3e,EAAII,GAAM,IAAOse,GAAU,EAC3Bte,KAAQse,EACRA,GAASH,EACFG,EAAQ,EAAG1e,EAAQ,IAAJA,EAAUkM,EAAOxH,EAASjE,GAAIA,GAAKke,EAAGD,GAAS,GAKrE,IAHAnB,EAAIvd,GAAM,IAAO0e,GAAU,EAC3B1e,KAAQ0e,EACRA,GAASL,EACFK,EAAQ,EAAGnB,EAAQ,IAAJA,EAAUrR,EAAOxH,EAASjE,GAAIA,GAAKke,EAAGD,GAAS,GAErE,GAAU,IAAN1e,EACFA,EAAI,EAAIye,MACH,CAAA,GAAIze,IAAMwe,EACf,MAAOjB,GAAIqB,KAAQxe,EAAI,GAAK,IAAKuN,EAAAA,EAEjC4P,IAAQlO,KAAK6E,IAAI,EAAGmK,GACpBre,GAAQye,EAEV,OAAQre,EAAI,GAAK,GAAKmd,EAAIlO,KAAK6E,IAAI,EAAGlU,EAAIqe,IAG5Cvd,EAAQ8K,MAAQ,SAAUM,EAAQ5H,EAAOI,EAAQ0Z,EAAMC,EAAMC,GAC3D,GAAIte,GAAGud,EAAGnM,EACNmN,EAAgB,EAATD,EAAaD,EAAO,EAC3BG,GAAQ,GAAKD,GAAQ,EACrBE,EAAQD,GAAQ,EAChBK,EAAe,KAATR,EAAchP,KAAK6E,IAAI,EAAG,KAAO7E,KAAK6E,IAAI,EAAG,KAAO,EAC1DzT,EAAI2d,EAAO,EAAKE,EAAS,EACzBK,EAAIP,EAAO,EAAI,GACfhe,EAAY,EAARkE,GAAwB,IAAVA,GAA2B,EAAZ,EAAIA,EAAa,EAAI,CAmC1D,KAjCAA,EAAQ+K,KAAKyP,IAAIxa,GAEbmK,MAAMnK,IAAUA,IAAUqJ,EAAAA,GAC5B4P,EAAI9O,MAAMnK,GAAS,EAAI,EACvBtE,EAAIwe,IAEJxe,EAAIqP,KAAK2F,MAAM3F,KAAKvN,IAAIwC,GAAS+K,KAAK0P,KAClCza,GAAS8M,EAAI/B,KAAK6E,IAAI,GAAIlU,IAAM,IAClCA,IACAoR,GAAK,GAGL9M,GADEtE,EAAIye,GAAS,EACNI,EAAKzN,EAELyN,EAAKxP,KAAK6E,IAAI,EAAG,EAAIuK,GAE5Bna,EAAQ8M,GAAK,IACfpR,IACAoR,GAAK,GAGHpR,EAAIye,GAASD,GACfjB,EAAI,EACJvd,EAAIwe,GACKxe,EAAIye,GAAS,GACtBlB,GAAKjZ,EAAQ8M,EAAI,GAAK/B,KAAK6E,IAAI,EAAGmK,GAClCre,GAAQye,IAERlB,EAAIjZ,EAAQ+K,KAAK6E,IAAI,EAAGuK,EAAQ,GAAKpP,KAAK6E,IAAI,EAAGmK,GACjDre,EAAI,IAIDqe,GAAQ,EAAGnS,EAAOxH,EAASjE,GAAS,IAAJ8c,EAAU9c,GAAKke,EAAGpB,GAAK,IAAKc,GAAQ,GAI3E,IAFAre,EAAKA,GAAKqe,EAAQd,EAClBgB,GAAQF,EACDE,EAAO,EAAGrS,EAAOxH,EAASjE,GAAS,IAAJT,EAAUS,GAAKke,EAAG3e,GAAK,IAAKue,GAAQ,GAE1ErS,EAAOxH,EAASjE,EAAIke,IAAU,IAAJve,QAGtB4e,IAAI,SAASxe,EAAQU,EAAOJ,GAClC,YAEAI,GAAOJ,QAAU,WACf,MAAOoB,UAAS6B,cAAc,gBAG1Bkb,IAAI,SAASze,EAAQU,EAAOJ,IAClC,SAAWiK,IAOX,SAAWyN,EAAM0G,GACf,GAAIC,GAAO3b,IACX,IAAsB,mBAAXtC,GAAwB,CACjC,IACE,GAAIC,GAASX,EAAQ,UACrB,MAAOR,GACP,KAAM,IAAIW,OACRX,EAAEof,QAAU,2FAIhBle,EAAOJ,QAAUoe,EAAWC,EAAM3G,EAAMrX,OACb,kBAAXke,SAA+C,gBAAfA,QAAOC,IACvDD,OAAOH,GAEPC,EAAK3G,GAAQ0G,EAAWC,EAAM3G,IAE/B,YAAa,SAAU2G,EAAM3G,EAAMrX,GAiBpC,QAASoe,GAAWvd,EAAOC,GACzB,GACEN,GAASR,EACP,GAAIA,GACJe,SAAS6B,cAAc,SAG3B,OAFI/B,KAAOL,EAAOK,MAAQA,GACtBC,IAAQN,EAAOM,OAASA,GACrBN,EAET,QAAS6d,GAAcxd,EAAOC,GAI5B,MAHAN,GAAOK,MAAQA,EACfL,EAAOM,OAASA,EAChB+B,EAAQyb,UAAU,EAAG,EAAGzd,EAAOC,GACxB+B,EAAQ0b,gBAAgB1d,EAAOC,GAGxC,QAAS0d,KACP,MAAOxe,GAKT,QAASye,GAAStY,GAChB,MAAOuY,GAAOvY,EAAQwY,GAExB,QAASC,GAAUzY,GACjB,MAAOuY,GAAOvY,EAAQ0Y,GAExB,QAASC,GAAW3Y,GAClB,MAAOuY,GAAOvY,EAAQ4Y,GAExB,QAASC,GAAa7Y,GACpB,SAAUA,IACRuY,EAAOvY,EAAQ8Y,UACR9Y,GAAY,QAAM+Y,SAClB/Y,GAAa,SAAM+Y,SACnB/Y,GAAW,OAAM+Y,GAE5B,QAASC,GAAahZ,GACpB,MACEsY,GAAQtY,IACRyY,EAASzY,IACT2Y,EAAU3Y,IACV6Y,EAAY7Y,GAGhB,QAASuY,GAAQvY,EAAQkF,GACvB,MAA2B,gBAAb,MAA2B/I,OAAOE,UAAUqJ,SAASuF,MAAMjL,GAAQoL,MAAMlG,GAKzF,QAAS+T,GAAeC,GACtB,GAIEC,GAAcC,EAASjgB,EAHvBwB,EAASue,EAAUve,OACnBD,EAAQwe,EAAUxe,MAClByK,EAAO+T,EAAU/T,IAQnB,KALA9K,EAAOK,MAAQA,EACfL,EAAOM,OAASA,EAChBwe,EAAezc,EAAQwb,aAAa,EAAG,EAAGxd,EAAOC,GACjDye,EAAUD,EAAahU,KAElBhM,EAAI+f,EAAU/T,KAAKzL,OAAQP,KAC5BigB,EAAQjgB,GAAKgM,EAAKhM,EAGtB,OAAOggB,GAET,QAASE,GAAarZ,GACpB,MAAIsY,GAAQtY,GAAkBsZ,EAAqBtZ,GAC/CyY,EAASzY,GAAkBuZ,EAAsBvZ,GACjD2Y,EAAU3Y,GAAkBwZ,EAAuBxZ,GACnD6Y,EAAY7Y,GAAkBA,EAAlC,OAEF,QAASsZ,GAAsBje,GAC7B,GACEV,GAASU,EAAMV,OACfD,EAAQW,EAAMX,KAKhB,OAJAL,GAAOK,MAAQA,EACfL,EAAOM,OAASA,EAChB+B,EAAQyb,UAAU,EAAG,EAAGzd,EAAOC,GAC/B+B,EAAQpC,UAAUe,EAAO,EAAG,GACrBqB,EAAQwb,aAAa,EAAG,EAAGxd,EAAOC,GAE3C,QAAS4e,GAAuBlf,GAC9B,GACEM,GAASN,EAAOM,OAChBD,EAAQL,EAAOK,MACfgC,EAAUrC,EAAOsC,WAAW,KAC9B,OAAOD,GAAQwb,aAAa,EAAG,EAAGxd,EAAOC,GAE3C,QAAS6e,GAAwB9c,GAC/B,GACErC,GAASqC,EAAQrC,OACjBM,EAASN,EAAOM,OAChBD,EAAQL,EAAOK,KACjB,OAAOgC,GAAQwb,aAAa,EAAG,EAAGxd,EAAOC,GAE3C,QAAS8e,GAAUzZ,GACjB,GACEmF,GAAOkU,EAAYrZ,GACnB3F,EAAS4d,EAAU9S,EAAKzK,MAAOyK,EAAKxK,QACpC+B,EAAUrC,EAAOsC,WAAW,KAG9B,OADAD,GAAQgd,aAAavU,EAAM,EAAG,GACvB9K,EAKT,QAASsf,GAAY1gB,EAAGuR,GACtB,MAAOvR,GAAEyB,QAAU8P,EAAE9P,MAEvB,QAASkf,GAAa3gB,EAAGuR,GACvB,MAAOvR,GAAE0B,SAAW6P,EAAE7P,OAExB,QAASkf,GAAiB5gB,EAAGuR,GAC3B,MAAOoP,GAAY3gB,EAAGuR,IAAMmP,EAAW1gB,EAAGuR,GAE5C,QAAS/P,GAAOxB,EAAGuR,EAAGsP,GAEpB,GAIE3gB,GAHA4gB,EAAY9gB,EAAEkM,KACd6U,EAAYxP,EAAErF,KACdzL,EAAYqgB,EAAMrgB,MAKpB,IAFAogB,EAAYA,GAAa,GAEpBD,EAAgB5gB,EAAGuR,GAAI,OAAO,CACnC,KAAKrR,EAAIO,EAAQP,KAAM,GAAI4gB,EAAM5gB,KAAO6gB,EAAM7gB,IAAM4O,KAAKyP,IAAIuC,EAAM5gB,GAAK6gB,EAAM7gB,IAAM2gB,EAAW,OAAO,CAEtG,QAAO,EAKT,QAASG,GAAMhhB,EAAGuR,EAAGvO,GACnB,OAAQ4d,EAAgB5gB,EAAGuR,GAAK0P,EAAYC,GAAalhB,EAAGuR,EAAGvO,GAEjE,QAASie,GAAWjhB,EAAGuR,EAAGvO,GAExB,GASE9C,GARAwB,EAAU1B,EAAE0B,OACZD,EAAUzB,EAAEyB,MACZoP,EAAUoO,EAAaxd,EAAOC,GAC9Bof,EAAU9gB,EAAEkM,KACZ6U,EAAUxP,EAAErF,KACZiV,EAAUtQ,EAAE3E,KACZzL,EAAU0gB,EAAM1gB,MAIlB,KAAKP,EAAI,EAAOO,EAAJP,EAAYA,GAAK,EAC3BihB,EAAMjhB,GAAK4O,KAAKyP,IAAIuC,EAAM5gB,GAAK6gB,EAAM7gB,IACrCihB,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAIuC,EAAM5gB,EAAE,GAAK6gB,EAAM7gB,EAAE,IAC3CihB,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAIuC,EAAM5gB,EAAE,GAAK6gB,EAAM7gB,EAAE,IAC3CihB,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAI,IAAMzP,KAAKyP,IAAIuC,EAAM5gB,EAAE,GAAK6gB,EAAM7gB,EAAE,IAG5D,OAAO2Q,GAET,QAASqQ,GAAalhB,EAAGuR,EAAGvO,GA8C1B,QAASoe,GAASnB,GACF,QAAVoB,GACFC,EAAY,EACZC,EAAe,IAEfD,EAAYxS,KAAK2F,OAAO/S,EAASue,EAAUve,QAAU,GACrD6f,EAAezS,KAAK2F,OAAOhT,EAAQwe,EAAUxe,OAAS,IAlD1D,GAQE6f,GACAC,EACAC,EAAKC,EACLvhB,EAAGgJ,EAVHxH,EAAUoN,KAAKY,IAAI1P,EAAE0B,OAAQ6P,EAAE7P,QAC/BD,EAAUqN,KAAKY,IAAI1P,EAAEyB,MAAO8P,EAAE9P,OAC9BoP,EAAUoO,EAAaxd,EAAOC,GAC9Bof,EAAU9gB,EAAEkM,KACZ6U,EAAUxP,EAAErF,KACZiV,EAAUtQ,EAAE3E,KACZmV,EAAUre,GAAWA,EAAQqe,KAO/B,KAAKnhB,EAAIihB,EAAM1gB,OAAS,EAAGP,EAAI,EAAGA,GAAQ,EACxCihB,EAAMjhB,GAAK,GAKb,KADAkhB,EAAQphB,GACHwhB,EAAMxhB,EAAE0B,OAAQ8f,KACnB,IAAKC,EAASzhB,EAAEyB,MAAOggB,KACrBvhB,EAAI,IAAMshB,EAAMF,GAAa7f,GAASggB,EAASF,IAC/CrY,EAAI,GAAKsY,EAAMxhB,EAAEyB,MAAQggB,GACzBN,EAAMjhB,EAAE,GAAK4gB,EAAM5X,EAAE,GACrBiY,EAAMjhB,EAAE,GAAK4gB,EAAM5X,EAAE,GACrBiY,EAAMjhB,EAAE,GAAK4gB,EAAM5X,EAAE,EAOzB,KADAkY,EAAQ7P,GACHiQ,EAAMjQ,EAAE7P,OAAQ8f,KACnB,IAAKC,EAASlQ,EAAE9P,MAAOggB,KACrBvhB,EAAI,IAAMshB,EAAMF,GAAa7f,GAASggB,EAASF,IAC/CrY,EAAI,GAAKsY,EAAMjQ,EAAE9P,MAAQggB,GACzBN,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAI4C,EAAMjhB,EAAE,GAAK6gB,EAAM7X,EAAE,IAC3CiY,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAI4C,EAAMjhB,EAAE,GAAK6gB,EAAM7X,EAAE,IAC3CiY,EAAMjhB,EAAE,GAAK4O,KAAKyP,IAAI4C,EAAMjhB,EAAE,GAAK6gB,EAAM7X,EAAE,GAe/C,OAAO2H,GAKT,QAAS6Q,KACP,GAAIxhB,EACJ,KAAKA,EAAI,EAAGA,EAAI2K,UAAUpK,OAAQP,IAChC,IAAK6f,EAAYlV,UAAU3K,IACzB,MACE+X,KAAO,iBACP4G,QAAU,sCAQlB,QAAStX,GAAKoa,EAASC,GAKrB,MAJAD,GAAUhgB,SAAS6B,cAAcme,GAC7BA,GAAWC,IACbD,EAAQE,UAAYD,GAEfD,EAsDT,QAASG,GAAgB7B,EAAW8B,EAAYC,GAE9C,GAEEC,GACAC,EAFA9gB,EAASof,EAASP,EAIpB+B,GAAWA,GAAY1a,SAEvB2a,EAAa7gB,EAAO+gB,YAAY7R,QAAQ,2BAA2B,IACnE4R,EAAe,GAAI1X,GAAOyX,EAAY,UACtChiB,EAAQ,MAAMmiB,UAAUL,EAAYG,EAAcF,GApUpD,GAYEjhB,GAAWshB,EAVX5C,EAAoB,yCACpBE,EAAoB,uCACpBJ,EAAoB,uCACpBM,EAAoB,wBAEpBC,EAAoB,YAEpB1e,EAAoB4d,IACpBvb,EAAoBrC,EAAOsC,WAAW,MACtC4e,EAAoB1D,EAAK3G,EA0W3B,OA/GAoK,IAEEE,cAAgB,WACd,MAAOxhB,GAAU6e,YAAY3c,KAAKuf,SAGpCC,iBAAmB,SAAUC,EAAU7B,GAuCrC,aArCW,YAAef,IACxB7c,KAAK4b,QAAU,WACb,GAOEpb,GANAkf,EAAUpb,EAAI,OACdvH,EAAUuH,EAAI,MAAO,sBACrBgK,EAAUhK,EAAI,MAAO,wBACrBsJ,EAAUtJ,EAAI,MAAO,oBACrByZ,EAAUjgB,EAAUigB,KAAK/d,KAAKuf,OAAQE,GACtCthB,EAAU4d,GAsBZ,OAnBA5d,GAAOM,OAASsf,EAAKtf,OACrBN,EAAOK,MAASuf,EAAKvf,MAErBkhB,EAAIC,MAAMC,SAAW,SACrB7iB,EAAE4iB,MAAME,MAAQ,OAChBvR,EAAEqR,MAAME,MAAQ,OAChBjS,EAAE+R,MAAME,MAAQ,OAEhBrf,EAAUrC,EAAOsC,WAAW,MAC5BD,EAAQgd,aAAaO,EAAM,EAAG,GAE9BhhB,EAAE6B,YAAY2e,EAASvd,KAAKuf,SAC5BjR,EAAE1P,YAAY2e,EAASkC,IACvB7R,EAAEhP,YAAYT,GAEduhB,EAAI9gB,YAAY7B,GAChB2iB,EAAI9gB,YAAY0P,GAChBoR,EAAI9gB,YAAYgP,IAGd8R,EACA,+BAKC5hB,EAAUS,MAAMyB,KAAKuf,OAAQE,EAAU7B,KAsBlD9f,GAEEgiB,aAAe/D,EACfG,gBAAkBF,EAClBG,aAAcA,EAEdC,QAAUA,EACVG,SAAWA,EACXE,UAAYA,EACZE,YAAcA,EACdG,YAAcA,EAEdK,YAAc,SAAUrZ,GAEtB,MADA2a,GAAU3a,GACN6Y,EAAY7Y,GAAkBiZ,EAAcjZ,GACzCqZ,EAAYrZ,IAGrBvF,MAAQ,SAAUxB,EAAGuR,EAAGsP,GAItB,MAHAa,GAAU1hB,EAAGuR,GACbvR,EAAIogB,EAAYpgB,GAChBuR,EAAI6O,EAAY7O,GACT/P,EAAMxB,EAAGuR,EAAGsP,IAErBG,KAAO,SAAUhhB,EAAGuR,EAAGvO,GAIrB,MAHA0e,GAAU1hB,EAAGuR,GACbvR,EAAIogB,EAAYpgB,GAChBuR,EAAI6O,EAAY7O,GACTyP,EAAKhhB,EAAGuR,EAAGvO,IAGpBqf,QAAUA,EAGVW,WAAa,WAEX,MADApE,GAAK3G,GAAQqK,EACNvhB,IAIW,mBAAXJ,KACTI,EAAU+gB,eAAiBA,GAGtB/gB,MAGNP,KAAKyC,KAAKhD,EAAQ,UAAUuK,UAE5BmB,OAAS,GAAGvK,OAAS,GAAG6hB,GAAK,KAAKC,IAAI,SAASjjB,EAAQU,EAAOJ,GAMjE,GAAIiL,GAAUvB,MAAMuB,QAMhB4E,EAAMlN,OAAOE,UAAUqJ,QAmB3B9L,GAAOJ,QAAUiL,GAAW,SAAU8G,GACpC,QAAUA,GAAO,kBAAoBlC,EAAI5P,KAAK8R,SAG1C6Q,IAAI,SAASljB,EAAQU,EAAOJ,GAClC,YAEAI,GAAOJ,SACLS,UAAWf,EAAQ,kBAGlBmjB,cAAc,KAAKC,IAAI,SAASpjB,EAAQU,EAAOJ,GAClD,YAEA,IAAI+iB,GAAYrjB,EAAQ,2BAExBU,GAAOJ,QAAU,SAAU4B,GACzBmhB,EAAU,ilVAAklVnhB,MAG3lVohB,2BAA2B,IAAIC,IAAI,SAASvjB,EAAQU,EAAOJ,GAC9D,YAEAI,GAAOJ,SACLW,eAAgBjB,EAAQ,wBAGvBwjB,oBAAoB,KAAKC,IAAI,SAASzjB,EAAQU,EAAOJ,GACxD,YAEA,IAAI+iB,GAAYrjB,EAAQ,2BAExBU,GAAOJ,QAAU,SAAU4B,GACzBmhB,EAAU,m8xBAAo8xBnhB;IAG78xBohB,2BAA2B,SAAS","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","Canvas","canvas","zoomMode","testImages","fixtureImages","imagediff","portrait1","testImage","singlePortrait","fixtureImage","drawImage","console","log","equal","width","height","document","body","appendChild","../test/data","../test/fixture","./view/canvas",2,"src","cb","image","window","Image","onload",3,"windowWidth","innerWidth","_get","_inherits","_createClass","_classCallCheck","_Object$assign","EventEmitter","_EventEmitter","options","this","Object","getPrototypeOf","prototype","readDirection","doublePage","createElement","context","getContext","key","value","page","page2","emit","zoomScale","undefined","offsetW","offsetH","doublePageMode","canvasWidth","canvasHeight","pageWidth","pageHeight","isDoublePageSpread","style","overflowX","scale","widthScale","windowHeight","innerHeight","heightScale","manga","tmpPage","tmpPage2","babel-runtime/core-js/object/assign","babel-runtime/helpers/class-call-check","babel-runtime/helpers/create-class","babel-runtime/helpers/get","babel-runtime/helpers/inherits","events",4,"default","__esModule","core-js/library/fn/object/assign",5,"core-js/library/fn/object/create",6,"core-js/library/fn/object/define-property",7,"core-js/library/fn/object/get-own-property-descriptor",8,"instance","Constructor","TypeError",9,"_Object$defineProperty","defineProperties","target","props","descriptor","enumerable","configurable","writable","protoProps","staticProps","babel-runtime/core-js/object/define-property",10,"_Object$getOwnPropertyDescriptor","_x","_x2","_x3","_again","object","property","receiver","desc","parent","getter","Function","get","babel-runtime/core-js/object/get-own-property-descriptor",11,"_Object$create","subClass","superClass","constructor","__proto__","babel-runtime/core-js/object/create",12,"lookup","decode","elt","charCodeAt","PLUS","PLUS_URL_SAFE","SLASH","SLASH_URL_SAFE","NUMBER","UPPER","LOWER","b64ToByteArray","b64","push","v","arr","L","j","tmp","placeHolders","len","charAt","Arr","uint8ToBase64","uint8","encode","num","tripletToBase64","temp","extraBytes","output","Uint8Array","Array","toByteArray","fromByteArray","base64js",13,14,"kMaxLength","Buffer","TYPED_ARRAY_SUPPORT","arg","fromNumber","fromString","arguments","fromObject","that","allocate","checked","string","encoding","byteLength","write","isBuffer","fromBuffer","isArray","fromArray","ArrayBuffer","buffer","fromTypedArray","fromArrayLike","fromJsonObject","copy","array","type","data","_augment","_isBuffer","fromPool","poolSize","rootParent","RangeError","toString","SlowBuffer","subject","buf","loweredCase","utf8ToBytes","base64ToBytes","toLowerCase","slowToString","start","end","Infinity","hexSlice","utf8Slice","asciiSlice","binarySlice","base64Slice","utf16leSlice","hexWrite","offset","Number","remaining","strLen","parsed","parseInt","substr","isNaN","utf8Write","blitBuffer","asciiWrite","asciiToBytes","binaryWrite","base64Write","ucs2Write","utf16leToBytes","base64","slice","res","Math","min","decodeUtf8Char","String","fromCharCode","ret","out","toHex","bytes","checkOffset","ext","checkInt","max","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","ieee754","writeDouble","base64clean","str","stringtrim","replace","INVALID_BASE64_RE","trim","units","codePoint","leadSurrogate","byteArray","c","hi","lo","dst","decodeURIComponent","err","INSPECT_MAX_BYTES","Foo","foo","subarray","b","compare","x","y","isEncoding","concat","list","pos","item","apply","equals","inspect","match","join","indexOf","val","byteOffset","arrayIndexOf","foundIndex","readUInt8","set","writeUInt8","isFinite","swap","toJSON","_arr","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt16BE","readUInt32LE","readUInt32BE","readIntLE","pow","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","read","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","floor","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","_set","fill","toArrayBuffer","BP","toLocaleString","base64-js","is-array",15,"core","assign","../../modules/$","../../modules/es6.object.assign",16,"$","P","D","create",17,"it","setDesc",18,"getDesc","../../modules/es6.object.statics-accept-primitives",19,"enumKeys","source","T","assertDefined","S","ES5Object","keys","./$","./$.enum-keys",20,"ctx","fn","$def","name","own","exp","isGlobal","G","isProto","global","F","isFunction","B","W","C","param","g",21,"getKeys","getSymbols","each",22,"FW","path",23,"getWindowNames","getNames","windowNames","getOwnPropertyNames","toObject",24,"toInteger","ceil","bitmap","simpleSet","createDefiner","DESC","isObject","self","defineProperty","hasOwnProperty","hide","html","documentElement","toLength","toIndex","index","has","getProto","getOwnPropertyDescriptor","setDescs","getOwnPropertySymbols","def","Symbol","forEach","__e","__g","./$.fw",25,"./$.assign","./$.def",26,"split","KEY","ID","forced","method","./$.get-names",27,"_events","_maxListeners","isNumber","isUndefined","defaultMaxListeners","setMaxListeners","er","handler","args","listeners","error","addListener","listener","m","newListener","warned","trace","on","once","removeListener","fired","position","splice","removeAllListeners","listenerCount","emitter",28,"isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","NaN","rt","abs","LN2",29,30,"definition","root","message","define","amd","getCanvas","getImageData","clearRect","createImageData","getCanvasRef","isImage","isType","TYPE_IMAGE","isCanvas","TYPE_CANVAS","isContext","TYPE_CONTEXT","isImageData","TYPE_IMAGE_DATA","UNDEFINED","isImageType","copyImageData","imageData","newImageData","newData","toImageData","toImageDataFromImage","toImageDataFromCanvas","toImageDataFromContext","toCanvas","putImageData","equalWidth","equalHeight","equalDimensions","tolerance","aData","bData","diff","diffEqual","diffUnequal","cData","offsets","align","rowOffset","columnOffset","row","column","checkType","element","content","innerHTML","imageDataToPNG","outputFile","callback","base64Data","decodedImage","toDataURL","writeFile","jasmine","previous","toBeImageData","actual","toImageDiffEqual","expected","div","overflow","float","createCanvas","noConflict","fs",31,32,"./portrait1",33,"makeImage","../../app/lib/make-image",34,"./single-portrait",35],"mappings":"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","sourceRoot":"./"} \ No newline at end of file diff --git a/test/view/canvas.test.js b/test/view/canvas.test.js index d7732d1..5b16b05 100644 --- a/test/view/canvas.test.js +++ b/test/view/canvas.test.js @@ -20,7 +20,6 @@ describe('Canvas', function () { it('should draw a single page', (done) => { let canvas = new Canvas() - // TODO update fixture once centering is working again testImage.portrait1((testImage) => { fixtureImage.singlePortrait((fixtureImage) => { canvas.drawImage(testImage)