define(["exports"],function(_exports){function _createForOfIteratorHelper(r,e){var o,a,u,n,t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(t)return u=!(a=!0),{s:function(){t=t.call(r)},n:function(){var r=t.next();return a=r.done,r},e:function(r){u=!0,o=r},f:function(){try{a||null==t.return||t.return()}finally{if(u)throw o}}};if(Array.isArray(r)||(t=function(r,a){{var t;if(r)return"string"==typeof r?_arrayLikeToArray(r,a):"Map"===(t="Object"===(t={}.toString.call(r).slice(8,-1))&&r.constructor?r.constructor.name:t)||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0}}(r))||e&&r&&"number"==typeof r.length)return t&&(r=t),n=0,{s:e=function(){},n:function(){return n>=r.length?{done:!0}:{done:!1,value:r[n++]}},e:function(r){throw r},f:e};throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e>6)}):"VP8X"===riff?{width:1+getUint24LittleEndian(view,24),height:1+getUint24LittleEndian(view,27)}:null}};_exports.makeComicBook=async function(_ref,file,smartSpreads){var spreads,promises,book,entries=_ref.entries,loadBlob=_ref.loadBlob,getSize=_ref.getSize,cache=new Map,urls=new Map,exts=[".jpg",".jpeg",".png",".gif",".bmp",".webp",".svg",".jxl",".avif"],files=entries.map(function(entry){return entry.filename}).filter(function(name){return exts.some(function(ext){return name.endsWith(ext)})}).sort(function(a,b){return a.localeCompare(b,void 0,{numeric:!0})});if(files.length)return spreads={},smartSpreads&&(promises=[],files.forEach(function(name){var extension=name.slice(2+(name.lastIndexOf(".")-1>>>0));pageDimensions[extension]&&promises.push(new Promise(function(resolve,reject){loadBlob(name).then(function(blob){return pageDimensions[extension](blob)}).then(function(dimensions){dimensions.width>1.05*dimensions.height&&(spreads[name]="center"),resolve()}).catch(function(e){return reject(e)})}))}),await Promise.all(promises)),(book={getCover:function(){return loadBlob(files[0])}}).metadata={title:file.name},book.sections=files.map(function(name){return{id:name,load:function(){return async function(name){var src,page;return cache.has(name)?cache.get(name):(src=URL.createObjectURL(await loadBlob(name)),page=URL.createObjectURL(new Blob(['')],{type:"text/html"})),urls.set(name,[src,page]),cache.set(name,page),page)}(name)},unload:function(){return function(name){var _urls$get;null!=(_urls$get=urls.get(name))&&null!=_urls$get.forEach&&_urls$get.forEach(function(url){return URL.revokeObjectURL(url)}),urls.delete(name),cache.delete(name)}(name)},size:getSize(name),pageSpread:spreads[name]}}),book.toc=files.map(function(name){return{label:name,href:name}}),book.rendition={layout:"pre-paginated"},book.resolveHref=function(href){return{index:book.sections.findIndex(function(s){return s.id===href})}},book.splitTOCHref=function(href){return[href,null]},book.getTOCFragment=function(doc){return doc.documentElement},book.destroy=function(){var _step,_iterator=_createForOfIteratorHelper(urls.values());try{for(_iterator.s();!(_step=_iterator.n()).done;){var _step2,_iterator2=_createForOfIteratorHelper(_step.value);try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var url=_step2.value;URL.revokeObjectURL(url)}}catch(err){_iterator2.e(err)}finally{_iterator2.f()}}}catch(err){_iterator.e(err)}finally{_iterator.f()}},book;throw new Error("No supported image files in archive")}});