3 lines
55 KiB
JavaScript
3 lines
55 KiB
JavaScript
|
|
import{h as e}from"./package-Bop5TfAT.js";import{D as t,J as n,X as r,_ as i,b as a,f as o,g as s,h as c,i as l,o as u,r as d,s as f,t as p,y as m}from"./runtime-core.esm-bundler-DO-WTVbd.js";var h=4,g=0,_=1,v=2;function y(e){let t=e.length;for(;--t>=0;)e[t]=0}var b=0,x=1,S=2,C=29,w=256,T=286,E=30,D=19,O=573,k=15,A=16,j=7,ee=256,te=16,ne=17,re=18,ie=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),ae=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),oe=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),se=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),ce=512,M=Array(288*2);y(M);var le=Array(E*2);y(le);var ue=Array(ce);y(ue);var de=Array(256);y(de);var fe=Array(C);y(fe);var pe=Array(E);y(pe);function me(e,t,n,r,i){this.static_tree=e,this.extra_bits=t,this.extra_base=n,this.elems=r,this.max_length=i,this.has_stree=e&&e.length}var he,ge,_e;function ve(e,t){this.dyn_tree=e,this.max_code=0,this.stat_desc=t}var ye=e=>e<256?ue[e]:ue[256+(e>>>7)],be=(e,t)=>{e.pending_buf[e.pending++]=t&255,e.pending_buf[e.pending++]=t>>>8&255},N=(e,t,n)=>{e.bi_valid>A-n?(e.bi_buf|=t<<e.bi_valid&65535,be(e,e.bi_buf),e.bi_buf=t>>A-e.bi_valid,e.bi_valid+=n-A):(e.bi_buf|=t<<e.bi_valid&65535,e.bi_valid+=n)},P=(e,t,n)=>{N(e,n[t*2],n[t*2+1])},xe=(e,t)=>{let n=0;do n|=e&1,e>>>=1,n<<=1;while(--t>0);return n>>>1},Se=e=>{e.bi_valid===16?(be(e,e.bi_buf),e.bi_buf=0,e.bi_valid=0):e.bi_valid>=8&&(e.pending_buf[e.pending++]=e.bi_buf&255,e.bi_buf>>=8,e.bi_valid-=8)},Ce=(e,t)=>{let n=t.dyn_tree,r=t.max_code,i=t.stat_desc.static_tree,a=t.stat_desc.has_stree,o=t.stat_desc.extra_bits,s=t.stat_desc.extra_base,c=t.stat_desc.max_length,l,u,d,f,p,m,h=0;for(f=0;f<=k;f++)e.bl_count[f]=0;for(n[e.heap[e.heap_max]*2+1]=0,l=e.heap_max+1;l<O;l++)u=e.heap[l],f=n[n[u*2+1]*2+1]+1,f>c&&(f=c,h++),n[u*2+1]=f,!(u>r)&&(e.bl_count[f]++,p=0,u>=s&&(p=o[u-s]),m=n[u*2],e.opt_len+=m*(f+p),a&&(e.static_len+=m*(i[u*2+1]+p)));if(h!==0){do{for(f=c-1;e.bl_count[f]===0;)f--;e.bl_count[f]--,e.bl_count[f+1]+=2,e.bl_count[c]--,h-=2}while(h>0);for(f=c;f!==0;f--)for(u=e.bl_count[f];u!==0;)d=e.heap[--l],!(d>r)&&(n[d*2+1]!==f&&(e.opt_len+=(f-n[d*2+1])*n[d*2],n[d*2+1]=f),u--)}},we=(e,t,n)=>{let r=Array(16),i=0,a,o;for(a=1;a<=k;a++)i=i+n[a-1]<<1,r[a]=i;for(o=0;o<=t;o++){let t=e[o*2+1];t!==0&&(e[o*2]=xe(r[t]++,t))}},Te=()=>{let e,t,n,r,i,a=Array(16);for(n=0,r=0;r<C-1;r++)for(fe[r]=n,e=0;e<1<<ie[r];e++)de[n++]=r;for(de[n-1]=r,i=0,r=0;r<16;r++)for(pe[r]=i,e=0;e<1<<ae[r];e++)ue[i++]=r;for(i>>=7;r<E;r++)for(pe[r]=i<<7,e=0;e<1<<ae[r]-7;e++)ue[256+ i++]=r;for(t=0;t<=k;t++)a[t]=0;for(e=0;e<=143;)M[e*2+1]=8,e++,a[8]++;for(;e<=255;)M[e*2+1]=9,e++,a[9]++;for(;e<=279;)M[e*2+1]=7,e++,a[7]++;for(;e<=287;)M[e*2+1]=8,e++,a[8]++;for(we(M,287,a),e=0;e<E;e++)le[e*2+1]=5,le[e*2]=xe(e,5);he=new me(M,ie,257,T,k),ge=new me(le,ae,0,E,k),_e=new me([],oe,0,D,j)},Ee=e=>{let t;for(t=0;t<T;t++)e.dyn_ltree[t*2]=0;for(t=0;t<E;t++)e.dyn_dtree[t*2]=0;for(t=0;t<D;t++)e.bl_tree[t*2]=0;e.dyn_ltree[ee*2]=1,e.opt_len=e.static_len=0,e.sym_next=e.matches=0},De=e=>{e.bi_valid>8?be(e,e.bi_buf):e.bi_valid>0&&(e.pending_buf[e.pending++]=e.bi_buf),e.bi_buf=0,e.bi_valid=0},Oe=(e,t,n,r)=>{let i=t*2,a=n*2;return e[i]<e[a]||e[i]===e[a]&&r[t]<=r[n]},ke=(e,t,n)=>{let r=e.heap[n],i=n<<1;for(;i<=e.heap_len&&(i<e.heap_len&&Oe(t,e.heap[i+1],e.heap[i],e.depth)&&i++,!Oe(t,r,e.heap[i],e.depth));)e.heap[n]=e.heap[i],n=i,i<<=1;e.heap[n]=r},Ae=(e,t,n)=>{let r,i,a=0,o,s;if(e.sym_next!==0)do r=e.pending_buf[e.sym_buf+ a++]&255,r+=(e.pending_buf[e.sym_buf+ a++]&255)<<8,i=e.pending_buf[e.sym_buf+ a++],r===0?P(e,i,t):(o=de[i],P(e,o+w+1,t),s=ie[o],s!==0&&(i-=fe[o],N(e,i,s)),r--,o=ye(r),P(e,o,n),s=ae[o],s!==0&&(r-=pe[o],N(e,r,s)));while(a<e.sym_next);P(e,ee,t)},je=(e,t)=>{let n=t.dyn_tree,r=t.stat_desc.static_tree,i=t.stat_desc.has_stree,a=t.stat_desc.elems,o,s,c=-1,l;for(e.heap_len=0,e.heap_max=O,o=0;o<a;o++)n[o*2]===0?n[o*2+1]=0:(e.heap[++e.heap_len]=c=o,e.depth[o]=0);for(;e.heap_len<2;)l=e.heap[++e.heap_len]=c<2?++c:0,n[l*2]=1,e.depth[l]=0,e.opt_len--,i&&(e.static_len-=r[l*2+1]);for(
|
|||
|
|
`).replace(/\r\n?/g,`
|
|||
|
|
`),bi=(e,t=0)=>{let n=e.reduce((e,t)=>e+t.length,0),r=t>0?Math.min(t,n):n,i=new Uint8Array(r),a=0;for(let t of e){if(a>=r)break;let e=t.subarray(0,Math.min(t.length,r-a));i.set(e,a),a+=e.length}return i},xi=e=>{try{return li(e)}catch{return ui(e)}},Si=e=>{let t=[],n=0;for(;n<e.length;){let r=e[n];if(n+=1,!r||n+r>e.length)break;t.push($(e.subarray(n,n+r))),n+=r}return t},Ci=e=>{let t=[],n=new DataView(e.buffer,e.byteOffset,e.byteLength);for(let r=0;r+4<=e.length;r+=4)t.push(n.getUint32(r,!0));return t},wi=e=>e.length>=8&&e[0]===137&&e[1]===80&&e[2]===78&&e[3]===71?{extension:`png`,mimeType:`image/png`}:e.length>=3&&e[0]===255&&e[1]===216&&e[2]===255?{extension:`jpg`,mimeType:`image/jpeg`}:e.length>=6&&e[0]===71&&e[1]===73&&e[2]===70?{extension:`gif`,mimeType:`image/gif`}:e.length>=2&&e[0]===66&&e[1]===77?{extension:`bmp`,mimeType:`image/bmp`}:e.length>=12&&e[0]===82&&e[1]===73&&e[2]===70&&e[3]===70&&e[8]===87&&e[9]===69&&e[10]===66&&e[11]===80?{extension:`webp`,mimeType:`image/webp`}:{extension:`bin`,mimeType:`application/octet-stream`},Ti=(e,t,n)=>{let{extension:r,mimeType:i}=wi(e);return{bytes:e,extension:r,id:`${t}-${n}-${e.length}`,mimeType:i}},Ei=e=>e===1?`text`:e===2?`comic`:e===3?`mixed`:`unknown`,Di=({day:e,month:t,year:n})=>[n,t,e].filter(Boolean).join(`-`),Oi=(e,t,n)=>{if(!e.length)return[];let r=(t.length?t:[0]).map(t=>Math.max(0,Math.min(t,e.length))).filter((e,t,n)=>t===0||e>n[t-1]);return r.map((t,i)=>{let a=i+1<r.length?r[i+1]:e.length,o=t-t%2,s=a-a%2;return{content:yi(vi(e.subarray(o,s))),end:s,id:`chapter-${i}-${o}`,images:[],start:o,title:n[i]||`章节 ${i+1}`}})},ki=(e,t,n)=>{if(!e.length)return[];let r=(t.length?t:[0]).map(t=>Math.max(0,Math.min(t,e.length))).filter((e,t,n)=>t===0||e>n[t-1]);return r.map((t,i)=>{let a=i+1<r.length?r[i+1]:e.length;return{content:``,end:a,id:`image-chapter-${i}-${t}`,images:e.slice(t,a),start:t,title:n[i]||`图集 ${i+1}`}})},Ai=e=>e.map((e,t)=>({content:``,end:t,id:`empty-chapter-${t}`,images:[],start:t,title:e||`章节 ${t+1}`})),ji=e=>{let t=new gi(e),n={author:``,category:``,day:``,month:``,publishedAt:``,publisher:``,title:``,vendor:``,year:``},r=new Map,i=[],a=[],o=[],s=0,c=[],l=[],u=0,d,f=0;if(t.readUint32()!==di)throw Error(`不是有效的 UMD 电子书文件`);for(;t.remaining>0&&t.peek()===fi;){t.readUint8();let e=t.readUint16(),i=t.readUint8(),p=Math.max(0,t.readUint8()-mi),m=t.readBytes(p),h=e===Q.CID||e===Q.SPLASH?s:e;switch(e){case Q.VERSION:f=m[0]||i;break;case Q.TITLE:n.title=$(m);break;case Q.AUTHOR:n.author=$(m);break;case Q.YEAR:n.year=$(m);break;case Q.MONTH:n.month=$(m);break;case Q.DAY:n.day=$(m);break;case Q.CATEGORY:n.category=$(m);break;case Q.PUBLISHER:n.publisher=$(m);break;case Q.VENDOR:n.vendor=$(m);break;case Q.CONTENT_LENGTH:u=_i(m);break;case Q.TEXT_SEGMENT_INDEX:case Q.CHAPTER_OFFSETS:case Q.CHAPTER_TITLES:case Q.PAGE_OFFSETS:r.set(e,_i(m));break;case Q.COVER:r.set(e,_i(m,1));break;case Q.IMAGE:case Q.MIXED_IMAGE:f||=e===Q.MIXED_IMAGE?3:2;break;default:break}for(s=h||s;t.peek()===pi;){t.readUint8();let e=t.readUint32(),n=Math.max(0,t.readUint32()-9),i=t.readBytes(n);switch(h){case Q.COVER:d=Ti(i,`cover`,e);break;case Q.CHAPTER_OFFSETS:c=Ci(i);break;case Q.CHAPTER_TITLES:e===r.get(Q.CHAPTER_TITLES)?l=Si(i):a.push(i);break;case Q.IMAGE:case Q.MIXED_IMAGE:o.push(Ti(i,`image`,o.length));break;default:break}}}let p=bi(a.map(e=>{try{return xi(e)}catch(e){return i.push(e instanceof Error?e.message:String(e)),new Uint8Array}}),u);u>p.length&&a.length&&i.push(`UMD 正文长度小于声明长度,文件可能不完整`);let m=Oi(p,c,l);return m.length?o.length&&f!==1&&(m=ki(o,c,l)):m=ki(o,c,l),!m.length&&l.length&&(m=Ai(l)),n.publishedAt=Di(n),{author:n.author,category:n.category,chapters:m,contentLength:u||p.length,cover:d,kind:Ei(f),publishedAt:n.publishedAt,publisher:n.publisher,rawType:f,title:n.title||`UMD 电子书`,vendor:n.vendor,warnings:i}},Mi={class:`umd-toolbar`},Ni={class:`umd-title`},Pi={class:`umd-actions`},Fi=[`disabled`],Ii={class:`umd-progress`},Li=[`disabled`],Ri={class:`umd-body`},zi={key:0,class:`umd-toc`},Bi={class:`umd-toc
|