tasmota-esp-web-tools
Version:
Web tools for ESP devices
1 lines • 96.2 kB
JavaScript
const t=t=>{let e=[192];for(const i of t)219==i?e=e.concat([219,221]):192==i?e=e.concat([219,220]):e.push(i);return e.push(192),e},e=t=>{const e=[];for(let i=0;i<t.length;i++){const s=t.charCodeAt(i);s<=255&&e.push(s)}return e},i=t=>"["+t.map(t=>s(t)).join(", ")+"]",s=(t,e=2)=>{const i=t.toString(16).toUpperCase();return i.startsWith("-")?"-0x"+i.substring(1).padStart(e,"0"):"0x"+i.padStart(e,"0")};const a=t=>new Promise(e=>setTimeout(e,t)),r={18:"256KB",19:"512KB",20:"1MB",21:"2MB",22:"4MB",23:"8MB",24:"16MB",25:"32MB",26:"64MB",27:"128MB",28:"256MB",32:"64MB",33:"128MB",34:"256MB",50:"256KB",51:"512KB",52:"1MB",53:"2MB",54:"4MB",55:"8MB",56:"16MB",57:"32MB",58:"64MB"},n=4096,o=115200,h=1073061888,l=1061265408,d=1610641408,c=1610647552,u=1611352064,g=1611335680,f=1611352064,_=1611335680,p=1343410176,w=1343312316,m=1<<27,b=1343312312,y=1343312892,S=544296960,v=e(" UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU"),R=33382,B=50,U=12882,I=12883,C=12994,x=12995,k=12997,T=12998,F=207969,D=12914,O=12916,E=12917,M=12928,$=12849,A={5:{name:"ESP32-C3",family:x},9:{name:"ESP32-S3",family:I},12:{name:"ESP32-C2",family:C},13:{name:"ESP32-C6",family:T},16:{name:"ESP32-H2",family:D},18:{name:"ESP32-P4",family:M},20:{name:"ESP32-C61",family:F},23:{name:"ESP32-C5",family:k},25:{name:"ESP32-H21",family:E},28:{name:"ESP32-H4",family:O},32:{name:"ESP32-S31",family:$}},z={4293968129:{name:"ESP8266",family:R},15736195:{name:"ESP32",family:B},1990:{name:"ESP32-S2",family:U}},P=3e3,W=15e4,N=100,L=3e4,H=(t,e)=>{const i=Math.floor(t*(e/486));return i<P?P:i},G=t=>{switch(t){case B:return{regBase:1072963584,baseFuse:h,macFuse:1073061888,usrOffs:28,usr1Offs:32,usr2Offs:36,mosiDlenOffs:40,misoDlenOffs:44,w0Offs:128,uartDateReg:1610612856,flashOffs:4096};case U:return{regBase:1061167104,baseFuse:l,macFuse:1061265476,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612856,flashOffs:4096};case I:return{regBase:1610620928,usrOffs:24,baseFuse:d,macFuse:1610641476,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612864,flashOffs:0};case R:return{regBase:1610613248,usrOffs:28,baseFuse:1072693328,macFuse:1072693328,usr1Offs:32,usr2Offs:36,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:64,uartDateReg:1610612856,flashOffs:0};case C:return{regBase:1610620928,baseFuse:c,macFuse:1610647616,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case x:return{regBase:1610620928,baseFuse:1610647552,macFuse:1610647620,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case k:return{regBase:1610625024,baseFuse:u,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:8192};case T:return{regBase:1610625024,baseFuse:g,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case F:return{regBase:1610625024,baseFuse:f,macFuse:1611352132,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case D:return{regBase:1610625024,baseFuse:_,macFuse:1611335748,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case O:return{regBase:1611239424,baseFuse:1611339776,macFuse:1611339844,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610686588,flashOffs:8192};case E:return{regBase:1610625024,baseFuse:1611350016,macFuse:1611350084,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1610612860,flashOffs:0};case M:return{regBase:1342754816,baseFuse:p,macFuse:1343410244,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:1343004812,flashOffs:8192};case $:return{regBase:542113792,baseFuse:S,macFuse:544297028,usrOffs:24,usr1Offs:28,usr2Offs:32,mosiDlenOffs:36,misoDlenOffs:40,w0Offs:88,uartDateReg:540582028,flashOffs:8192};default:return{regBase:-1,baseFuse:-1,macFuse:-1,usrOffs:-1,usr1Offs:-1,usr2Offs:-1,mosiDlenOffs:-1,misoDlenOffs:-1,w0Offs:-1,uartDateReg:-1,flashOffs:-1}}};class Z extends Error{constructor(t){super(t),this.name="SlipReadError"}}const V=async(t,i)=>{let s;if(t==O||t==E||t==$)return null;if(t==B)s=await import("./esp32-BRKoi17y.js");else if(t==U)s=await import("./esp32s2-iX3WoDbg.js");else if(t==I)s=await import("./esp32s3-DGwDVIgz.js");else if(t==R)s=await import("./esp8266-CUwxJpGa.js");else if(t==C)s=await import("./esp32c2-Btgr_lwh.js");else if(t==x)s=await import("./esp32c3-CHKfoI8W.js");else if(t==k)s=await import("./esp32c5-BDW4KtLo.js");else if(t==T)s=await import("./esp32c6-il8tTxAG.js");else if(t==F)s=await import("./esp32c61-thKzxBGf.js");else if(t==D)s=await import("./esp32h2-CxoUHv_P.js");else{if(t!=M)return null;s=null!=i&&i>=300?await import("./esp32p4r3-CqI71ojR.js"):await import("./esp32p4-D3jLP-jY.js")}return{...s,text:e(atob(s.text)),data:e(atob(s.data))}};function J(t){let e=t.length;for(;--e>=0;)t[e]=0}const j=256,q=286,K=30,Y=15,X=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]),Q=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]),tt=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),et=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),it=new Array(576);J(it);const st=new Array(60);J(st);const at=new Array(512);J(at);const rt=new Array(256);J(rt);const nt=new Array(29);J(nt);const ot=new Array(K);function ht(t,e,i,s,a){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=s,this.max_length=a,this.has_stree=t&&t.length}let lt,dt,ct;function ut(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}J(ot);const gt=t=>t<256?at[t]:at[256+(t>>>7)],ft=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},_t=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,ft(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},pt=(t,e,i)=>{_t(t,i[2*e],i[2*e+1])},wt=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},mt=(t,e,i)=>{const s=new Array(16);let a,r,n=0;for(a=1;a<=Y;a++)n=n+i[a-1]<<1,s[a]=n;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=wt(s[e]++,e))}},bt=t=>{let e;for(e=0;e<q;e++)t.dyn_ltree[2*e]=0;for(e=0;e<K;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},yt=t=>{t.bi_valid>8?ft(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},St=(t,e,i,s)=>{const a=2*e,r=2*i;return t[a]<t[r]||t[a]===t[r]&&s[e]<=s[i]},vt=(t,e,i)=>{const s=t.heap[i];let a=i<<1;for(;a<=t.heap_len&&(a<t.heap_len&&St(e,t.heap[a+1],t.heap[a],t.depth)&&a++,!St(e,s,t.heap[a],t.depth));)t.heap[i]=t.heap[a],i=a,a<<=1;t.heap[i]=s},Rt=(t,e,i)=>{let s,a,r,n,o=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+o++],s+=(255&t.pending_buf[t.sym_buf+o++])<<8,a=t.pending_buf[t.sym_buf+o++],0===s?pt(t,a,e):(r=rt[a],pt(t,r+j+1,e),n=X[r],0!==n&&(a-=nt[r],_t(t,a,n)),s--,r=gt(s),pt(t,r,i),n=Q[r],0!==n&&(s-=ot[r],_t(t,s,n)))}while(o<t.sym_next);pt(t,256,e)},Bt=(t,e)=>{const i=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.has_stree,r=e.stat_desc.elems;let n,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,n=0;n<r;n++)0!==i[2*n]?(t.heap[++t.heap_len]=l=n,t.depth[n]=0):i[2*n+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=l<2?++l:0,i[2*h]=1,t.depth[h]=0,t.opt_len--,a&&(t.static_len-=s[2*h+1]);for(e.max_code=l,n=t.heap_len>>1;n>=1;n--)vt(t,i,n);h=r;do{n=t.heap[1],t.heap[1]=t.heap[t.heap_len--],vt(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=n,t.heap[--t.heap_max]=o,i[2*h]=i[2*n]+i[2*o],t.depth[h]=(t.depth[n]>=t.depth[o]?t.depth[n]:t.depth[o])+1,i[2*n+1]=i[2*o+1]=h,t.heap[1]=h++,vt(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,s=e.max_code,a=e.stat_desc.static_tree,r=e.stat_desc.has_stree,n=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,d,c,u,g,f,_=0;for(u=0;u<=Y;u++)t.bl_count[u]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],u=i[2*i[2*d+1]+1]+1,u>h&&(u=h,_++),i[2*d+1]=u,d>s||(t.bl_count[u]++,g=0,d>=o&&(g=n[d-o]),f=i[2*d],t.opt_len+=f*(u+g),r&&(t.static_len+=f*(a[2*d+1]+g)));if(0!==_){do{for(u=h-1;0===t.bl_count[u];)u--;t.bl_count[u]--,t.bl_count[u+1]+=2,t.bl_count[h]--,_-=2}while(_>0);for(u=h;0!==u;u--)for(d=t.bl_count[u];0!==d;)c=t.heap[--l],c>s||(i[2*c+1]!==u&&(t.opt_len+=(u-i[2*c+1])*i[2*c],i[2*c+1]=u),d--)}})(t,e),mt(i,l,t.bl_count)},Ut=(t,e,i)=>{let s,a,r=-1,n=e[1],o=0,h=7,l=4;for(0===n&&(h=138,l=3),e[2*(i+1)+1]=65535,s=0;s<=i;s++)a=n,n=e[2*(s+1)+1],++o<h&&a===n||(o<l?t.bl_tree[2*a]+=o:0!==a?(a!==r&&t.bl_tree[2*a]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,r=a,0===n?(h=138,l=3):a===n?(h=6,l=3):(h=7,l=4))},It=(t,e,i)=>{let s,a,r=-1,n=e[1],o=0,h=7,l=4;for(0===n&&(h=138,l=3),s=0;s<=i;s++)if(a=n,n=e[2*(s+1)+1],!(++o<h&&a===n)){if(o<l)do{pt(t,a,t.bl_tree)}while(0!==--o);else 0!==a?(a!==r&&(pt(t,a,t.bl_tree),o--),pt(t,16,t.bl_tree),_t(t,o-3,2)):o<=10?(pt(t,17,t.bl_tree),_t(t,o-3,3)):(pt(t,18,t.bl_tree),_t(t,o-11,7));o=0,r=a,0===n?(h=138,l=3):a===n?(h=6,l=3):(h=7,l=4)}};let Ct=!1;const xt=(t,e,i,s)=>{_t(t,0+(s?1:0),3),yt(t),ft(t,i),ft(t,~i),i&&t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i};var kt=(t,e,i,s)=>{let a,r,n=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<j;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),Bt(t,t.l_desc),Bt(t,t.d_desc),n=(t=>{let e;for(Ut(t,t.dyn_ltree,t.l_desc.max_code),Ut(t,t.dyn_dtree,t.d_desc.max_code),Bt(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*et[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),a=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=a&&(a=r)):a=r=i+5,i+4<=a&&-1!==e?xt(t,e,i,s):4===t.strategy||r===a?(_t(t,2+(s?1:0),3),Rt(t,it,st)):(_t(t,4+(s?1:0),3),((t,e,i,s)=>{let a;for(_t(t,e-257,5),_t(t,i-1,5),_t(t,s-4,4),a=0;a<s;a++)_t(t,t.bl_tree[2*et[a]+1],3);It(t,t.dyn_ltree,e-1),It(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,n+1),Rt(t,t.dyn_ltree,t.dyn_dtree)),bt(t),s&&yt(t)},Tt={_tr_init:t=>{Ct||((()=>{let t,e,i,s,a;const r=new Array(16);for(i=0,s=0;s<28;s++)for(nt[s]=i,t=0;t<1<<X[s];t++)rt[i++]=s;for(rt[i-1]=s,a=0,s=0;s<16;s++)for(ot[s]=a,t=0;t<1<<Q[s];t++)at[a++]=s;for(a>>=7;s<K;s++)for(ot[s]=a<<7,t=0;t<1<<Q[s]-7;t++)at[256+a++]=s;for(e=0;e<=Y;e++)r[e]=0;for(t=0;t<=143;)it[2*t+1]=8,t++,r[8]++;for(;t<=255;)it[2*t+1]=9,t++,r[9]++;for(;t<=279;)it[2*t+1]=7,t++,r[7]++;for(;t<=287;)it[2*t+1]=8,t++,r[8]++;for(mt(it,287,r),t=0;t<K;t++)st[2*t+1]=5,st[2*t]=wt(t,5);lt=new ht(it,X,257,q,Y),dt=new ht(st,Q,0,K,Y),ct=new ht(new Array(0),tt,0,19,7)})(),Ct=!0),t.l_desc=new ut(t.dyn_ltree,lt),t.d_desc=new ut(t.dyn_dtree,dt),t.bl_desc=new ut(t.bl_tree,ct),t.bi_buf=0,t.bi_valid=0,bt(t)},_tr_stored_block:xt,_tr_flush_block:kt,_tr_tally:(t,e,i)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=i,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(rt[i]+j+1)]++,t.dyn_dtree[2*gt(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{_t(t,2,3),pt(t,256,it),(t=>{16===t.bi_valid?(ft(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var Ft=(t,e,i,s)=>{let a=65535&t,r=t>>>16&65535,n=0;for(;0!==i;){n=i>2e3?2e3:i,i-=n;do{a=a+e[s++]|0,r=r+a|0}while(--n);a%=65521,r%=65521}return a|r<<16};const Dt=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var s=0;s<8;s++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var Ot=(t,e,i,s)=>{const a=Dt,r=s+i;t^=-1;for(let i=s;i<r;i++)t=t>>>8^a[255&(t^e[i])];return-1^t},Et={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},Mt={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:$t,_tr_stored_block:At,_tr_flush_block:zt,_tr_tally:Pt,_tr_align:Wt}=Tt,{Z_NO_FLUSH:Nt,Z_PARTIAL_FLUSH:Lt,Z_FULL_FLUSH:Ht,Z_FINISH:Gt,Z_BLOCK:Zt,Z_OK:Vt,Z_STREAM_END:Jt,Z_STREAM_ERROR:jt,Z_DATA_ERROR:qt,Z_BUF_ERROR:Kt,Z_DEFAULT_COMPRESSION:Yt,Z_FILTERED:Xt,Z_HUFFMAN_ONLY:Qt,Z_RLE:te,Z_FIXED:ee,Z_DEFAULT_STRATEGY:ie,Z_UNKNOWN:se,Z_DEFLATED:ae}=Mt,re=258,ne=262,oe=42,he=113,le=666,de=(t,e)=>(t.msg=Et[e],e),ce=t=>2*t-(t>4?9:0),ue=t=>{let e=t.length;for(;--e>=0;)t[e]=0},ge=t=>{let e,i,s,a=t.w_size;e=t.hash_size,s=e;do{i=t.head[--s],t.head[s]=i>=a?i-a:0}while(--e);e=a,s=e;do{i=t.prev[--s],t.prev[s]=i>=a?i-a:0}while(--e)};let fe=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const _e=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},pe=(t,e)=>{zt(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,_e(t.strm)},we=(t,e)=>{t.pending_buf[t.pending++]=e},me=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},be=(t,e,i,s)=>{let a=t.avail_in;return a>s&&(a=s),0===a?0:(t.avail_in-=a,e.set(t.input.subarray(t.next_in,t.next_in+a),i),1===t.state.wrap?t.adler=Ft(t.adler,e,a,i):2===t.state.wrap&&(t.adler=Ot(t.adler,e,a,i)),t.next_in+=a,t.total_in+=a,a)},ye=(t,e)=>{let i,s,a=t.max_chain_length,r=t.strstart,n=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-ne?t.strstart-(t.w_size-ne):0,l=t.window,d=t.w_mask,c=t.prev,u=t.strstart+re;let g=l[r+n-1],f=l[r+n];t.prev_length>=t.good_match&&(a>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+n]===f&&l[i+n-1]===g&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do{}while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<u);if(s=re-(u-r),r=u-re,s>n){if(t.match_start=e,n=s,s>=o)break;g=l[r+n-1],f=l[r+n]}}}while((e=c[e&d])>h&&0!==--a);return n<=t.lookahead?n:t.lookahead},Se=t=>{const e=t.w_size;let i,s,a;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ne)&&(t.window.set(t.window.subarray(e,e+e-s),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),ge(t),s+=e),0===t.strm.avail_in)break;if(i=be(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=i,t.lookahead+t.insert>=3)for(a=t.strstart-t.insert,t.ins_h=t.window[a],t.ins_h=fe(t,t.ins_h,t.window[a+1]);t.insert&&(t.ins_h=fe(t,t.ins_h,t.window[a+3-1]),t.prev[a&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=a,a++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ne&&0!==t.strm.avail_in)},ve=(t,e)=>{let i,s,a,r=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,n=0,o=t.strm.avail_in;do{if(i=65535,a=t.bi_valid+42>>3,t.strm.avail_out<a)break;if(a=t.strm.avail_out-a,s=t.strstart-t.block_start,i>s+t.strm.avail_in&&(i=s+t.strm.avail_in),i>a&&(i=a),i<r&&(0===i&&e!==Gt||e===Nt||i!==s+t.strm.avail_in))break;n=e===Gt&&i===s+t.strm.avail_in?1:0,At(t,0,0,n),t.pending_buf[t.pending-4]=i,t.pending_buf[t.pending-3]=i>>8,t.pending_buf[t.pending-2]=~i,t.pending_buf[t.pending-1]=~i>>8,_e(t.strm),s&&(s>i&&(s=i),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+s),t.strm.next_out),t.strm.next_out+=s,t.strm.avail_out-=s,t.strm.total_out+=s,t.block_start+=s,i-=s),i&&(be(t.strm,t.strm.output,t.strm.next_out,i),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i)}while(0===n);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),n?4:e!==Nt&&e!==Gt&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(a=t.window_size-t.strstart,t.strm.avail_in>a&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,a+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),a>t.strm.avail_in&&(a=t.strm.avail_in),a&&(be(t.strm,t.window,t.strstart,a),t.strstart+=a,t.insert+=a>t.w_size-t.insert?t.w_size-t.insert:a),t.high_water<t.strstart&&(t.high_water=t.strstart),a=t.bi_valid+42>>3,a=t.pending_buf_size-a>65535?65535:t.pending_buf_size-a,r=a>t.w_size?t.w_size:a,s=t.strstart-t.block_start,(s>=r||(s||e===Gt)&&e!==Nt&&0===t.strm.avail_in&&s<=a)&&(i=s>a?a:s,n=e===Gt&&0===t.strm.avail_in&&i===s?1:0,At(t,t.block_start,i,n),t.block_start+=i,_e(t.strm)),n?3:1)},Re=(t,e)=>{let i,s;for(;;){if(t.lookahead<ne){if(Se(t),t.lookahead<ne&&e===Nt)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=fe(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ne&&(t.match_length=ye(t,i)),t.match_length>=3)if(s=Pt(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=fe(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=fe(t,t.ins_h,t.window[t.strstart+1]);else s=Pt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(s&&(pe(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===Gt?(pe(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(pe(t,!1),0===t.strm.avail_out)?1:2},Be=(t,e)=>{let i,s,a;for(;;){if(t.lookahead<ne){if(Se(t),t.lookahead<ne&&e===Nt)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=fe(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-ne&&(t.match_length=ye(t,i),t.match_length<=5&&(t.strategy===Xt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){a=t.strstart+t.lookahead-3,s=Pt(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=a&&(t.ins_h=fe(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,s&&(pe(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(s=Pt(t,0,t.window[t.strstart-1]),s&&pe(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(s=Pt(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===Gt?(pe(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(pe(t,!1),0===t.strm.avail_out)?1:2};function Ue(t,e,i,s,a){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=s,this.func=a}const Ie=[new Ue(0,0,0,0,ve),new Ue(4,4,8,4,Re),new Ue(4,5,16,8,Re),new Ue(4,6,32,32,Re),new Ue(4,4,16,16,Be),new Ue(8,16,32,32,Be),new Ue(8,16,128,128,Be),new Ue(8,32,128,256,Be),new Ue(32,128,258,1024,Be),new Ue(32,258,258,4096,Be)];function Ce(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ae,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),ue(this.dyn_ltree),ue(this.dyn_dtree),ue(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),ue(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),ue(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const xe=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.status!==oe&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&e.status!==he&&e.status!==le?1:0},ke=t=>{if(xe(t))return de(t,jt);t.total_in=t.total_out=0,t.data_type=se;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?oe:he,t.adler=2===e.wrap?0:1,e.last_flush=-2,$t(e),Vt},Te=t=>{const e=ke(t);var i;return e===Vt&&((i=t.state).window_size=2*i.w_size,ue(i.head),i.max_lazy_match=Ie[i.level].max_lazy,i.good_match=Ie[i.level].good_length,i.nice_match=Ie[i.level].nice_length,i.max_chain_length=Ie[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Fe=(t,e,i,s,a,r)=>{if(!t)return jt;let n=1;if(e===Yt&&(e=6),s<0?(n=0,s=-s):s>15&&(n=2,s-=16),a<1||a>9||i!==ae||s<8||s>15||e<0||e>9||r<0||r>ee||8===s&&1!==n)return de(t,jt);8===s&&(s=9);const o=new Ce;return t.state=o,o.strm=t,o.status=oe,o.wrap=n,o.gzhead=null,o.w_bits=s,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=e,o.strategy=r,o.method=i,Te(t)};var De={deflateInit:(t,e)=>Fe(t,e,ae,15,8,ie),deflateInit2:Fe,deflateReset:Te,deflateResetKeep:ke,deflateSetHeader:(t,e)=>xe(t)||2!==t.state.wrap?jt:(t.state.gzhead=e,Vt),deflate:(t,e)=>{if(xe(t)||e>Zt||e<0)return t?de(t,jt):jt;const i=t.state;if(!t.output||0!==t.avail_in&&!t.input||i.status===le&&e!==Gt)return de(t,0===t.avail_out?Kt:jt);const s=i.last_flush;if(i.last_flush=e,0!==i.pending){if(_e(t),0===t.avail_out)return i.last_flush=-1,Vt}else if(0===t.avail_in&&ce(e)<=ce(s)&&e!==Gt)return de(t,Kt);if(i.status===le&&0!==t.avail_in)return de(t,Kt);if(i.status===oe&&0===i.wrap&&(i.status=he),i.status===oe){let e=ae+(i.w_bits-8<<4)<<8,s=-1;if(s=i.strategy>=Qt||i.level<2?0:i.level<6?1:6===i.level?2:3,e|=s<<6,0!==i.strstart&&(e|=32),e+=31-e%31,me(i,e),0!==i.strstart&&(me(i,t.adler>>>16),me(i,65535&t.adler)),t.adler=1,i.status=he,_e(t),0!==i.pending)return i.last_flush=-1,Vt}if(57===i.status)if(t.adler=0,we(i,31),we(i,139),we(i,8),i.gzhead)we(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),we(i,255&i.gzhead.time),we(i,i.gzhead.time>>8&255),we(i,i.gzhead.time>>16&255),we(i,i.gzhead.time>>24&255),we(i,9===i.level?2:i.strategy>=Qt||i.level<2?4:0),we(i,255&i.gzhead.os),i.gzhead.extra&&i.gzhead.extra.length&&(we(i,255&i.gzhead.extra.length),we(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=Ot(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=69;else if(we(i,0),we(i,0),we(i,0),we(i,0),we(i,0),we(i,9===i.level?2:i.strategy>=Qt||i.level<2?4:0),we(i,3),i.status=he,_e(t),0!==i.pending)return i.last_flush=-1,Vt;if(69===i.status){if(i.gzhead.extra){let e=i.pending,s=(65535&i.gzhead.extra.length)-i.gzindex;for(;i.pending+s>i.pending_buf_size;){let a=i.pending_buf_size-i.pending;if(i.pending_buf.set(i.gzhead.extra.subarray(i.gzindex,i.gzindex+a),i.pending),i.pending=i.pending_buf_size,i.gzhead.hcrc&&i.pending>e&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex+=a,_e(t),0!==i.pending)return i.last_flush=-1,Vt;e=0,s-=a}let a=new Uint8Array(i.gzhead.extra);i.pending_buf.set(a.subarray(i.gzindex,i.gzindex+s),i.pending),i.pending+=s,i.gzhead.hcrc&&i.pending>e&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-e,e)),i.gzindex=0}i.status=73}if(73===i.status){if(i.gzhead.name){let e,s=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>s&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-s,s)),_e(t),0!==i.pending)return i.last_flush=-1,Vt;s=0}e=i.gzindex<i.gzhead.name.length?255&i.gzhead.name.charCodeAt(i.gzindex++):0,we(i,e)}while(0!==e);i.gzhead.hcrc&&i.pending>s&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-s,s)),i.gzindex=0}i.status=91}if(91===i.status){if(i.gzhead.comment){let e,s=i.pending;do{if(i.pending===i.pending_buf_size){if(i.gzhead.hcrc&&i.pending>s&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-s,s)),_e(t),0!==i.pending)return i.last_flush=-1,Vt;s=0}e=i.gzindex<i.gzhead.comment.length?255&i.gzhead.comment.charCodeAt(i.gzindex++):0,we(i,e)}while(0!==e);i.gzhead.hcrc&&i.pending>s&&(t.adler=Ot(t.adler,i.pending_buf,i.pending-s,s))}i.status=103}if(103===i.status){if(i.gzhead.hcrc){if(i.pending+2>i.pending_buf_size&&(_e(t),0!==i.pending))return i.last_flush=-1,Vt;we(i,255&t.adler),we(i,t.adler>>8&255),t.adler=0}if(i.status=he,_e(t),0!==i.pending)return i.last_flush=-1,Vt}if(0!==t.avail_in||0!==i.lookahead||e!==Nt&&i.status!==le){let s=0===i.level?ve(i,e):i.strategy===Qt?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(Se(t),0===t.lookahead)){if(e===Nt)return 1;break}if(t.match_length=0,i=Pt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(pe(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Gt?(pe(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(pe(t,!1),0===t.strm.avail_out)?1:2})(i,e):i.strategy===te?((t,e)=>{let i,s,a,r;const n=t.window;for(;;){if(t.lookahead<=re){if(Se(t),t.lookahead<=re&&e===Nt)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=t.strstart-1,s=n[a],s===n[++a]&&s===n[++a]&&s===n[++a])){r=t.strstart+re;do{}while(s===n[++a]&&s===n[++a]&&s===n[++a]&&s===n[++a]&&s===n[++a]&&s===n[++a]&&s===n[++a]&&s===n[++a]&&a<r);t.match_length=re-(r-a),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=Pt(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=Pt(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(pe(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===Gt?(pe(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(pe(t,!1),0===t.strm.avail_out)?1:2})(i,e):Ie[i.level].func(i,e);if(3!==s&&4!==s||(i.status=le),1===s||3===s)return 0===t.avail_out&&(i.last_flush=-1),Vt;if(2===s&&(e===Lt?Wt(i):e!==Zt&&(At(i,0,0,!1),e===Ht&&(ue(i.head),0===i.lookahead&&(i.strstart=0,i.block_start=0,i.insert=0))),_e(t),0===t.avail_out))return i.last_flush=-1,Vt}return e!==Gt?Vt:i.wrap<=0?Jt:(2===i.wrap?(we(i,255&t.adler),we(i,t.adler>>8&255),we(i,t.adler>>16&255),we(i,t.adler>>24&255),we(i,255&t.total_in),we(i,t.total_in>>8&255),we(i,t.total_in>>16&255),we(i,t.total_in>>24&255)):(me(i,t.adler>>>16),me(i,65535&t.adler)),_e(t),i.wrap>0&&(i.wrap=-i.wrap),0!==i.pending?Vt:Jt)},deflateEnd:t=>{if(xe(t))return jt;const e=t.state.status;return t.state=null,e===he?de(t,qt):Vt},deflateSetDictionary:(t,e)=>{let i=e.length;if(xe(t))return jt;const s=t.state,a=s.wrap;if(2===a||1===a&&s.status!==oe||s.lookahead)return jt;if(1===a&&(t.adler=Ft(t.adler,e,i,0)),s.wrap=0,i>=s.w_size){0===a&&(ue(s.head),s.strstart=0,s.block_start=0,s.insert=0);let t=new Uint8Array(s.w_size);t.set(e.subarray(i-s.w_size,i),0),e=t,i=s.w_size}const r=t.avail_in,n=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,Se(s);s.lookahead>=3;){let t=s.strstart,e=s.lookahead-2;do{s.ins_h=fe(s,s.ins_h,s.window[t+3-1]),s.prev[t&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=t,t++}while(--e);s.strstart=t,s.lookahead=2,Se(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=2,s.match_available=0,t.next_in=n,t.input=o,t.avail_in=r,s.wrap=a,Vt},deflateInfo:"pako deflate (from Nodeca project)"};const Oe=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Ee=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Oe(i,e)&&(t[e]=i[e])}}return t},Me=t=>{let e=0;for(let i=0,s=t.length;i<s;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,s=0,a=t.length;e<a;e++){let a=t[e];i.set(a,s),s+=a.length}return i};let $e=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){$e=!1}const Ae=new Uint8Array(256);for(let t=0;t<256;t++)Ae[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Ae[254]=Ae[254]=1;var ze=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,i,s,a,r,n=t.length,o=0;for(a=0;a<n;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<n&&(s=t.charCodeAt(a+1),56320==(64512&s)&&(i=65536+(i-55296<<10)+(s-56320),a++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),r=0,a=0;r<o;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<n&&(s=t.charCodeAt(a+1),56320==(64512&s)&&(i=65536+(i-55296<<10)+(s-56320),a++)),i<128?e[r++]=i:i<2048?(e[r++]=192|i>>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e};var Pe=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const We=Object.prototype.toString,{Z_NO_FLUSH:Ne,Z_SYNC_FLUSH:Le,Z_FULL_FLUSH:He,Z_FINISH:Ge,Z_OK:Ze,Z_STREAM_END:Ve,Z_DEFAULT_COMPRESSION:Je,Z_DEFAULT_STRATEGY:je,Z_DEFLATED:qe}=Mt;function Ke(t){this.options=Ee({level:Je,method:qe,chunkSize:16384,windowBits:15,memLevel:8,strategy:je},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Pe,this.strm.avail_out=0;let i=De.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Ze)throw new Error(Et[i]);if(e.header&&De.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?ze(e.dictionary):"[object ArrayBuffer]"===We.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=De.deflateSetDictionary(this.strm,t),i!==Ze)throw new Error(Et[i]);this._dict_set=!0}}Ke.prototype.push=function(t,e){const i=this.strm,s=this.options.chunkSize;let a,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Ge:Ne,"string"==typeof t?i.input=ze(t):"[object ArrayBuffer]"===We.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(s),i.next_out=0,i.avail_out=s),(r===Le||r===He)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(a=De.deflate(i,r),a===Ve)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),a=De.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Ze;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Ke.prototype.onData=function(t){this.chunks.push(t)},Ke.prototype.onEnd=function(t){t===Ze&&(this.result=Me(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ye={deflate:function(t,e){const i=new Ke(e);if(i.push(t,!0),i.err)throw i.msg||Et[i.err];return i.result}};const{deflate:Xe}=Ye;var Qe=Xe;const ti={b:{u:DataView.prototype.getInt8,p:DataView.prototype.setInt8,bytes:1},B:{u:DataView.prototype.getUint8,p:DataView.prototype.setUint8,bytes:1},h:{u:DataView.prototype.getInt16,p:DataView.prototype.setInt16,bytes:2},H:{u:DataView.prototype.getUint16,p:DataView.prototype.setUint16,bytes:2},i:{u:DataView.prototype.getInt32,p:DataView.prototype.setInt32,bytes:4},I:{u:DataView.prototype.getUint32,p:DataView.prototype.setUint32,bytes:4}},ei=(t,...e)=>{let i=0;if(t.replace(/[<>]/,"").length!=e.length)throw"Pack format to Argument count mismatch";const s=[];let a=!0;for(let s=0;s<t.length;s++)"<"==t[s]?a=!0:">"==t[s]?a=!1:(r(t[s],e[i]),i++);function r(t,e){if(!(t in ti))throw"Unhandled character '"+t+"' in pack format";const i=ti[t].bytes,r=new DataView(new ArrayBuffer(i));ti[t].p.bind(r)(0,e,a);for(let t=0;t<i;t++)s.push(r.getUint8(t))}return s},ii=(t,e)=>{let i=0;const s=[];let a=!0;for(const e of t)"<"==e?a=!0:">"==e?a=!1:r(e);function r(t){if(!(t in ti))throw"Unhandled character '"+t+"' in unpack format";const r=ti[t].bytes,n=new DataView(new ArrayBuffer(r));for(let t=0;t<r;t++)n.setUint8(t,255&e[i+t]);const o=ti[t].u.bind(n);s.push(o(0,a)),i+=r}return s};class si extends EventTarget{get isUsbJtagOrOtg(){return this._parent?this._parent._isUsbJtagOrOtg:this._isUsbJtagOrOtg}constructor(t,e,i){super(),this.port=t,this.logger=e,this._parent=i,this.__chipName=null,this.__chipRevision=null,this.__chipVariant=null,this._efuses=new Array(4).fill(0),this._flashsize=4194304,this.debug=!1,this.IS_STUB=!1,this.connected=!0,this.flashSize=null,this.currentBaudRate=o,this.SLIP_END=192,this.SLIP_ESC=219,this.SLIP_ESC_END=220,this.SLIP_ESC_ESC=221,this._isESP32S2NativeUSB=!1,this._initializationSucceeded=!1,this.__commandLock=Promise.resolve([0,[]]),this.__isReconfiguring=!1,this.__abandonCurrentOperation=!1,this._suppressDisconnect=!1,this.__consoleMode=!1,this._isUsbJtagOrOtg=void 0,this.__adaptiveBlockMultiplier=1,this.__adaptiveMaxInFlightMultiplier=1,this.__consecutiveSuccessfulChunks=0,this.__lastAdaptiveAdjustment=0,this.__isCDCDevice=!1,this.state_DTR=!1,this.state_RTS=!1,this.__writeChain=Promise.resolve()}get chipFamily(){return this._parent?this._parent.chipFamily:this.__chipFamily}set chipFamily(t){this._parent?this._parent.chipFamily=t:this.__chipFamily=t}get chipName(){return this._parent?this._parent.chipName:this.__chipName}set chipName(t){this._parent?this._parent.chipName=t:this.__chipName=t}get chipRevision(){return this._parent?this._parent.chipRevision:this.__chipRevision}set chipRevision(t){this._parent?this._parent.chipRevision=t:this.__chipRevision=t}get chipVariant(){return this._parent?this._parent.chipVariant:this.__chipVariant}set chipVariant(t){this._parent?this._parent.chipVariant=t:this.__chipVariant=t}get _consoleMode(){return this._parent?this._parent._consoleMode:this.__consoleMode}set _consoleMode(t){this._parent?this._parent._consoleMode=t:this.__consoleMode=t}setConsoleMode(t){this._consoleMode=t}get _inputBuffer(){if(this._parent)return this._parent._inputBuffer;if(void 0===this.__inputBuffer)throw new Error("_inputBuffer accessed before initialization");return this.__inputBuffer}get _inputBufferReadIndex(){return this._parent?this._parent._inputBufferReadIndex:this.__inputBufferReadIndex||0}set _inputBufferReadIndex(t){this._parent?this._parent._inputBufferReadIndex=t:this.__inputBufferReadIndex=t}get _inputBufferAvailable(){return this._inputBuffer.length-this._inputBufferReadIndex}_readByte(){if(!(this._inputBufferReadIndex>=this._inputBuffer.length))return this._inputBuffer[this._inputBufferReadIndex++]}_clearInputBuffer(){this._inputBuffer.length=0,this._inputBufferReadIndex=0}_compactInputBuffer(){this._inputBufferReadIndex>1e3&&this._inputBufferReadIndex>this._inputBuffer.length/2&&(this._inputBuffer.splice(0,this._inputBufferReadIndex),this._inputBufferReadIndex=0)}get _totalBytesRead(){return this._parent?this._parent._totalBytesRead:this.__totalBytesRead||0}set _totalBytesRead(t){this._parent?this._parent._totalBytesRead=t:this.__totalBytesRead=t}get _commandLock(){return this._parent?this._parent._commandLock:this.__commandLock}set _commandLock(t){this._parent?this._parent._commandLock=t:this.__commandLock=t}get _isReconfiguring(){return this._parent?this._parent._isReconfiguring:this.__isReconfiguring}set _isReconfiguring(t){this._parent?this._parent._isReconfiguring=t:this.__isReconfiguring=t}get _abandonCurrentOperation(){return this._parent?this._parent._abandonCurrentOperation:this.__abandonCurrentOperation}set _abandonCurrentOperation(t){this._parent?this._parent._abandonCurrentOperation=t:this.__abandonCurrentOperation=t}get _adaptiveBlockMultiplier(){return this._parent?this._parent._adaptiveBlockMultiplier:this.__adaptiveBlockMultiplier}set _adaptiveBlockMultiplier(t){this._parent?this._parent._adaptiveBlockMultiplier=t:this.__adaptiveBlockMultiplier=t}get _adaptiveMaxInFlightMultiplier(){return this._parent?this._parent._adaptiveMaxInFlightMultiplier:this.__adaptiveMaxInFlightMultiplier}set _adaptiveMaxInFlightMultiplier(t){this._parent?this._parent._adaptiveMaxInFlightMultiplier=t:this.__adaptiveMaxInFlightMultiplier=t}get _consecutiveSuccessfulChunks(){return this._parent?this._parent._consecutiveSuccessfulChunks:this.__consecutiveSuccessfulChunks}set _consecutiveSuccessfulChunks(t){this._parent?this._parent._consecutiveSuccessfulChunks=t:this.__consecutiveSuccessfulChunks=t}get _lastAdaptiveAdjustment(){return this._parent?this._parent._lastAdaptiveAdjustment:this.__lastAdaptiveAdjustment}set _lastAdaptiveAdjustment(t){this._parent?this._parent._lastAdaptiveAdjustment=t:this.__lastAdaptiveAdjustment=t}get _isCDCDevice(){return this._parent?this._parent._isCDCDevice:this.__isCDCDevice}set _isCDCDevice(t){this._parent?this._parent._isCDCDevice=t:this.__isCDCDevice=t}detectUSBSerialChip(t,e){const i={6790:{29986:{name:"CH340",maxBaudrate:460800},29987:{name:"CH340",maxBaudrate:460800},30084:{name:"CH340",maxBaudrate:460800},21795:{name:"CH341",maxBaudrate:2e6},21971:{name:"CH343",maxBaudrate:6e6},21972:{name:"CH9102",maxBaudrate:6e6},21976:{name:"CH9101",maxBaudrate:3e6}},4292:{6e4:{name:"CP2102(n)",maxBaudrate:3e6},60016:{name:"CP2105",maxBaudrate:2e6},60017:{name:"CP2108",maxBaudrate:2e6}},1027:{24577:{name:"FT232R",maxBaudrate:3e6},24592:{name:"FT2232",maxBaudrate:3e6},24593:{name:"FT4232",maxBaudrate:3e6},24596:{name:"FT232H",maxBaudrate:12e6},24597:{name:"FT230X",maxBaudrate:3e6}},12346:{2:{name:"ESP32-S2 Native USB",maxBaudrate:2e6},18:{name:"ESP32-P4 Native USB",maxBaudrate:2e6},4097:{name:"ESP32 Native USB",maxBaudrate:2e6}}}[t];return i&&i[e]?i[e]:{name:`Unknown (VID: 0x${t.toString(16)}, PID: 0x${e.toString(16)})`}}async initialize(){if(!this._parent){this.__inputBuffer=[],this.__inputBufferReadIndex=0,this.__totalBytesRead=0;const t=this.port.getInfo();if(t.usbVendorId&&t.usbProductId){const e=this.detectUSBSerialChip(t.usbVendorId,t.usbProductId);this.logger.log(`USB-Serial: ${e.name} (VID: 0x${t.usbVendorId.toString(16)}, PID: 0x${t.usbProductId.toString(16)})`),e.maxBaudrate&&(this._maxUSBSerialBaudrate=e.maxBaudrate,this.logger.log(`Max baudrate: ${e.maxBaudrate}`)),12346===t.usbVendorId&&2===t.usbProductId&&(this._isESP32S2NativeUSB=!0),(12346===t.usbVendorId||6790===t.usbVendorId&&21971===t.usbProductId)&&(this._isCDCDevice=!0)}this.readLoop()}await this.connectWithResetStrategies(),await this.detectChip(),this.chipFamily===M&&301===this.chipRevision&&await this.powerOnFlash();try{this._isUsbJtagOrOtg=await this.detectUsbConnectionType(),this.logger.debug("USB connection type: "+(this._isUsbJtagOrOtg?"USB-JTAG/OTG":"External Serial Chip"))}catch(t){this.logger.debug(`Could not detect USB connection type: ${t}`)}try{const t=await this.getUsbMode();this.logger.debug(`USB mode (register): ${t.mode} (uartNo=${t.uartNo})`)}catch(t){this.logger.debug(`Could not detect USB mode: ${t}`)}const t=G(this.getChipFamily()),e=t.macFuse;for(let t=0;t<4;t++)this._efuses[t]=await this.readRegister(e+4*t);const i=null!==this.chipRevision&&void 0!==this.chipRevision?` (revision ${this.chipRevision})`:"";this.logger.log(`Connected to ${this.chipName}${i}`),this.logger.debug(`Bootloader flash offset: 0x${t.flashOffs.toString(16)}`),this._initializationSucceeded=!0}async detectChip(){try{const t=(await this.getSecurityInfo()).chipId,e=A[t];if(e)return this.chipName=e.name,this.chipFamily=e.family,this.chipRevision=await this.getChipRevision(),this.logger.debug(`${this.chipName} revision: ${this.chipRevision}`),this.chipFamily===M&&this.chipRevision>=300?this.chipVariant="rev300":this.chipFamily===M&&(this.chipVariant="rev0"),void this.logger.debug(`Detected chip via IMAGE_CHIP_ID: ${t} (${this.chipName})`);this.logger.debug(`Unknown IMAGE_CHIP_ID: ${t}, falling back to magic value detection`)}catch(t){this.logger.debug(`GET_SECURITY_INFO failed, using magic value detection: ${t}`),await this.drainInputBuffer(200),this._clearInputBuffer(),await a(N);try{await this.sync()}catch(t){this.logger.debug(`Re-sync after GET_SECURITY_INFO failure: ${t}`)}}const t=await this.readRegister(1073745920),e=z[t>>>0];if(void 0===e)throw new Error(`Unknown Chip: Hex: ${s(t>>>0,8).toLowerCase()} Number: ${t}`);this.chipName=e.name,this.chipFamily=e.family,this.chipRevision=await this.getChipRevision(),this.logger.debug(`${this.chipName} revision: ${this.chipRevision}`),this.chipFamily===M&&(this.chipVariant=this.chipRevision>=300?"rev300":"rev0",this.logger.debug(`ESP32-P4 variant: ${this.chipVariant}`)),this.logger.debug(`Detected chip via magic value: ${s(t>>>0,8)} (${this.chipName})`)}async getChipRevision(){var t;let e=0,i=0;switch(this.chipFamily){case B:{const s=await this.readRegister(1073061900),a=await this.readRegister(1073061908);e=a>>24&3;const r=s>>15&1,n=a>>20&1;i=null!==(t={0:0,1:1,3:2,7:3}[(await this.readRegister(1073111164)>>31&1)<<2|n<<1|r])&&void 0!==t?t:0;break}case U:{const t=await this.readRegister(1061265488);e=((t>>20&1)<<3)+(await this.readRegister(1061265492)>>4&7),i=t>>18&3;break}case I:{const t=await this.readRegister(1610641488),s=await this.readRegister(1610641496);e=((s>>23&1)<<3)+(t>>18&7),i=s>>24&3;break}case C:{const t=await this.readRegister(1610647620);e=t>>16&15,i=t>>20&3;break}case x:{const t=await this.readRegister(1610647632),s=await this.readRegister(1610647640);e=((s>>23&1)<<3)+(t>>18&7),i=s>>24&3;break}case k:{const t=await this.readRegister(1611352140);e=15&t,i=t>>4&3;break}case T:{const t=await this.readRegister(1611335760);e=t>>18&15,i=t>>22&3;break}case F:{const t=await this.readRegister(1611352140);e=15&t,i=t>>4&3;break}case D:{const t=await this.readRegister(1611335760);e=t>>18&7,i=t>>21&3;break}case O:case E:break;case M:{const t=await this.readRegister(1343410252);e=15&t,i=(t>>23&1)<<2|t>>4&3;break}case $:{const t=await this.readRegister(544297036);e=15&t,i=t>>4&3;break}}return 100*i+e}async powerOnFlash(){if(this.chipFamily!==M)return;if(301!==this.chipRevision)return;this.logger.debug("Powering on flash for ESP32-P4 Rev 301 (ECO6)"),await this.writeRegister(1343291660,1),await a(10);const t=await this.readRegister(w);await this.writeRegister(w,t|m);const e=await this.readRegister(b);await this.writeRegister(b,128|e);const i=await this.readRegister(y);await this.writeRegister(y,3|i),await a(.05);const s=await this.readRegister(w);await this.writeRegister(w,-134217729&s);const r=await this.readRegister(b);await this.writeRegister(b,-2139095041&r);const n=await this.readRegister(b);await this.writeRegister(b,128|n);const o=await this.readRegister(b);await this.writeRegister(b,-129&o),await a(2),this.logger.debug("Flash powered on successfully")}async getSecurityInfo(){const[,t]=await this.checkCommand(20,[],0);if(0===t.length)throw new Error("GET_SECURITY_INFO not supported or returned empty response");if(t.length<12)throw new Error(`Invalid security info response length: ${t.length} (expected at least 12 bytes)`);return{flags:ii("<I",t.slice(0,4))[0],flashCryptCnt:t[4],keyPurposes:Array.from(t.slice(5,12)),chipId:t.length>=16?ii("<I",t.slice(12,16))[0]:0,apiVersion:t.length>=20?ii("<I",t.slice(16,20))[0]:0}}async getMacAddress(){if(!this._initializationSucceeded)throw new Error("getMacAddress() requires initialize() to have completed successfully");return this.macAddr().map(t=>t.toString(16).padStart(2,"0").toUpperCase()).join(":")}async readLoop(){this.debug&&this.logger.debug("Starting read loop"),this._reader=this.port.readable.getReader();try{let t=!0;for(;t;){const{value:e,done:i}=await this._reader.read();if(i){this._reader.releaseLock(),t=!1;break}if(!e||0===e.length)continue;const s=Array.from(e);Array.prototype.push.apply(this._inputBuffer,s),this._totalBytesRead+=e.length}}catch{}finally{if(this._isReconfiguring=!1,this._reader){try{this._reader.releaseLock(),this.logger.debug("Reader released in readLoop cleanup")}catch(t){this.logger.debug(`Reader release error in readLoop: ${t}`)}this._reader=void 0}}this.connected=!1,this._isESP32S2NativeUSB&&!this._initializationSucceeded&&(this.logger.log("ESP32-S2 Native USB detected - requesting port reselection"),this.dispatchEvent(new CustomEvent("esp32s2-usb-reconnect",{detail:{message:"ESP32-S2 Native USB requires port reselection"}}))),this._suppressDisconnect||this.dispatchEvent(new Event("disconnect")),this._suppressDisconnect=!1,this.logger.debug("Finished read loop")}async setRTS(t){await this.port.setSignals({requestToSend:t}),await this.setDTR(this.state_DTR)}async setDTR(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t})}async setDTRandRTS(t,e){this.state_DTR=t,this.state_RTS=e,await this.port.setSignals({dataTerminalReady:t,requestToSend:e})}async runSignalSequence(t){const e=!0===this.port.isWebUSB;for(const i of t)void 0!==i.dtr&&void 0!==i.rts?e?await this.setDTRandRTSWebUSB(i.dtr,i.rts):await this.setDTRandRTS(i.dtr,i.rts):(void 0!==i.dtr&&(e?await this.setDTRWebUSB(i.dtr):await this.setDTR(i.dtr)),void 0!==i.rts&&(e?await this.setRTSWebUSB(i.rts):await this.setRTS(i.rts))),i.delayMs&&await a(i.delayMs)}async hardResetUSBJTAGSerial(){await this.runSignalSequence([{rts:!1},{dtr:!1,delayMs:100},{dtr:!0,rts:!1,delayMs:100},{rts:!0},{dtr:!1,rts:!0,delayMs:100},{dtr:!1,rts:!1,delayMs:200}])}async hardResetClassic(){await this.runSignalSequence([{dtr:!1,rts:!0,delayMs:100},{dtr:!0,rts:!1,delayMs:50},{dtr:!1,delayMs:200}])}async hardResetToFirmware(){await this.runSignalSequence([{dtr:!1,rts:!0,delayMs:100},{rts:!1,delayMs:50},{delayMs:200}])}async hardResetUnixTight(){await this.runSignalSequence([{dtr:!0,rts:!0},{dtr:!1,rts:!1},{dtr:!1,rts:!0,delayMs:100},{dtr:!0,rts:!1,delayMs:50},{dtr:!1,rts:!1},{dtr:!1,delayMs:200}])}async setRTSWebUSB(t){this.state_RTS=t,await this.port.setSignals({requestToSend:t,dataTerminalReady:this.state_DTR})}async setDTRWebUSB(t){this.state_DTR=t,await this.port.setSignals({dataTerminalReady:t,requestToSend:this.state_RTS})}async setDTRandRTSWebUSB(t,e){this.state_DTR=t,this.state_RTS=e,await this.port.setSignals({dataTerminalReady:t,requestToSend:e})}async hardResetUSBJTAGSerialInvertedDTRWebUSB(){await this.runSignalSequence([{rts:!1,dtr:!0,delayMs:100},{dtr:!1,rts:!1,delayMs:100},{rts:!0,dtr:!0,delayMs:100},{dtr:!0,rts:!1,delayMs:200}])}async hardResetClassicLongDelayWebUSB(){await this.runSignalSequence([{dtr:!1,rts:!0,delayMs:500},{dtr:!0,rts:!1,delayMs:200},{dtr:!1,delayMs:500}])}async hardResetClassicShortDelayWebUSB(){await this.runSignalSequence([{dtr:!1,rts:!0,delayMs:50},{dtr:!0,rts:!1,delayMs:25},{dtr:!1,delayMs:100}])}async hardResetInvertedWebUSB(){await this.runSignalSequence([{dtr:!0,rts:!1,delayMs:100},{dtr:!1,rts:!0,delayMs:50},{dtr:!0,delayMs:200}])}async hardResetInvertedDTRWebUSB(){await this.runSignalSequence([{dtr:!0,rts:!0,delayMs:100},{dtr:!1,rts:!1,delayMs:50},{dtr:!0,delayMs:200}])}async hardResetInvertedRTSWebUSB(){await this.runSignalSequence([{dtr:!1,rts:!1,delayMs:100},{dtr:!0,rts:!0,delayMs:50},{dtr:!1,delayMs:200}])}isWebUSB(){return!0===this.port.isWebUSB}async connectWithResetStrategies(){const t=this.port.getInfo(),e=4097===t.usbProductId,i=12346===t.usbVendorId,s=[],r=this,n=!e&&!i;if(this.isWebUSB()){const a=4292===t.usbVendorId,o=6790===t.usbVendorId,h=12346===t.usbVendorId&&2===t.usbProductId;(e||i)&&(h?(s.push({name:"USB-JTAG/Serial (WebUSB) - ESP32-S2",fn:async()=>await r.hardResetUSBJTAGSerial()}),s.push({name:"USB-JTAG/Serial Inverted DTR (WebUSB) - ESP32-S2",fn:async()=>await r.hardResetUSBJTAGSerialInvertedDTRWebUSB()}),s.push({name:"UnixTight (WebUSB) - ESP32-S2 CDC",fn:async()=>await r.hardResetUnixTight()}),s.push({name:"Classic (WebUSB) - ESP32-S2 CDC",fn:async()=>await r.hardResetClassic()})):(s.push({name:"USB-JTAG/Serial Inverted DTR (WebUSB)",fn:async()=>await r.hardResetUSBJTAGSerialInvertedDTRWebUSB()}),s.push({name:"USB-JTAG/Serial (WebUSB)",fn:async()=>await r.hardResetUSBJTAGSerial()}),s.push({name:"Inverted DTR Classic (WebUSB)",fn:async()=>await r.hardResetInvertedDTRWebUSB()}))),n&&(o?(s.push({name:"UnixTight (WebUSB) - CH34x",fn:async()=>await r.hardResetUnixTight()}),s.push({name:"Classic (WebUSB) - CH34x",fn:async()=>await r.hardResetClassic()}),s.push({name:"Inverted Both (WebUSB) - CH34x",fn:async()=>await r.hardResetInvertedWebUSB()}),s.push({name:"Inverted RTS (WebUSB) - CH34x",fn:async()=>await r.hardResetInvertedRTSWebUSB()}),s.push({name:"Inverted DTR (WebUSB) - CH34x",fn:async()=>await r.hardResetInvertedDTRWebUSB()})):a?(s.push({name:"UnixTight (WebUSB) - CP2102",fn:async()=>await r.hardResetUnixTight()}),s.push({name:"Classic (WebUSB) - CP2102",fn:async()=>a